Dans la blockchain, les hashes sont omniprésents : les identifiants de transaction sont des hashes, les blocs sont reliés entre eux par des hashes et le minage de Bitcoin consiste à calculer des hashes en continu. Qu’est-ce que c’est exactement et pourquoi est-ce si important ? Cet article vous l’explique avec le moins de jargon possible.
$BTC Le minage consiste en réalité à calculer des hashes SHA-256 à répétition pour trouver un résultat qui satisfait aux exigences de difficulté. Actuellement : 71,194.11 (24 h : -3.9 %).
■ Qu’est-ce qu’un hash ?
Une fonction de hachage transforme des données de longueur quelconque en une suite de longueur fixe, appelée valeur de hachage, ou condensat. Par exemple, la sortie de SHA-256 fait toujours 256 bits, soit 64 caractères en notation hexadécimale.
On peut voir la valeur de hachage comme l’« empreinte digitale » des données : les mêmes données produisent toujours la même empreinte ; il suffit de modifier un seul caractère pour que l’empreinte soit complètement différente.
■ Quelles sont les caractéristiques d’une bonne fonction de hachage ?
Premièrement, elle est à sens unique : il est pratiquement impossible de retrouver les données d’origine à partir de leur valeur de hachage. Deuxièmement, elle résiste aux collisions : il est pratiquement impossible de trouver deux données différentes qui produisent la même valeur de hachage. Troisièmement, son résultat est imprévisible : sans effectuer réellement le calcul, on ne peut pas savoir quelle sera la sortie.
Attention, le hachage n’est pas du chiffrement. Les données chiffrées peuvent être restaurées à l’aide d’une clé, tandis que le hachage est à sens unique : il est impossible de retrouver le contenu d’origine à partir de sa valeur de hachage.
■ Où la blockchain utilise-t-elle les hashes ?
Bitcoin utilise SHA-256 pour calculer le hash des blocs et les identifiants de transaction, et effectue ce calcul deux fois. Pour générer les adresses courantes P2PKH et P2WPKH, la clé publique est d’abord soumise à SHA-256, puis à RIPEMD-160 (les adresses Taproot utilisent directement la clé publique). Ethereum utilise Keccak-256 ; son adresse correspond aux 20 derniers octets du hash Keccak-256 de la clé publique.
L’en-tête de chaque bloc contient le hash du bloc précédent. Si l’on modifie un bloc historique, son hash change et tous les blocs suivants ne correspondent plus : c’est l’une des raisons pour lesquelles la blockchain est difficile à altérer. Le minage de Bitcoin consiste à essayer sans cesse différentes entrées jusqu’à trouver un hash qui satisfait aux exigences de difficulté.
■ À quoi cela sert-il pour les utilisateurs ordinaires ?
Pour vérifier un transfert, recherchez son hash 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 sa somme de contrôle SHA-256 à celle publiée par la source officielle afin de vérifier que le fichier d’installation n’a pas été altéré.
■ En résumé
Retenez ceci : un hash est l’empreinte digitale des données. Il peut être partagé et comparé, mais ne permet pas de retrouver les données d’origine. Vous pouvez montrer votre hash de transaction à qui vous voulez, mais ne révélez jamais votre clé privée ni votre phrase de récupération. Mieux vaut avancer prudemment : rester dans la course est bien plus important que de gagner gros une fois.
Si certains points n’ont pas été abordés, parlons-en dans les commentaires.