L'une des fonctionnalités les plus basiques de Bitcoin (et également la plus utile) est la possibilité de signer et de vérifier un message à l'aide des clés publiques et privées des adresses Bitcoin, ce que nous vous apprendrons à utiliser dans le prochain article.
UL'une des fonctions les plus intéressantes de Bitcoin, et peut-être moins connue de ceux qui débutent dans le monde de la cryptographie, est sa capacité à signer un message avec votre adresse bitcoin, et même crypter et vérifier en toute sécurité l'authenticité des messages. Un processus possible grâce au fait que Bitcoin utilise cryptographie asymétrique.
Par exemple, il est possible pour une personne de signer un message avec son adresse bitcoin, pour montrer au monde que le créateur d'un certain texte est la personne qui possède le Clé privée d'une adresse Bitcoin spécifique. Et ce n'est pas quelque chose d'unique au Bitcoin, de nombreuses autres crypto-monnaies ont cette capacité, car leurs fondamentaux cryptographiques clé publique / private sont les mêmes. Le tout sans exposer d'informations sensibles.
Mais comment pouvons-nous faire cela à partir de cette fonction? Eh bien, vous découvrirez cela dans cet article intéressant, où nous vous montrerons comment effectuer cette procédure.
Utilitaire de signature de messages en utilisant votre adresse Bitcoin
Maintenant bien Quelle est l'utilité réelle de signer des messages en utilisant votre adresse Bitcoin? Comme nous l'avons évoqué au début, cette procédure vous permet de rendre publiques certaines informations qui peuvent être vérifiées par n'importe qui sans problèmes majeurs et en toute sécurité.
Il existe une grande variété de cas d'utilisation où cette fonctionnalité peut être utile. Voici quelques-uns de ces cas d'utilisation:
- Vérification de l'origine des fonds. Par exemple, si nous avons décidé de faire un achat en utilisant des bitcoins à partir d'une adresse, mais qu'ils nous demandent de vérifier que cette adresse et ces fonds sont les nôtres, la signature d'un message avec cette adresse résout le problème.
- Être en mesure d'effectuer des paiements à une adresse spécifique en toute sécurité. Par exemple, ils nous envoient un message, et nous devons savoir que le message n'a pas été intercepté et modifié (ex: changement d'adresse pour le paiement). Pour cela, le texte intégral sera signé (où apparaît également l'adresse à payer) et nous ajouterons la signature numérique. Ainsi, le destinataire pourrait prendre le message, l'adresse et la signature et vérifier que tout est correct.
- Comme préalable à la configuration de porte-monnaie multi-sig ou multi-signature. Si un groupe de personnes a décidé de créer un portefeuille multisig, une étape préalable pourrait être de vérifier que nous avons bien le contrôle de l'adresse qui nous correspond et pour cela nous pouvons signer un message en utilisant cette adresse.
- Être en mesure de prouver que vous êtes le propriétaire d'une adresse. C'est quelque chose qui a été demandé Craig Wright, parce qu'il crie aux 4 vents qu'il est Satoshi Nakamoto, mais il n'est pas en mesure de démontrer qu'il a le contrôle sur les directions attribuées à Satoshi Nakamoto. La simple signature d'un message avec l'une des adresses pourrait le prouver. Une raison de plus pour laquelle il est connu comme un escroc.
À ce stade, il est clair que c'est une fonction assez utile et qu'elle peut être adaptée aux besoins de celui qui va l'utiliser et, avec un peu de créativité, trouver des scénarios nouveaux et révolutionnaires.
Outils pour signer et vérifier les messages à l'aide de votre adresse Bitcoin
Maintenant bien De quoi avons-nous besoin pour pouvoir utiliser cette fonction? Eh bien, la vérité est que tout portefeuille Bitcoin avec la fonction "Signer et vérifier les messages" vous permet d'utiliser cette fonction. Parmi les portefeuilles avec cette capacité, on peut citer:
- Bitcoin Core, le logiciel officiel Bitcoin vous permet d'utiliser parfaitement cette fonction.
- Portefeuille Electrum, est un autre portefeuille célèbre qui vous permet d'utiliser cette fonction sans complications majeures.
- Portefeuille Trezorcette portefeuille matériel il a également pour fonction de signer et de vérifier les messages dans son interface.
- Outils en ligne Outil de signature Bitcoin, il vous permet parfaitement de faire celui de cette fonction.
- Bibliothèques de code open source, telles que bitcoinj, pour créer vos propres programmes et idées.
Signature et vérification des informations à l'aide de Bitcoin Core
Pour savoir comment gérer cette fonction, nous avons choisi d'utiliser comme exemple Bitcoin Core, le logiciel officiel Bitcoin. La raison en est qu'il s'agit du portefeuille Bitcoin le plus complet et le plus sécurisé qui existe actuellement, et l'utilisation de cette option avec ce portefeuille est assez simple.
La première chose à faire est de télécharger et d'installer le portefeuille Bitcoin Core sur votre ordinateur. Pour ce faire, nous vous recommandons d'aller sur le site officiel et de télécharger la version de Bitcoin Core pour votre système d'exploitation. Une fois l'installation terminée, nous pouvons commencer à utiliser les options Vérifier et signer les messages.
Signez un message à l'aide de Bitcoin Core
Pour signer un message en utilisant Bitcoin Core, la première chose à faire est d'exécuter le programme principal, ce qui vous laissera avec une interface comme celle-ci.
À ce stade, avant de commencer, la première chose à faire est de faire une légère configuration du portefeuille. Ceci est nécessaire car pour le moment, la signature du message est uniquement prise en charge en utilisant l'adresse héritée (les adresses commençant par "1"), en attendant l'activation du BIP-322 pour activer la signature des messages en utilisant toutes les adresses prises en charge par Bitcoin.
En ce sens, la première chose à faire est d'aller dans le menu ‘Paramètres’ et cliquez sur "Options".
Une fois sur place, vous devez cliquer sur "Ouvrir le fichier de configuration" et, une fois le fichier ouvert, vous devez inclure la ligne suivante:
addresstype = hérité
Enregistrez la configuration et redémarrez le programme pour que les modifications prennent effet. Ce changement ordonne à Bitcoin Core d'utiliser par défaut les adresses héritées pour générer nos adresses, afin que nous puissions utiliser la signature de message à l'aide de Bitcoin Core sans problème.
Maintenant, après avoir apporté ces modifications et redémarré Bitcoin Core, la prochaine chose sera de générer une nouvelle adresse pour être notre base de signature de message. Cette adresse est ce qui vous permettra d'utiliser la fonction de signature d'un message. Pour générer cette adresse, vous devez vous rendre dans l'option "Recevoir" et cliquez sur le bouton "Créer une nouvelle adresse pour la réception".
AVERTISSEMENT!
Soyez très prudent lorsque vous modifiez les valeurs dans le fichier de configuration Bitcoin Core. Dans ce cas, notre recommandation est valide et reconnue par la communauté Bitcoin et les développeurs, mais il peut y avoir des cas où des personnes malveillantes peuvent vous demander d'accéder à votre portefeuille sans vous en rendre compte. Soyez toujours prudent, recherchez ce que vous faites avant de le faire.
Notre adresse à utiliser pour signer le message est donc 18FgxNdGSemUZNybpdrgdr1rbdRFbuAwL9
Maintenant, pour signer un message, la première chose à faire est d'aller dans le menu «Déposer" et sélectionnez "message de signe", donc la nouvelle fenêtre suivante sera affichée devant vous.
À ce stade, vous devez prendre l'adresse déjà générée et la placer dans le champ où l'adresse est demandée. Une fois cela fait, vous devez écrire le message à signer, dans notre cas le message est:
Il s'agit d'une preuve de signature de message utilisant une adresse Bitcoin, pour Bit2Me Academy.
Après ces deux points, vous devriez avoir quelque chose comme ceci:
Pour terminer le processus de signature, il vous suffit de cliquer sur le bouton "message de signe", le résultat s'affiche comme suit.
Le résultat est une signature numérique qui est la suivante:
IJQ9jOGl5ZdjmsUNDYmAwUlFqfjp/FfAi5dzdgiQTfjheDYmBxfBq40URLPOoggonqRYtGydTdwmiRn8ZElcSjc=
Comme vous pouvez le voir, le processus est assez simple et ne cache pas plus de difficulté que de faire correctement les quelques étapes.
Vérifier un message à l'aide de Bitcoin Core
Pour vérifier un message à l'aide de Bitcoin Core, le processus est assez similaire. Tout d'abord, vous devez aller dans le menu "Archiver" et sélectionnez "Vérifier le message", avec laquelle la fenêtre suivante apparaîtra.
À ce stade, pour effectuer la vérification, vous devez copier l'adresse Bitcoin à laquelle le message est attribué.Dans ce cas, nous utiliserons l'adresse de l'exemple précédent, qui est: 18FgxNdGSemUZNybpdrgdr1rbdRFbuAwL9.
La deuxième étape consiste à prendre le message d'origine et à le copier dans la zone suivante:
Il s'agit d'une preuve de signature de message utilisant une adresse Bitcoin, pour Bit2Me Academy.
Et enfin nous plaçons le message encodé et signé qui est attribué à cette adresse, ce qui dans notre cas est:
IJQ9jOGl5ZdjmsUNDYmAwUlFqfjp/FfAi5dzdgiQTfjheDYmBxfBq40URLPOoggonqRYtGydTdwmiRn8ZElcSjc=
En plaçant tous ces textes, nous aurons les éléments suivants:
Pour finir, il suffit d'appuyer sur le bouton "Vérifier le message" et ainsi nous pouvons vérifier l'authenticité du message et qu'il a certainement été émis par celui qui contrôle cette adresse.
Sécurité de ce système
Vous vous demanderez sûrement si ce système est vraiment sûr et ne peut pas être cassé d'une manière ou d'une autre. Si c'est l'une de vos préoccupations, vous voudrez peut-être savoir que vous n'avez rien à craindre: cette fonction est sécurisée, en fait elle est hautement sécurisée.
Ceci est possible grâce au fait que Bitcoin utilise l'algorithme de signature numérique ECDSA pour effectuer toutes ces opérations, et pour le moment, ledit algorithme à côté de la courbe secp256k1, est considéré comme hautement sûr. Bref, la sécurité à la fois de Bitcoin et de cette fonction est protégée par une cryptographie très puissante qui n'a pas été cassée pour le moment. Pour vous donner une idée de sa sécurité, sachez que ce processus est basé sur une sécurité supérieure à presque tout le monde que vous utilisez au quotidien dans certains processus avec banque en ligne, messagerie, téléphonie, ...
D'un autre côté, et comme vous pouvez le voir, c'est un processus très simple, en fait, si vous connaissez des systèmes de cryptage et de décryptage pour des messages tels que PGP (ou GPG), vous vous rendrez compte que cela fonctionne selon les mêmes principes.
L'objectif de tout cela est de vous fournir un outil pour envoyer et vérifier les informations en toute sécurité et sans aucun intermédiaire pour cela. Comme toujours, Bitcoin a ciblé la décentralisation depuis sa création et des fonctionnalités comme celles-ci ne font qu'attester cet effort.