La clé publique principale est une partie fondamentale des processus dans les portefeuilles déterministes ou les portefeuilles HD. La génération des clés publiques de ce type de portefeuille en dépend et pour cela ils utilisent un système complexe qui garantit la sécurité à tout moment. Par conséquent, nous expliquons ici tout ce que vous devez savoir sur la clé publique principale.
EEt le portefeuilles déterministes ou HDune Clé publique principale est-ce clé publique principal dérivé de Clé privée principale. Pour cela, vous utilisez un processus mathématique normal de multiplication de courbes elliptiques. À partir de la clé publique principale, un nombre infini de clés publiques (Xpub) seront générées qui contrôlent les adresses d'un portefeuille, mais n'ont pas accès aux clés privées de ces adresses.
La Clé publique principale il a la propriété de pouvoir générer plusieurs clés publiques. Ceci sans avoir à accéder aux clés privées. Par conséquent, en cas d'exposition de l'une des clés publiques ou même du Clé publique principale (MPK) lui-même, il n'y aura aucun risque de perte ou de vol de fonds, bien que la confidentialité. En effet, comme les clés publiques n'ont pas accès aux clés privées des adresses et que ces clés ne peuvent pas non plus être générées, elles afficheront uniquement le montant disponible qui se trouve dans le portefeuille, pouvant voir leur historique dans la blockchain. Mais ils ne donneront pas accès à l'utilisation ou ne dépenseront pas les fonds qui y sont disponibles.
De la même manière qu'avec la clé privée principale, les portefeuilles HD doivent être compris comme un arbre. De nouvelles branches peuvent émerger de chaque branche. Eh bien, chaque nœud L'une de ces branches vous permet de générer une clé privée principale, mais aussi une clé publique principale. La clé publique principale vous permettra de générer uniquement les clés publiques de toutes les branches «enfants» générées à partir de ce nœud. Mais vous ne pourrez pas connaître les adresses qui pourraient être générées à partir des autres nœuds parallèles ou précédents.
La clé publique principale du nœud 0 a le contrôle de connaître toutes les adresses qui seront générées. Contrairement à la clé privée principale, si vous révélez cette clé, vous ne mettrez pas vos fonds en danger, mais vous mettrez votre vie privée en danger. En effet, avec la clé publique principale, vous pouvez connaître toutes les adresses publiques de votre portefeuille. Cependant, cette fonctionnalité a de nombreuses bonnes utilisations dont nous vous parlerons dans cet article.
Clé publique principale (MPK) et portefeuilles HD
Les portefeuilles HD de BIP 32 ils ont un structure hiérarchique et déterministe. Cette cela leur permet une plus grande organisation comme s'il s'agissait d'un arbre descendant. Cette structure permet aux bourses d'utiliser une branche de l'arbre pour la réception des fonds et des transactions, et une autre branche pour la gestion desdits fonds. Cela permet aux deux d'être liés mais en même temps séparés l'un de l'autre. Ainsi, avec un seul, vous pouvez voir les fonds disponibles sans y avoir accès. Et avec l'autre, vous pouvez signer et dépenser ces fonds. Cette séparation complète des clés principales garantit également une sécurité et une fiabilité accrues du portefeuille.
La MClé publique aster (MPK) permet la génération d'un nombre infini de clés publiques (Xpub) et d'adresses qui lui sont associées. Par conséquent, il n'est pas nécessaire de faire une copie de sauvegarde des adresses chaque fois qu'une nouvelle est générée. Au contraire, à partir de la graine, à laquelle les clés principales (publiques et privées) sont liées, le portefeuille peut être récupéré en totalité avec toutes les clés générées (Xpub et Xpriv), les adresses et les fonds disponibles.
De même, toutes les clés et adresses publiques dérivées du Clé publique principale permettent, par eux-mêmes, de visualiser les montants disponibles. Mais ils empêchent l'accès à ces fonds car ils ne contrôlent pas les clés privées associées aux adresses qui contiennent les fonds.
Cette fonctionnalité est également particulièrement utile dans les cas où vous souhaitez configurer un portefeuille de stockage frigorifique, par exemple, où vous n'avez qu'à observer le solde disponible qu'il contient. Dans ces portefeuilles, un serveur peut être configuré pour gérer uniquement les Clé publique principale. Avec lequel vous pouvez créer n'importe quel nombre d'adresses publiques pour recevoir des fonds, mais ne permettra à aucun attaquant d'utiliser ces fonds.
Génération de clés publiques dérivées (Xpub)
Les portefeuilles HD utilisent une fonction de hachage qui leur permet de dériver initialement les clés publiques secondaires (enfants) de la clé publique principale (parent). Pour lequel il utilise le Clé publique principale, la graine du portefeuille, le code de la chaîne généré au moyen de l'algorithme HMAC-SHA512 et un numéro d'index de 32 bits.
Via le code de la chaîne, généré par le hachage de l'algorithme HMAC-SHA512, des données aléatoires sont ajoutées dans le processus de dérivation de clé publique. Ceci sans permettre à l'index de dériver vers d'autres clés publiques. Cela empêche une clé publique dérivée de pouvoir localiser ou trouver une autre clé publique dérivée (sœur). Et que cela ne peut être fait que si le code de chaîne est disponible.
Ensuite, via la fonction de hachage qui combine initialement à la fois la clé publique principale, le code de chaîne et le numéro d'index, les clés dérivées sont générées sous la forme d'un hachage de 512 bits. Qui est ensuite divisé en deux moitiés: la moitié droite pour devenir le code de chaîne de la clé dérivée (fille). Et la moitié gauche à ajouter avec le numéro d'index à la clé privée (parent) qui créera la clé privée (enfant). Ce processus est répété en séquence pour créer un nombre infini de clés publiques, où les clés publiques enfants peuvent devenir parents et générer leurs propres clés enfants. Il peut donc y avoir un nombre infini de générations.
Dans ce schéma, la fonction de hachage unidirectionnelle ne permet pas d'utiliser des clés publiques dérivées pour rechercher d'autres clés publiques sœurs. Ne pas localiser la clé publique principale ou principale. De même, ce schéma permet de dériver les clés publiques enfants soit à partir de la clé privée fille, soit directement à partir d'une clé publique parent.
Importance de la génération de clés publiques dérivées
La dérivation de clés publiques enfants à partir des clés publiques parentes permet de créer les branches de clé publique du portefeuille sans compromettre les fonds disponibles. Celles-ci ne concernent plus à aucun moment les clés privées.
Ainsi, la génération de portefeuilles d'observation est possible, par exemple pour des serveurs non sécurisés, où seuls les fonds disponibles peuvent être vus mais sans possibilité de dépenser les fonds stockés dans ces adresses. Cette fonctionnalité peut être très utile pour les serveurs destinés au commerce électronique, où l'exposition des clés privées au serveur peut être à haut risque.
Il est également très utile dans les cas où les utilisateurs souhaitent simplement disposer d'une chambre froide ou d'un portefeuille hors ligne. Cela leur permet de garder leurs fonds en sécurité et sans risque. Ce qui gardera les clés privées hors ligne dans le portefeuille, mais cela permettra la transmission en ligne des clés publiques sans aucun risque.
Génération de clés publiques renforcées
La possibilité de dériver des clés publiques enfants sans fin à partir d'une clé publique parent est très utile. Cependant, cela peut représenter un risque de sécurité potentiel. Parce que la clé publique qui dérive des autres a accès au code de la chaîne, et si une clé privée fille doit être filtrée ou connue, alors le reste des clés privées filles pourrait être déduit, compromettant la sécurité des fonds.
Connaître une clé privée enfant avec le code de chaîne d'une clé publique parent peut révéler toutes les clés privées enfants et pourrait même être utilisé pour déduire une clé privée parent. Donc, pour briser cette faille de sécurité, une fonction de contournement appelée bypass renforcé. Qui utilise la clé privée parente, au lieu de la clé publique parente, pour dériver le code de chaîne pour chaque clé enfant. Rompre la relation entre la clé publique parent et le code de la chaîne enfant. Cela génère une sorte de pare-feu qui ne permet pas de détecter une séquence parent-enfant dans les clés publiques dérivées.
Que savez-vous, cryptonuta?
Les clés publiques principales sont-elles un moyen plus efficace et sécurisé de protéger nos portefeuilles de crypto-monnaie?VRAI!
L'objectif de la création de la clé publique principale était de fournir un moyen de créer des clés publiques qui assureraient mieux à la fois la confidentialité des utilisateurs et la sécurité des portefeuilles, ce que cet outil a parfaitement réalisé.
Cas d'utilisation de la clé publique principale
Test de solvabilité
Imaginez que vous êtes une entreprise, voire un gouvernement. Un portefeuille HD serait parfait pour simplifier la gestion de vos fonds. En fait, s'il s'agissait également d'une multi-signature, cela ajouterait sécurité et contrôle. Mais comment montrer que vous disposez de certains fonds sans que les gens puissent les dépenser et sans avoir à envoyer des milliers d'adresses ou que faire si vous voulez que les gens puissent voir comment l'argent est utilisé en temps réel?
Pour ces scénarios et d'autres, une clé publique principale est la solution parfaite. Avec cela, vous donnez une transparence absolue, car il n'y a aucun problème à assurer la transparence, car c'est ce qui est recherché, alors que personne n'a la capacité d'utiliser les fonds. Vous pouvez même voir les adresses qui n'ont pas encore été générées / utilisées, ainsi que le solde et tous les mouvements.
En raison également des ramifications d'un portefeuille HD, vous pouvez générer plusieurs clés principales publiques afin de les séparer par département.
Pouvez-vous imaginer qu'un gouvernement était assez transparent pour fonctionner de cette façon?
Passerelles de paiement
Un autre cas d'utilisation est de pouvoir recevoir des paiements via des outils dans le cloud. Il existe des services qui vous permettent de créer des solutions de base de collecte Bitcoin.
Dans ce type de services, l'utilisateur peut ajouter sa propre clé publique principale afin que, lorsque le service doit afficher une adresse, il puisse la générer, mais c'est vous qui avez la clé privée à tout moment qui permettra alors l'utilisation de ces crypto-monnaies reçues.