Le plus grand défi dans la gestion du Bitcoin : le rôle des clés privées et de BIP39

La valeur intrinsèque du Bitcoin réside dans la gestion appropriée de la clé privée. Si cette clé est perdue, l’accès au Bitcoin est également perdu. Le proverbe souvent entendu « pas de clé, pas de coin » symbolise l’autonomie du Bitcoin.

Où se trouve le Bitcoin ?

Ce qui peut être difficile à comprendre pour les non-initiés, c’est « où » se trouve le Bitcoin. Selon la perception courante, un portefeuille ressemble à une boîte où l’on stocke de l’argent. Cependant, en réalité, un portefeuille ne détient pas le Bitcoin lui-même. Il ne contient que la clé privée.

La réalité du Bitcoin n’est qu’une entrée de données sur la blockchain, hébergée par tous les participants du réseau. Utiliser un Bitcoin équivaut à proposer une mise à jour des données enregistrées sur la blockchain. La clé privée sert à prouver que seul le propriétaire de cette clé peut approuver cette mise à jour.

La nature de la clé privée : un nombre extrêmement grand

En fin de compte, une clé privée est un nombre très grand composé de 256 bits de 1 et 0, généré aléatoirement. En format binaire, il ressemble à ceci :

1110001011011001011110111100000101000000100010011110101110110101110111001111111111111010101110100101110100111010011100101001 101111010001100001111101011110011010010111100110111010000011011011011100011010001100011110100011000111101101001001111011010101010110011011010

Cette randomisation extrême constitue la base de la sécurité du portefeuille. Le nombre de combinaisons possibles pour une clé privée est presque équivalent au nombre d’atomes dans l’univers observable. Par conséquent, si elle est générée de manière véritablement aléatoire, la clé privée est intrinsèquement sûre.

Différentes représentations de la clé privée

Une même clé privée peut être représentée selon différents schémas d’encodage.

En hexadécimal : E2D97BC144089EBB5773FFABA5D3A729BD187D79A5E6E836DC68C7A24F6AB36A

En format d’importation de portefeuille (WIF) : 5KYC9aMMSDWGJciYRtwY3mNpeTn91BLagdjzJ4k4RQmdhQvE98G

Le format WIF était la norme lors des débuts du Bitcoin pour échanger des clés privées. À l’époque, les utilisateurs généraient une clé privée unique, à partir de laquelle ils dérivaient la clé publique.

Mécanisme de génération de la clé publique

Le processus de création de la clé publique à partir de la clé privée consiste essentiellement en une multiplication par un nombre très grand. La courbe elliptique Secp256k1 utilisée par Bitcoin possède un point particulier appelé « point générateur ». C’est le point de base de la courbe Secp256k1, essentiel pour la génération de clés et la signature.

Le point générateur G est : G = 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798

En multipliant la clé privée par ce point, on obtient un nouveau point sur le graphique. C’est la clé publique, mathématiquement liée à la clé privée que vous seul connaissez.

Clé publique en format non compressé : 04C0E410A572C880D1A2106AFE1C6EA2F67830ABCC8BBDF24729F7BF3AFEA06158F0C04D7335D051A92442330A50B8C37CE0EC5AFC4FFEAB41732DA5108261FFED

Pour plus d’efficacité, la clé publique peut aussi être « compressée ». Cela ne conserve qu’un seul octet indiquant le signe des coordonnées x et y.

Mécanisme de signature de transaction

Signer une transaction avec la clé privée consiste également en une opération de multiplication. Le portefeuille génère un nonce (nombre aléatoire), puis utilise la clé privée et le hash de la transaction pour effectuer un calcul, produisant une signature (composée de deux valeurs r et S).

Grâce à cette signature, il est possible de vérifier que la signature provient bien de la clé privée sans la révéler. La propriété fondamentale pour établir le droit d’usage du Bitcoin repose essentiellement sur une opération mathématique de multiplication de grands nombres.

BIP39 : une solution conviviale

Ce qui précède peut être écrasant pour ceux peu familiers avec la technologie des actifs cryptographiques. Binaire, hexadécimal, coordonnées elliptiques — tout cela demande une compréhension immédiate. La question pratique de sauvegarder la clé privée en toute sécurité est un vrai défi pour beaucoup.

Pour répondre à ce problème, une méthode plus intuitive et sûre a été développée : la phrase de récupération (seed phrase ou mnémonique).

La phrase mnémonique BIP39

Le problème sous-jacent à la seed mnémonique est la difficulté de recopier une chaîne de 256 bits de 1 et 0. Une erreur même minime peut rendre la sauvegarde totalement inutilisable :

1110001011011001011110111100000101000000100010011110101110110101110111001111111111111010101110100101110100111010011100101001 101111010001100001111101011110011010010111100110111010000011011011011100011010001100011110100011000111101101001001111011010101010110011011010

À la place de cette longue suite de chiffres, une représentation plus conviviale pour l’humain était nécessaire.

Exemple de seed mnémonique : トラック 更新 怒り ロバ 思い出させる ラップトップ 改革 詳細 分割 悲しみ ため 脂肪

Il ne s’agit que de 12 mots. La manipulation devient alors beaucoup plus simple. Mais comment convertir un ensemble aléatoire de 1 et 0 en mots ayant un sens ?

Fonctionnement de l’encodage BIP39

Comme pour le binaire ou l’hexadécimal, un schéma d’encodage est utilisé. Chaque mot de la seed mnémonique correspond à une séquence spécifique de bits, mappée à un mot dans un dictionnaire.

Le BIP39 (Bitcoin Improvement Proposal 39) a introduit un schéma d’encodage standardisé. Chaque mot dans un dictionnaire spécialement créé est associé à un nombre binaire allant de 00000000001 à 11111111111, en ordre alphabétique.

Exemples de mappages pour un seed de démonstration :

  • トラック : 11101001001
  • 更新 : 10110110001
  • 怒り : 01011110011
  • ロバ : 01000001001
  • リマインド : 10110101110
  • ノートパソコン : 01111101000
  • 改革 : 10110100010
  • 詳細 : 00111100010
  • 分割 : 11010010001
  • 悲しみ : 01100110100
  • 理由 : 00010011110
  • 太字 : 01010011011

En format binaire, cela donne : 11101001001 10110110001 01011110011 01000001001 10110101110 01111101000 10110100010 00111100010 11010010001 01100110100 00010011110 01010011011

2048 mots et système de 11 bits

Le BIP39 comprend 2048 mots, chacun étant associé à 11 bits de 1 et 0. Cela facilite la manipulation des clés privées par l’utilisateur.

Lorsqu’un nombre aléatoire est généré à partir de la clé privée, le portefeuille le divise en segments de 11 bits, puis le mappe dans le dictionnaire mnémotechnique BIP39. Le même nombre grand peut ainsi être reconstruit sous forme de mots lisibles en anglais. Le cerveau humain est beaucoup plus à l’aise avec une séquence de mots qu’avec une longue chaîne de bits. Ce format réduit considérablement le risque de perte de Bitcoin due à une erreur de transcription.

Mécanisme de contrôle par checksum

En observant le codage binaire ci-dessus, on remarque que le dernier « mot » ne comporte en réalité que 8 bits. Il s’agit d’un checksum permettant de vérifier la validité de la seed.

Lors de la génération de la clé privée, le nombre de bits nécessaires pour correspondre exactement à 12 (ou 24) mots n’est pas toujours assuré. Le portefeuille hache le nombre existant, puis ajoute les premiers bits du hash au bout de la clé privée. Cela garantit que le nombre de bits nécessaires pour le dernier mot est respecté.

Ce mot de contrôle permet de vérifier mathématiquement si la copie de la seed est correcte. Si une seed mnémonique est mal saisie dans le portefeuille, le checksum ne correspond pas. Chaque seed (12 ou 24 mots) possède plusieurs checksums valides, mais si le dernier mot ne correspond pas au checksum correct, le portefeuille indique qu’il est invalide.

Contrairement à la transcription brute d’un nombre binaire, cette approche est intuitive tout en étant mathématiquement sûre.

Astuces pour le choix des mots

Les 2048 mots du dictionnaire BIP39 ont été soigneusement sélectionnés pour que les 4 premières lettres ne soient pas identiques, afin de réduire le risque de confusion ou d’erreur lors de la transcription, ce qui pourrait endommager la sauvegarde de la clé privée.

De la seed mnémonique à plusieurs paires de clés

Le processus de génération de plusieurs clés privées et publiques à partir d’une seed mnémonique est étonnamment simple.

La seed est hachée avec SHA512, produisant 512 bits de hash. La première moitié sert de clé privée, la seconde moitié, combinée à un index et à une clé privée ou publique existante, est utilisée comme entrée pour SHA512, générant ainsi de nouvelles paires de clés. En répétant cette opération, il est possible de dériver d’un seul mnémonique une infinité de nouvelles clés privées et publiques.

Innovations apportées par BIP39

Grâce à ces mécanismes, la gestion des clés privées peut être aussi simple et sûre que possible, tout en minimisant le risque de perte d’actifs par erreur. Et tout cela est réalisé par des moyens mathématiques.

La raison pour laquelle Bitcoin est appelé « argent protégé par les mathématiques » devient ainsi plus claire. Le BIP39 est une invention essentielle dans l’écosystème Bitcoin, qui implémente cette robustesse mathématique de manière conviviale pour l’utilisateur.

BTC2,72%
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
  • Récompense
  • Commentaire
  • Reposter
  • Partager
Commentaire
0/400
Aucun commentaire
  • Épingler

Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)