Guia para iniciantes sobre Segregated Witness (SegWit)

Compartilhar
Copied to clipboard!
Guia para iniciantes sobre Segregated Witness (SegWit)
Ouça este artigo
00:00 / 00:00

Conteúdo


O que é SegWit?

Segregated Witness (SegWit) é uma atualização de protocolo desenvolvida em 2015. O conceito foi introduzido como uma solução para o problema de escalabilidade que as redes blockchain enfrentavam e ainda enfrentam atualmente. 

Em média, a rede Bitcoin valida um novo bloco a cada 10 minutos e cada bloco contém várias transações. Assim, o tamanho do bloco afeta o número de transações que podem ser confirmadas em cada bloco. Atualmente, a blockchain Bitcoin é capaz de processar cerca de 7 transações por segundo.

A principal idéia do SegWit é reorganizar os dados do bloco de forma que as assinaturas não sejam mais colocadas junto com os dados de transação. Em outras palavras, a atualização SegWit consiste em separar as testemunhas (assinaturas) dos dados de transação. Isso permite que mais transações sejam armazenadas em um único bloco e, portanto, aumenta a taxa de transações da rede.

Por ser capaz de processar apenas cerca de 7 transações por segundo, uma transação Bitcoin pode demorar muito tempo. É um processo mais lento quando comparado a soluções de pagamento convencionais e redes financeiras, que podem processar milhares de transações por segundo.

O SegWit foi criado em 2015 pelo desenvolvedor de Bitcoin, Pieter Wuille, juntamente com outros colaboradores da Bitcoin Core. Em agosto de 2017, a atualização do SegWit foi implementada como um soft fork na rede Bitcoin.

Atualmente, existem vários projetos de criptomoeda usando o SegWit, incluindo Bitcoin e Litecoin. A atualização do protocolo trouxe vários benefícios, como maior velocidade de transação e capacidade de blocos. Além disso, o SegWit resolveu o bug de maleabilidade de transações (discutido abaixo).


Quais são os principais benefícios do SegWit?

Aumento da capacidade

Um dos maiores benefícios do SegWit é o aumento da capacidade de bloco. Removendo os dados da assinatura da entrada (input) da transação, mais transações podem ser armazenadas em um único bloco.

As transações possuem dois componentes principais: entradas (inputs) e saídas (outputs). Essencialmente, uma entrada contém o endereço público do remetente, enquanto a saída contém o endereço público do destinatário. No entanto, o remetente deve provar que os fundos estão sendo transferidos e isso é feito através de uma assinatura digital.

Sem o SegWit, os dados da assinatura podem ocupar até 65% de um bloco. Com o SegWit, os dados da assinatura são removidos da entrada da transação. Isso faz com que o tamanho efetivo do bloco aumente de 1 MB para cerca de 4 MB.

Observe que o SegWit não provoca um aumento real do tamanho do bloco. É uma solução de engenharia para aumentar o tamanho efetivo do bloco sem precisar aumentar o limite de tamanho do bloco (o que exigiria um hard fork). Mais especificamente, o tamanho real do bloco ainda é de 1 MB, mas o limite efetivo do tamanho do bloco é de 4 MB.

Além disso, o SegWit introduziu a ideia de peso do bloco. Podemos considerar o peso do bloco como um conceito que substitui a ideia do tamanho do bloco. Basicamente, o peso do bloco é uma medida que inclui todos os dados do bloco, incluindo dados de transação (1 MB) e dados da assinatura (até 3 MB), que não fazem mais parte do seu campo de entrada (input).


Aumento da velocidade de transação

Com um bloco que pode armazenar mais transações, o SegWit também tem a capacidade de aumentar a velocidade da transação, pois pode haver uma quantidade maior de transações se movendo pela blockchain. Mesmo que um bloco possa levar a mesma quantidade de tempo para minerar, mais transações estão sendo processadas nele, então a taxa TPS é maior.

O aumento da velocidade de transação também ajuda a reduzir os custos de transação na rede Bitcoin. Antes do SegWit, era comum gastar mais de US$30 por transação. O SegWit reduziu drasticamente esse custo para menos de US$1 por transação.


Correção da maleabilidade de transações

Um grande problema da Bitcoin era a possibilidade de adulterar assinaturas de transações. Se uma assinatura é alterada, isso pode resultar em uma transação corrompida entre duas partes. Como os dados armazenados em blockchains são praticamente imutáveis, transações inválidas poderiam ser permanentemente armazenadas na blockchain.

Com o SegWit, as assinaturas não fazem mais parte dos dados da transação, o que remove a possibilidade de alterar esses dados. Essa correção permitiu mais inovações na comunidade blockchain, incluindo protocolos de segunda camada e contratos inteligentes.


SegWit e a Lightning Network

O desenvolvimento de protocolos de segunda camada foi parcialmente possível graças à correção do bug de maleabilidade de transações. Basicamente, os protocolos de segunda camada são novas plataformas ou produtos criados sobre uma blockchain, como a Bitcoin. Um dos protocolos de segunda camada mais populares é a Lightning Network, uma rede de micropagamentos off-chain (fora da cadeia).

A Lightning Network é um protocolo de segunda camada que opera sobre a rede Bitcoin. O principal objetivo da Lightning Network é permitir que mais transações sejam confirmadas em um período menor, resultando em transações mais rápidas para os usuários. As transações são coletadas fora da cadeia (off-chain) e efetivamente armazenadas para que a rede Bitcoin possa eventualmente processá-las.

A Lightning Network foi originalmente desenvolvida para a Bitcoin. No entanto, vários outros projetos de criptomoeda e blockchain estão trabalhando na implementação da tecnologia para suas redes. Isso não apenas reduz o tempo de confirmação das transações, como também promove o desenvolvimento de novas soluções para o problema de escalabilidade.


SegWit vs. SegWit2x

O SegWit é uma atualização soft fork, o que significa que é compatível com versões anteriores. Ou seja, os nós da Bitcoin que não foram atualizados para incluir o SegWit, ainda podem processar transações. No entanto, havia outra proposta de implementação do SegWit chamada SegWit2x (S2X), que exigiria uma atualização de hard fork.

A principal diferença entre o SegWit e o SegWit2x é que este último não apenas incluiu uma alteração no lote da transação, mas também um aumento no tamanho de bloco (de 1 MB para 2 MB). Ainda assim, um tamanho de bloco maior aumentaria a carga sobre os operadores e mineradores de nós, pois haveria uma maior quantidade de dados a serem processados. 

Outra diferença notável é que a proposta do SegWit foi apoiada e aplicada pela comunidade Bitcoin. O episódio deu origem ao conceito de UASF, que significa "user-activated soft fork" (soft fork ativado pelo usuário).

Por outro lado, o SegWit2x propôs uma mudança substancial em uma das regras fundamentais que regem a Bitcoin. Mas como os desenvolvedores não conseguiram chegar a um consenso sobre sua adoção e implementação, o projeto SegWit2x foi suspenso.


Considerações finais

A implementação do SegWit marcou a maior atualização de protocolo da Bitcoin e o fato de ter sido apoiado e implementado pela comunidade descentralizada, o torna ainda mais interessante.

A introdução do SegWit foi um grande passo à frente na solução de muitos problemas relacionados à Bitcoin e outras redes blockchain - especialmente em relação à escalabilidade. Através da combinação do SegWit e dos protocolos de segunda camada, as redes blockchain podem lidar com um número maior de transações, com mais eficiência e com custos mais baixos.

Apesar de ser uma solução poderosa e inovadora, o SegWit ainda não foi totalmente adotado. Atualmente, a porcentagem de endereços Bitcoin usando o SegWit é de cerca de 53%.

Loading