Comment miner du Bitcoin avec un crayon et une feuille de papier

Le calcul du hash, qui va former un nouveau bloc, est possible avec du papier et un crayon. Voici comment miner une cryptomonnaie suivant cette méthode.

Les Bitcoins et les Ethers sont extraits à l’aide d’un algorithme cryptographique appelé SHA-256. Cet algorithme est suffisamment « simple » que pour être résolu avec un crayon et du papier, à condition d’avoir un esprit mathématique, d’être concentré et appliqué.

Trouver le hash est l’essence même des transactions qui s’opèrent sur la blockchain. Les mineurs doivent deviner cette suite de 64 caractères composée de chiffres et de lettres qui correspondra à l’entièreté des données présentes dans un bloc d’informations de la blockchain. Une fois le bon hash trouvé, la transaction peut être opérée.

Lire: Hash, transactions, blockchain: que font les mineurs de Bitcoin?

La méthode de Ken Shirriff

Pour expliquer aux néophytes comment fonctionne les algorithmes qui forment la chaîne de bloc, le mathématicien Ken Shirrif a réalisé une vidéo où il montre comment trouver ce hash. Voici son explication pointue.

« J’ai écrit chaque bloc A à H en hexadécimal sur une ligne séparée et j’ai mis la valeur binaire en dessous. L’opération maj apparaît sous C, et les décalages et ?0 apparaissent au-dessus de la rangée A. De même, l’opération de choix apparaît sous G, et les décalages et ?1 au dessus de E. En bas à droite, un ensemble de termes est ajouté: il correspond aux trois premières cases de la somme rouge. En haut à droite, cette somme est utilisée pour générer la nouvelle valeur A et, au milieu à droite, cette somme est utilisée pour générer la nouvelle valeur E. »

« J’ai également effectué manuellement un autre tour de hachage, le dernier tour pour finir de hacher le bloc Bitcoin. Dans l’image ci-dessous, le résultat du hachage est surligné en jaune. Les zéros dans ce hachage montrent que c’est un hachage réussi. Notez que les zéros sont à la fin du hachage. La raison en est que Bitcoin inverse de manière incommode tous les octets générés par SHA-256. »

© Ken Shirriff

La méthode manuelle est une démonstration

« Faire un tour de SHA-256 à la main m’a pris 16 minutes et 45 secondes. À ce rythme, le hachage d’un bloc de Bitcoin complet (128 tours) prendrait 1,49 jour, pour un taux de hachage de 0,67 hachage par jour (bien que je devrais probablement aller plus vite avec la pratique). En comparaison, le matériel d’exploitation Bitcoin actuel fait plusieurs terahash par seconde, environ un quintillion de fois plus vite que mon hachage manuel. Inutile de dire que l’exploitation manuelle de Bitcoin n’est pas du tout pratique. »

Rappelons que les machines de minage peuvent tourner jusqu’à 25 terahash par seconde. Soit proposer en une seconde, 25 x 1.000.000.000.000 hash. À cette vitesse, il faut parfois un an voire plus à une machine pour trouver le hash qui libérera un bloc. Sachant qu’un humain prend une journée et demi pour trouver un seul hash, il apparaît qu’il est quasiment impossible pour un humain de miner du Bitcoin avec un crayon et une feuille de papier. Ken Shiriff conclut avec une métaphore: « trouver un hash fonctionnel est aussi dur que trouver un grain de sable parmi tous les grains de sable de la Terre« .