145 / 736BIP85

BIP85

Plusieurs portefeuilles à partir d’une sauvegarde principale

BIP85 permet de créer, depuis un portefeuille principal, d’autres portefeuilles ayant leurs propres mots de récupération. Cela sépare les usages, mais leur sécurité dépend toujours de la protection de leur base commune.

BIP85 permet de recréer des secrets destinés à d’autres portefeuilles à partir du secret d’un portefeuille principal. Le téléphone peut ainsi recevoir sa propre Seed Phrase, c’est-à-dire ses mots de récupération, sans recevoir ceux des économies principales. Le même secret de départ et les mêmes réglages donnent toujours le même résultat : c’est une dérivation déterministe. BIP85 ne transfère pas de bitcoins, ne partage pas une sauvegarde en fragments et ne remplace pas une sauvegarde principale perdue.

Anna conserve sa sauvegarde principale en sécurité et souhaite un portefeuille séparé pour de petits paiements. Un portefeuille est une application ou un appareil permettant de recevoir et d’envoyer des bitcoins. BIP85 peut produire une autre phrase de récupération ; elle n’importe que cette phrase dans le téléphone. Une clé privée est une valeur numérique secrète dont le portefeuille se sert pour créer une signature numérique autorisant une dépense. Techniquement, le départ est une racine privée étendue BIP 32, l’origine d’un arbre de clés. Elle peut provenir de mots BIP 39 : les mots et une éventuelle passphrase produisent d’abord le seed, l’entrée secrète servant à calculer la racine. Ces termes désignent des étapes différentes. BIP85 calcule de nouvelles données secrètes depuis la racine ; il ne remonte pas le processus pour retrouver les mots d’origine. [1] [2] [3] [5]

Anna doit aussi noter les choix de dérivation. Derivation Path en donne la succession précise. L’exemple m/83696968'/39'/0'/12'/0' sélectionne BIP85, l’application BIP 39, la liste anglaise, 12 mots et l’index 0. Application désigne ici une manière définie de traiter le résultat, pas une application mobile particulière. L’index 1 produit un autre descendant, donc une autre phrase ; il ne numérote pas une adresse de paiement du téléphone. La liste tchèque porte le code 8', quelle que soit la langue de cette page. Changer de liste ou de nombre de mots modifie le chemin et le résultat. Ce n’est pas traduire les mêmes mots de récupération. [1]

Le matériau intermédiaire est appelé entropie : ici, des données calculées à partir d’une base secrète, censées rester imprévisibles sans connaître cette base. Pour 12 mots, on utilise les 128 premiers bits du résultat ; pour 24 mots, les 256 premiers bits. BIP 39 ajoute une somme de contrôle, qui aide à détecter certaines erreurs de transcription, et convertit les données en mots. Ceux-ci servent ensuite à créer le seed et les clés du nouveau portefeuille. BIP85 ne fixe pas lui-même le type d’adresse, le chemin des adresses ni la recherche des anciens paiements. Un résultat plus long ne corrige pas non plus un secret de départ facile à deviner : la dérivation n’y ajoute aucun nouvel aléa indépendant. [1] [3]

Une passphrase est un secret supplémentaire facultatif utilisé avec les mots BIP 39. Ce n’est ni le code PIN de l’appareil ni le mot de passe d’ouverture d’une application. Si Anna en utilisait une avec sa phrase principale, elle en a aussi besoin pour retrouver la même racine d’entrée de BIP85. Une autre passphrase parentale donne d’autres descendants. Une seconde passphrase, indépendante, peut être appliquée aux mots dérivés dans le téléphone. Elle change le seed du portefeuille destinataire, pas les mots déjà produits. BIP85 ne sauvegarde pas cette passphrase de destination. Retrouver les mots sans elle ne suffit donc pas à retrouver le portefeuille initial. [3] [4]

Avec une construction correcte et un secret initial suffisamment fort, retrouver la racine principale ou les secrets d’autres portefeuilles dérivés à partir d’une phrase dérivée est irréalisable en pratique par le calcul. La fuite des mots du téléphone ne révèle donc pas à elle seule la sauvegarde principale. L’inverse fonctionne toutefois : qui possède la racine privée principale et les réglages nécessaires peut reproduire ses descendants. Une éventuelle passphrase supplémentaire de destination reste un secret distinct. Perdre la base principale menace les descendants sans sauvegarde propre utilisable. BIP85 concentre ainsi une partie de la responsabilité au même endroit. Il ne répare pas une racine compromise, et exporter un descendant ne sécurise pas un téléphone infecté. [1] [4]

Toutes les étapes sont hardened : elles nécessitent la partie privée de la clé parente. Un xpub, une clé publique étendue servant à dériver des clés publiques, ne suffit pas. La clé privée k obtenue contient 32 octets. BIP85 la traite ensuite avec HMAC-SHA512, un calcul cryptographique acceptant un message et une clé. Ici, k est le message et le texte fixe bip-entropy-from-k est la clé ; le résultat contient 64 octets. La confidentialité repose donc sur l’entrée privée k, pas sur ce texte public. La transformation sépare les données produites de la clé dérivée. Elle ne recommande pas d’employer aussi cette clé intermédiaire pour signer des paiements. [1] [2]

L’application XPRV peut créer une nouvelle clé privée étendue. Dans m/83696968'/32'/0', les 32 premiers octets forment le chain code, des données nécessaires aux dérivations suivantes, et les 32 suivants la clé privée. C’est l’ordre inverse de celui utilisé habituellement pour créer une racine BIP 32. Si le nombre obtenu n’est pas une clé valide, le programme doit signaler une erreur et l’utilisateur choisir l’index suivant ; il ne doit pas accepter silencieusement la valeur. HEX représente des données en caractères hexadécimaux, WIF est un format de clé privée et d’autres applications génèrent des mots de passe. Chacune a ses règles. Deux chaînes semblables ne prouvent ni un contenu identique ni une compatibilité. [1] [2]

La documentation COLDCARD décrit la dérivation et l’export BIP 39, WIF, XPRV et HEX. Prendre en charge BIP85 ne signifie pas que chaque version d’appareil gère toutes ses applications. Notez le format, la liste de mots, la longueur et l’index, ainsi que le portefeuille principal de départ ; protégez les passphrases comme des secrets séparés. Avant de dépendre de la procédure, vérifiez qu’elle reproduit les mêmes mots dérivés et les adresses correspondantes du portefeuille destinataire. Les vecteurs de test publics, des entrées connues avec leurs résultats attendus, vérifient le logiciel, pas votre sauvegarde privée. BIP85 peut simplifier la gestion, mais cette complexité supplémentaire n’a de sens que si vous comprenez votre propre procédure de récupération. [4] [1]

Pour une vision complète, lisez aussi HD Wallet, BIP 39, BIP39 passphrase, Derivation Path, Hardware Wallet, Seed Phrase. Cette entrée est également citée par Duress Wallet.

DOC · 001BIP 85 — Deterministic Entropy From BIP32 KeychainsSpécification DOC · 002BIP 32 — Hierarchical Deterministic WalletsSpécification DOC · 003BIP 39 — Mnemonic code for generating deterministic keysSpécification DOC · 004COLDCARD — Export Deterministic Entropy (BIP-85)Documentation DOC · 005Bitcoin Developer Guide — WalletsDocumentation
Révisé le: Sources d’abord · Pas un conseil financier