Blockchain/Nível III · A rede/3.3 Consenso e governança/Lição 6
Ativação do SegWit e o UASF
O impasse entre poder de mineração e participação econômica
MateriaisUm explorador de blocos com dados históricos (por exemplo, blockchain.com ou mempool.space)O repositório BIP no GitHubUm caderno para rastrear os bits de versão e as alturas de bloqueio
Curiosidade
- Por que um soft fork com amplo apoio dos usuários ficou inativo durante a maior parte de um ano?
- Como um Soft Fork ativado pelo usuário (UASF) transfere o equilíbrio de poder dos mineradores para os operadores de nó completo?
- O que impediu uma divisão da cadeia BIP148 (UASF) em 1º de agosto de 2017?
Explorar
- O BIP141, Segregated Witness, utilizou a sinalização BIP9, que exigia que 95% dos blocos em um período de 2.016 blocos indicassem estar prontos. Ao longo de 2016 e no início de 2017, o apoio dos mineradores estagnou em torno de um terço do poder de mineração da rede. Esse impasse gerou tensão porque o mecanismo padrão de ativação dependia dos mineradores indicarem voluntariamente que estavam prontos para aplicar as novas regras de consenso.
- O desenvolvedor pseudônimo Shaolin Fry introduziu o BIP148 em março de 2017 como um soft fork ativado pelo usuário (UASF): a partir de 1º de agosto de 2017, os nós participantes rejeitariam qualquer bloco que não indicasse o uso do SegWit. Isso corria o risco de dividir a cadeia caso a maioria dos mineradores o ignorasse, mas fez com que fossem os nós dos usuários, e não os mineradores, a determinar o prazo final.
- O Acordo de Nova York, em maio de 2017, tentou resolver o conflito entre empresas e mineradores. Os signatários se comprometeram a ativar primeiro o SegWit, seguido posteriormente por um hard fork de 2 MB conhecido como SegWit2x. A maioria dos contribuidores do Bitcoin Core se opôs à parte relacionada ao hard fork e não participou.
- Para evitar a divisão em agosto, o BIP91 foi adotado em julho de 2017. Foi uma implementação separada que se bloqueou assim que 80% dos blocos sinalizaram no bit 4; uma vez ativo, os nós BIP91 rejeitavam blocos que não sinalizassem SegWit, o que empurrou a própria sinalização de 95% do SegWit para além da linha e manteve a cadeia compatível com os nós BIP148.
- O SegWit foi implementado em 9 de agosto de 2017 (bloco 479.808) e ativado no bloco 481.824, em 24 de agosto de 2017. Em 1º de agosto de 2017, ocorreu o hard fork do Bitcoin Cash como um evento separado, impulsionado por aqueles que rejeitaram a abordagem SegWit em favor de blocos maiores. A cadeia original continuou com o SegWit, enquanto o Bitcoin Cash seguiu seu próprio caminho com uma estratégia de escalonamento distinta.
- O hard fork planejado para novembro de 2017, o SegWit2x, foi cancelado devido à forte oposição das exchanges e dos usuários, que temiam uma divisão permanente da rede. As lições disso são controversas: os defensores do UASF atribuem o resultado aos nós dos usuários por forçarem o desfecho, enquanto outros argumentam que mineradores e empresas optaram por ativar o SegWit por meio do Acordo de Nova York e do BIP91. De qualquer forma, mudanças controversas demonstraram precisar do apoio simultâneo de mineradores, empresas e operadores de nós.
Fatos-chave
- O BIP148 (UASF), proposto por Shaolin Fry em março de 2017, fez com que os nós rejeitassem blocos que não indicassem o uso do SegWit a partir de 1º de agosto de 2017.
- O SegWit se bloqueou em 9 de agosto de 2017 (bloco 479.808), após os mineradores sinalizarem por meio do BIP91, e ativou em 24 de agosto de 2017, no bloco 481.824.
- O Bitcoin Cash se separou do Bitcoin em 1º de agosto de 2017, criando um hard fork com blocos maiores, enquanto o SegWit foi ativado na cadeia original.
- O Acordo de Nova York (maio de 2017) foi assinado por empresas que representavam aproximadamente 83% do poder de mineração; seu componente de hard fork de 2 MB, o SegWit2x, foi abortado em novembro de 2017.
- A sinalização BIP9 para o SegWit começou em novembro de 2016, mas estagnou apesar do amplo apoio dos usuários, o que levou ao desenvolvimento do UASF como contramedida.
- O BIP91 se bloqueou com 80% de sinalização e, em seguida, impôs a sinalização do SegWit, evitando uma divisão da cadeia por meio do BIP148.
Exercício nove, seis, três, um
9ReunirListe 9 datas importantes entre novembro de 2016 e novembro de 2017 relacionadas ao processo de ativação do SegWit.
6AgruparAgrupe essas 9 datas em 6 fases: estagnação inicial, proposta UASF, Acordo de Nova York, adoção do BIP91, bloqueio/ativação do SegWit e resolução pós-fork.
3DestilarReduza as 6 fases para 3 dinâmicas centrais que determinaram o resultado do processo de ativação.
1CristalizarEscreva 1 frase explicando por que os operadores de nós completos têm influência significativa sobre as mudanças no protocolo do Bitcoin, apesar de não controlarem o hardware de mineração.
Verificação de fatos
Datas, números e afirmações verificados com as fontes publicadas listadas abaixo.
- BIP141: Segregated Witness (Consensus layer)
- BIP148: Mandatory activation of segwit deployment
- BIP91: Reduced threshold Segwit MASF
- J. Bier, The Blocksize War (2021)