Fingerprint BIP32 tvoří první 4 bajty výpočtu HASH160 nad komprimovaným veřejným klíčem. HASH160 znamená nejprve SHA-256 a potom RIPEMD-160, dvě funkce vytvářející z dat číselný otisk. Výsledných 32 bitů se běžně zobrazí jako 8 hexadecimálních znaků, tedy číslic a písmen. Chain code, dodatečný údaj pro odvozování dalších klíčů, se do tohoto krátkého otisku nezapočítává.
Představte si, že máte několik záznamů o peněženkách a potřebujete je rozlišit. Fingerprint slouží jako krátký štítek vypočítaný z veřejného klíče v jeho přesně určeném zápisu. Nejde o přímý otisk zálohovacích slov ani soukromého klíče. Samotný štítek není přijímací adresou, neumí podepsat platbu a nestačí k obnovení klíčů. Jeho uložení tedy nenahrazuje zálohu, ze které lze peněženku skutečně obnovit. [1]
BIP32 vytváří strom klíčů: z hlavního klíče se odvozují další, podobně jako větve ze společného kmene. Zápis rozšířeného veřejného klíče xpub nebo soukromého klíče xprv obsahuje otisk jeho rodiče, tedy klíče o úroveň výš. Hlavní klíč rodiče nemá, a proto v tomto poli stojí 00000000. To však není jeho vlastní fingerprint. Aplikace může zobrazovat vlastní otisk hlavního klíče; před porovnáním je třeba vědět, který údaj vlastně čtete. [1]
U hlavního klíče z veřejného testovacího vektoru BIP32 číslo 1 vychází vlastní fingerprint 3442193e. V rodičovském poli jeho hlavního xpub přesto najdete 00000000. Není to rozpor: jeden údaj popisuje samotný klíč, druhý jeho neexistujícího rodiče. Testovací vektor je zveřejněná sada vstupů a očekávaných výsledků pro ověření programu. Tyto známé údaje nikdy nepoužívejte jako základ peněženky pro vlastní peníze. [1]
PSBT je balíček údajů o transakci, který lze předat zařízení k podpisu. Podle BIP174 propojuje hlavní fingerprint s odvozovací cestou, tedy postupem, jak dojít ke konkrétnímu veřejnému klíči. Podobný původ klíče může zaznamenat Output Descriptor, textový popis klíčů a pravidel pro utracení. Když podpisové zařízení ověřuje vrácený zbytek platby, pouhá shoda otisku nestačí. Musí odvodit a porovnat skutečný klíč i odpovídající pravidla, aby cizí výstup nepovažovalo za vlastní. [2] [3]
Krátký otisk šetří místo, ale má omezený počet hodnot: do 32 bitů se vejde jen 4294967296 možností. Různé klíče proto mohou dostat stejný fingerprint. Takové shodě se říká kolize a BIP32 výslovně požaduje, aby s ní programy počítaly. Shodný otisk sám neověří všechny účty, odvozovací cesty ani typy skriptů, tedy pravidel pro utracení. Neprokáže ani to, že máte k dispozici potřebné soukromé klíče. [1] [3]
Nejprve ověřte, že porovnáváte stejný druh otisku ze stejné úrovně stromu. Odlišný výsledek může ukazovat na jiný seed, tajný základ klíčů, nebo na jinou passphrase, dodatečné heslo. Než vyvodíte závěr, vylučte záměnu hlavního a rodičovského pole. Shodu pak doplňte kontrolou známých adres, odvozovacích cest a pravidel pro utracení. Fingerprint je užitečná dílčí kontrola, ale správně uloženou zálohu a ověřený postup obnovy nezastoupí. [1] [3]
Pro nejúplnější obraz čtěte toto heslo společně s HD Wallet, PSBT, BIP39 passphrase, Output Descriptor. Opačným směrem na něj odkazují také SeedQR.