BIP-32
BIP-32 définit les wallets HD : dérivation hiérarchique déterministe à partir d'une seed. Pierre angulaire des wallets modernes. Permet des arbres de clés sans nouvelles sauvegardes.
La fondation des wallets HD
BIP-32 (Pieter Wuille, 2012) définit la dérivation hiérarchique déterministe (HD) des clés Bitcoin. C'est la pierre angulaire de tous les wallets modernes : à partir d'une seule graine (seed), tu peux dériver de manière déterministe des milliers, voire des millions de clés filles, organisées en arbre. Cela résout un problème majeur des premiers wallets Bitcoin où chaque adresse devait être sauvegardée séparément.
Le mécanisme
À partir d'une seed binaire (typiquement 256 ou 512 bits), HMAC-SHA512 produit une clé maîtresse plus un code de chaîne maître. À partir de cette racine, on peut dériver des clés enfants en combinant la clé parente, le code de chaîne et un index. Le résultat de chaque dérivation : une nouvelle clé fille avec son propre code de chaîne, qui peut elle-même être parente d'autres clés.
Dérivation normale vs hardened
Deux modes coexistent. La dérivation normale permet de générer des clés filles publiques à partir d'une xpub seule, ce qui est utile pour les watch-only wallets. La dérivation hardened (notée par une apostrophe ou h) empêche de retrouver la clé parente même en connaissant la xpub fille : indispensable pour isoler des comptes. La règle BIP-44 utilise du hardened pour les niveaux purpose, coin, account, et du normal pour change et index.
xpub, xprv et leurs variantes
Une clé étendue concatène une clé (privée ou publique) et son code de chaîne. Encodée en Base58Check : xprv et xpub pour le mainnet legacy, ypub/zpub pour Nested et Native SegWit, vpub pour Taproot (BIP-86). Plus une clé étendue est haute dans l'arbre, plus elle expose : connaître une xpub d'un compte permet de générer toutes ses adresses.
Pourquoi c'est révolutionnaire
Avant BIP-32, sauvegarder un wallet voulait dire sauvegarder chaque clé privée individuellement (le fichier wallet.dat de Bitcoin Core 0.x). Aujourd'hui, une seule sauvegarde de 12 ou 24 mots couvre l'intégralité du wallet, présent et futur. C'est ce qui a rendu la self-custody accessible au grand public.
Combiné à BIP-39
BIP-32 ne décrit pas comment générer la seed. C'est le rôle de BIP-39 (Trezor, 2013) qui standardise la seed phrase de 12-24 mots. Ensemble, BIP-32 + BIP-39 + BIP-44 forment le tryptique fondateur des wallets Bitcoin modernes.
Termes lies
- Wallet HD (Hierarchical Deterministic)Un wallet HD génère toutes ses clés depuis une seed unique selon une hiérarchie déterministe (BIP-32). Une seule sauvegarde (12 ou 24 mots) suffit pour récupérer toutes les adresses. Standard de l'industrie depuis ~2014. Il a rendu obsolètes les wallets non déterministes type Bitcoin Core 0.x.
- Dérivation HDLa dérivation HD (Hierarchical Deterministic) génère un arbre de clés à partir d'une seed unique (BIP-32). Elle suit un chemin standardisé (BIP-44/49/84/86). Elle permet de gérer milliers d'adresses sans nouvelle sauvegarde. C'est la technologie qui sauve les utilisateurs de la fastidieuse gestion par adresse.
- Clé étendue (xprv/xpub)Une clé étendue est la concaténation d'une clé (privée ou publique) et de son code de chaîne. Elle permet de dériver toute une descendance de clés. Exposer une xpub permet de générer toutes les adresses publiques d'un compte. Il faut donc la traiter comme une donnée privée.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.