Concept de portefeuille logiciel
Un portefeuille logiciel utilise un nombre aléatoire pour générer une clé privée maîtresse.
Ensuite, un algorithme déterministe et irréversible génère un nombre arbitraire de sous-clés privées basées sur la clé privée maîtresse.
Pourquoi avons-nous besoin d'un algorithme "déterministe et irréversible" ? Parce que "déterministe" garantit que toutes les sous-clés privées peuvent être générées à partir d'une clé privée maîtresse, tandis qu'"irréversible" garantit que la clé privée maîtresse ne peut pas être reconstruite à partir d'une sous-clé privée.
La raison pour laquelle on l'appelle portefeuille déterministe hiérarchique est que la structure de dérivation d'une clé privée est une structure arborescente, où une clé parente peut être dérivée d'une série de clés enfants, et chaque clé enfant peut être dérivée d'une série de clés petites-filles, et ainsi de suite, à l'infini.
Lorsque nous créons pour la première fois un portefeuille HD ou sauvegardons un portefeuille, un mot d'aide est généré. Le mot d'aide est une séquence de mots anglais, et cette séquence de mots crée la graine (seed), qui à son tour crée toutes les clés privées. La séquence de mots est également la sauvegarde du portefeuille, qui peut être restaurée. Et la graine correspond au nombre aléatoire de tous les portefeuilles déterministes.
L'avantage des portefeuilles HD est qu'une seule clé publique maîtresse est nécessaire pour générer un nombre quelconque de sous-clés publiques. En d'autres termes, de nouvelles adresses (publiques) peuvent être générées à partir de la clé publique maîtresse sans l'intervention de la clé privée (maîtresse et sous-clés privées), et ces adresses peuvent en fait être contrôlées par la clé privée maîtresse.
Il y a des avantages et des inconvénients ; lorsque nous exposons la clé d'aide, cela équivaut également à abandonner toutes les clés privées, et la sécurité de vos actifs numériques est nulle.
Pourquoi avez-vous besoin d'autant de clés privées ?
La raison pour laquelle un utilisateur a besoin d'autant de clés privées est illustrée par le mécanisme de rendu de la monnaie dans une transaction Bitcoin.
Une transaction Bitcoin est une structure de données contenant une valeur d'entrée et une valeur de sortie. Cette structure de données intègre des informations sur le code qui déplace un avoir de son point d'origine (la valeur d'entrée) à l'adresse de destination (la valeur de sortie).
En ce qui concerne les entrées et sorties de transaction Bitcoin, il est important de comprendre le terme UTXO (Unspent Transaction Output - Sortie de transaction non dépensée), qui est l'unité de base d'une transaction Bitcoin et est une sortie de transaction inutilisée. Un seul bitcoin utilisé est réparti sur des centaines de transactions et des centaines de blocs sous forme d'UTXO. En réalité, il n'y a pas d'endroit pour stocker l'adresse ou le solde d'un USD, seulement un UTXO décentralisé qui est verrouillé par le propriétaire.
Un UTXO peut avoir n'importe quelle valeur, mais dès qu'il est créé, il est aussi indivisible qu'une pièce qui ne peut pas être coupée en deux. Si un UTXO est plus grand que la demande pour une transaction, il sera quand même consommé dans son intégralité, mais il sera créé sous forme de fraction de la transaction.
Voici un exemple de ce que cela signifie. Si vous avez un UTXO de 20 roupies et que vous souhaitez payer 1 roupie, votre transaction doit consommer l'intégralité de l'UTXO de 20 roupies et créer deux sorties : une qui paie 1 roupie au destinataire, et une autre qui renvoie 19 roupies en monnaie à votre portefeuille. Dans ce cas, la plupart des transactions en taux de change généreront une monnaie.
La question se pose de savoir si la monnaie doit être retournée à l'adresse d'origine ou à une nouvelle adresse. Lorsque Satoshi Nakamoto a conçu Bitcoin, il a utilisé un mécanisme de retour zéro qui crée une nouvelle adresse pour chaque transaction. L'avantage de cette conception est de protéger la vie privée de l'utilisateur de la transaction et d'éviter certains risques de sécurité.
Dans la vie réelle, c'est comme ouvrir plusieurs comptes bancaires dans différentes banques avec plusieurs noms et cartes d'identité. Même si quelqu'un connaît le flux d'argent sur chaque compte, il ne peut pas remonter le flux d'argent jusqu'au véritable propriétaire de la monnaie numérique, c'est ce qu'on appelle l'anonymat du Bitcoin.
C'est pourquoi vous devez savoir pourquoi un utilisateur de portefeuille a besoin d'autant de clés privées, car les clés publiques et privées apparaissent toujours par paires, chaque transaction peut générer une adresse de rendu de monnaie, et le stockage et la sauvegarde de la clé privée correspondant à ces adresses sont devenus un problème technique des transactions numériques. Le portefeuille HD, par une clé publique, peut générer n'importe quel nombre de sous-clés publiques, ce qui résout grandement la difficulté d'utilisation des portefeuilles numériques.
