Compreendendo a Testemunha Segregada (SegWit) em Bitcoin

segwit bitcoin

Segregated Witness, comumente conhecido como SegWit, é uma atualização do protocolo Bitcoin que trouxe melhorias significativas para a rede. Esta atualização, que foi implementada através de um soft fork, permitiu nomeadamente aumentar a capacidade dos blocos e melhorar a segurança das transações.

Este artigo tem como objetivo explorar em profundidade o que é o SegWit, como funciona e quais os impactos que teve na rede Bitcoin.

O que é Testemunha Segregada (SegWit)?

SegWit é uma atualização do protocolo Bitcoin proposta pela primeira vez em 2015 pelo desenvolvedor Bitcoin Pieter Wuille. Isto foi proposto à comunidade em o BIP (Proposta de Melhoria do Bitcoin) número 141 . No entanto, a atualização foi ativada pelos desenvolvedores da rede Bitcoin em agosto de 2017 por meio de um processo chamado “soft fork”. Esta é uma solução técnica desenvolvida para resolver diversos problemas enfrentados pela rede Bitcoin na época, incluindo e principalmente questões de escalabilidade e maleabilidade das transações.

A proposta foi amplamente aceita pela comunidade Bitcoin e implantada com sucesso na rede. Também abriu caminho para outras melhorias no protocolo, como a capacidade de implementar smart contracts por meio de tecnologias como sidechains e soluções de camada 2, como a Lightning Network.

Definição de SegWit

O termo “Testemunha Segregada” significa literalmente “testemunha separada”. Refere-se a uma mudança na estrutura das transações na blockchain Bitcoin. Mais especificamente, o SegWit separa assinaturas digitais (“testemunhas”) de outros dados de transações.

O principal objetivo da atualização do Segregated Witness é separar a assinatura dos dados da transação, permitindo aumentar a capacidade do bloco sem aumentar o tamanho total do bloco. Antes do SegWit, o tamanho máximo do bloco no blockchain Bitcoin era de 1 megabyte. Com o SegWit, a capacidade teórica foi aumentada para cerca de 4 MB, porque a assinatura da transação (testemunha da transação, daí o nome Segregated Witness) não está mais incluída no tamanho do bloco, mas é armazenada separadamente.

Como você reconhece um endereço SegWit?

Os endereços SegWit no Bitcoin geralmente começam com o número “3” ou “bc1”. Existem dois formatos principais de endereços SegWit, e cada um tem seu próprio prefixo para identificá-los.

  1. Endereços começando com “3”: Endereços SegWit no formato “P2SH” (Pay to Script Hash) começam com o número “3”. Esses endereços geralmente começam com “3” e são compatíveis com endereços Bitcoin clássicos (formato P2PKH). O uso do formato P2SH permite uma transição mais suave para o SegWit, pois eles podem ser usados ​​por carteiras não-SegWit sem problemas. Exemplo de endereço SegWit no formato P2SH: 3JvL6Ymt8MVWiCNHC7oWU6nLeHNJKLZGLN.
  2. Endereços começando com “bc1”: Endereços SegWit em formato nativo (bech32) começam com “bc1”. Esses endereços oferecem maior eficiência de espaço e são projetados para reduzir ainda mais o tamanho das transações. Normalmente, esse é o tipo de endereço que usamos para limitar os custos de envio. Eles são encontrados em carteiras como Carteira De Satoshi ou Carteira Azul Por exemplo. No entanto, não são compatíveis com todas as carteiras Bitcoin, embora a sua adoção esteja aumentando gradualmente. Exemplo de endereço SegWit em formato nativo (bech32): bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq

É importante observar que o reconhecimento de um endereço SegWit depende de como ele é exibido em sua carteira ou nos detalhes da transação. A maioria das carteiras modernas que suportam SegWit indicarão claramente se um endereço é do tipo SegWit e qual formato é usado. Se não tiver certeza, é recomendável verificar com o serviço ou carteira que você está usando.

Por que o SegWit foi implementado?

O SegWit foi introduzido para resolver dois problemas principais da rede Bitcoin: a maleabilidade das transações e os problemas de escalabilidade.

➡️ O problema da maleabilidade das transações

A maleabilidade da transação é um bug que permitia que uma pessoa alterasse o ID de uma transação antes que ela fosse confirmada e adicionada ao blockchain. Esse bug possibilitou ataques maliciosos e complicou o desenvolvimento de novos recursos.

Mais especificamente, a maleabilidade da transação pode permitir que um invasor modifique o ID da transação (hash) de uma transação antes que ela seja confirmada em um bloco. Isto poderia criar complicações para os serviços que dependem do ID da transação para rastrear pagamentos ou garantir a integridade da transação.

A introdução do Segregated Witness (SegWit) no protocolo Bitcoin ajudou a aliviar os problemas de maleabilidade das transações, separando os dados das transações das assinaturas, tornando mais difícil alterar o ID da transação sem invalidar a assinatura. Isto fortaleceu a segurança e a confiabilidade da rede Bitcoin.

➡️ O problema de escalabilidade

O problema de escalabilidade está ligado à capacidade limitada de blocos da blockchain Bitcoin. Antes da implementação do SegWit, cada bloco só podia conter um certo número de transações, o que limitava o número de transações que a rede poderia processar por segundo. Esta limitação criou atrasos no processamento de transações e aumentou as taxas de transação.

Como funciona o SegWit?

O SegWit funciona separando assinaturas digitais de outros dados de transação. Essa separação permite aumentar a capacidade dos blocos e tornar as transações mais seguras.

Separação de assinaturas

Em uma transação não SegWit, as assinaturas são incluídas na mesma estrutura de dados que outras informações da transação. Com o SegWit, as assinaturas são movidas para uma estrutura de dados separada chamada “testemunha”. Essa separação cria mais espaço para transações em cada bloco.

Aumentando a capacidade do bloco

Ao separar as assinaturas, cada bloco pode conter mais transações. Isso ajuda a aumentar o número de transações que a rede pode processar por segundo.

Quais são as vantagens do SegWit?

O SegWit trouxe vários benefícios importantes para a rede Bitcoin.

✅ Resolvendo a maleabilidade da transação

Graças ao SegWit, a maleabilidade das transações foi resolvida. Ao separar as assinaturas de outros dados da transação, não é mais possível modificar o identificador de uma transação antes de sua confirmação.

✅ Aumentando a capacidade do bloco

Uma das principais vantagens do SegWit é o aumento da capacidade do bloco. Com esta atualização, cada bloco pode conter mais transações, aumentando o número de transações que a rede pode processar por segundo.

✅ Melhorando a segurança das transações

Ao separar as assinaturas de outros dados de transações, o SegWit torna as transações mais seguras. Como as assinaturas são separadas, é mais difícil para um invasor modificar uma transação.

Conclusão

Segregated Witness é uma atualização importante do protocolo Bitcoin que melhorou muito a escalabilidade e a segurança da rede. Ao separar as assinaturas de outros dados de transações, o SegWit possibilitou aumentar a capacidade dos blocos e resolver o problema da maleabilidade das transações.

Apesar da sua implementação controversa, o SegWit desempenhou um papel essencial no desenvolvimento e evolução da rede Bitcoin.

Artigo Anterior

El Salvador oferece cidadania para investidores em Bitcoin

Próximo Artigo

Nigéria lança stablecoin cNGN e facilita leis sobre criptomoedas

Escreva um comentário

Compartilhe sua opinião aqui:

Este site usa Akismet para reduzir indesejados. Saiba mais sobre como seus dados de feedback são processados.