Testemunha Segregada, também conhecido como SegWit, é um soft fork do Bitcoin implementado em agosto de 2017 que separou os dados de assinatura e os dados de transação em um bloco de Bitcoin. Dessa maneira, saiba como funciona e o que é Testemunha Segregada (SegWit) no artigo abaixo.
O que é Testemunha Segregada (SegWit)?
O SegWit foi oficialmente chamado de BIP 141 e foi proposto por Eric Lombrozo, Johnson Lau e Pieter Wuille em dezembro de 2015.
A atualização teve como objetivo resolver problemas de escalabilidade e maleabilidade de transações no protocolo Bitcoin.
É uma das atualizações mais notáveis do roteiro de escalabilidade do Bitcoin.
Como funciona Testemunha Segregada (SegWit)?
Para entender completamente a definição de SegWit e por que ele foi implementado, precisamos aprender os conceitos básicos de uma transação de Bitcoin.
Uma transação de Bitcoin contém duas partes principais: os dados básicos da transação e a testemunha.
- Os dados básicos de transação consistem nas entradas e saídas de bitcoins de um endereço para outro.
- A testemunha contém dados de assinatura digital que comprovam a propriedade dos bitcoins que estão sendo gastos.
No protocolo antigo do Bitcoin, tanto os dados da transação quanto os da testemunha eram armazenados como um só em um bloco do Bitcoin.
Com o Segwit, uma nova estrutura foi introduzida onde os dados de testemunhas contendo scripts e assinaturas foram compartimentados separadamente no bloco do Bitcoin.
O que o SegWit resolve?
Maleabilidade da transação
O protocolo Bitcoin tem um bug conhecido como “bug de maleabilidade”.
O código permite que assinaturas digitais sejam alteradas mesmo quando uma transação ainda está esperando para ser validada.
Embora a alteração não afete a validade da assinatura, ela afeta o valor hash (ou o identificador único) da transação.
Este efeito cria complicações em soluções de dimensionamento de camada dois, como o Lightning Network, e afeta novas transações criadas a partir de transações não confirmadas.
O SegWit resolve esse problema segregando as assinaturas digitais dos dados de transação de entrada e saída.
Escalabilidade
Uma das maiores limitações da rede Bitcoin é seu limite de tamanho de bloco de 1 MB.
Resolver essa limitação de escala não é tão simples quanto aumentar o tamanho do bloco do Bitcoin . Muitas seções da comunidade Bitcoin tem defendido limites de bloco maiores, o que causou uma profunda divisão dentro da comunidade, que discutiu sobre várias consequências, incluindo descentralização e riscos de receita do minerador.
O SegWit aumenta o tamanho do bloco do Bitcoin para 4 MB teóricos, separando os dados testemunha e transacional.
Como as assinaturas digitais normalmente ocupam quase 65% do espaço em um bloco do Bitcoin, o SegWit aumenta o espaço do bloco disponível, armazenando os dados testemunha separadamente
Mais importante ainda, o SegWit conseguiu esse feito de maneira compatível com versões anteriores e sem causar mudanças drásticas no blockchain do Bitcoin.
Portanto, blocos legados do Bitcoin existem junto com blocos compatíveis com SegWit.
Bitcoin Addresses vs. SegWit Addresses
Aqui estão algumas diferenças e pontos importantes sobre endereços Bitcoin legados e SegWit:
Legacy Addresses | SegWit Addresses |
Endereços originais do Bitcoin que usam endereço P2PKH (Pay-to-Pubkey Hash) de assinatura única | Use a função de script P2SH que pode ser usada para endereços multi-sig |
Os endereços começam com 1 | Os endereços começam com 3 |
Os blocos legados não separam os dados de testemunhas e transações | Blocos SegWit separam dados de testemunhas e transações |
As transações que usam endereços legados incorrem em taxas mais altas em comparação aos endereços SegWit | Os endereços SegWit oferecem taxas de gás mais baixas devido à disponibilidade de maior espaço de bloco em comparação com os blocos legados |
Suportado por quase todos os softwares e carteiras de hardware | Usado apenas por carteiras compatíveis com SegWit |
Bitcoins podem ser transferidos de e para endereços legados para um endereço SegWit | Bitcoins podem ser transferidos de e para endereços legados para um endereço SegWit |
História do SegWit: A Guerra do Tamanho dos Blocos
A história do SegWit é fascinante, cheia de controvérsias e política.
A implementação do SegWit não foi direta. Na época, o protocolo Bitcoin estava envolvido em uma guerra civil. Duas facções dentro da comunidade brigavam entre si sobre o futuro do blockchain.
Pequenos bloqueadores
Um campo conhecido como “Small Blockers” lutou para manter o tamanho do bloco do Bitcoin em 1 MB. Os Small Blockers priorizaram a descentralização e a segurança acima de tudo.
Eles argumentaram que um tamanho de bloco maior tornaria caro para indivíduos executarem nós de Bitcoin, permitindo assim que organizações centralizadas com recursos dominassem a rede.
Grandes bloqueadores
O outro grupo, conhecido como “Big Blockers”, argumentou que o aumento da capacidade do bloco permitiria que o Bitcoin competisse com redes de pagamento tradicionais, como Visa e Mastercard.
Blocos maiores permitiriam que o protocolo Bitcoin processasse mais transações e reduzisse as taxas de transação.
O soft fork do SegWit foi pego no meio da tensão entre as duas facções em guerra, o que levou a atrasos em seu lançamento.
Em um ponto, também houve a possibilidade da atualização do SegWit ser jogada pela janela, já que influentes mineradores de Bitcoin chineses se recusaram a dar suporte à atualização.
A UASF
Como o SegWit não conseguiu obter apoio dos mineradores de Bitcoin, um desenvolvedor pseudônimo, “Shaolinfry”, apresentou uma proposta ( BIP 148 ) chamada “ soft fork ativado pelo usuário ” (UASF).
Shaolinfry argumentou que o poder de hash controlado pelos mineradores nunca teve a intenção de ser um proxy para o poder de votação no protocolo Bitcoin. Em vez disso, Shaolinfry pediu que os usuários que executam nós sinalizassem suporte ao SegWit para impor um soft fork ativado pelo usuário. O raciocínio por trás do BIP 148 era que se o SegWit tivesse uma maioria econômica entre os usuários do Bitcoin, os mineradores seriam compelidos a dar suporte ao soft fork.
O Fim da Guerra Civil
1º de agosto de 2017 foi marcado como o dia D para os mineradores ativarem o SegWit.
A proposta finalmente foi concretizada em julho de 2017, quando grandes empresas de mineração de Bitcoin, como a Bitmain, sinalizaram suporte ao SegWit.
A decisão foi vista como um “compromisso” por muitos, enquanto outros a viram como uma vitória para os Small Blockers.
Os Big Blockers – que se opuseram veementemente ao roteiro do Bitcoin – fizeram um hard fork de um blockchain separado chamado Bitcoin Cash com um tamanho de bloco de 8 MB.
A implementação do SegWit e a criação do Bitcoin Cash marcaram o fim da Guerra do Tamanho de Blocos.
No momento em que este artigo foi escrito, o Bitcoin Cash suporta blocos de 32 MB, em comparação aos blocos de 1 MB do Bitcoin.
Resultado Final
O soft fork do SegWit é um evento importante na história do Bitcoin.
Em agosto de 2023, a porcentagem de transações usando SegWit aumentou para 95% de todos os pagamentos em Bitcoin, de acordo com dados do transactionfee.info.