Como funciona a mineração de bitcoins?

Quando você ouve falar sobre “mineração” de bitcoin, você imagina moedas sendo escavadas do chão. Mas o bitcoin não é físico, então por que o chamamos de mineração?

Porque é semelhante à mineração de ouro em que os bitcoins existem no design do protocolo (assim como o ouro existe no subsolo), mas eles ainda não foram trazidos para a luz (assim como o ouro ainda não foi desenterrado). O protocolo bitcoin estipula que 21 milhões de bitcoins existirão em algum momento. O que os “mineiros” fazem é trazê-los para a luz, alguns de cada vez.

Eles conseguem fazer isso como recompensa por criar blocos de transações validadas e incluí-las no blockchain.

Nós

Retrocedendo um pouco, vamos falar sobre “nós”. Um nó é um computador poderoso que executa o software bitcoin e ajuda a manter o bitcoin rodando ao participar da transmissão de informações. Qualquer um pode rodar um nó, basta baixar o software bitcoin (gratuito) e deixar uma certa porta aberta (a desvantagem é que consome energia e espaço de armazenamento – a rede no momento da gravação ocupa cerca de 145GB). Os nós espalham as transações de bitcoin pela rede. Um nó enviará informações para alguns nós que ele conhece, que retransmitirá as informações para os nós que eles conhecem, etc. Dessa forma, ele acaba contornando toda a rede rapidamente.

Alguns nós são nós de mineração (geralmente chamados de “mineiros”). Estes agrupam transações pendentes em blocos e os adicionam ao blockchain. Como eles fazem isso? Resolvendo um quebra-cabeça matemático complexo que faz parte do programa bitcoin e incluindo a resposta no bloco. O quebra-cabeças que precisa ser resolvido é encontrar um número que, quando combinado com os dados no bloco e passado por uma função hash, produz um resultado dentro de um determinado intervalo. Isso é muito mais difícil do que parece.

(Para os amantes de curiosidades, esse número é chamado de “nonce”, que é uma concatenação do “número usado uma vez”. No caso do bitcoin, o nonce é um inteiro entre 0 e 4.294.967.296).

Resolvendo o quebra-cabeça

Como eles encontram esse número? Por adivinhar aleatoriamente. A função hash torna impossível prever qual será a saída. Assim, os mineiros adivinham o número misterioso e aplicam a função hash à combinação desse número adivinhado e dos dados no bloco. O hash resultante tem que começar com um número pré-estabelecido de zeros. Não há como saber qual número funcionará, porque dois inteiros consecutivos darão resultados muito diferentes. Além do mais, pode haver vários nonces que produzem o resultado desejado, ou pode não haver nenhum (nesse caso, os mineiros continuam tentando, mas com uma configuração de bloco diferente).

O primeiro mineiro a obter um hash resultante dentro da faixa desejada anuncia sua vitória para o resto da rede. Todos os outros mineiros param imediatamente de trabalhar naquele bloco e começam a tentar descobrir o número misterioso do próximo. Como recompensa pelo seu trabalho, o mineiro vitorioso recebe um novo bitcoin.

Economia

No momento da escrita, a recompensa é de 12,5 bitcoins, que no momento da escrita vale quase US $ 200.000.

Embora não seja tão fácil quanto parece. Há muitos nós de mineração competindo por essa recompensa, e é uma questão de sorte e poder de computação (quanto mais cálculos de adivinhação você puder realizar, mais sorte você terá).

Além disso, os custos de ser um nó de mineração são consideráveis, não apenas por causa do poderoso hardware necessário (se você tem um processador mais rápido que seus concorrentes, tem mais chances de encontrar o número correto antes deles), mas também as grandes quantidades de eletricidade que esses processadores consomem.

E o número de bitcoins atribuídos como recompensa pela solução do quebra-cabeça diminuirá. Agora são 12,5, mas a metade é de quatro em quatro anos (o próximo é esperado em 2020-21). O valor do bitcoin em relação ao custo de eletricidade e hardware pode subir nos próximos anos para compensar parcialmente essa redução, mas não é certo.

Dificuldade

A dificuldade do cálculo (o número necessário de zeros no início da sequência hash) é ajustada com freqüência, de modo que leva em média cerca de 10 minutos para processar um bloco.

Por que 10 minutos? Essa é a quantidade de tempo que os desenvolvedores de bitcoin acham que é necessário para um fluxo constante e decrescente de novas moedas até que o número máximo de 21 milhões seja atingido (esperado em algum momento em 2140).

Se você chegou até aqui, então parabéns! Ainda há muito mais a explicar sobre o sistema, mas pelo menos agora você tem uma idéia do amplo esboço do gênio da programação e do conceito. Pela primeira vez, temos um sistema que permite transferências digitais convenientes de forma descentralizada, livre de confiança e à prova de adulterações. As repercussões podem ser enormes.