BIP32 páruje každý privátní či veřejný klíč s 256bitovým chain codem. HMAC-SHA512 a číslovaná derivační cesta vytvářejí child extended keys; z xpubu lze odvozovat běžné veřejné potomky, zatímco hardened větev vyžaduje privátní materiál. Rozdíl je užitečný pro delegování a současně přesně vymezuje důsledky úniku.
BIP32 napsal Pieter Wuille a návrh byl přidělen 11. února 2012. Starší deterministické peněženky tvořily z jednoho seedu posloupnost; BIP32 přidal hierarchii, takže lze delegovat účet či přijímací větev bez odkrytí nesouvisejících větví. Jde o aplikační standard klíčů, ne pravidlo konsensu. Neurčuje slovní mnemonic, passphrase, script typ ani hledání adres; BIP39, path standardy a descriptory řeší jiné vrstvy. [BIP 32 — Hierarchical deterministic wallets] [BIP 39 — Mnemonic code for deterministic keys] [Bitcoin Developer Guide — Wallets]
Extended private key je secp256k1 skalár k a 32bajtový chain code c; veřejná forma nahradí k bodem K = point(k), c zůstává. Master vzniká HMAC-SHA512 s klíčem „Bitcoin seed“ a daty tvořenými seedem. Levých 32 bajtů je kandidát master skaláru, pravých 32 bajtů chain code. Je-li skalár nula nebo alespoň řád křivky n, seed je pro BIP32 neplatný; implementace nesmí tiše použít jiný postup. [BIP 32 — Hierarchical deterministic wallets]
CKDpriv počítá I = HMAC-SHA512(cpar, data), IL chápe jako celé číslo, přičte je modulo n k parent skaláru a IR použije jako child chain code. Běžný child vstupuje jako komprimovaný serP(Kpar) || ser32(i); hardened child jako 0x00 || ser256(kpar) || ser32(i), kde i ≥ 2^31. CKDpub umí pouze běžné veřejné potomky. Index je kryptografický vstup: jiné číslo změní celý podstrom pod ním. [BIP 32 — Hierarchical deterministic wallets]
Běžná derivace je záměrně veřejná: xpub vytvoří všechny běžné veřejné potomky. Z toho plyne kritické pravidlo uvedené přímo v BIP32: parent xpub spolu s jediným uniklým non-hardened child private key umožní dopočítat parent private key a ohrozit sourozenecké větve. Hardened hranice tuto konkrétní zpětnou derivaci blokuje. Nechrání však ukradený seed, špatnou entropii ani uživatele, který na zařízení potvrdí škodlivou transakci. [BIP 32 — Hierarchical deterministic wallets]
Serializace má před Base58Check 78 bajtů: 4 bajty verze, depth, 4bajtový parent fingerprint, child number, 32bajtový chain code a 33 bajtů key data. Mainnet xprv/xpub používají 0x0488ADE4/0x0488B21E a obvykle mají 111 znaků. Čtyřbajtový fingerprint je krátký identifikátor, nikoli bezpečné ověření identity. ypub/zpub prefixy ze SLIP132 některým programům naznačují script typ, jejich podpora ale není jednotná a změna prefixu nemění klíč ani nedoplní policy. [BIP 32 — Hierarchical deterministic wallets] [SLIP 132 — Registered HD version bytes]
BIP43 používá první hardened úroveň jako purpose. BIP44 zavedl m / 44' / coin_type' / account' / change / address_index, external 0, change 1 a gap limit 20. BIP48 popisuje multisig, BIP84 nativní SegWit s purpose 84' a BIP86 single-key Taproot s 86'. Jsou to dohody peněženek, ne údaje uložené v seedu ani pravidla uzlů. Apostrof či h znamená index zvýšený o 2^31; při obnově jej nelze ignorovat. [BIP 43 — Purpose field for deterministic wallets] [BIP 44 — Multi-account hierarchy] [BIP 48 — Multi-script hierarchy for multisig wallets] [BIP 84 — Native SegWit derivation] [BIP 86 — Single-key Taproot derivation]
Omezený xpub umožní watch-only peněženku, generování adres a účetnictví bez podpisu. Jeho únik přesto propojí minulé i budoucí adresy podstromu, zůstatky, časování a transakce; sdílení account xpubu je dlouhodobý zásah do soukromí. Užší přijímací větev zmenší rozsah, ale napadený počítač může zobrazit cizí adresu. Významné příchozí adresy ověřujte na displeji důvěryhodného signeru. [BIP 32 — Hierarchical deterministic wallets] [Bitcoin Developer Guide — Wallets] [Trezor Learn — Hierarchical deterministic wallets]
xpub popisuje klíče, nikoli script, který z nich vytvoří výstup. Descriptor přidává key origin [fingerprint/path], wrapper například wpkh(), multisig threshold a cosignery, wildcard větve i checksum; multipath může spojit receive/change. U multisigu seed jednoho signeru neobnoví ostatní xpuby, pořadí klíčů ani threshold. Otestovaný descriptor nebo export peněženky proto patří k záloze metadat, ovšem odděleně od tajemství. [BIP 380 — Output script descriptors] [BIP 389 — Multipath descriptor key expressions] [Bitcoin Core — Output descriptors] [Bitcoin Optech — Output script descriptors]
Kořenový seed znovu vytvoří neomezeně klíčů, takže každá nová adresa nevyžaduje novou tajnou zálohu. Obnova však potřebuje správnou BIP39 passphrase, pokud existuje, formát seedu, síť, purpose/script, coin type, čísla účtů, receive/change větev, gap policy a u multisigu celý descriptor. Nulový zůstatek často znamená hledání ve špatném stromu. Recovery test musí najít historická UTXO i podepsat kontrolní transakci. [BIP 44 — Multi-account hierarchy] [BIP 380 — Output script descriptors] [Bitcoin Core — Output descriptors] [BIP 39 — Mnemonic code for deterministic keys]
Implementace musí odmítnout či přeskočit extrémně vzácný child, když parse256(IL) ≥ n, odvozený skalár je nula nebo veřejný bod leží v nekonečnu; BIP32 přikazuje zkusit další index. Běžnější jsou ztracené origin fingerprints, jiné account discovery, špatný výklad ypub/zpub, opomenutá change větev, nepodporovaný Taproot nebo xpub importovaný v jiné hloubce. xprv je právo utrácet, xpub citlivá finanční metadata a descriptor mapa policy; jejich rozsah označte a migraci ověřte před zrušením původní peněženky. [BIP 32 — Hierarchical deterministic wallets] [BIP 380 — Output script descriptors] [SLIP 132 — Registered HD version bytes] [Bitcoin Core — Output descriptors]
Pro nejúplnější obraz čtěte toto heslo společně s Bitcoinová peněženka, Seed Phrase, Extended Public Key (xpub), Derivation Path, Gap Limit, Bitcoin. Opačným směrem na něj odkazují také Bitcoinová adresa, BIP 39, Cold Storage, Watch-only Wallet.