Comprendre / Comment fonctionnent les blockchains

Qu'est-ce qu'un hash dans une blockchain ?

Un hash est une empreinte numérique de longueur fixe d'une donnée. Les blockchains s'en servent pour relier les blocs et rendre toute falsification évidente.

Comment fonctionnent les blockchains Illustration : Cryptoweek

Un hash (ou empreinte) est une suite courte et de longueur fixe de lettres et de chiffres, obtenue en faisant passer des données dans une formule mathématique appelée fonction de hachage. Il fonctionne comme une empreinte numérique. La même donnée donne toujours le même hash, et toute modification de la donnée en donne un autre.

Comment fonctionne une fonction de hachage ?

Une fonction de hachage accepte n'importe quelle donnée d'entrée, qu'il s'agisse d'un seul mot, d'une photo ou d'un bloc de milliers de transactions, et renvoie un résultat de taille fixe. Le bitcoin utilise une fonction appelée SHA-256, publiée par le gouvernement américain en 2001. Son résultat fait toujours 256 bits, généralement écrits sous la forme de 64 caractères.

Quatre propriétés la rendent utile :

  • Constante. La même donnée d'entrée produit toujours le même hash.
  • À sens unique. Aucune formule ne permet de remonter d'un hash à la donnée d'entrée. La seule méthode consiste à essayer des données jusqu'à ce que l'une corresponde.
  • Sensible. Modifier un seul caractère de la donnée d'entrée produit un hash complètement différent, sans lien visible avec l'ancien.
  • Unique en pratique. Trouver deux données différentes ayant le même hash est si improbable que c'est considéré comme impossible.

Comment les hashs relient-ils les blocs entre eux ?

L'en-tête de chaque bloc contient le hash du bloc précédent. Si quelqu'un modifiait une ancienne transaction, le hash de ce bloc changerait et ne correspondrait plus à la valeur enregistrée dans le bloc suivant. Le faussaire devrait aussi recalculer tous les blocs suivants, et les nœuds qui détiennent des copies honnêtes rejetteraient le résultat.

Les hashs organisent aussi les transactions à l'intérieur d'un bloc. Elles sont hachées par paires, puis les résultats sont hachés à leur tour, jusqu'à obtenir un hash unique qui les représente toutes.

Comment les hashs sont-ils utilisés dans le minage ?

Dans le minage en preuve de travail, un nouveau bloc n'est valide que si son hash est inférieur à un nombre cible, ce qui signifie en pratique qu'il commence par une longue série de zéros. Il n'existe aucun raccourci. Les mineurs modifient un petit nombre dans le bloc, le hachent et recommencent, en effectuant un nombre colossal d'essais chaque seconde.

Trouver un hash gagnant est difficile, mais le vérifier ne demande qu'un seul calcul. C'est ce déséquilibre qui fait de ce travail une preuve. La vitesse cumulée des essais de tous les mineurs s'appelle le taux de hachage (hash rate).

Où trouve-t-on aussi des hashs ?

Partout dans l'univers crypto. Une adresse de portefeuille est obtenue en hachant une clé publique. L'identifiant d'une transaction est un hash de cette transaction. Les signatures numériques, présentées dans le guide comment la cryptographie sécurise les cryptomonnaies, signent le hash d'un message.

Le hachage n'est pas du chiffrement. Des données chiffrées peuvent être déchiffrées avec la bonne clé. Un hash ne peut pas être décodé du tout.

Les fonctions de hachage peuvent aussi vieillir. Une norme plus ancienne, SHA-1, a été retirée des usages sécurisés après que des chercheurs ont produit en 2017 deux fichiers différents ayant le même hash. Aucune attaque pratique de ce type contre SHA-256 n'a été rendue publique.

Ce guide explique le fonctionnement des choses. Il ne constitue pas un conseil financier, juridique ou fiscal. Dernière mise à jour le .