Malgré toute la cryptofolie qui nous entoure en ce moment, le minage de Bitcoin est devenu une mission presque impossible pour les utilisateurs indépendants, et seules les fermes équipées de matériel ASIC ont des chances de succès face à son niveau de difficulté effrayant. Cependant, cela n'annule pas le potentiel éducatif du Bitcoin, et c'est ainsi que nous arrivons au youtubeur stacksmashing, qui a décidé de modifier une console Game Boy pour tenter de miner quelques pièces…

Miner du Bitcoin avec une Nintendo Game Boy
Bitcoin Game Boy

Bitcoin, Bitcoin, Bitcoin

Au moment où nous écrivons ces lignes, chaque unité vaut 59 500 dollars, et sa capitalisation boursière dépasse les mille milliards de dollars. Bien sûr, je parle du Bitcoin, « la » cryptomonnaie par définition. Sauf quelques exceptions, le reste des pièces se comporte comme des bouchons flottant sur l'eau du Bitcoin : elles accompagnent ses hausses et reculent à chaque chute. Pourtant, personne ne peut s'empêcher d'en parler, et avec certaines personnalités exprimant leur soutien via Twitter (!), disons qu'il y a beaucoup de matière à discuter.

Cela inclut le profil technique et éducatif du Bitcoin. Dans le passé, nous avons vu l'intérieur des mines de Bitcoin les plus grandes du monde, mais nous avons aussi appris à miner du Bitcoin avec un crayon et une feuille de papier. Qu'est-ce qui suit sur la liste ? Game Boy ! Le youtubeur stacksmashing a pris la console portable classique de Nintendo, l'a connectée à un ordinateur en utilisant un Raspberry Pi Pico comme pont entre les deux, et a développé une petite application compatible avec l'architecture de la Game Boy pour miner des Bitcoins… ou du moins, tenter le coup.

Comment miner du Bitcoin avec une Game Boy

La vidéo fait un excellent travail en expliquant la théorie essentielle du minage de Bitcoin : chaque bloc de données est traité deux fois avec SHA256, et le hash résultant est un nombre de 256 bits. Ce nombre est comparé à la « valeur cible » générée par le réseau, et s'il est inférieur ou égal, le minage du bloc est déclaré réussi, donnant en récompense 12,5 bitcoins. Le bloc actuel ne contient que 76 octets, auxquels il faut ajouter quatre octets de « valeur nonce », et la valeur nonce augmente à chaque fois que le nombre obtenu n'est pas inférieur à la valeur cible.

En termes simples… les mineurs essaient de deviner un nombre extraordinairement complexe, et s'ils tombent juste, ils reçoivent des bitcoins en échange. La console Game Boy de stacksmashing a la tâche titanesque de recevoir ce bloc, de le traiter, et en cas de succès, de l'envoyer au réseau. Le problème est que la console ne dispose que d'un port Game Link, mais le manque de compatibilité est résolu avec un Raspberry Pi Pico, un câble Game Link modifié et un adaptateur de niveau (« level shifter ») qui corrige les différences de tension (3,3 V pour le Pico, 5 V sur le Game Link).

Miner du Bitcoin avec une Nintendo Game Boy
Ici, la console « a miné » un faux bloc Bitcoin, de très faible difficulté. Le logiciel fonctionne !

En résumé : une belle folie

La partie la plus complexe du projet est de créer le logiciel approprié pour la console. Avec un kit de développement open source et une implémentation SHA256 dérivée du portefeuille matériel Trezor, le logiciel pour la Game Boy fonctionne à la perfection. En parallèle, le Raspberry Pi Pico lance SPI et USB série pour envoyer et recevoir des données, permettant à la console et à l'ordinateur de communiquer. La dernière étape consiste à créer un nœud bitcoin (avec un téléchargement de plusieurs centaines de gigaoctets) et à utiliser un logiciel de minage compatible. Le seul qui a fonctionné avec ce projet est ntgbtminer, basé sur Python.

La bonne nouvelle ? Le système de minage de Bitcoin sur la Game Boy fonctionne à la perfection, et tout le code pertinent est disponible pour ceux qui souhaitent reproduire le projet. La mauvaise, c'est que les performances de la console sont de 0,8 hash par seconde, soit 125 billions de fois plus lent qu'un mineur ASIC moderne. Patience.