Glossaire / Portefeuilles et conservation
Dérivation de la seed
- Qu'est-ce que Dérivation de la seed ?
- La dérivation de la phrase de récupération est la fonction à sens unique qui convertit une phrase mnémonique, avec une phrase secrète facultative, en la seed de 512 bits à partir de laquelle un portefeuille construit réellement ses clés.
Spécifié dans BIP-39.
La fonction est PBKDF2 avec HMAC-SHA512, appliquée aux mots eux-mêmes plutôt qu'à l'aléa qui les sous-tend. Le BIP-39 fixe le nombre d'itérations à 2 048 et la sortie à 64 octets, votre phrase secrète étant ajoutée au mot fixe "mnemonic" pour former le sel. Rien dans cette étape ne vérifie que les mots ont déjà été valides, de sorte qu'une phrase mal saisie produit tout de même une seed bien formée et un portefeuille vide.
Comment cela fonctionne
La dérivation de la phrase de récupération prend deux entrées et renvoie une sortie, en un seul appel, sans état et sans mémoire de ce qui a produit les mots. La phrase mnémonique est le mot de passe. Le sel est le texte "mnemonic" auquel est collée une éventuelle phrase secrète, et une chaîne vide en tient lieu lorsqu'aucune phrase secrète n'a été définie. Les deux passent d'abord par la normalisation Unicode NFKD, de sorte que les caractères accentués d'une phrase française ou espagnole donnent le même hachage quel que soit le clavier qui les a saisis.
Le BIP-39 indique que cette moitié de la norme est "completely independent" de celle qui génère une phrase, et il le dit avec approbation : il n'y a aucune contrainte sur la structure des phrases, et les clients peuvent écrire leurs propres listes de mots ou même des générateurs de phrases entiers. La lecture pratique est plus crue. Soumettez à la fonction douze mots dénués de sens et elle renvoie 64 octets parfaitement utilisables. Le BIP-39 exige que les logiciels calculent la somme de contrôle en dehors de cette étape et "issue a warning if it is invalid", un avertissement plutôt qu'un refus, ce qui explique pourquoi certains outils restaurent une phrase qu'ils viennent de vous dire défectueuse.
Deux conséquences découlent du hachage de la phrase plutôt que de l'entropie qui la sous-tend. Traduire une phrase mot pour mot dans une autre langue produit une seed entièrement différente, car les octets d'entrée changent même si l'aléa sous-jacent reste identique. Et le sens ne s'inverse jamais : une seed BIP-32 quelconque ne peut pas être réécrite sous forme de phrase BIP-39, ce qui explique pourquoi "export the seed" et "export the words" sont deux demandes distinctes.
Où vous la rencontrez
La dérivation de la phrase de récupération apparaît dès que deux logiciels ne s'accordent pas sur la fonction à exécuter. La sauvegarde multi-part sur le Trezor Safe 3 et Safe 5, tous deux examinés sur ce site, relève de SLIP-39 et non de BIP-39 : une liste de 1 024 mots lue 10 bits à la fois, donnant 20 mots par part pour un secret de 128 bits et 33 mots pour un secret de 256 bits. Ces parts ne touchent jamais l'étape PBKDF2 du BIP-39. Le SLIP-39 a été publié par les auteurs du BIP-39 eux-mêmes comme solution de remplacement, et en rend responsable "the overly coupled design of BIP-0039 and its use of a one-way derivation function" : c'est ce qui explique que les parts ne peuvent pas être reconverties ; le sens inverse fonctionne mais force chaque part obtenue à 59 mots, quelle que soit la longueur de départ.
L'avis Coldcard sur ce site montre ce que la dérivation ne peut pas faire pour vous. Une migration de micrologiciel en mars 2021 a laissé la génération de phrase de récupération puiser dans un générateur de nombres pseudo-aléatoires logiciel plutôt que dans celui du matériel, et Coinkite a mis à jour son avis le 1er août 2026. La dérivation elle-même n'a jamais failli. Elle a transformé un secret faible en une seed bien formée de 64 octets, munie d'une somme de contrôle valide, et aucun portefeuille en aval n'avait le moyen de s'en rendre compte.
Pour observer la fonction à l'œuvre sans rien risquer, le BIP-39 publie des vecteurs de test alignant entropie, phrase mnémonique et seed obtenue, la phrase secrète "TREZOR" étant utilisée pour chaque vecteur.
Dérivation de la phrase de récupération vs chemin de dérivation
La dérivation de la phrase de récupération a lieu une fois, avant qu'une seule clé existe ; un chemin de dérivation est consulté ensuite, chaque fois qu'une adresse est nécessaire. Cette différence détermine la gravité d'une restauration qui semble vide. Un mauvais chemin est un réglage : changez le type de script, relancez l'analyse et le solde apparaît. Une mauvaise phrase secrète change la seed, donc tout l'arbre qui en dépend, et aucun réglage ne ramène l'ancienne.