Glossário / Mineração e consenso
Bloco obsoleto
- O que é um bloco obsoleto?
- Um bloco obsoleto é um bloco totalmente válido que perdeu a corrida: outro bloco da mesma altura venceu, então a rede construiu sobre esse e abandonou este.
É comum dois mineradores encontrarem uma solução com um segundo de diferença, e por um momento a rede tem duas pontas candidatas. O ramo que for estendido primeiro vence, e pesquisadores que mediram o bitcoin em 2013 descobriram que cerca de 1,7% dos blocos acabam no lado perdedor. Para você isso é invisível: os pagamentos dentro de um bloco obsoleto voltam para a mempool e são minerados de novo.
Como funciona
Um bloco obsoleto é produzido pela latência, não por qualquer defeito no próprio bloco.
A mineração é uma loteria sem coordenação. Quando uma máquina encontra uma solução, seu pool anuncia o bloco, e esse anúncio leva tempo para cruzar o planeta. Até ele chegar, todos os outros mineradores continuam trabalhando sobre a ponta anterior, e qualquer um deles pode encontrar uma segunda solução válida na mesma altura. Agora existem duas versões da verdade, ambas corretas, e o empate é resolvido por quem publicar o próximo bloco em cima de uma delas. A outra se torna obsoleta.
O tamanho da janela é mensurável. Christian Decker e Roger Wattenhofer instrumentaram a rede em 2013 e encontraram uma mediana de 6,5 segundos para um bloco chegar à maioria dos nós, com cerca de 1,7% dos blocos abandonados como resultado. A retransmissão melhorou enormemente desde então. A retransmissão de blocos compactos, especificada no BIP152 e incluída no Bitcoin Core 0.13.0 em agosto de 2016, permite que um par reconstrua um bloco a partir de transações que já tem em sua mempool, enviando alguns kilobytes em vez de um ou dois megabytes, e redes de retransmissão dedicadas levam a propagação típica para menos de um segundo.
Perder custa ao pool o bloco inteiro. A saída coinbase de um bloco obsoleto nunca faz parte do histórico aceito, então seu subsídio e suas taxas não valem absolutamente nada. O protocolo também conta com a possibilidade de isso acontecer: os bitcoins criados em um bloco ficam bloqueados por 100 blocos adicionais, cerca de dezesseis horas, justamente para que ninguém possa gastar uma recompensa que depois se revele ter estado no ramo errado.
Onde você vê isso
É nos exploradores e nos painéis dos pools que um bloco obsoleto se torna visível, geralmente com outro nome.
Vários exploradores publicam uma lista de blocos descartados e a arquivam como blocos órfãos, e é daí que vem a maior parte da confusão de terminologia neste canto do bitcoin. Os painéis dos pools informam uma taxa de blocos obsoletos ou uma taxa de rejeição para as shares que seus mineradores enviam. Em um arranjo de pagamento por share, os mineradores individuais ainda recebem crédito por esse trabalho e o pool absorve a perda, que é uma das coisas que a taxa do pool compra.
O Bitcoin Core expõe isso claramente. Peça a um nó as pontas de cadeia que ele conhece e um bloco obsoleto recente aparece como uma ponta separada marcada como valid fork: totalmente verificado, correto em todos os aspectos e simplesmente não a cadeia com mais trabalho acumulado.
Você também verá isso como a razão pela qual as contagens de confirmações existem. Um pagamento com uma confirmação está em um bloco que ainda pode se revelar o perdedor de uma corrida. Um pagamento com seis blocos de profundidade não está, e é por isso que as corretoras informam suas políticas de depósito em blocos, não em minutos.
Bloco obsoleto vs reorganização da cadeia
Um bloco obsoleto é um objeto; uma reorganização é uma ação. Os dois descrevem o mesmo evento de lugares diferentes. Se o seu nó recebeu o bloco vencedor primeiro, o perdedor simplesmente nunca passa a fazer parte da sua cadeia e nenhuma reorganização ocorre. Se você recebeu o perdedor primeiro, seu nó precisa desconectá-lo e trocar, o que é uma reorganização de um bloco. Eventos de um único bloco como esse acontecem algumas vezes por ano e não significam que algo está errado. Reorganizações com vários blocos de profundidade são outra história, e na cadeia principal do bitcoin elas têm sido extremamente raras.