This article has been translated from English to French.

Dans cette leçon, nous allons apprendre comment fonctionne réellement une signature numérique dans le Bitcoin et d'autres crypto-monnaies.

Pour en arriver là, nous avons d'abord dû apprendre plusieurs concepts techniques, car ce sont les « éléments de base » nécessaires à la création d'une signature numérique :

Si tu n'es PAS familier avec ces concepts, ils ont été expliqués de manière accessible aux débutants dans les leçons précédentes. Explore les liens ci-dessus pour en savoir plus.

Comment une signature numérique est-elle créée ?

Voyons comment une signature numérique est créée étape par étape :

  1. Lorsque tu souhaites envoyer des bitcoins, ton portefeuille crée un message de transaction. Ce message contient des informations telles que le montant de bitcoins que tu souhaites envoyer et l'adresse du destinataire.
  2. Ce message est soumis à une fonction de hachage.
  3. La fonction de hachage produit un résultat appelé «hachage du message» ou simplement «hachage».
  4. Ce hachage de message est ensuitechiffré avec ta clé privée.
  5. Le hachage du message crypté devientla « signature numérique».

Voici un organigramme de ce processus :

How a Digital Signature is Created

Ainsi, à la fin de ce processus, ton portefeuille a créé deux « éléments » :

  1. Message de transaction
  2. Signature numérique (un hachage crypté du message de transaction)

À ce stade, rien n'a encore été envoyé au réseau Bitcoin.

Si tu n'avais pas remarqué, le message de transaction lui-même est nécessaire en tant qu'« ingrédient » pour créer la signature numérique.

Donc, tu n'utilises pas seulement ta clé privée pour créer une signature numérique... tu utilises ta clé privée ET le hachage du message de transaction.

Cela signifie que tu ne peux pas utiliser cette signature numérique pour une autre transaction. Si tu essayais d'utiliser cette signature numérique dans une deuxième transaction, elle serait rejetée par le réseau Bitcoin car la signature numérique est uniquement basée sur les données de la première transaction.

Chaque signature numérique est unique à une transaction spécifique.

Comment une signature numérique est-elle vérifiée ?

Pour dépenser des bitcoins à partir d'une adresse Bitcoin particulière, il faut prouver la « propriété » (ou la connaissance) de la clé privée qui est associée à la clé publique associée à cette adresse.

Mais tu veux le faire sans avoir à révéler ta clé privée.

Une signature numérique est un moyen de PROUVER que tu connais la clé privée associée à une clé publique, sans avoir à révéler la clé privée en question.

Voyons comment cela fonctionne :

  1. Lorsque tu initialises une transaction Bitcoin, ton logiciel de portefeuille fournit en fait trois « éléments » au réseau Bitcoin : le message de transaction original, la signature numérique et ta clé publique (qui est liée à l'adresse où le bitcoin que tu souhaites envoyer est actuellement stocké).
  2. Une fois qu'un nœud Bitcoin reçoit ces « éléments », il les sépare.
  3. Il prendra le message de transaction original et le fera passer par la même fonction de hachage que celle que tu as utilisée précédemment. (Tous les logiciels Bitcoin utilisent la même fonction de hachage.) Quant à la signature numérique, elle utilisera la clé publique que tu as fournie pour la déchiffrer.
  4. Les deux hachages seront ensuite comparés.
  5. Les deux hachages correspondent-ils exactement ?
  6. Si les deux hachages correspondent, cela prouve que tu es le véritable propriétaire du bitcoin que tu souhaites envoyer.

Voici un organigramme de ce processus :

How a Digital Signature is Verified

Il y a deux choses à souligner ici :

1. Être capable de décrypter avec la clé publique prouve l'identité de l'expéditeur.

À l'étape 3, lorsqu'un nœud est capable de déchiffrer la signature numérique, cela prouve ton « identité ».

Rappelle-toi que, puisqu'une clé privée et une clé publique sont mathématiquement liées, si tu es capable de déchiffrer un message avec ma clé publique, cela signifie que je l'ai chiffré avec ma clé privée.

Si tu n'as pas pu déchiffrer le message, cela signifie qu'il a été chiffré par la clé privée de quelqu'un d'autre. Et cela signifie que le message ne vient pas de moi.

2. Les hachages qui correspondent exactement prouvent que le message n'a pas été modifié.

À l'étape 6, la vérification de la correspondance exacte des deux hachages permet de s'assurer que le message original n'a pas été modifié.

Il est important de le savoir car, contrairement à la signature numérique qui est cryptée, le message de transaction original est en clair car toutes les transactions Bitcoin sont publiques et visibles par tous.

Rappelle-toi que le moindre changement produirait un hachage totalement différent. Ainsi, si quelqu'un interceptait le message de transaction original en route vers un nœud et le modifiait (par exemple pour envoyer le bitcoin à sa propre adresse), lorsque le message passerait par la fonction de hachage, il produirait un hachage totalement différent de la signature numérique.

De la même manière qu'une signature manuscrite relie une personne à un document spécifique, une « signature numérique » utilisant la cryptographie...reliecryptographiquement...l'identité à un message spécifique.

Résumé

Maintenant que tu comprends comment une signature numérique est créée et comment elle est vérifiée, voici une vue d'ensemble de ce que signifie réellement « signer » une transaction et comment la « signature numérique » de l'expéditeur est utilisée pour vérifier la propriété des bitcoins qu'il souhaite envoyer :

Digital Signature Process