Aller au contenu
buybitcoinsmart

Glossaire / Adresses et clés

Indice de clé

Qu'est-ce qu'un indice de clé ?
Un indice de clé est le nombre choisi à chaque étape d'une dérivation HD, de 0 à 4 294 967 295, qui détermine sur quel enfant d'une clé parente vous tombez.

Spécifié dans BIP-32.

Les indices sont la façon dont un portefeuille compte. Chaque niveau de l'arbre prend un nombre de 32 bits, donc un seul parent a 4 294 967 296 enfants possibles, et toute la moitié supérieure de cette plage, à partir de 2 147 483 648, est réservée à la dérivation durcie. À l'usage quotidien, vous ne rencontrez que l'indice final d'un chemin : celui qui s'incrémente chaque fois que vous appuyez sur recevoir.

Comment cela fonctionne

L'indice est la seule chose qui diffère d'un enfant au suivant. Lors de la dérivation, il est sérialisé sous forme d'un nombre de quatre octets en big-endian et ajouté au matériel de la clé parente avant le hachage, de sorte que l'indice 0 et l'indice 1 produisent des résultats sans relation visible entre eux. Rien d'autre ne change à cette étape.

La plage se divise en deux à 2 147 483 648. En dessous de cette ligne, la dérivation est normale, et une clé publique étendue parente suffit à calculer la clé publique enfant sans aucun secret. À partir de cette ligne, la dérivation est durcie, la clé privée parente doit intervenir, et le matériel public seul ne donne rien. La notation masque l'arithmétique : écrire 84' ou 84h désigne l'indice 2 147 483 732, qui est 84 plus le décalage de durcissement.

Deux notations pour la même chose causent plus de confusion qu'elles ne devraient. La documentation ancienne et la plupart des écrans de portefeuille utilisent l'apostrophe, comme dans m/84'/0'/0', tandis que la sortie de descripteur de Bitcoin Core préfère m/84h/0h/0h. Elles sont identiques. La forme avec lettre existe parce qu'une apostrophe dans un argument de shell pose un risque de guillemets mal interprétés, et la coller dans bitcoin-cli casse d'une manière pénible à déboguer.

Où vous le voyez

Le dernier nombre d'un chemin est l'indice que vous rencontrez au quotidien. Dans m/84h/0h/0h/0/7, le 0 sélectionne la chaîne de réception et le 7 marque la huitième adresse que le portefeuille a remise, en comptant à partir de zéro. La monnaie rendue a son propre compteur sur la chaîne 1, donc la première sortie de monnaie rendue d'un portefeuille tout neuf arrive à m/84h/0h/0h/1/0, et les deux compteurs avancent indépendamment.

Le comptage séquentiel est ce qui rend la récupération possible, et aussi ce qui la fait échouer. Le BIP-44 demande à un portefeuille qui restaure de dériver vers l'avant sur 20 adresses inutilisées consécutives puis d'arrêter de chercher, donc des bitcoins reçus à l'indice 45 avec une longue plage vide avant eux apparaîtront comme un solde nul jusqu'à ce que vous releviez la limite d'écart à la main. Bitcoin Core évite la discussion en conservant une réserve de clés pré-dérivées, 1 000 par défaut, qu'il recharge à mesure qu'elles sont consommées.

La découverte fonctionne de la même manière un niveau au-dessus. Un portefeuille qui restaure vérifie le compte 0', trouve un historique, passe au compte 1' et s'arrête au premier compte sans aucune transaction. Créer le compte 5' et laisser les comptes en dessous vides est donc un moyen fiable de faire ignorer vos bitcoins lors d'une restauration future.

Indice de clé vs chemin de dérivation

Un indice est un nombre ; un chemin est la liste ordonnée de ceux-ci. m/84h/0h/0h/0/7 contient cinq indices, et à l'usage ordinaire seul le dernier bouge, parce que l'objectif, le type de cryptomonnaie, le compte et la chaîne restent fixes pendant toute la vie du portefeuille. La distinction compte quand un article d'assistance vous dit de vérifier votre chemin de dérivation. Il s'agit du préfixe fixe, pas du compteur d'adresses, et vous aurez beau cliquer sur recevoir, cela ne sauvera pas un solde manquant parce que le préfixe était erroné.

À ne pas confondre avec

Questions fréquentes

Que signifie l'apostrophe après un nombre ?

Elle marque l'indice comme durci, ce qui lui ajoute 2 147 483 648. Ainsi 0' est l'indice 2 147 483 648 et 84' est l'indice 2 147 483 732. Certains logiciels écrivent h à la place de l'apostrophe, et les deux formes signifient exactement la même chose.

Pourquoi mon portefeuille restauré affiche-t-il moins d'adresses qu'avant ?

Le logiciel de restauration dérive vers l'avant jusqu'à rencontrer 20 adresses inutilisées d'affilée, puis s'arrête. Si vous avez généré beaucoup d'adresses sans les utiliser, relevez la limite d'écart dans les paramètres du portefeuille et relancez l'analyse pour qu'il cherche plus loin sur la branche.

Termes associés

Plus de termes : Adresses et clés

Lire cette page en anglais