No final de 2020, preocupado com os reflexos da pandemia e sofrendo uma certa instabilidade em meus negócios, resolvi procurar formas de ganhar dinheiro que não exigissem grandes equipes ou abrir um negócio. Honestamente, na época estava um pouco de saco cheio de administrar uma empresa. Foi então que caí de paraquedas no mundo da mineração de criptoativos, especificamente de Ethereum.
Tive algumas experiências com mineração em 2017, porém em um modelo pouco convencional, quando desenvolvi uma mineradora de Monero para navegadores (para quem se interessar, aqui estão os repositórios). Na época me faltava conhecimento do processo de mineração, logo vários erros foram cometidos no processo. No inicio tive certo existo, mas era tarde demais pois sites como o Piratebay destruíram a reputação desse modelo antes mesmo dele se consolidar de fato.
A mineração de Ethereum ainda hoje é feita por meio de placas de vídeo (GPU). Existem também equipamentos específicos, com alto poder de processamento, chamados ASICs. Porém, como está no planejamento do Ethereum 2.0 mudar o método de validação para Proof of Stake, acredito que não estão ocorrendo investimentos significativos no último semestre. Eu tenho uma pequena farm, com um pouco mais de 100 placas de vídeo, e, diferente do que o público em geral imagina, essas “mineradoras” ficam no quarto de empregada do meu apartamento e praticamente não fazem barulho.
Entender o processo completo da mineração é bem complexo, mas vamos tentar resumir, com certa licença poética, para simplificar.
Proof of Work (Prova de trabalho)
O que torna as redes de cripto tão seguras são as validações descentralizadas das transações. Para isso, foi criado um mecanismo muito engenhoso e complexo, semelhante ao jogo SUDOKU. De tempos em tempos a rede gera automaticamente novos blocos que contém uma série de transações a serem validadas. Cada bloco possui um cabeçalho que contém informações de sua origem, o ID do bloco anterior e um número aleatório, chamado Nonce. Este número possui bilhões de possibilidades e mesmo um supercomputador demoraria meses, talvez anos, para encontrar a combinação correta. Para tornar este processo ainda mais custoso para o computador, algumas informações do cabeçalho são criptografadas utilizando o Nonce como chave e esses dados, por sua vez, recebem uma assinatura digital chamada Hash. No caso do Bitcoin, o Hash é o SHA256 simples, pois, quando foi criado, o poder computacional da época não possuía uma capacidade tão grande de processamento. O Ethereum, por outro lado, emprega uma combinação mais elaborada, chamada de Ethash. Utilizando para evitar que a mineração ocorra em certos dispositivos, o Ethash precisa de um conjunto de dados gerados a partir das informações de cabeçalho dos blocos. Esse cache, chamado DAG, é gerado sempre que for iniciado o processo de mineração e ocupa atualmente mais de 8GB de memória RAM. O tamanho desse cache aumenta progressivamente a cada 30mil blocos, portanto os dispositivos de mineração vão ficando obsoletos e precisam ser substituídos com certa frequência. Para os programadores “like a boss”, um esquema mais complexo do Ethash:
Resumindo, a sua placa de vídeo, quando conectada à rede da Ethereum por meio de um software de mineração, vai receber frequentemente instruções do bloco que foi gerado e todos os computadores plugados na rede iniciarão o processo de tentar encontrar a solução matemática para validar o bloco. Mas somente quem descobre primeiro o resultado é que ganha as recompensas da mineração, portanto, a não ser que você seja um bilionário Russo com milhares de GPUs e energia nuclear gratuita, suas chances de minerar sozinho um bloco de Ethereum é quase zero. Por isso, foram criadas as Pools de mineração.
Pool de mineração
As pools de mineração são como cooperativas, que recebem de forma anônima para centenas, as vezes milhares, de mineradores, gerenciam os trabalho de processamento e dividem a recompensa proporcionalmente entre todos os que colaboraram com a descoberta do bloco. No site PoolWatch é possível ver uma lista das maiores pools de mineração, sua capacidade computacional e a quantidade de mineradores ativos. Existem alguns tipos diferentes de remuneração e taxas. Na minha mineradora eu utilizado a Hiveon, pois ela é a pool do sistema HiveOS. No site da pool é possível observar quanto, em média, esta sendo a remuneração pela mineração. Esse valor muda frequentemente, de acordo com vários fatores e a medição é feita pela unidade de Mega Hashs por segundo (MH/s). Uma Nvidia RTX3080 faz por volta de 100MH/s quando bem configurada e com Overcloak. O bom de minerar com GPU é a possibilidade de migrar do Ethereum para outras Altcoins com certa facilidade. Para saber qual cripto está mais rentável em relação ao hardware disponível, utilizamos sites como WhatToMine. Particularmente eu prefiro manter sempre a mineração em Ethereum, pois, além de ganhar minerando, é possível lucrar nos períodos de alta da moeda, se você mantiver uma certa reserva.