Dans la blockchain, le hachage est omniprésent : les identifiants des transactions sont des hachages, les blocs sont reliés entre eux par des hachages et le minage du bitcoin consiste à calculer des hachages en continu. Mais qu’est-ce que c’est exactement, et pourquoi est-ce si important ? Cet article vous l’explique avec le moins de jargon possible.

Cryptomonnaie mentionnée dans l’article : $BTC à 74 972,21 (-1,11 % sur 24 h).

■ Qu’est-ce qu’un hachage ?

Une fonction de hachage transforme des données de longueur quelconque en une chaîne de longueur fixe appelée valeur de hachage, ou empreinte. Par exemple, SHA-256 produit toujours une sortie de 256 bits, soit 64 caractères en notation hexadécimale.

On peut considérer la valeur de hachage comme l’« empreinte digitale » des données : les mêmes données produisent toujours la même empreinte ; même si l’on modifie un seul caractère, l’empreinte devient complètement différente.

■ Les qualités d’une bonne fonction de hachage

Premièrement, elle est à sens unique : il est quasiment impossible de retrouver les données d’origine à partir de la valeur de hachage. Deuxièmement, elle résiste aux collisions : il est quasiment impossible de trouver deux données différentes qui produisent la même valeur de hachage. Troisièmement, son résultat est imprévisible : impossible de savoir quelle sera la sortie sans effectuer réellement le calcul.

Attention, le hachage n’est pas du chiffrement. Les données chiffrées peuvent être restaurées à l’aide d’une clé ; le hachage, lui, est à sens unique : on ne peut pas retrouver le contenu d’origine à partir de la valeur de hachage.

■ Où la blockchain utilise-t-elle le hachage ?

Bitcoin utilise SHA-256 pour calculer les hachages des blocs et les identifiants des transactions, et effectue le calcul deux fois de suite. Pour générer les adresses courantes P2PKH et P2WPKH, la clé publique est d’abord traitée avec SHA-256, puis avec RIPEMD-160 (les adresses Taproot utilisent directement la clé publique). Ethereum utilise Keccak-256 ; l’adresse correspond aux 20 derniers octets du hachage Keccak-256 de la clé publique.

L’en-tête de chaque bloc contient le hachage du bloc précédent. Si l’on modifie un bloc historique, son hachage change et tous les blocs suivants ne correspondent plus : c’est l’une des principales raisons pour lesquelles une blockchain est difficile à falsifier. Le minage du bitcoin consiste à essayer sans cesse différentes entrées jusqu’à obtenir un hachage qui satisfait aux exigences de difficulté.

■ À quoi cela sert-il pour les utilisateurs ordinaires ?

Pour vérifier un transfert, recherchez son hachage de transaction dans un explorateur de blocs : c’est bien plus fiable que de se fier à une capture d’écran. Après avoir téléchargé un logiciel de portefeuille, comparez son empreinte SHA-256 à celle publiée officiellement afin de vérifier que le fichier d’installation n’a pas été altéré.

■ En résumé

Retenez ceci : le hachage est l’empreinte des données ; il peut être rendu public et comparé, mais il ne permet pas de retrouver les données d’origine. Vous pouvez partager librement un hachage de transaction, mais ne révélez jamais votre clé privée ni votre phrase de récupération. Méfiez-vous des promesses de rendements élevés et garantis.

Quand avez-vous compris ce concept ?