Blockchain et technologies émergentes
Cours 17
5 min

Qu’est-ce que le hachage dans une transaction blockchain ?

Le hachage cryptographique génère une chaîne de caractères de longueur fixe à partir d’un ensemble de données de n’importe quel volume. Cet ensemble de données peut être un mot, une phrase, un texte plus long ou un fichier entier.

  • Le hachage cryptographique peut être utilisé à des fins de sécurité, il est le pilier fondateur de la cryptosécurité ;

  • Le hachage transforme un input de données aléatoire (clés) en une chaîne d’octets de longueur et de structure fixes (valeur de hachage) ;

  • Le hash d’une transaction facilite l’identification de cette dernière sur la blockchain.

Dans cette leçon, vous allez découvrir en détail le hachage.

Qu’est-ce que le hachage ?

Comme vous l’avez appris dans le cours 6 de la section Intermédiaire de la Bitpanda Academy, le réseau Bitcoin repose sur un ensemble de règles appelé algorithme de consensus proof-of-work. Cet algorithme régit un réseau blockchain. Hormis les cryptomonnaies, le hachage est principalement utilisé pour le stockage de mots de passe. 

Revenons aux bases. Une fonction mathématique est utilisée pour illustrer une expression ou une relation qui implique une ou plusieurs variables ou ensembles. Une fonction relie donc un input (« entrée ») et un output (« sortie »).  

Pour illustrer cela, prenons la taille et le prix des hamburgers dans un restaurant. 

Le coût d’un hamburger est déterminé par sa taille.  

Par conséquent, le coût est une fonction de la taille. 

Imaginons que vous avez la possibilité d’acheter des hamburgers de petite, moyenne et grande tailles et que leur coût respectif est de 1,50 $, 2,50 $ et 3,50 $. 

L’input est la taille du hamburger.

L’output est le coût du hamburger. 

Le hachage transforme un input (un texte par exemple) en une chaîne d’octets dont la longueur et la structure sont fixes. L’output, ou la valeur créée, est ce qu’on appelle la « valeur de hachage » ou « valeur de contrôle » (« checksum » en anglais). Toute valeur de hachage créée à partir de données qui utilisent un algorithme de hachage spécifique fera toujours la même longueur et sera toujours à sens unique, elle ne peut pas être inversée.

Le hachage dans une transaction blockchain 

Nouveau sur Bitpanda ? Créez votre compte aujourd'hui !

Inscrivez-vous ici

Le terme « hash » en anglais, vient du verbe français « hacher », qui indique comment une fonction de hachage est conçue pour hacher les données. Une autre structure de données, la table de hachage, est fréquemment utilisée pour identifier rapidement deux hashs (ou « valeur de hachage ») identiques.

En vingt ans, le développement de la cryptographie s’est accéléré après que Diffie et Hellman ont identifié la nécessité d’un hachage à sens unique dans leur papier précurseur sur la cryptographie à clé publique en 1976. En 1990, Ronald Rivest, cryptographe et professeur au MIT, a inventé le hachage MD4, et plus tard le hachage MD5 et MD6. En 1995, la NSA (« National Security Agency ») a conçu le SHA-1 (« Secure Hash Algorithm 1 »), inspiré de la création de Rivest, suivi de sa mise à jour SHA-2 en 2001. Le SHA-2 est le standard qui a inspiré le SHA-256, qui a lui-même servi de fondation à l’algorithme de consensus de Bitcoin. 

L’intérêt du hachage

Le hachage est né de la nécessité d’uniformiser la longueur des contenus d’une part, et du besoin d’identificateurs uniques d’autre part. En dehors de la cryptosphère, les utilisations courantes du hachage incluent : 

  • Le calcul d’une (courte) valeur de contrôle pour un objet, pour un ISBN (« Numéro international normalisé du livre » en français) par exemple ;

  • L’identification « brève » de tout contenu, sans ambiguïté, et sans rien révéler dans les applications cryptographiques.

Les propriétés du hachage

Le hachage cryptographique doit être efficace en matière de calcul, ce qui signifie qu’il doit être rapide pour créer la valeur de hachage. Il doit être déterministe, c’est-à-dire qu’à chaque fois qu’un certain input est introduit, le même output doit être produit, mais aussi résister à la préimage. Par conséquent, le hachage ne peut pas révéler la moindre information sur les inputs et outputs. 

Enfin, le hachage doit également être résistant aux collisions : il doit être impossible pour deux inputs différents de produire le même output. Cette nature déterministe et cette résistance à la préimage et aux collisions sont les trois propriétés fondamentales du hachage dans le processus de mining de Bitcoin.

Le hachage doit également être résistant aux collisions : il doit être impossible pour deux inputs différents de produire le même output.

Le hachage dans le processus de mining

Pour en revenir rapidement au processus de validation du réseau Bitcoin, lorsqu’un bloc est regroupé, il contient plusieurs transactions ainsi que des informations concernant le précédent bloc. Autrement dit, si quelqu’un voulait modifier le registre ou effectuer une double-dépense, il ou elle devrait changer le hash dans tous les blocs précédents. 

Pour que le bloc regroupé soit ajouté à la blockchain, les mineurs doivent trouver un hash correspondant à la difficulté donnée. Chaque bloc contient un en-tête (« blockheader » en anglais) où se trouvent le numéro du bloc ; le hash du bloc précédent et un « nonce » qui comporte un horodatage. Le but d’un nonce est de varier les inputs d’un hachage cryptographique, c’est-à-dire d’en augmenter le caractère aléatoire, pendant le processus de mining.  

Résoudre le hash

Le node commence ensuite à « hacher » les données en les convertissant en valeur de hash, ou « hash », qui doit toujours contenir un certain nombre de zéros. Le node vérifie ensuite que le hash répond bien à la difficulté établie. Le hash doit toujours commencer avec le nombre correct de zéros. Si le hash correspond à la difficulté, il est diffusé aux autres mineurs du réseau. Le premier mineur qui trouve un hash valide peut valider le bloc et reçoit la récompense et les frais du bloc en bitcoin. 

Si le hash ne correspond pas à la difficulté, un autre nonce est sélectionné et haché. Les mineurs doivent générer de nombreux hashs avec plusieurs nonces, jusqu’à trouver un nonce qui corresponde à la difficulté. C’est un processus répétitif et énergivore que l’on appelle le mining de bitcoins et qui nécessite une puissance de calcul importante.

Le hachage est le pilier fondateur du processus proof-of-work. Sans la confirmation et la production des hashs de transaction, la blockchain ne serait pas inaltérable et il serait impossible de déterminer à qui appartient quel montant de bitcoins à tout moment.

Envie d’acheter des cryptomonnaies ?

Inscrivez-vous

CLAUSE DE NON-RESPONSABILITÉ 

Cet article ne constitue en aucun cas un conseil en investissement ni une offre ou une invitation à acheter des actifs financiers numériques.

Le présent article est fourni à titre d'information générale uniquement et aucune déclaration ou garantie, expresse ou implicite, n'est faite et aucune fiabilité ne doit être accordée quant à l'équité, l'exactitude, l'exhaustivité ou la justesse de cet article ou des opinions qui y sont contenues.

Certaines déclarations contenues dans cet article peuvent concerner des attentes futures fondées sur nos opinions et hypothèses actuelles et comportent des incertitudes susceptibles d'entraîner des résultats, performances ou événements réels différents de ces déclarations. 

Ni Bitpanda GmbH, ni aucune de ses filiales, conseillers ou représentants ne peuvent être tenus responsables de quelque manière que ce soit en relation avec cet article. 

Veuillez noter qu'un investissement dans des actifs financiers numériques comporte des risques en plus des opportunités décrites ci-dessus.