Kennisbank
HD-wallets uitgelegd: hoe BIP-32 één seed in een boom van sleutels verandert
Een HD- (hiërarchisch deterministische) wallet leidt elke sleutel uit één seed af via BIP-32. Deze referentie legt het mechanisme uit: master-sleutels, chaincodes, hardened derivatie en de purpose-niveaus achter BIP-44/BIP-49/BIP-84/BIP-86.
Kort antwoord
Een HD-wallet leidt via BIP-32 een onbeperkt aantal sleutels uit één seed af, georganiseerd in een boom van ouder- en kindersleutels. Eén zin herstelt elk account, maar alleen als het derivatiepad overeenkomt — een verkeerd pad toont een leeg saldo hoewel de tegoeden bestaan.

Een hiërarchisch deterministische (HD) wallet leidt een onbeperkt aantal sleutels uit één seed af. Het mechanisme begrijpen doet er voor herstel toe: het verklaart waarom één seed veel geldig uitziende wallets kan produceren, en waarom het derivatiepad en de accountindex bepalen welke adressen uw munten bevatten.
De master-sleutel
BIP-32 begint met een binaire seed, die meestal uit een BIP-39-herstelzin wordt afgeleid. De binaire seed wordt verwerkt met HMAC-SHA512 en een vaste sleutel ("Bitcoin seed"). Dat levert 64 bytes op: de eerste 32 worden de master-privésleutel, de laatste 32 de master-chaincode. Beide zijn nodig om child-sleutels af te leiden — daarom bevat een uitgebreide sleutel een sleutel plus een chaincode.
Child-sleutels en chaincodes
Elke child-sleutel wordt deterministisch uit zijn ouder afgeleid:
- Normale derivatie: HMAC-SHA512 van de publieke ouder-sleutel, ouder-chaincode en een index. Iedereen met een xpub (de uitgebreide publieke sleutel) kan kinderen afleiden — daardoor kunnen watch-only wallets werken.
- Hardened derivatie (de apostrof, bijv. m/44'): HMAC-SHA512 van de private ouder-sleutel, chaincode en index. Het kan alleen worden gedaan door iemand die de privésleutel bezit, en het isoleert de tak van de publieke sleutel van zijn ouder.
De chaincode is een waarde van 32 bytes die bij de sleutelafleiding wordt gebruikt. Zowel uitgebreide privésleutels als uitgebreide publieke sleutels bevatten deze code: elke uitgebreide sleutel combineert een sleutel met de bijbehorende chaincode.
De purpose-niveaus (BIP-43, BIP-44, BIP-49, BIP-84, BIP-86)
BIP-43 reserveerde het eerste niveau van de boom voor een purpose. De gangbare purposes zijn:
- BIP-44 — m/44'/coin'/account'/change/index — legacy-adressen (1...)
- BIP-49 — m/49'/coin'/account'/change/index — SegWit genest in P2SH (3...)
- BIP-84 — m/84'/coin'/account'/change/index — native SegWit (bc1q...)
- BIP-86 — m/86'/coin'/account'/change/index — Taproot (bc1p...)
Onder de purpose zitten het munttype (0' Bitcoin, 60' Ethereum enzovoort), het account, de change-tak (0 = ontvangen, 1 = change) en ten slotte de adresindex. Elk niveau is een tak in de boom; dezelfde seed onder twee verschillende purposes produceert twee volledig verschillende sets adressen.
Deterministisch versus niet-deterministisch
- HD-wallets: één seed, één boom, overal herstelbaar met het juiste pad.
- Niet-HD-wallets (vroeg Bitcoin Core, MultiBit Classic): sleutels werden in een keypool-bestand gegenereerd; zonder dat bestand (of zijn back-up) kan een seed ze niet herbouwen. Daarom doen oude walletbestanden er toe.
Wat dit voor herstel betekent
- Een correcte seed is maar de helft van het antwoord: het derivatiepad en de accountindex bepalen welke adressen worden gecontroleerd.
- Een verkeerd pad of account produceert geldig uitziende maar lege adressen — geen foutmelding.
- Met een xpub kan software via normale derivatie publieke child-sleutels en hun adressen binnen de bijbehorende tak afleiden, maar geen privésleutels herstellen. Een xpub bevat metadata over het knooppunt, niet het volledige derivatiepad; daarvoor is aparte informatie nodig.
- Gap-limieten en change-adressen zijn de praktische gevolgen van deze boomstructuur: wallets scannen een begrensd venster van ongebruikte adressen.
De pad-referentie vermeldt de praktische standaarden; deze pagina is het mechanisme erachter.
Nog steeds geen toegang?
De eerste beoordeling is gratis en u hoeft geen walletgeheimen te delen. Beschrijf wat u nog hebt — een bestand, een herstelzin, een apparaat of wat u zich herinnert — en wij laten u weten of herstel realistisch is. U betaalt alleen als het herstel slaagt.