Blockchain/Niveau I · Monnaie/1.2 La voie des cypherpunks/Leçon 4
Hashcash : preuve de travail avant Bitcoin
Le coût du calcul comme sceau : du spam à la rareté numérique
MatérielUn générateur de hachage SHA-256 en ligneUn tableur pour consigner les valeurs du compteur et les sorties hexadécimalesLe livre blanc de Bitcoin, section 4
Curiosité
- Qu’est-ce qui rend un timbre coûteux à produire mais presque gratuit à vérifier ?
- Pourquoi une énigme de hachage qui se vérifie en quelques microsecondes demande-t-elle des heures pour être résolue ?
- Comment un outil destiné à lutter contre les spams est-il devenu le moteur d’une monnaie ?
Explorer
- En 1992, Cynthia Dwork et Moni Naor ont proposé « Pricing via Processing » pour lutter contre le spam. Leur intuition : le calcul pouvait jouer le rôle d’un péage. Obliger les expéditeurs à résoudre une énigme cryptographique rendait l’envoi massif d’e-mails économiquement non viable, sans gêner les utilisateurs occasionnels. L’idée est restée pour l’essentiel sur le papier pendant cinq ans.
- Adam Back a proposé Hashcash en mars 1997, sans connaître l’article de Dwork et Naor. Le mécanisme exigeait des expéditeurs qu’ils trouvent un nonce (une chaîne variable) tel que le hachage SHA-1 de l’en-tête de l’e-mail combiné à ce nonce commence par un nombre donné de bits à zéro. Il s’agit d’une recherche de collision partielle : exponentiellement plus difficile à trouver qu’à vérifier. Chaque solution valide servait de « timbre » prouvant que l’expéditeur avait fourni un effort de calcul réel.
- La force de Hashcash réside dans l’asymétrie. Produire un timbre valide peut exiger des milliers ou des millions d’essais de hachage, ce qui consomme du temps et de l’électricité ; le vérifier ne demande qu’un seul calcul de hachage, qui se mesure en microsecondes. Cette fonction à sens unique crée de la rareté dans un milieu où la copie est normalement gratuite. Un spammeur qui envoie un million d’e-mails doit fournir un million de fois le travail, tandis que le destinataire vérifie chaque e-mail pour un coût négligeable.
- Hashcash n’était pas de la monnaie, car chaque timbre était lié à un destinataire et à un horodatage précis, ce qui le rendait non transférable et à usage unique. Sa valeur s’érodait aussi à mesure que le matériel progressait, puisqu’un calcul moins cher réduisait le coût de production de nouveaux timbres. Il a résolu le problème du spam, mais n’a pas su créer de propriétés durables de réserve de valeur. Le terme « preuve de travail » lui-même n’est apparu qu’en 1999, sous la plume de Markus Jakobsson et Ari Juels, qui ont formalisé cet engagement calculatoire.
- Satoshi Nakamoto a cité directement le Hashcash de Back dans la section 4 du livre blanc de Bitcoin (octobre 2008), en le réaffectant à l’horodatage distribué. Là où Hashcash utilisait SHA-1 avec une difficulté fixe, Bitcoin utilise un double SHA-256 avec une cible ajustable, recalculée tous les 2016 blocs (environ deux semaines). Cela maintient un intervalle régulier d’environ 10 minutes entre les blocs, quelle que soit la croissance du hashrate du réseau, ce qui stabilise le calendrier d’émission et sécurise le registre par le coût de calcul cumulé.
- Pour ressentir cette asymétrie : ouvrez n’importe quel outil SHA-256 en ligne. Hachez la chaîne « hello ». Ajoutez ensuite un compteur (0, 1, 2…) jusqu’à ce que la sortie hexadécimale commence par « 0 », puis par « 00 ». Observez la croissance exponentielle du nombre d’essais. Cette recherche par force brute reproduit le minage. L’ajustement de la difficulté de Bitcoin garantit qu’à mesure que de nouveaux mineurs arrivent et que le matériel progresse, la cible se resserre pour maintenir une production de blocs constante, préservant ainsi le rythme économique du protocole.
Faits clés
- Dwork et Naor ont proposé en 1992 le « Pricing via Processing » afin de rendre l’envoi d’e-mails coûteux.
- Adam Back a annoncé Hashcash en mars 1997 en utilisant des collisions partielles de SHA-1.
- La vérification de Hashcash nécessite un seul calcul de hachage ; la génération requiert environ 2^k tentatives pour k bits à zéro.
- Le terme « preuve de travail » a été inventé par Jakobsson et Juels en 1999.
- Bitcoin utilise un double SHA-256 avec une cible de difficulté qui est réajustée tous les 2016 blocs.
- Les timbres Hashcash ne sont pas transférables et sont liés à des destinataires précis, contrairement aux unités de bitcoin.
Exercice neuf, six, trois, un
9RassemblerÉnumérez 9 énigmes calculatoires ou engagements fondés sur le hachage issus de la cryptographie. Indiquez leur usage initial (spam, signatures, minage) et leur coût de vérification.
6RegrouperRegroupez les 9 éléments en 6 groupes selon qu’ils ont été conçus pour la sécurité, la rareté ou les deux, et selon qu’ils sont transférables ou à usage unique.
3DistillerRéduisez les 6 groupes à 3 propriétés qui distinguent un jeton de preuve de travail d’une simple signature numérique.
1CristalliserRédigez 1 phrase expliquant pourquoi le coût de calcul crée de la rareté là où la copie est, sinon, gratuite.
Vérification des faits
Les dates, les chiffres et les affirmations ont été vérifiés à l’aide des sources publiées listées ci-dessous.