Blockchain/Nível III · A rede/3.1 Nós/Lição 7
Regras de consenso e validação
A lista de regras que transforma um bloco em dinheiro
MateriaisUm explorador de blocos públicoA especificação BIP141Opcional: um nó Bitcoin Core
Curiosidade
- O que impede um minerador com mais poder de imprimir moedas infinitas?
- Por que uma transação que seu nó se recusa a retransmitir ainda pode acabar em um bloco válido?
- Se houver mudança no código de consenso, todos precisam fazer o upgrade exatamente ao mesmo tempo?
Explorar
- As regras de consenso são os critérios rigorosos que todo nó completo utiliza para validar blocos. Elas definem o que é tecnicamente possível: o cronograma de emissão, o limite de peso do bloco de 4.000.000 de unidades, a dificuldade do proof-of-work e a validade das assinaturas. Um bloco que violar qualquer uma dessas regras é rejeitado por todos os nós honestos, independentemente da quantidade de poder de processamento utilizado para sua geração. Os mineradores propõem blocos; os nós decidem se eles são aceitos. Essa separação garante que nenhuma entidade possa alterar unilateralmente o estado do livro-razão.
- As regras de política determinam o que um nó transmite para seus pares antes da mineração. Elas incluem limites de volume de transações, taxas mínimas de transmissão e tipos padrão de scripts. Uma transação que viola a política é descartada pela maioria dos nós, mas permanece válida se um minerador a incluir em um bloco. Essa distinção é importante: confiar na rejeição por parte das políticas para garantir segurança é arriscado, pois um agente determinado pode contornar os filtros dos pares e enviar as transações diretamente aos mineradores, forçando a rede a aceitar transações não padrão desde que elas atendam ao consenso.
- O código é a especificação. As regras são aquelas que o software dos nós amplamente utilizados realmente impõe, incluindo os casos extremos, e é por isso que as alterações no código de consenso ocorrem lentamente e são revisadas com mais intensidade do que qualquer outro elemento no Bitcoin Core. Os bugs relacionados ao consenso são tratados como emergências: o bug de overflow de valores em 2010 e o bug de inflação em 2018 foram ambos corrigidos sob pressão, por meio de lançamentos coordenados.
- Alterações nessas regras exigem adoção coordenada. Os soft forks tornam as regras mais rígidas, de modo que os nós não atualizados ainda aceitam os novos blocos; os hard forks as flexibilizam ou alteram, fazendo com que todos os nós precisem ser atualizados ou se separarem. Uma lição posterior abordará ambos em detalhes. O SegWit (agosto de 2017) foi um soft fork; o Bitcoin Cash (agosto de 2017) surgiu de uma disputa sobre hard forks relacionada aos limites de tamanho dos blocos.
- Produzir um bloco é caro; verificar um é barato. Um minerador que produz um bloco inválido perde a recompensa e a energia gasta, pois todos os nós de validação o descartarão, o que torna a violação das regras uma aposta dispendiosa. Esse custo reforça a rigidez da validação: a segurança da rede depende de milhares de nós independentes que verificam cada cabeçalho e transação, garantindo que nenhum ponto único de falha possa corromper o estado compartilhado.
- Abra um explorador de blocos como mempool.space ou blockchain.com. Selecione qualquer bloco recente e examine seu campo “peso”. Compare esse número com o limite de 4.000.000 de unidades de peso definido no BIP141. Observe quão perto os blocos modernos ficam desse teto, o que reflete os mineradores maximizando a receita por byte, ao mesmo tempo em que respeitam as restrições do consenso impostas por todos os nós.
Fatos-chave
- As regras de consenso definem a validade do bloco; as regras de política definem o relé de transações.
- O peso máximo do bloco é de 4.000.000 de unidades com SegWit (BIP141).
- As saídas da Coinbase precisam de 100 confirmações antes de poderem ser gastas.
- O SegWit foi ativado em agosto de 2017 como um soft fork no bloco 481,824.
- O código de consenso é revisado com muito mais cautela do que outros códigos, pois qualquer divergência pode dividir a cadeia.
- Transações não padrão podem ser válidas se forem mineradas, apesar de serem descartadas pelos nós de retransmissão.
Exercício nove, seis, três, um
9ReunirListe 9 verificações de validação específicas realizadas em um novo cabeçalho de bloco ou transação no Bitcoin Core.
6AgruparAgrupe as 9 verificações em 6 categorias: integridade estrutural, limites econômicos, validade criptográfica, restrições de tempo, transições de estado e parâmetros de rede.
3DestilarReduza as 6 categorias para 3 tipos de dano que as regras de consenso impedem.
1CristalizarEscreva 1 frase explicando por que a rejeição de um bloco por um nó é definitiva, independentemente da intenção do minerador.
Verificação de fatos
Datas, números e afirmações verificados com as fontes publicadas listadas abaixo.