Aller au contenu
ecdsa.com

BIP-32 (portefeuilles HD)

Le standard Bitcoin qui dérive un arbre de clés d’une seule graine avec HMAC-SHA512 et des codes de chaîne, si bien qu’une seule sauvegarde couvre toutes les adresses et que les clés publiques étendues peuvent dériver des adresses de réception sans clés privées.
Autres graphiesBIP-32BIP32HD wallethierarchical deterministicchain code

La clé maîtresse et le code de chaîne proviennent de HMAC-SHA512("Bitcoin seed", seed). Un enfant d’index i provient d’un HMAC ayant pour clé le code de chaîne du parent, calculé sur la clé publique du parent (dérivation normale, i inférieur à 2³¹) ou sur sa clé privée (dérivation renforcée, ou hardened, i supérieur ou égal à 2³¹, noté i'). Les clés étendues se sérialisent sur 78 octets : version, profondeur, empreinte du parent, index, code de chaîne et clé, encodés en Base58Check sous la forme xprv… ou xpub….

La dérivation normale comporte un piège : une xpub associée à une seule clé privée enfant non renforcée, quelle qu’elle soit, révèle la clé privée parente ; n’exposez donc jamais de clés privées enfants dérivées sous une xpub partagée. Les niveaux renforcés des chemins standard (m/84'/0'/0') circonscrivent ce risque. Les portefeuilles Ethereum utilisent le même schéma sur secp256k1.

Normes et références

Tous les termes