Propagação de Blocos
A propagação de blocos é a forma como um bloco recém-minerado se espalha por uma rede cripto e afeta o risco de blocos obsoletos para os mineradores.
Definição
Propagação de blocos é o processo pelo qual um bloco recém-minerado é transmitido do minerador que o encontrou para o restante da rede de criptomoeda. Uma propagação rápida ajuda os nós receptores a verificarem o bloco rapidamente e começarem a construir sobre a ponta atualizada da cadeia.
Como Funciona
Quando um minerador encontra um bloco válido, ele envia o bloco para peers próximos, para um servidor de pool de mineração ou para uma rede de relay. Cada nó receptor verifica as regras: o cabeçalho do bloco deve apontar para o bloco anterior, a prova de trabalho deve atingir o alvo, e as transações devem ser válidas.
Após a validação, os nós encaminham o bloco para seus próprios peers. O bloco não chega a todos os lugares ao mesmo tempo porque os nós estão distribuídos por diferentes países, provedores de internet e data centers. Largura de banda, latência, desempenho dos nós e tamanho do bloco afetam a velocidade de propagação.
Mineradores se importam com a propagação nos dois sentidos. Eles precisam receber blocos novos rapidamente para poder parar de aplicar hashing em trabalho antigo, e precisam que seus próprios blocos cheguem à rede antes que um bloco concorrente ganhe apoio. Na mineração em pool, o Stratum Protocol ajuda a enviar jobs atualizados quando um novo bloco é descoberto.
Operações de mineração melhoram a propagação com nós bem conectados, hospedagem de baixa latência, várias conexões com peers e redes de relay dedicadas, como a FIBER (Fast Internet Bitcoin Relay Engine). Métodos de relay de blocos compactos, introduzidos pelo BIP 152, reduzem os dados necessários antes que peers possam validar e encaminhar um bloco ao enviar IDs curtos de transações em vez dos dados completos das transações.
Um equívoco comum é achar que a velocidade de propagação depende apenas da largura de banda da internet. Na prática, o tempo de validação do bloco, especialmente para blocos contendo muitas transações ou scripts complexos, pode introduzir atrasos significativos independentemente da velocidade da rede. Grandes pools de mineração às vezes usam técnicas como pré-distribuição de templates de bloco e “spy mining” apenas com cabeçalho, em que pools aceitam shares com base em cabeçalhos parciais de blocos para minimizar o tempo ocioso entre blocos.
Por Que Isso Importa
A propagação de blocos afeta a receita dos mineradores. Se dois mineradores encontram blocos válidos quase na mesma altura, o bloco que chega primeiro a uma parte maior da rede tem mais probabilidade de se tornar parte da cadeia principal. O bloco mais lento pode se tornar um bloco órfão, então o minerador geralmente perde a recompensa do bloco.
Uma propagação rápida também reduz o hash rate desperdiçado. A cada segundo em que um minerador trabalha em um template de bloco desatualizado, esse trabalho tem uma chance menor de produzir um bloco aceito.
No nível da rede, uma boa propagação dá suporte à descentralização. Se apenas os maiores mineradores conseguem compartilhar blocos rapidamente, mineradores menores ficam em desvantagem.