Blockchain Address 101: Que sont les adresses sur les blockchains?

Les adresses blockchain sont un concept important dans les crypto-monnaies et les blockchains.

Dans notre guide, nous expliquons. Quelles sont les adresses, comment elles sont créées et quelles sont les différences entre les différents types d’adresses sur différentes blockchains.

Que sont les adresses sur les blockchains? Adresse de la blockchain 101

Que sont les adresses sur les blockchains? Adresse de la blockchain 101

Dans les premiers jours de Bitcoin, il était possible d’envoyer paiements à une adresse IP comme 104.25.248.32 (qui est blockgeeks.com). Cela a été prévu pour être une méthode pratique pour utiliser les Bitcoins sans avoir à gérer des clés et des adresses publiques peu pratiques. Cependant, après que les développeurs de Bitcoin se sont rendu compte que cette façon d’envoyer des pièces pouvait faire l’objet d’attaques sérieuses de l’homme du milieu, l’option a été désactivée et n’est jamais revenue..

Cette anecdote des débuts de Bitcoin semble avoir principalement des valeurs historiques. Mais cela montre ce qu’est une adresse: ce n’est pas quelque chose de spécial ou de gravé dans la pierre. Ce n’est qu’un espace réservé pour accepter et envoyer des transactions blockchain. Comme une adresse IBAN ou SWIFT.

L’adresse elle-même n’a pas d’importance, ni son format. La seule chose qui compte, c’est que l’adresse remplisse son objectif – permettre des paiements à une entité qui possède une information unique. Habituellement, une clé privée, pour accéder exclusivement aux fonds. L’adresse n’est rien d’autre qu’un identifiant sécurisé.

Cependant, alors que les numéros SWIFT ou IBAN sont attribués par les autorités centrales comme les banques, des adresses blockchain existent. Chaque adresse blockchain possible existait déjà, bien avant qu’un portefeuille ne la trouve. La raison en est que les adresses blockchain sont le résultat d’une opération mathématique.

Commencez votre essai gratuit aujourd’hui

Essai gratuit

La clé publique: là où commence la génération d’adresses Blockchain

Après l’abandon de Pay to IP dans Bitcoin, P2PKH est devenu le nouveau format standard pour les adresses Bitcoin. Vous pourriez le savoir; ça ressemble à ça:

1K31KZXjcochXpRhjH9g5MxFFTHPi2zEXb

Une adresse P2PKH standard a quelque chose comme 34 signes et commence par 1. P2PKH est l’abréviation de «Pay To Public Key Hash». Cela signifie que vous payez à un hachage d’une clé publique. Pour les débutants, cela peut sembler complexe intimidant, alors attendons le processus de construction d’une telle adresse pour apprendre ce que c’est.

Chaque logiciel de portefeuille que vous utilisez peut facilement créer une adresse P2PKH, ou, pour être plus précis: en trouver autant que vous le souhaitez. Ce n’est pas sorcier, mais une combinaison de plusieurs opérations cryptographiques non exceptionnelles.

Tout d’abord, votre portefeuille collecte l’entropie et l’utilise pour générer une clé privée ECDSA. ECDSA est l’algorithme cryptographique au cœur des adresses bitcoin. Il s’agit d’un algorithme de signature asymétrique, ce qui signifie que vous pouvez signer des messages avec la clé PRIVATE et vérifier la signature avec la clé PUBLIC. Avec ECDSA, vous pouvez facilement donner au monde les informations pour prouver que vous – et vous seul – êtes l’auteur d’un message en le signant. C’est très similaire à signer physiquement une lettre.

Ainsi, après avoir créé la clé privée avec entropie, le portefeuille en dérive la clé publique. Il le fait en choisissant des coordonnées aléatoires sur une certaine courbe elliptique et en faisant quelques calculs. Les détails ne sont pas importants. Ce qui compte, c’est que cette clé publique est tout ce dont vous avez besoin pour envoyer et collecter des paiements. Au début, la clé publique était utilisée pour recevoir des fonds.

Mais très vite, le concept a été étendu. La clé publique est non seulement très longue et peu maniable – environ 65 caractères – mais peut également être sujette à des erreurs de frappe. De plus, l’exposer peut également vous exposer à des risques en cas de panne de l’ECDSA, par exemple par l’informatique quantique. C’est pourquoi les développeurs Bitcoin ont créé une méthode pour dériver une adresse à partir de la clé publique.

Création de l’adresse Bitcoin Blockchain

Pour créer l’adresse, votre portefeuille pousse la clé publique à travers une série d’algorithmes cryptographiques. En gros, voici ce qui se passe:

Le logiciel hache la clé publique avec SHA 256 et le résultat avec RIPEMD-160. Ensuite, il ajoute les octets 00 comme préfixe au début de la chaîne résultante – c’est la raison pour laquelle les adresses P2PKH commencent par un «1» – et quatre octets de somme de contrôle à la fin. Les quatre octets de somme de contrôle sont générés en hachant le résultat deux fois avec SHA 256 et en prenant les quatre premiers octets. Ensuite, votre portefeuille convertit le résultat en une chaîne base58. Et voilá: nous avons l’adresse Bitcoin que nous connaissons et que nous aimons.

Vous n’avez pas besoin de comprendre les détails cryptographiques. Ce qui est important, c’est que l’adresse représente une clé publique de manière plus lisible et ajoute une somme de contrôle qui vous empêche d’être victime d’une erreur de frappe. Chaque fois que vous collez une adresse dans votre portefeuille Bitcoin, il vérifie le préfixe et calcule la somme de contrôle. S’il ne correspond pas, il rejette l’adresse. Cela rend impossible l’envoi de fonds à une mauvaise adresse en raison d’une erreur de frappe.

Si vous avez la clé privée pour une adresse, vous seul pouvez signer une transaction avec un jeton de crypto-monnaie attribué à cette adresse – tandis que toute personne connaissant votre adresse peut vérifier la validité de votre signature. Ce processus simple – signer une transaction, vérifier la signature – est plus ou moins tout ce qu’une transaction de crypto-monnaie fait.

Mais le bitcoin a des adresses plus avancées: les soi-disant Adresses P2SH. Cette abréviation signifie «Pay to Script Hash». Cela signifie que vous ne payez pas au hachage d’une clé publique, mais au hachage d’un script. Pour signer une transaction, vous n’êtes pas obligé de fournir la signature correspondant à une certaine clé publique, mais un script correspondant à un certain hachage. Ce type d’adresses permet des méthodes plus flexibles pour vous vérifier, par exemple, celles qui sont utilisées dans les adresses multisig, dans lesquelles deux parties fournissent des informations qui résument le script nécessaire. Ces adresses utilisent le préfixe 05, raison pour laquelle elles commencent par un «3».

Cependant, il a besoin d’un autre guide pour décrire complètement la magie des adresses P2SH. Ici, nous nous concentrons sur les adresses elles-mêmes et laissons Bitcoin voir comment les autres crypto-monnaies créent des adresses.

Que sont les adresses sur les blockchains? Adresse de la blockchain 101

Adresses dans d’autres crypto-monnaies

De nombreuses crypto-monnaies utilisent presque le même format d’adresse que le bitcoin. Par exemple, Litecoin, Dash et Dogecoin déploient les mêmes procédures cryptographiques pour générer une adresse: ECDSA, SHA 256 et RIPEMD 160.

La seule différence est le préfixe du hachage RIPEMD-160. Alors que le préfixe 00 de Bitcoin donne des adresses commençant par un «1», les Altcoins comme Dash, Litecoin ou Dogecoin utilisent d’autres préfixes afin que les adresses commencent par «L» (Litecoin), «X» (Dash) ou «D» (Dogecoin).

Comme ces pièces utilisent le même algorithme cryptographique, vous pouvez utiliser les mêmes clés privées et publiques pour enregistrer des pièces dans toutes ces crypto-monnaies. En partie, vous pouvez même les stocker aux mêmes adresses. Par exemple, Litecoin et bitcoin utilisent le même préfixe pour les adresses P2SH – 05 – afin qu’il soit possible de stocker les deux Bitcoin en tant que Litecoin à la même adresse.

Cependant, d’autres crypto-monnaies utilisent d’autres schémas pour générer l’adresse. Par exemple, Monero est basé sur le Algorithme Cryptonote. Cet algorithme déploie un autre algorithme de signature cryptographique pour générer la clé publique, EdDSA. Les devises Cryptonote ont des signatures en anneau, qui offrent plus de confidentialité, car vous ne pouvez pas déterminer quelle clé une transaction a été signée. Pour cette raison, les adresses Cryptonote doivent contenir deux clés publiques, une vue et une clé de dépenses.

Comme avec les adresses bitcoin, Cryptonote ajoute un octet de préfixe et hache le résultat. Cependant, il utilise Keccak-256 au lieu du double SHA 256 pour générer quatre octets de somme de contrôle, qui sont ajoutés à la fin de la chaîne. Après avoir converti le résultat en base58, vous obtenez l’adresse finale, qui est plus longue qu’en bitcoin. Cela ressemble à ceci:

43ZZViHQKd42X7cajEtc6NUoxG4AvyMu3ZqpGTBP85uhEfYoPVAuGHxJcomMHEPp3NWiKJRUMnuAJ7dfBrPTcfjYMPJzz2a

Cette variété d’adresses démontre, encore une fois, que les adresses ne sont qu’un moyen d’accepter un paiement qui est attribué à une certaine clé publique. Pour cette fonction de base, peu importe ce que vous faites avec la clé publique, quel algorithme cryptographique vous appliquez pour la convertir en adresse et à quoi ressemble l’adresse.

La procédure de création d’une adresse, cependant, peut avoir une implication importante sur la sécurité, la confidentialité et la convivialité. Sans l’intégration de la somme de contrôle, l’adresse bitcoin pourrait être mal saisie, et sans l’intégration de la clé de vue dans l’adresse, Monero ne serait pas aussi privé qu’il l’est. Un regard sur les adresses d’Ethereum établit davantage cette idée.

Adresses Ethereum

Comme beaucoup de choses dans la crypto-monnaie, le sujet des adresses commence à devenir vraiment intriguant en ce qui concerne Ethereum. De nombreuses personnes qui ont commencé avec Bitcoin, puis qui ont essayé Ethereum sont déconcertées par le format d’adresse, qui est une longue chaîne hexadécimale commençant par 0x, par exemple, “0x0eb81892540747ec60f1389ec734a2c0e5f9f735”.

Techniquement, la génération d’adresses d’Ethereum est similaire à celle de Bitcoin, mais ne prend pas tout le chemin. Vous commencez avec une clé privée et utilisez ECDSA pour générer une clé publique de 64 octets. Comme nous le savons de Bitcoin. Ensuite, vous hachez cette clé avec Keccak-256. Le résultat est une chaîne de 32 octets. Les 12 premiers de ces octets sont supprimés, les 20 octets restants sont une adresse de 40 caractères, à laquelle généralement le préfixe 0x est ajouté. C’est tout. Autre que Bitcoin ou Cryptonote, Ethereum ne transforme pas l’adresse en base58, elle est donc en hexadécimal (0-F).

Une autre différence entre ethereum et les autres crypto-monnaies est que les adresses Ethereum n’ont pas de somme de contrôle. Toute chaîne hexadécimale de 40 caractères peut être une adresse ethereum, c’est la raison pour laquelle les développeurs ethereum dissuadent fortement les utilisateurs de taper manuellement une telle adresse, car une seule erreur de frappe peut entraîner une perte de fonds..

Comparées aux adresses d’autres crypto-monnaies, les adresses ethereum semblent inachevées, grossières et imprudemment dangereuses pour l’utilisateur. Pour une crypto-monnaie qui a la deuxième plus grande valeur marchande et qui est présentée comme la crypto-monnaie la plus innovante du tout, cela semble être étonnamment bas..

La raison initiale en était que, lorsque la première version d’Ethereum, Frontier, a été publiée, personne ne s’en souciait vraiment. Ce que nous utilisons aujourd’hui comme adresses n’a jamais été destiné à être utilisé en permanence comme tel. Dès le début, les développeurs d’Ethereum visent à créer un registre de noms basé sur un contrat intelligent, avec lesquels les paiements peuvent être facilement envoyés à des noms ou des domaines, etc. À long terme, avec ethereum, la crypto-monnaie peut fermer le cercle et revenir au paiement facile à utiliser que Satoshi avait prévu lors de la mise en œuvre de Pay to IP.

Cependant, comme Jeff Coleman souligne, il y a une autre raison, peut-être plus importante, pour laquelle Ethereum n’utilise pas d’adresses spécialement conçues comme Bitcoin: les développeurs pensent que cela peut être mieux fait. N’oubliez pas qu’une adresse n’est qu’une méthode cryptographique pour représenter les informations nécessaires pour attribuer des fonds à une clé privée. Cela peut être fait avec des contrats qui attribuent ces informations à des noms, mais cela peut également être fait avec des formats d’adresse plus sophistiqués que ceux utilisés par Bitcoin..

Le format préféré des développeurs Ethereum est actuellement le ICAP format, qui ressemble à ceci:

E7338O073KYGTWWZN0F2WZ0R8PX5ZPPZS

Comme les adresses bitcoin, il utilise des caractères base58 et comprend une somme de contrôle.

«Mais ce n’est pas tout, les amis! D’une part, l’ICAP est un Numéro de compte bancaire international (ou IBAN) », explique Coleman,« Cela signifie que le logiciel bancaire existant peut le comprendre et interagir avec lui. » IBAN est l’identifiant international des comptes clients dans le secteur bancaire. Il se compose de 32 caractères alphanumériques insensibles à la casse, contenant un code de pays, une somme de contrôle, le numéro de banque ainsi que le numéro de compte. ICAP utilise un XE comme identifiant de pays et une chaîne de 16 à 30 caractères alphanumériques qui comprend des informations telles que le compte, l’actif, la somme de contrôle ou l’institution.

Colemen poursuit: «D’autre part, l’ICAP n’a pas à utiliser d’adresses hexadécimales. Au lieu de cela, une fois que nous avons tous basculé vers l’utilisation des contrats de nom de domaine, il peut simplement utiliser votre chaîne lisible par l’homme pour aboutir à quelque chose comme «XE81ETHXREGJEFFCOLEMAN», qui correspond toujours aux formats de la banque, mais il est peut-être possible de s’en souvenir! ». À long terme, les adresses Ethereum pourraient devenir mémorables et compatibles avec le système bancaire existant.

La prise en charge des adresses ICAP augmente actuellement. Les clients habituels permettent déjà la génération d’adresses ICAP, mais utilisent toujours l’adresse héritée comme standard. Pour rendre cela plus sécurisé, Vitalik Buterin a développé une petite amélioration pour ajouter des sommes de contrôle sous forme de capitalisation. Avec Adresses générées par EIP55, les majuscules servent de somme de contrôle. Donc, si une adresse a au moins une lettre majuscule, elle sera invalide, si vous faites une erreur de frappe.

STEEM – où votre nom d’utilisateur est votre adresse

La crypto-monnaie STEEM déjà implémenté un système similaire à ce qu’Ethereum vise à réaliser. Dans STEEM, votre nom d’utilisateur est votre adresse de portefeuille.

STEEM est une crypto-monnaie basée sur le concept BitShares. Il est lié à la plateforme sociale Steemit, où les utilisateurs peuvent «extraire» des pièces de monnaie Steem en collectant des votes positifs pour les publications. Cette «preuve subjective du travail» est une combinaison intelligente de preuve d’enjeu et de preuve de travail. Le système dans son ensemble est relativement complexe, car il contient des «délégués», qui sont élus pour faire la preuve, et trois formes de jeton, STEEM, STEEM power et STEEM Dollar; il est également difficile d’évaluer si STEEM est aussi décentralisé que Bitcoin et Ethereum, car une grande partie de celui-ci est basée sur la plate-forme hébergée de manière privée Steemit, qui est le principal client de Steem. Il semble n’y avoir aucun autre portefeuille disponible.

Cependant, le concept d’adresse est intrigant. De manière plus centralisée, STEEM a mis en œuvre ce qu’Ethereum vise à construire avec des bureaux d’enregistrement de noms de contrats intelligents: les utilisateurs obtiennent une clé privée, qu’il peut utiliser pour signer sa transaction, comme avec toute autre crypto-monnaie. Les adresses, cependant, ne sont pas une dérivation cryptographique de la clé privée, mais juste les noms d’utilisateur sur Steemit. Ces noms d’utilisateur sont probablement connectés à la clé publique dans une base de données publique sur Steemit, de sorte qu’au moins, il soit possible pour chaque utilisateur de valider une transaction. Mais encore, la partie la plus importante de la validation – la connexion entre la clé publique et l’adresse – n’est pas basée sur les mathématiques, mais sur la confiance envers la plate-forme Steemit.

Le schéma d’adresse basé sur le nom d’utilisateur de STEEM est intéressant car il offre une convivialité idéale. Mais sa nature centralisée et fiable la rend inadéquate pour la plupart des cas d’utilisation de la blockchain, qui visent à décentraliser la vérification et à remplacer la confiance par les mathématiques. Au moins, le système manque de transparence.

Un bureau d’enregistrement de noms basé sur un contrat intelligent, comme Ethereum, vise à s’appuyer sur sa blockchain, mais pourrait combiner le meilleur des deux mondes: la nature décentralisée et sans confiance du bitcoin – et la facilité d’utilisation des adresses basées sur le nom des STEEM..

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me