
Fonctions de hachage : la mécanique discrète sous toute la crypto
Si l’on démonte une blockchain jusqu’à ses pièces essentielles, on trouve deux sortes de cryptographie qui font presque tout le travail. Les signatures numériques décident qui peut dépenser. Les fonctions de hachage tiennent tout le reste ensemble — les blocs, les adresses, le minage, les identifiants de transaction, et même la façon dont un portefeuille décode ce que vous vous apprêtez à signer.
On explique rarement les fonctions de hachage, parce qu’on les remarque rarement. Elles méritent dix minutes, car une fois comprises, une part étonnante de la crypto cesse de ressembler à de la magie.
Ce que fait une fonction de hachage
Une fonction de hachage prend n’importe quelle entrée — un mot, un fichier, un bloc entier de transactions — et produit une empreinte de taille fixe. SHA-256, celle qu’utilise Bitcoin, produit toujours 256 bits, généralement écrits sous forme de 64 caractères hexadécimaux, que vous lui donniez une lettre ou un gigaoctet.
Trois propriétés la rendent utile :
Déterministe. La même entrée donne toujours la même sortie. N’importe qui, n’importe où, peut la recalculer et vérifier.
À sens unique. À partir d’une empreinte, il n’existe aucun moyen pratique de remonter à l’entrée. La seule approche est de deviner des entrées jusqu’à ce que l’une corresponde, et pour un bon hachage c’est sans espoir.
Résistante aux collisions. Il est impraticable de trouver deux entrées différentes ayant la même empreinte. Changez un seul caractère et la sortie change complètement, de façon imprévisible.
Voilà tout ce qu’est un hachage : une empreinte courte, vérifiable et infalsifiable de quelque chose de plus grand.
Où vous croisez des hachages sans le remarquer
Les identifiants de transaction. Un txid est simplement le hachage d’une transaction. C’est pourquoi il est unique, et pourquoi c’est lui que vous collez dans un explorateur de blocs : il désigne exactement une transaction, et personne ne peut en produire une autre avec le même identifiant.
La chaîne elle-même. Chaque bloc contient le hachage du bloc précédent. Modifiez quoi que ce soit dans un ancien bloc et son hachage change, ce qui rompt le lien avec tous les blocs suivants. Cette chaîne d’empreintes rend toute altération de l’historique visible.
Le minage. La preuve de travail est une loterie de hachage : les mineurs hachent les en-têtes de bloc encore et encore, en faisant varier un nombre à chaque fois, jusqu’à trouver un résultat inférieur à une cible. Comme les hachages sont imprévisibles, il n’y a aucun raccourci — seulement davantage d’essais, et c’est pourquoi la preuve de travail coûte de l’énergie réelle et pourquoi ce coût achète de la sécurité.
Les adresses. La plupart des adresses sont des hachages de quelque chose. Une adresse Bitcoin classique est le hachage d’une clé publique. Les adresses Bitcoin de SSP sont en P2WSH : un hachage SHA-256 du script témoin qui décrit la règle de dépense 2-sur-2. Ce qui figure sur la chaîne avant que vous ne dépensiez, c’est cette empreinte, pas les clés elles-mêmes.
Des hachages dans le portefeuille
Le hachage n’est pas qu’un concept au niveau de la chaîne. Il apparaît dans le logiciel avec lequel vous signez.
Quand SSP Key décode une transaction Ethereum avant que vous ne l’approuviez, il identifie ce que fait l’appel grâce aux sélecteurs de fonction — les quatre premiers octets du hachage Keccak-256 de la signature de la fonction. transfer(address,uint256) donne une valeur commençant par a9059cbb ; approve(address,uint256), une valeur commençant par 095ea7b3. Quand le décodeur voit ces quatre octets au début d’une transaction, il sait quelle fonction est appelée et peut vous indiquer en langage clair que vous envoyez des jetons ou accordez une autorisation.
C’est une belle illustration de ce à quoi servent les hachages : une empreinte compacte et sans ambiguïté de quelque chose de plus long. C’est aussi un rappel de leurs limites, car quatre octets, c’est si court que deux fonctions différentes peuvent partager un sélecteur. C’est l’une des raisons pour lesquelles le décodeur échoue délibérément en se fermant : tout ce qui est inattendu revient aux données brutes plutôt qu’à une supposition assurée.
Ce que les hachages ne peuvent pas faire
Ils ne cachent pas les petites entrées. Un hachage est à sens unique, mais si l’entrée provient d’un petit ensemble de possibilités, un attaquant peut simplement hacher chacune et comparer. C’est pourquoi un code PIN ou un mot de passe court haché protège très peu, et pourquoi les phrases de récupération sont de longs mots aléatoires plutôt que quelque chose de mémorable.
Ils ne prouvent rien sur le sens. Un hachage prouve que deux choses sont identiques. Il ne dit rien de l’honnêteté de l’une ou l’autre. Le hachage parfaitement vérifié d’une transaction malveillante reste une transaction malveillante.
Ce n’est pas du chiffrement. On ne peut pas « déchiffrer » un hachage pour retrouver l’original. Ce qui prétend inverser un hachage devine.
Pourquoi cela vous concerne
Vous calculerez rarement un hachage à la main. Mais les comprendre explique plusieurs choses qui, sinon, ressemblent à des règles à apprendre par cœur :
Pourquoi un txid prouve qu’un paiement existe. Pourquoi vous ne pouvez pas modifier une transaction confirmée. Pourquoi le minage consomme de l’énergie. Pourquoi une adresse non dépensée révèle une empreinte plutôt que vos clés. Pourquoi une phrase longue et aléatoire est sûre et une courte et astucieuse ne l’est pas.
Les fonctions de hachage sont la partie de la crypto qui fonctionne tout simplement, discrètement, des milliards de fois par jour. Savoir ce qu’elles garantissent — et ce qu’elles ne garantissent pas — est l’un des moyens les moins coûteux de comprendre le système auquel vous confiez votre argent.


