Pour améliorer la confidentialité de ses utilisateurs, le BitBox02 crée une nouvelle adresse bitcoin chaque fois que vous recevez une transaction. Comment peut-il créer un nombre infini d'adresses bitcoin alors que l'utilisateur ne doit noter sa phrase de récupération qu'une seule fois ?

Voyons ce que sont les wallets déterministes hiérarchiques et comment ils fonctionnent :

La dérivation d'une adresse bitcoin

La phrase de récupération

Tout commence par une phrase de récupération. C'est la « clé maîtresse » de votre wallet. Elle se présente généralement sous la forme d'une liste de 12 à 24 mots. Décodée via un algorithme spécial, ce n'est qu'une chaîne composée de nombreux uns et zéros.

Pour s'assurer qu'un seul utilisateur, et personne d'autre, possède la même phrase de récupération, il est essentiel qu'elle soit créée de manière totalement aléatoire. Cela est obtenu en utilisant beaucoup d'aléa (également appelé « entropie »). Comme les humains sont relativement mauvais pour choisir des mots au hasard, vous ne devez jamais choisir vous-même des mots aléatoires dans la liste de mots !

En théorie, il suffirait de lancer une pièce 256 fois et de noter soit un un, soit un zéro. La probabilité que quelqu'un « lance les pièces » exactement de la même manière qu'une autre personne est de 1:2^256, soit environ 1:10000000000000000000000000000000000000000000000000000000000000 000000000000000.

Pour simplifier tout cela, le BitBox02 utilise plusieurs sources pour cette entropie, comme une puce dédiée de génération de nombres vraiment aléatoires, le mot de passe défini par l'utilisateur ainsi que l'application de bureau, puis les combine pour créer une phrase de récupération très aléatoire.

Une passphrase facultative est mélangée à la phrase de récupération avant la dérivation des clés individuelles.

Exemple : resource plastic opinion divorce since play neglect domain park apart edge vague world mango slim over wreck icon artist pudding drill orphan camp fish En binaire : 10110111100 10100110000 10011011011 01000000000 11001001001 10100110010 10010100000 01000000111 10100000010 00001010010 01000110010 11110000101 11111101101 10000111001 11001011110 10011101111 11111110001 01110000010 00001101000 10101101001 01000010111 10011100110 00100000110 010

Chemin de dérivation

Le chemin de dérivation nous permet d'appliquer une « formule » standardisée à notre clé maîtresse afin de créer une clé privée. Vous pouvez l'imaginer comme le chemin vers un dossier sur votre ordinateur !

Un exemple de chemin de dérivation bitcoin pour le BitBox02 est : m/49’/0’/0’/0/0

Chaque partie du chemin représente un usage spécifique :

m / purpose’ / coin_type’ / account’ / change / address_index Si nous modifions ce chemin de dérivation, nous obtenons une clé privée complètement différente. Les wallets modernes augmentent progressivement le champ « address_index » afin de dériver une série de clés privées. Cela signifie que, pour dériver les clés privées de nos 5 premières adresses bitcoin, le wallet utilise les chemins de dérivation suivants : m/49’/0’/0’/0/0 m/49’/0’/0’/0/1 m/49’/0’/0’/0/2 m/49’/0’/0’/0/3 m/49’/0’/0’/0/4

Comme le nombre de ces chemins n'est pas limité, il est possible de dériver un nombre pratiquement illimité de clés privées. Exemple : m/49’/0’/0’/0/0

Clé privée

Une clé privée peut être considérée comme la clé de l'une de vos adresses bitcoin individuelles. Elle est nécessaire pour signer une transaction depuis l'adresse bitcoin associée.

Comme son nom l'indique, vous ne devez partager ces clés avec personne. Alors comment un wallet passe-t-il d'une clé privée à une adresse bitcoin ? D'abord, le wallet doit créer la clé publique correspondant à votre clé privée. Exemple : L5UxSZahnxwzrNU3kv6gxatYcC3TXffv6sxQkebxUxYFxxdSmva1

Clé publique

À partir d'une clé privée, vous pouvez créer une clé publique. Cette clé publique peut être partagée avec n'importe qui. Elle permet à son propriétaire de prouver qu'il possède la clé privée associée.

Exemple : 020be9666e50552e0f10c15fa0a7691197144313d30a61c9129ec40375748e28ed

Adresse bitcoin

Une adresse bitcoin se compose d'un pubkey script encodé qui, dans la plupart des cas, comprend la clé publique ou le hash d'une clé publique. Le hash d'une clé publique est dérivé en appliquant une fonction de hash à la clé publique. Le pubkey script définit sous quelles conditions les coins peuvent être dépensés.

C'est cette adresse que les autres peuvent utiliser pour vous envoyer des bitcoins. Exemple : bc1q6zjfr73jywxck3stj0rzl62ga94hyxgw9tfu8g

En résumé

Comme expliqué dans cet article, une adresse bitcoin est dérivée en plusieurs étapes à partir de la phrase de récupération. La manière dont ces adresses sont dérivées est toujours la même (déterministe). On appelle généralement ces types de wallets des « wallets déterministes hiérarchiques » (wallets HD). Les standards de ces wallets sont définis dans BIP32 et BIP39.

Comme la méthode de dérivation des adresses est toujours la même, nous n'avons pas besoin de sauvegarder chaque adresse individuellement, uniquement la phrase de récupération !

À quelle fréquence puis-je utiliser une adresse bitcoin ? Vous pouvez utiliser une adresse bitcoin aussi souvent que vous le souhaitez. Pour des raisons de confidentialité, ce n'est pas recommandé. Toute personne qui reçoit des bitcoins depuis cette adresse peut voir le solde restant qui s'y trouve.

Dois-je noter le chemin de dérivation ? En général, non. La plupart des wallets utilisent des chemins de dérivation courants, faciles à retrouver en ligne. Si vous voulez vraiment en être certain, vous pouvez noter le chemin de dérivation de votre wallet.

Dois-je sauvegarder mes clés privées ? Si vous utilisez un wallet moderne qui vous fournit une phrase de récupération de sauvegarde, il vous suffit de noter votre phrase de récupération. Les clés privées et les adresses sont dérivées à partir de votre phrase de récupération.

Vous n'avez pas encore de BitBox ?

Garder vos cryptos en sécurité n'a rien de compliqué. Le hardware wallet BitBox02 stocke hors ligne les clés privées de vos cryptomonnaies. Vous pouvez ainsi gérer vos coins en toute sécurité.

Le BitBox02 existe aussi en version Bitcoin-only, avec un firmware radicalement focalisé : moins de code signifie moins de surface d'attaque, ce qui améliore encore votre sécurité si vous stockez uniquement du Bitcoin.

Procurez-vous-en un dans notre boutique !

Shift Crypto est une entreprise privée basée à Zurich, en Suisse. Notre équipe de contributeurs Bitcoin, d'experts crypto et d'ingénieurs en sécurité conçoit des produits qui permettent à nos clients de gérer leurs cryptomonnaies sereinement, du niveau débutant jusqu'à la maîtrise. Le BitBox02, notre hardware wallet de deuxième génération, permet aux utilisateurs de stocker, protéger et d'effectuer facilement des transactions en Bitcoin et avec d'autres cryptomonnaies, avec le soutien de son compagnon logiciel, le BitBoxApp.

This post was translated with the help of AI