Ondanks alle cryptogekte om ons heen is het minen van Bitcoin vrijwel onmogelijk geworden voor individuele gebruikers. Alleen boerderijen met ASIC-hardware maken nog kans tegen de angstaanjagende moeilijkheidsgraad. Maar dat doet niets af aan de educatieve waarde van Bitcoin. Dat brengt ons bij de youtuber stacksmashing, die besloot een Game Boy om te bouwen om wat munten te minen…
Bitcoin, Bitcoin, Bitcoin
Op het moment van schrijven is elke eenheid 59.500 dollar waard en de marktkapitalisatie overschrijdt een biljoen dollar. Natuurlijk heb ik het over Bitcoin, de cryptocurrency bij uitstek. Op enkele uitzonderingen na gedragen de andere munten zich als kurken die op het water van Bitcoin drijven: ze volgen de stijgingen en dalen bij elke daling. Toch kan niemand ophouden erover te praten en met bepaalde beroemdheden die hun steun uiten via Twitter (!) is er genoeg stof tot nadenken.
Dat omvat ook het technische en educatieve profiel van Bitcoin. In het verleden hebben we het binnenste van de grootste bitcoin-mijnen ter wereld gezien, maar we leerden ook bitcoin minen met potlood en papier. Wat staat er nu op de lijst? Game Boy! De youtuber stacksmashing nam de klassieke draagbare console van Nintendo, verbond hem met een computer met behulp van een Raspberry Pi Pico als brug en ontwikkelde een kleine applicatie die compatibel is met de architectuur van de Game Boy om Bitcoins te minen… of in ieder geval de poging te wagen.
Bitcoin minen met een Nintendo Game Boy
De video legt op uitstekende wijze de essentiële theorie van Bitcoin-mining uit: elk gegevensblok wordt twee keer verwerkt met SHA256, en de resulterende hash is een getal van 256 bits. Dat getal wordt vergeleken met de doelwaarde die door het netwerk wordt gegenereerd, en als het kleiner of gelijk is, wordt de mining van het blok als succesvol beschouwd, met een beloning van 12,5 bitcoins. Het huidige blok is slechts 76 bytes groot, waaraan we vier bytes nonce-waarde moeten toevoegen, en de nonce-waarde neemt elke keer toe als het verkregen getal niet kleiner is dan de doelwaarde.
In losse termen... de miners proberen een buitengewoon complex getal te raden, en als ze het goed hebben, ontvangen ze bitcoins. De Game Boy van stacksmashing heeft de titanische taak om dat blok te ontvangen, te verwerken en bij het juiste getal naar het netwerk te sturen. Het probleem is dat de console alleen een Game Link-poort heeft, maar het gebrek aan compatibiliteit wordt opgelost met een Raspberry Pi Pico, een aangepaste Game Link-kabel en een level shifter die de spanningsverschillen corrigeert (3,3 V voor de Pico, 5 V op de Game Link).
Samenvatting: Een prachtige waanzin
Het meest complexe deel van het project is het schrijven van de juiste software voor de console. Met een open source ontwikkelkit en een SHA256-implementatie afgeleid van de Trezor-hardwarewallet werkt de software voor de Game Boy perfect. Tegelijkertijd initialiseert de Raspberry Pi Pico SPI en USB-serieel om gegevens te verzenden en te ontvangen, zodat de console en de computer met elkaar kunnen praten. De laatste stap is het creëren van een bitcoin-node (met een download van enkele honderden gigabytes) en het gebruik van compatibele miningsoftware. De enige die werkte met dit project was ntgbtminer, gebaseerd op Python.
Het goede nieuws? Het Bitcoin-miningsysteem op de Game Boy werkt perfect en alle relevante code is beschikbaar voor wie het project wil reproduceren. Het slechte nieuws is dat de prestaties van de console 0,8 hashes per seconde zijn, oftewel 125 biljoen keer langzamer dan een moderne ASIC-miner. Geduld.