Um evento incomum aconteceu na rede do Bitcoin na manhã desta quarta-feira (9): um único bloco foi adicionado na blockchain contendo apenas uma transação.
O bloco 726565 foi gerado por participantes do pool de mineração Antpool e, mesmo processando apenas uma transação, entregou ao minerador a recompensa padrão de 6,25 BTC, cerca de R$ 1,3 milhão na atual cotação da moeda.
Ao analisar os dados públicos da blockchain no BTC.com, é possível observar que o bloco antecessor ao 726565 continha 3,7 mil transações, e seu sucessor, outras 2,7 mil transações.
Já o bloco 726565 continha apenas uma transação que sequer partiu dos membros da comunidade: era apenas o bitcoin recém-criado sendo transferido para a carteira do minerador.
Desvendando o mistério
Embora seja um evento curioso, não é algo tão raro assim. Desde domingo (6), isso aconteceu quatro vezes na rede. Antes disso, a última vez que um bloco entrou na blockchain do bitcoin com apenas uma transação foi em 24 de fevereiro.
Bruno Ely Garcia, desenvolvedor da 2TM especializado no Bitcoin Core, disse ao Portal do Bitcoin que é difícil explicar com clareza porque eventos anormais como esse acontecem. Para Garcia, não se trata de um problema na rede ou algo parecido, mas sim um acaso no qual os mineradores conseguiram encontrar dois blocos em um curto intervalo de tempo.
“Não tem um motivo específico. Geralmente pode acontecer de dois blocos serem minerados juntos e propagados ao mesmo tempo: um vem lotado de transações e o outro vazio. Assim o minerador ganha duas recompensas de bloco mais taxas das transações”, explicou Garcia.
Ou seja, é possível que quando um minerador encontre um bloco segundos depois de outro já ter sido adicionado na rede, não tenha tempo de organizar as transações que deveriam ser processadas. Também pode ser que nesse intervalo de segundos entre blocos, não haja novas transações à espera de validação.
Imprevisibilidades do bitcoin
O estado da mempool pode ajudar a entender melhor o ocorrido. Quando um usuário faz uma transação de bitcoin, ela é transferida para a mempool (uma espécie de tanque de transações) à espera de ser pega por um minerador e adicionada a um bloco.
No caso desta manhã, por exemplo, três blocos foram adicionados na rede do Bitcoin praticamente ao mesmo tempo, entre às 10h15 e às 10h16, como é possível ver na imagem anterior.
Desse trio, dois blocos foram minerados pela AntPool: um deles com 2,6 mil transações e o outro vazio, contendo apenas a recompensa do bitcoin recém-gerado.
Além desses dois blocos, outro minerado pela Binance Pool entrou na rede ao mesmo tempo, com 3,7 mil transações — um número mais alto do que o “normal” da rede. Curiosamente, antes desses eventos, a rede ficou 45 minutos sem receber nenhum bloco, o que também foge à regra geral.
O protocolo do Bitcoin estabelece que um novo bloco deve ser gerado a cada dez minutos, mas esse intervalo de tempo vai variar dependendo do estado da rede. Fatores como o número de transações à espera de confirmação e a quantidade de mineradores disponíveis para validá-las podem provocar alterações.
O desenvolvedor Narcélio Filho explicou à reportagem que, como essa inclusão de novos blocos na rede é aleatória, pode fugir do padrão:
“Os mineradores pegam quantas transações na mempool puderem para colocar no bloco. Quando algum deles produz um bloco, todos os outros precisam reiniciar todo o trabalho, verificando na sua cópia da mempool quais transações ainda estão esperando para entrar e quais já foram. Basicamente precisam reconstruir o novo gabarito de bloco. Enquanto isso, para não perder tempo, ficam tentando minerar um bloco vazio, pelo ‘vai que dá certo’”.
O desenvolvedor pontuou que, além do fator de casualidade da blockchain, blocos vazios podem aparecer também se algum minerador não estiver preocupado em organizar as transações.
“No passado alguns vírus mineradores se comportavam assim. Dá menos trabalho de implementar e menos retorno, mas para um vírus é mais interessante. Em 2017 havia suspeita de que algumas pools de mineração estivessem produzindo blocos vazios para explorar um problema do Bitcoin que favorecia isso, chamado ‘AsicBoost’, mas, se não me engano, o SegWit resolveu esse problema”, concluiu o desenvolvedor.