A pesar de toda la criptolocura que nos rodea en estos días, la minería de Bitcoin se convirtió en una misión casi imposible para usuarios independientes, y sólo las granjas equipadas con hardware ASIC tienen posibilidades de éxito frente a su escalofriante nivel de dificultad. Sin embargo, eso no cancela el potencial educativo del Bitcoin, y así llegamos al youtuber stacksmashing, quien decidió modificar a una consola Game Boy para tratar de minar algunas monedas…
Tabla de contenidos
Bitcoin, Bitcoin, Bitcoin
Al momento de escribir estas líneas, cada unidad vale 59.500 dólares, y su capitalización de mercado supera el billón de dólares. Por supuesto, me refiero a Bitcoin, «la» criptomoneda por definición. Salvo algunas excepciones, el resto de las monedas se comportan como corchos flotando en el agua de Bitcoin: Acompañan sus subidas, y retroceden ante cada caída. Aún así, nadie puede dejar de hablar sobre ellas, y con ciertas personalidades expresando su apoyo vía Twitter (!), digamos que hay mucha tela para cortar.
Eso incluye al perfil técnico y educativo del Bitcoin. En el pasado hemos visto el interior de las minas de Bitcoin más grandes del mundo, pero también aprendimos a minar Bitcoin con un lápiz y una hoja de papel. ¿Qué sigue en la lista? ¡Game Boy! El youtuber stacksmashing tomó a la clásica consola portátil de Nintendo, la conectó a un ordenador usando un Raspberry Pi Pico como puente entre ambos, y desarrolló una pequeña aplicación compatible con la arquitectura de la Game Boy para minar Bitcoins… o al menos, hacer el intento.
Cómo minar Bitcoin con una consola Game Boy
El vídeo hace un excelente trabajo explicando la teoría esencial de la minería Bitcoin: Cada bloque de datos es procesado dos veces con SHA256, y el hash resultante es un número de 256 bits. Ese número es comparado con el «valor objetivo» generado por la red, y si es menor o igual, la minería del bloque es declarada exitosa, entregando como recompensa 12.5 bitcoins. El bloque actual tiene apenas 76 bytes, a los que debemos sumar cuatro bytes de «valor nonce», y el valor nonce aumenta cada vez que el número obtenido no sea menor al valor objetivo.
En términos relajados… los mineros tratan de adivinar un número extraordinariamente complejo, y si aciertan, reciben bitcoins a cambio. La consola Game Boy de stacksmashing tiene la titánica tarea de recibir ese bloque, procesarlo, y en caso de obtener el número correcto, enviarlo a la red. El problema es que la consola sólo cuenta con un puerto Game Link, pero la falta de compatibilidad es solucionada con un Raspberry Pi Pico, un cable Game Link modificado, y un adaptador de nivel («level shifter») que corrige las diferencias en los voltajes (3.3v para el Pico, 5v en el Game Link).
En resumen: Una hermosa locura
La parte más compleja del proyecto es crear el software adecuado para la consola. Con un kit de desarrollo open source y una implementación SHA256 derivada de la billetera de hardware Trezor, el software para la Game Boy funciona a la perfección. Al mismo tiempo, el Raspberry Pi Pico inicia SPI y USB serial para enviar y recibir datos, logrando que la consola y el ordenador se hablen entre sí. El paso final es crear un nodo bitcoin (con una descarga de varios cientos de gigabytes), y usar un software de minería compatible. El único que funcionó con este proyecto fue ntgbtminer, basado en Python.
¿La buena noticia? El sistema de minería Bitcoin en la Game Boy funciona a la perfección, y todo el código relevante está disponible para quien desee reproducir el proyecto. La mala es que el rendimiento de la consola es de 0.8 hashes por segundo, o sea, 125 billones de veces más lento que un minero ASIC moderno. Paciencia.