Scannez pour télécharger l’application Gate
qrCode
Autres options de téléchargement
Ne pas rappeler aujourd’hui

Comprendre vos clés Bitcoin : mots de graine Bip39

Au cœur de l'auto-souveraineté de Bitcoin se trouve le contrôle de vos clés privées. Sans cela, vous remettez essentiellement le contrôle de vos fonds à quelqu'un d'autre. Comme le dit l'adage, “Pas vos clés, pas vos jetons.” Pour ceux qui ne sont pas familiers avec les fondements techniques de Bitcoin, un aspect contre-intuitif est “où” votre Bitcoin réside réellement. Quand les gens pensent à un portefeuille, ils imaginent “l'endroit où je garde mon argent.” En réalité, votre portefeuille Bitcoin ne “contient” pas votre Bitcoin ; il stocke simplement vos clés privées. Votre Bitcoin existe sous forme d'entrées de données sur la blockchain, maintenues par tous les participants du réseau. Lorsque vous dépensez vos bitcoins, vous proposez une mise à jour des données de la blockchain. Une clé privée est le moyen du protocole de s'assurer que vous êtes le seul à pouvoir autoriser une mise à jour de la blockchain qui dépense votre Bitcoin.

Alors, qu'est-ce que vos clés privées ? Ce ne sont que des nombres incroyablement grands. Voici une clé privée en binaire :

110001011011001011110111100000101000100000010001001111010111011010101110111001111111111110101011101001011101001110100111001110010100110111101000110000111110101111001101001011110011011101000001101101101110001101000110001111010001001001111011010101011001101101010

256 nombres aléatoires 1 et 0. Ce nombre aléatoire est ce qui protège finalement votre Bitcoin. Cela peut ne pas sembler beaucoup, mais son caractère aléatoire garantit la sécurité de votre portefeuille. Il y a presque autant de clés privées Bitcoin possibles qu'il y a d'atomes dans l'univers visible. C'est le nombre de nombres qu'un ordinateur devrait compter pour générer et cataloguer toutes les clés privées potentiellement possibles. Tant que le processus utilisé pour générer les clés est vraiment aléatoire, vos clés seront sécurisées.

Voici à quoi ressemble une clé privée en hexadécimal ( le binaire utilise deux chiffres pour encoder un nombre, 1 et 0, l'hexadécimal utilise 16 chiffres, 0-9 et A-F):

E2D97BC144089EBB5773FFABA5D3A729BD187D79A5E6E836DC68C7A24F6AB36A

Et voici comment une clé privée apparaît dans le format d'importation de portefeuille non compressé (WIF) :

5KYC9aMMSDWGJciYRtwY3mNpeTn91BLagdjzJ4k4RQmdhQvE98G

Le format WIF était la manière dont tout le monde interagissait avec ses clés privées dans les premiers jours de Bitcoin. À cette époque, vous pouviez générer une clé privée à la fois, puis générer la clé publique à partir de cela. Le processus de génération d'une clé publique consiste essentiellement à multiplier de très grands nombres, mais il y a un peu plus que cela. Toutes les clés publiques sont des points x et y sur un graphique qui montre une courbe très, très grande qui se boucle sur elle-même.

Sur la courbe du graphique, dans le cas de Bitcoin Secp256k1, il y a un point appelé le “point générateur.” Ce point générateur peut être considéré comme le “point de base” de la courbe Secp256k1. Il est essentiel au processus de génération de clés et de signature avec celles-ci. Voici le point générateur de la courbe de Bitcoin :

G = 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798

Pour générer la clé publique à partir de votre clé privée, vous prenez la clé privée que vous avez générée et la multipliez par le point générateur. C'est tout. Cela établit maintenant un point sur le graphique avec une relation mathématique à la clé privée que vous avez générée et que vous seul connaissez.

Voici une clé publique non compressée montrant les points x et y :

04C0E410A572C880D1A2106AFE1C6EA2F67830ABCC8BBDF24729F7BF3AFEA06158F0C04D7335D051A92442330A50B8C37CE0EC5AFC4FFEAB41732DA5108261FFED

Il est très courant de “compresser” les clés publiques dans le cas rare où vous interagissez avec elles pour simplement stocker la coordonnée x avec un octet pour indiquer si la coordonnée y est négative ou positive. Cela la raccourcit considérablement :

02C0E410A572C880D1A2106AFE1C6EA2F67830ABCC8BBDF24729F7BF3AFEA06158

Lorsque vous allez signer une transaction avec votre clé privée, cela revient encore une fois à une simple multiplication. En générant un nombre aléatoire ( le nonce ) et en l'utilisant avec votre clé privée pour essentiellement multiplier le hachage de la transaction que vous signez, cela produit la signature ( qui est composée de deux valeurs, r et s ). Cela permet à quelqu'un d'exécuter un algorithme pour vérifier que le message a été signé avec la bonne clé privée sans révéler cette clé. Ce qui garantit que vous êtes le seul à pouvoir autoriser les dépenses de votre Bitcoin est essentiellement la multiplication de très, très grands nombres.

Si vous n'étiez pas très familier avec ces concepts avant de lire ceci, tout cela semble probablement un peu intimidant. Binaire ? Hexadécimaux ? Points de graphique ? Comment sauvegarder un WIF ?

Depuis que des méthodes plus intuitives de gestion de ces données ont été développées, la plupart des utilisateurs ne sont pas familiers avec ces formats compliqués. Vous êtes probablement plus expérimenté avec les mots semences, également connus sous le nom de phrases de semence.

Semences mnémotechniques BIP 39

Les graines mnémotechniques, ou phrases de graine, ont été créées pour résoudre le problème de l'expérience d'interaction avec vos clés privées.

Comme nous en avons discuté plus tôt, les clés privées ne sont finalement qu'une longue chaîne de uns et de zéros qui sont générés de manière aléatoire. Imaginez essayer de faire des copies de cela et de vous assurer que vous ne faites pas d'erreur en le transcrivant :

110001011011001011110111100000101000100000010001001111010111011010101110111001111111111110101011101001011101001110100111001110010100110111101000110000111110101111001101001011110011011101000001101101101110001101000110001111010001001001111011010101011001101101010

Tout ce qu'il faudrait, c'est une seule erreur en copiant un chiffre pour rendre une sauvegarde de vos clés inutile. C'est là que les graines mnémotechniques deviennent utiles. 256 uns et zéros consécutifs ne sont pas une manière conviviale pour les humains d'interagir avec des informations sensibles. Enregistrer ce nombre incorrectement signifie perdre l'accès à votre compte.

camion renouveau fureur âne se souvenir ordinateur portable réforme détail diviser douleur parce que gras

C'est beaucoup plus facile à gérer, n'est-ce pas ? Juste 12 mots. Alors comment cela fonctionne-t-il, passant d'un tas de 1 et de 0 aléatoires à une chaîne de mots qui ont vraiment du sens pour vous ? Un schéma de codage, comme le binaire ou l'hexadécimal !

Chacun de ces 12 mots dans cette phrase mnémotechnique précédente est un nombre binaire dans un schéma d'encodage qui associe des chaînes spécifiques de uns et de zéros à des mots. Si nous revenons à l'exemple précédent de la clé privée WIF, c'était simplement un nombre encodé dans un schéma d'encodage spécifique, dans ce cas base 58, qui utilise tous les chiffres et lettres de l'alphabet sauf 0 et 1, et O et l (c'est sensible à la casse). L'exclusion de ces caractères a été faite spécifiquement pour rendre peu probable les erreurs de transcription en confondant un 1 avec un l ou un 0 avec un O. bech32 et bech32m utilisés par Segwit et Taproot portent cela à un niveau supérieur en utilisant uniquement cet ensemble de caractères (qpzry9x8gf2tvdw0s3jn54khce6mua7l).

Proposition d'Amélioration Bitcoin 39 (BIP 39) a introduit un schéma de codage standardisé où chaque mot dans un dictionnaire spécialement conçu est mappé alphabétiquement à un nombre binaire de 00000000001 à 11111111111. La graine de démonstration d'avant se mappe ainsi :

camion : 11101001001 renouveler : 10110110001 fury: 01011110011 donkey: 01000001001 remember: 10110101110 portable: 01111101000 reform: 10110100010 détail: 00111100010 diviser : 11010010001 douleur : 01100110100 parce que : 00010011110 gras : 01010011011

En binaire, cela ressemble à ceci : 11101001001 10110110001 01011110011 01000001001 10110101110 01111101000 10110100010 00111100010 11010010001 01100110100 00010011110 01010011011

Il y a 2048 mots, chacun associé à une chaîne de 11 chiffres composée de 1 et de 0, spécifiquement pour faciliter l'interaction des gens avec leurs clés privées. Lorsque vous générez un numéro aléatoire pour votre clé privée, votre portefeuille découpe ce numéro en morceaux de nombres binaires de 11 chiffres et les associe au dictionnaire mnémotechnique BIP 39. C'est toujours le même grand nombre, mais maintenant vous pouvez le lire sous forme de mots en anglais. Étant donné que votre cerveau est beaucoup plus habitué à ce format qu'à de longues chaînes de 1 et de 0, cela réduit considérablement les chances que vous écriviez quelque chose de mal et que vous perdiez votre Bitcoin dans le processus.

Vous avez peut-être remarqué que dans l'encodage binaire brut du mot seed ci-dessus, il y a quatre chiffres (1011) par eux-mêmes, et le dernier “mot” ne fait en réalité que 8 chiffres. C'est une somme de contrôle pour garantir qu'une phrase de seed est valide. Lorsque vous générez votre nombre aléatoire, il n'y a pas assez de chiffres pour le mapper exactement à 12 ( ou 24) mots. Le portefeuille encode les chiffres existants qu'il a générés et prend les premiers chiffres du hachage pour les ajouter à la fin de votre nombre aléatoire. Cela vous donne suffisamment de chiffres pour mapper au dernier mot.

Ce dernier mot vous permet de réaliser une vérification de sécurité sur les copies de votre graine. Si vous saisissez incorrectement votre graine mnémotechnique dans un portefeuille, la somme de contrôle ne correspondra pas. Chaque graine de 12 ou 24 mots a plusieurs mots de somme de contrôle potentiellement valides, mais si le dernier mot ne correspond pas à une somme de contrôle d'une graine correcte, votre portefeuille vous avertira qu'elle est invalide. Cela donne aux gens une manière intuitive mais toujours mathématique de s'assurer que leurs sauvegardes sont correctes, contrairement au processus compliqué de transcription et de sauvegarde de numéros binaires bruts.

La sélection des mots spécifiques de la liste est même allée jusqu'à s'assurer qu'aucun des 2048 mots n'a les quatre premières lettres identiques. Cela a été fait pour réduire la probabilité que les gens commettent des erreurs de transcription en confondant des mots similaires et finissent par avoir une sauvegarde incorrecte de leurs clés privées.

La traduction de ces mots en un ensemble de clés publiques/privées est assez simple. Votre graine mnémotechnique est prise et hachée en utilisant SHA512, ce qui génère un hachage de 512 1 et 0 individuels. La moitié de cette sortie est utilisée comme clé privée réelle et l'autre moitié est utilisée comme entrée pour SHA512 avec un numéro d'index et la clé publique ou privée existante pour générer une nouvelle paire de clés. Vous pouvez faire cela autant de fois que vous le souhaitez pour générer de nouvelles clés publiques/privées qui peuvent être récupérées à partir de votre phrase mnémotechnique unique.

Cela vous garantit que vous pouvez gérer vos clés privées de la manière la plus simple et la plus sûre possible, avec les moindres chances de faire une erreur qui vous ferait perdre votre argent. Et tout cela a été fait en utilisant des mathématiques ! J'espère que vous avez maintenant une bonne compréhension de pourquoi les gens disent que Bitcoin est de l'argent “sécurisé par les mathématiques.”

BTC-2.41%
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)