Imagem retirada em 14/03/2022 de: https://twitter.com/jihanwu/status/704476839566135298
Jihan Wu é cofundador da empresa Bitmain [01], criada em 2013, que produz as famosas máquinas de mineração Antminers (baseadas no chip ASIC - Application Specific Integrated Circuit, desenvolvidos especificamente para trabalhar com os algoritmos SHA-256), o tuíte acima em tradução livre diz mais ou menos o seguinte: “desculpe, continuaremos minerando blocos vazios. Esta é uma liberdade dada pelo protocolo do Bitcoin”. A manifestação de Jihan Wu tem explicação em outro detalhe do universo da mineração de criptomoedas. Dois pools de mineração nasceram da Bitmain sendo que uma delas, a AntPool é uma dos maiores e a outra é a BTC,com que foi vendida em 2021 para BIT Mining, uma mineradora com sede nos Estados Unidos [02]. Com o aumento da mineração em território americano o modelo de mineração via pool pode vir a ser substituído pela mineração feita por empresas num futuro próximo.
Desde que nasceu lá em janeiro de 2009 o Bitcoin convive com este estranho e/ou curioso fenômeno da mineração de blocos vazios. Desde aquela época alguns especialistas tentam desestimular a mineração de blocos vazios. Considerando que existem pools que nunca mineraram blocos vazios e com base no que declarou Jihan Wu, a mineração de blocos vazios também passa pela vontade do minerador. Aparentemente, se não quiser, o minerador não minera bloco vazio. Na teoria a mineração de blocos vazios não faz sentido, pode fazer se o interesse for apenas para embolsar a recompensa, mas na prática pode ter algumas explicações.
A hipótese do mempool estar vazio como justificativa para a mineração de um bloco vazio poderia ter alguma veracidade lá nos primeiros meses do começo da história do Bitcoin. De acordo com o usuário Kano do fórum Bitcointalk que afirma ser dono de um pool de mineração é possível contar nos dedos de uma mão os momentos em que o mempool estave completamente vazio nos últimos 6 anos (a postagem é de 2020). Ele vai além, diz que seu pool já minerou 2.429 e apenas um bloco vazio foi inadvertidamente minerado pelo seu pool [03].
Alguns Dados (Controversos) Sobre a Quantidade de Blocos Vazios
Num artigo assinado por Celia Wan que foi publicado em 15/06/2020 no site theblockcrypto,com [04] temos uma estatística referente ao começo de 2020. Apesar da frase específica sobre a quantidade de blocos vazios não fazer referência direta ao Bitcoin o título indica que a autora está falando de Bitcoin: “Bitcoin miners are mining fewer empty blocks in 2020, and it may not all be due to chance” em tradução livre o título diz: “Mineradores de Bitcoin estão minerando menos blocos vazios em 2020 e pode ser que não seja por acaso”. Transcrevemos o parágrafo com os dados: “According toThe Block’s research a total of 71 empty blocks, or blocks that do not contain any transactions, were mined in the first five months of 2020, accounting for 0.3% of the total blocks produced. This is less than half of the 0.79% figure from the same period last year”, em tradução livre: “De acordo com pesquisa do The Block Research nos cinco primeiros meses de 2020 foram minerados um total de 71 blocos vazios que não continham nenhuma transação representando 0,3% do total de blocos minerados. Isso representa menos da metade do percentual de 0,79% do mesmo período do ano anterior”. (obs.: considera-se vazio ou sem nenhuma transação apesar da quantidade de transações destes blocos chamados de vazios mostrarem 1 transação porque trata-se da transação coinbase que gera novos bitcoins pagos como recompensa para o minerador responsável pelo novo bloco). Três coisas para se notar por aqui: a) a queda de um ano para outro dentro do mesmo período avaliado; b) o baixo percentual de blocos vazios num período de quase meio ano (5 meses); e c) Alguns pools que mais contribuíram para a mineração de blocos vazios são aqueles que também aparecem na lista das mineradoras que tem mais hashes direcionados para a mineração de bitcoin: F2Pool, BTC,com, ViaBTC, AntPool e SlushPool.
Dois meses depois, no dia 18/08/2020 foi publicado um artigo no site braiins,com o seguinte título: “Why Pools Mine Empty Blocks and How Stratum V2 Fixes This”, em tradução livre: “Porque Pools Mineram Blocos Vazios e como Stratum V2 Resolve Isso” [05]. A Brainns é uma empresa de software especializada em mineração de criptomoedas e tem entre seus clientes a SlushPool. Transcrevemos um trecho do começo do artigo: “More than 15% of the blocks in the Bitcoin blockchain do not contain any transactions, except of course the coinbase transaction rewarding the miner with newly issued coins”, em tradução livre: “Mais de 15% dos blocos no Blockchain do Bitcoin não contêm nenhuma transação além da transação coinbase referente a recompensa paga ao minerador com criação de novas moedas”. Fazendo uma conta aproximada e considerando que o bloco 642.000 foi minerado no dia 03/08/2020, alguns dias antes do artigo ser publicado, no dia 18/08/2020, teríamos algo em torno de 96 mil blocos vazios.
Num artigo publicado em 29/05/2021 no blog Cypherpunk Cogitations com o título original “Empty Blocks, Full Mempool” [06] assinado por Jameson Lopp ele afirma o seguinte: “All in all I found 1,567 empty blocks mined between full blocks in the entire history of the blockchain”, em tradução livre: “Ao todo eu encontrei 1.567 blocos vazios em todo o histórico de blocos do blockchain”. O levantamento dele foi feito com uso de um script que ele mesmo escreveu. No final do mês de maio de 2021 a numeração de blocos estava na casa dos 685.000. Neste caso os 1.567 blocos não chegam nem perto de 1% que daria algo em torno de 6.8 mil blocos.
No principal fórum dedicado a discussões sobre Bitcoin, o Bitcointalk que foi criado pelo próprio Satoshi Nakamoto, num tópico com o título bitcoin empty blocks o usuário Picard78 diz que encontrou 11 blocos vazios entre os 966 blocos minerados no período de uma semana, partindo do bloco 644.232 (minerado em 18/08/2020) ao 645.198 (minerado em 24/08/2020). Isso dá pouco mais de 1.1% [07].
Um gráfico publicado no mesmo artigo do blog Cypherpunk Cogitations [6] que abrange um período grande de maio de 2015 a maio de 2021 indica uma tendência de queda. Nesse período houve um mês atípico que foi abril de 2017 onde houve um volume bem acima do normal. (obs.: Uma das possíveis explicações para o número anormal de blocos vazios minerados em 2017 remete ao fork que deu origem ao bitcoin cash. Na época Jihan Wu foi um grande defensor do aumento do tamanho do bloco e suas mineradoras AntPool e BTC,com estariam minerando blocos vazios de propósito para aumentar a fila do mempool e para mostrar que o tempo gasto para minerar um bloco vazio e outro cheio era mais ou menos próximo).
Imagem retirada em 16/03/2022 de: Empty Blocks, Full Mempool
Numa postagem feita no fórum Bitcointalk em 03/05/2020 com o título “Bitcoin’s Empty Blocks Analaysis” [08] o usuário mikeywith postou alguns gráficos, entre eles temos um que totaliza a quantidade de blocos vazios apurados ano a ano, de 2015 a 2019: 2015 = 1701, 2016 = 977, 2017 = 528, 2018 = 438 e 2019 = 314. Nesta apuração, mesmo que a quantidade de blocos vazios detectados seja muito maior, também temos uma tendência de queda. Entre os maiores mineradores de blocos vazios encontramos os pools de mineração (AntPool, F2Pool e BTC,com) de acordo com gráficos publicados na mesma postagem pelo usuário mikeywith.
O foco aqui é falar sobre blocos vazios do Bitcoin, mas como trombamos com esta informação vamos registrar por aqui um percentual de blocos vazios no Ethereum, citado num artigo publicado pela Viabtc [09] que por sinal é um pool de mineração, transcrevemos um trecho do texto original: ”According to the above data, the empty rate of most ETH mining pools is less than 5%, and only NanoPool and an individual address exceed the normal level”, em tradução livre: ”De acordo com os dados acima o índice de blocos vazios minerados por pools no ETH é menor do que 5% com exceção apenas do NanoPool e de alguns mineradores isolados”.
O assunto blocos vazios volta e meia aparece no noticiário dos sites especializados ou nos fóruns que debatem temas relacionados a criptomoedas e Blockchains.
No fórum bitcoin.stackexchange [10], por exemplo, este tema já apareceu em 2011 e de lá para cá, de tempos em tempos, costuma aparecer alguém por lá perguntado sobre este assunto.
Imagens retiradas de consultas feitas no Google em 14/03/2022.
Mesmo nos dias atuais não precisamos fazer muito esforço para encontrar um bloco vazio, ou contendo apenas uma transação, a coinbase que gera os bitcoins da recompensa pela mineração do bloco. No dia 06/03/2022, por exemplo, encontramos um bloco vazio, ou melhor, contendo apenas a transação coinbase.
Imagem retirada em 08/03/2022 do site: Blockchain.com Explorer | BTC | ETH | BCH
O bloco 726182 foi minerado por uma cooperativa (polonesa) de mineradores, a SlushPool [11]. De acordo com dados do site blockchain,com consultado nesta data é um dos 5 maiores pools de mineração de bitcoins. O SlushPool foi criado em 2010 por Marek “Slush” Palatinus que não faz parte desta cooperativa desde 2013.
Abrindo um parêntese antes de continuar existe uma curiosidade ligada ao apelido Slush. O conceito de pool de mineração foi apresentado publicamente em 27/11/2010 pelo usuário Slush no fórum bitcointalk. De acordo com o site da SlushPool eles já mineraram mais de 1.284.465 bitcoins desde 2010. Em 2013 Marek “Slush” Palatinus partiu para novos empreendimentos. Slush é cofundador da Trezor, que é considerado uma das carteiras offline mais seguras que existem.
Continua…