698 / 736BIP54

Consensus Cleanup

BIP 54 — correções de casos-limite do consenso

Consensus Cleanup é a especificação concluída do soft fork BIP 54 que reúne correções para timewarp, blocos patologicamente lentos, a ambiguidade das transações de 64 bytes e possíveis transações coinbase duplicadas no futuro.

BIP 54 restringe quatro casos-limite históricos do consenso sem acrescentar um novo opcode para usuários; Complete significa especificação concluída, não ativação na Bitcoin mainnet.

Antoine Poinsot e Matt Corallo reuniram no BIP 54 quatro correções bem delimitadas: timewarp, blocos de validação extremamente cara, a fraqueza da árvore de Merkle em transações de 64 bytes e o risco futuro de transações coinbase duplicadas. O pacote não adiciona um novo opcode para usuários. [1]

Na fronteira de cada período de 2016 blocos, o BIP exige que o timestamp do primeiro bloco seja no mínimo o horário do bloco anterior menos 7 200 segundos e que o timestamp do último seja no mínimo o do primeiro bloco do período. Isso fecha o timewarp clássico e um período Murch–Zawy negativo. [1]

Para cada transação que não seja coinbase, define um teto de 2 500 legacy signature operations contadas em scriptSig, scriptPubKey e P2SH redeemScript. O BIP afirma que isso reduz em cerca de quarenta vezes o pior tempo de validação sem afetar transações standard comuns. [1]

Transações cuja serialização sem witness data tenha exatamente 64 bytes seriam inválidas após a ativação. Os mesmos 64 bytes podem ser interpretados como o par de hashes de um nó interno da árvore de Merkle, dificultando provas simplificadas seguras. [1]

A coinbase teria de usar nLockTime igual à altura do bloco menos 1 e nSequence diferente de 0xffffffff. Cada coinbase futura passa a diferir das exceções históricas e, após a ativação, a verificação BIP 30 pode ser omitida para sempre antes da altura de risco mais próxima, 1 983 702. [1]

A especificação alcançou a versão 1.0.0 e o status Complete em maio de 2026. O changelog indica 22 de maio; Bitcoin Core possui uma implementação de referência sem ativação na mainnet e já cria modelos de bloco mais compatíveis, mas nada disso liga sozinho as novas regras. [3]

O rascunho BIP 95 para Testnet 5 prevê BIP 54 desde o bloco 1, mas ele próprio permanece Draft. Uma rede de teste, signet ou código inativo ajuda a verificar a implementação; não demonstra consenso na mainnet. [4]

Para verificar uma afirmação, é preciso conferir a versão atual do BIP, o estado de qualquer mecanismo de ativação e a versão exata do node. Complete descreve um documento terminado; a validação plena das novas regras só começa após uma ativação separada do soft fork, caso ela ocorra. [2]

Para ter uma visão mais completa, leia este verbete junto com Regras de consenso, Soft Fork, Timewarp Attack, Proof of Work, Bitcoin Core, Transação. Também há referências a este verbete em Timewarp Attack.

01BIP 54 está ativo na Bitcoin mainnet?

Não. A especificação está Complete e existe uma implementação sem ativação na mainnet, mas as restrições de consenso exigem um processo de ativação separado.

02O que exatamente Consensus Cleanup muda?

Restringe timestamps nas fronteiras dos períodos de dificuldade, limita legacy sigops por transação, proíbe transações de exatamente 64 bytes sem witness data e garante a unicidade de futuras coinbase.

DOC · 001BIP 54 — Consensus CleanupEspecificação DOC · 002Bitcoin Optech — Consensus cleanup soft forkDocumentação DOC · 003Bitcoin Core PR 31555 — Implement BIP 54 without mainnet activationFonte primária DOC · 004BIP 95 — Testnet 5Especificação
Revisto em: Fontes em primeiro lugar · Não é recomendação de investimento