Apesar de toda a criptoloucura que nos cerca atualmente, a mineração de Bitcoin se tornou uma missão quase impossível para usuários independentes, e apenas as fazendas equipadas com hardware ASIC têm chances de sucesso diante do assustador nível de dificuldade. No entanto, isso não elimina o potencial educacional do Bitcoin, e é assim que chegamos ao youtuber stacksmashing, que decidiu modificar um console Game Boy para tentar minerar algumas moedas…
Bitcoin, Bitcoin, Bitcoin
No momento em que escrevo estas linhas, cada unidade vale 59.500 dólares, e sua capitalização de mercado supera um trilhão de dólares. Claro, estou falando do Bitcoin, a criptomoeda por definição. Com poucas exceções, as demais moedas se comportam como rolhas flutuando na água do Bitcoin: acompanham suas altas e recuam diante de cada queda. Ainda assim, ninguém consegue parar de falar sobre elas, e com certas personalidades expressando seu apoio via Twitter (!), digamos que há muito o que discutir.
Isso inclui o lado técnico e educacional do Bitcoin. No passado, vimos o interior das maiores minas de Bitcoin do mundo e também aprendemos a minerar Bitcoin com lápis e papel. O que vem agora? Game Boy! O youtuber stacksmashing pegou o clássico console portátil da Nintendo, conectou-o a um computador usando um Raspberry Pi Pico como ponte, e desenvolveu um pequeno aplicativo compatível com a arquitetura do Game Boy para minerar Bitcoins... ou pelo menos, tentar.
Como minerar Bitcoin com um console Game Boy
O vídeo faz um excelente trabalho explicando a teoria essencial da mineração de Bitcoin: Cada bloco de dados é processado duas vezes com SHA256, e o hash resultante é um número de 256 bits. Esse número é comparado com o valor alvo gerado pela rede, e se for menor ou igual, a mineração do bloco é declarada bem-sucedida, entregando como recompensa 12,5 bitcoins. O bloco atual tem apenas 76 bytes, aos quais devemos somar quatro bytes de valor nonce, e o valor nonce aumenta cada vez que o número obtido não é menor que o valor alvo.
Em termos simples... os mineradores tentam adivinhar um número extraordinariamente complexo, e se acertarem, recebem bitcoins em troca. O console Game Boy de stacksmashing tem a titânica tarefa de receber esse bloco, processá-lo e, caso obtenha o número correto, enviá-lo para a rede. O problema é que o console só possui uma porta Game Link, mas a falta de compatibilidade é resolvida com um Raspberry Pi Pico, um cabo Game Link modificado e um adaptador de nível (level shifter) que corrige as diferenças de voltagem (3,3V para o Pico, 5V no Game Link).
Em resumo: Uma bela loucura
A parte mais complexa do projeto é criar o software adequado para o console. Com um kit de desenvolvimento open source e uma implementação SHA256 derivada da carteira de hardware Trezor, o software para o Game Boy funciona perfeitamente. Ao mesmo tempo, o Raspberry Pi Pico inicia SPI e USB serial para enviar e receber dados, fazendo com que o console e o computador conversem entre si. O passo final é criar um nó Bitcoin (com um download de várias centenas de gigabytes) e usar um software de mineração compatível. O único que funcionou com este projeto foi o ntgbtminer, baseado em Python.
A boa notícia? O sistema de mineração de Bitcoin no Game Boy funciona perfeitamente, e todo o código relevante está disponível para quem quiser reproduzir o projeto. A má é que o desempenho do console é de 0,8 hashes por segundo, ou seja, 125 trilhões de vezes mais lento do que um minerador ASIC moderno. Paciência.