Pourquoi les puzzles de hachage sont-ils essentiels pour la preuve de travail ?
Il y a quelques jours, j’ai expliqué le problème que Bitcoin exige de résoudre comme preuve de travail. En résumé, il s’agit de modifier un bloc de transactions jusqu’à ce que le double hachage SHA256 de son en-tête soit inférieur à une valeur cible [1]. Bien que toutes les cryptomonnaies n’utilisent pas la preuve de travail, celles qui le font reposent principalement sur des puzzles de hachage. D’autres cryptomonnaies utilisent des problèmes de hachage différents, mais le principe reste le même. Par exemple, Litecoin et Dogecoin utilisent le même mécanisme que Bitcoin, mais avec la fonction de hachage scrypt (prononcée S-crypt). D’autres, comme celles basées sur Equihash ou Monero avec son algorithme RandomX, résolvent également des problèmes de hachage [2].
Pourquoi privilégier les puzzles de hachage ? Les cryptomonnaies pourraient en théorie utiliser n’importe quel problème computationnel difficile à résoudre mais facile à vérifier, comme ceux de la théorie des nombres. Une raison majeure est la résistance supposée des fonctions de hachage aux attaques quantiques, contrairement aux problèmes basés sur la factorisation. De plus, les experts s’accordent à dire qu’une faille mathématique dans les fonctions de hachage est improbable. Comme l’a dit Ian Cassels : « La cryptographie est un mélange de mathématiques et de confusion, et sans cette confusion, les mathématiques pourraient se retourner contre vous. » Le hachage repose davantage sur la confusion que sur les mathématiques.
Pourquoi ne pas résoudre des problèmes utiles ? Bien que les puzzles de hachage soient efficaces pour prouver le travail accompli, leurs solutions n’ont aucune valeur intrinsèque. Certaines cryptomonnaies, comme FoldingCoin, se consacrent à des problèmes scientifiques tels que le repliement des protéines. Cependant, leur adoption reste limitée : FoldingCoin a une capitalisation 10 millions de fois inférieure à celle de Bitcoin. Les cryptomonnaies basées sur une « preuve de travail utile » peinent à décoller, en partie à cause des incitations divergentes qu’elles créent. Par exemple, si une entreprise pharmaceutique minait à perte pour obtenir des résultats scientifiques, cela perturberait le système monétaire.
Enfin, les problèmes pratiques ont souvent une structure mathématique, ce qui les rend vulnérables à des avancées soudaines. Les puzzles de hachage, bien que progressivement optimisés, offrent une stabilité plus prévisible. Une percée mathématique dans un domaine utile pourrait en revanche déstabiliser une cryptomonnaie avant que le marché ne s’adapte.
[1] Les mineurs ne modifient pas les montants des transactions, mais peuvent réorganiser leur ordre dans un arbre de Merkle pour obtenir des hachages différents. Un nonce de 32 bits et un horodatage sont aussi ajustables, mais la marge de manœuvre provient surtout de la réorganisation de l’arbre. [2] Scrypt et Equihash ont été conçus pour être gourmands en mémoire et résister aux ASIC, mais des contournements existent. RandomX génère aléatoirement un problème avant le hachage pour décourager le matériel spécialisé.