Fonction de hachage
Aussi appelé : hash, hachage
Une fonction de hachage transforme n'importe quelle donnée en une empreinte de taille fixe, impossible à inverser. C'est le calcul de base du minage.
Une fonction de hachage prend en entrée une donnée de n'importe quelle taille, un mot, un fichier ou un en-tête de bloc, et produit une empreinte de longueur fixe appelée hash ou hachage. Avec SHA-256, utilisée par Bitcoin, cette empreinte fait toujours 256 bits, soit 64 caractères hexadécimaux, que l'on hache une simple phrase ou une encyclopédie entière.
Une bonne fonction de hachage cryptographique a trois propriétés. Elle est déterministe : la même entrée donne toujours la même empreinte. Elle est à sens unique : impossible de retrouver l'entrée à partir du résultat. Et elle a un effet avalanche : changer un seul caractère bouleverse complètement l'empreinte. C'est ce qui rend le minage équitable : personne ne peut prévoir le résultat, il faut faire le calcul pour le connaître.
Le hashrate d'une machine compte justement combien de hachages elle calcule par seconde. Bitcoin applique SHA-256 deux fois de suite à chaque en-tête de bloc. D'autres monnaies ont choisi des fonctions différentes, comme Scrypt, kHeavyHash ou Blake3, ce qui explique qu'il faille une machine différente pour chacune. Quand une fiche produit indique un algorithme, elle vous dit en fait quelle fonction de hachage ses puces savent calculer.
Notre page qui compare ASIC et cartes graphiques montre pourquoi une puce spécialisée calcule ces empreintes bien plus vite qu'un processeur polyvalent.