Aller au contenu
buybitcoinsmart

Glossaire / Adresses et clés

Chemin de dérivation

Qu'est-ce qu'un chemin de dérivation ?
Un chemin de dérivation est le parcours dans l'arborescence de clés d'un portefeuille HD, écrit sous une forme comme m/84h/0h/0h/0/0, qui indique au logiciel quelle clé, parmi des milliards, reconstruire à partir de votre phrase de récupération.

Spécifié dans BIP-44.

Un chemin est une coordonnée, pas un secret. Deux nombres situés près du début déterminent si vos mots reconstruisent des adresses commençant par 1, 3, bc1q ou bc1p, car le BIP-44, le BIP-49, le BIP-84 et le BIP-86 lisent chacun la même phrase différemment. Noter le chemin à côté de votre sauvegarde fait la différence entre une restauration qui retrouve vos bitcoins et une restauration qui affiche zéro.

Comment cela fonctionne

Un chemin se lit de gauche à droite, un niveau par barre oblique, et chaque niveau réduit la recherche. Le m au début est la clé maîtresse générée à partir de votre phrase de récupération. Tout ce qui suit est un indice, et une apostrophe ou un h indique que cet indice est durci.

Le premier niveau est le purpose, et c'est le niveau qui décide de l'apparence de vos adresses.

StandardChemin de compteAdresses produites
BIP-44m/44h/0h/0hlegacy, commençant par 1
BIP-49m/49h/0h/0hSegWit imbriqué, commençant par 3
BIP-84m/84h/0h/0hSegWit natif, commençant par bc1q
BIP-86m/86h/0h/0hTaproot, commençant par bc1p

Le deuxième niveau est le coin type, issu du registre SLIP-0044, où le bitcoin correspond à 0 et chaque testnet à 1. Le troisième est le numéro de compte, qui permet à une même phrase de récupération de contenir un portefeuille personnel en 0h et un portefeuille professionnel en 1h sans historique partagé. Ensuite, le durcissement s'arrête : le quatrième niveau est la chaîne, 0 pour les adresses que vous distribuez et 1 pour la monnaie rendue, et le cinquième est l'indice d'adresse qui augmente à mesure que vous recevez des paiements.

Cette séparation entre niveaux durcis et niveaux normaux est délibérée. Comme le niveau du compte est durci, la clé publique étendue pour m/84h/0h/0h peut être exportée vers un téléphone ou un comptable, qui peut alors dériver toutes les adresses de réception et de monnaie rendue situées en dessous, mais ne peut ni passer latéralement dans un autre compte ni remonter vers la clé maîtresse.

Le multisig utilise sa propre branche. Le BIP-48 place les clés des cosignataires en m/48h/0h/0h/2h pour le SegWit natif, le dernier niveau durci nommant le type de script, afin qu'un appareil puisse distinguer un compte à signature unique d'un compte multisig avant de signer quoi que ce soit.

Pourquoi cela compte quand vous achetez du bitcoin

Le chemin ne touche jamais à votre sécurité. Il ne change rien à la difficulté de voler vos bitcoins, et change tout à la capacité du logiciel devant vous à les retrouver.

La défaillance que cela provoque est courante et invariablement terrifiante. Vous achetez sur une plateforme d'échange, vous retirez vers un appareil, et les bitcoins arrivent à des adresses bc1q sous m/84h/0h/0h. Un an plus tard, vous restaurez les mêmes 24 mots dans une autre application qui utilise legacy par défaut, et le solde affiche 0,00000000 alors qu'un explorateur de blocs montre toujours votre argent intact à l'ancienne adresse. Rien n'a été perdu. L'application regarde la mauvaise branche d'un arbre comptant quatre milliards d'enfants par niveau.

Les valeurs par défaut diffèrent entre les portefeuilles que ce site évalue. Trezor Suite et Ledger Live présentent chacun les comptes par type d'adresse et choisissent discrètement un purpose à votre place. Electrum demande quel type de script vous voulez au moment de la restauration et cache un champ de chemin en texte libre derrière une option avancée. Sparrow analyse plusieurs chemins standard à la fois et vous montre lequel a un historique. Aucun n'a tort, et aucun ne peut deviner ce que l'autre a fait.

Deux habitudes éliminent tout le problème. Écrivez le chemin de compte et le type d'adresse sur la même note que le nom du portefeuille, et conservez cette note dans un endroit accessible sans la phrase de récupération, comme un gestionnaire de mots de passe, puisqu'elle ne révèle rien en elle-même. Ensuite, avant de faire confiance à une restauration, comparez la première adresse de réception qu'elle affiche avec celle qu'affiche votre appareil d'origine. Si ces deux chaînes correspondent, toutes les adresses en dessous correspondront aussi.

Restaurer 24 mots dans Electrum et voir zéro

Une restauration sur le mauvais chemin se déroule ainsi. Un Trezor Model T a été configuré avec 24 mots, un retrait depuis une plateforme d'échange est allé vers sa première adresse SegWit native, et l'appareil est maintenant rangé dans un tiroir. Des mois plus tard, la phrase est saisie dans Electrum sur un ordinateur portable.

Electrum demande le type de script avant d'analyser. Choisissez legacy p2pkh, il dérive m/44h/0h/0h, affiche des adresses commençant par 1, ne trouve rien et signale un portefeuille vide. Les bitcoins sont toujours à l'adresse bc1q, toujours confirmés, toujours visibles par quiconque possède le txid.

La correction prend une minute. Restaurez à nouveau, choisissez SegWit natif, ou ouvrez le champ de dérivation avancé et saisissez m/84'/0'/0' à la main. Electrum analyse à nouveau, le solde apparaît, et la liste d'adresses commence par la même chaîne que le Trezor affiche sous son onglet de réception. Si le solde affiche toujours zéro et que vous savez que des paiements sont allés plus loin sur la branche, augmentez la limite d'écart au-delà de la valeur par défaut de 20 avant de supposer qu'il manque quoi que ce soit.

Rien dans cette séquence n'a impliqué de risque pour les bitcoins, car une restauration est une opération de lecture. Vous pouvez essayer chaque purpose l'un après l'autre, et le seul coût est le temps que prend chaque nouvelle analyse.

Chemin de dérivation vs descripteur de sortie

Un chemin dit où ; un descripteur dit où, quoi, et à partir de quelle clé. Le descripteur wpkh([fingerprint/84h/0h/0h]xpub/0/*) contient le même chemin, plus le type de script comme fonction d'enveloppe, plus la clé étendue elle-même, plus une somme de contrôle qui détecte un caractère mal saisi. Donner un chemin à quelqu'un ne lui apprend rien sur votre portefeuille. Lui donner un descripteur lui transmet tout votre historique d'adresses et toutes les adresses futures de cette branche, c'est pourquoi l'un peut être envoyé sans risque par courriel et l'autre non.

À ne pas confondre avec

Questions fréquentes

Comment trouver le chemin de dérivation de mon portefeuille ?

Consultez les détails du compte ou du keystore du portefeuille, où il apparaît généralement à côté de la clé publique étendue. S'il n'est pas indiqué, le format d'adresse vous renseigne : les adresses commençant par 1 sont BIP-44, 3 sont BIP-49, bc1q sont BIP-84, et bc1p sont BIP-86.

Mon portefeuille restauré affiche un solde nul. Mes bitcoins ont-ils disparu ?

Presque certainement non. La cause habituelle est une restauration sur le mauvais chemin, si bien que le logiciel génère un autre ensemble d'adresses. Vérifiez l'ancienne adresse sur un explorateur de blocs, puis restaurez à nouveau en choisissant le type d'adresse qui y correspond.

Le chemin de dérivation a-t-il une incidence sur la sécurité de mes bitcoins ?

Non. Chaque chemin mène à des clés de force identique, et le choix n'affecte que le format d'adresse, la taille des transactions et les logiciels capables de retrouver vos fonds. Les chemins SegWit natif et Taproot produisent des dépenses moins coûteuses, ce qui relève des frais et non de la sécurité.

À lire ensuite

Termes associés

Plus de termes : Adresses et clés

Lire cette page en anglais