Visão geral
Os bits de versão (definidos no BIP9) são um mecanismo de implantação que permite aos mineradores Bitcoin sinalizar sua prontidão para as atualizações de soft fork propostas, definindo bits específicos no campo de versão do cabeçalho do bloco. Esse mecanismo permite que múltiplas propostas de atualização independentes sejam sinalizadas simultaneamente e fornece um processo claro e mensurável para avaliar o suporte dos mineradores antes da ativação.
Como os bits de versão funcionam
O campo de versão do cabeçalho do bloco é um inteiro de 32 bits. O BIP9 reserva os bits 0-28 para sinalização, permitindo rastrear até 29 propostas de soft fork de uma vez:
Campo de versão do cabeçalho do bloco (32 bits):
┌──────────────────────────────────────┐
│ Bits 31-29: Devem ser 001 (BIP9) │
│ Bit 28: Sinalização proposta A │
│ Bit 27: (não utilizado) │
│ Bit 26: (não utilizado) │
│ ... │
│ Bit 1: Sinalização proposta X │
│ Bit 0: Sinalização proposta Y │
└──────────────────────────────────────┘
Exemplo: SegWit usou o bit 1
Taproot usou o bit 2 (via BIP8/Speedy Trial)
Processo de ativação
Cada implantação BIP9 segue um ciclo de vida definido:
- Definido: A proposta é especificada com tempo de início, tempo limite e número de bit atribuído.
- Iniciado: Após o tempo de início, os mineradores começam a sinalizar definindo o bit atribuído nos blocos que mineram.
- Bloqueado: Se 95% (ou outro limiar) dos blocos em um período de retarget de 2016 blocos sinalizarem suporte, a atualização é bloqueada.
- Ativo: Após um período de retarget adicional, as novas regras de consenso passam a ser aplicadas.
- Falhou: Se o tempo limite passar sem atingir o limiar, a proposta falha e o bit é liberado.
Evolução dos métodos de ativação
O BIP9 foi usado para a ativação do SegWit, mas se mostrou controverso por dar aos mineradores poder de veto sobre mudanças de consenso. Isso levou a mecanismos alternativos:
- BIP148 (UASF): Os usuários ameaçaram rejeitar blocos que não sinalizassem para o SegWit, aplicando pressão econômica sobre os mineradores.
- BIP8: Uma versão aprimorada do BIP9 com um "bloqueio no tempo limite" opcional (LOT=true) que força a ativação se o tempo limite for atingido.
- Speedy Trial: Uma variante usada para a ativação do Taproot com uma janela de sinalização mais curta e maior confiança de que a adoção pelos mineradores já era generalizada.
Conceitos errôneos comuns
A sinalização dos mineradores via bits de versão não é um "voto" no sentido democrático. Indica prontidão técnica, e não preferência política. Os mineradores sinalizam para coordenar o momento da ativação, não para decidir se uma atualização deve ocorrer. Em última análise, são os nós que aplicam as regras de consenso que determinam o que constitui um bloco válido.