Escrito por Robert Steinadler há 2 meses

A SegWit explicada: O que é a Testemunha Segregada?

Alguns dos nossos leitores podem ter reparado que há diferentes tipos de formatos de endereço de Bitcoin. A Testemunha Segregada foi uma atualização de um protocolo que foi implementada por um soft fork na rede Bitcoin em 2017 e desde então há três diferentes tipos de formatos.

Qual é o benefício da Testemunha Segregada? Porque é que é importante e como é que funciona? Neste artigo, vamos explicar o que é a SegWit.

A SegWit permite que a Bitcoin seja escalada e melhora a segurança

O nascimento da testemunha segregada requer uma pequena aula de história na Bitcoin. O protocolo original da Bitcoin permitiu a criação de um novo bloco a cada dez minutos, em média, e cada bloco tinha um tamanho predeterminado de 1 megabyte. O tamanho do bloco limita o espaço para as transações e, por conseguinte, a escalabilidade da Bitcoin. A partir de algures no ano de 2015, a comunidade Bitcoin começou a discutir como escalar a Bitcoin de forma que a rede pudesse lidar com mais transações.

Uma abordagem foi aumentar drasticamente o tamanho do bloco, o qual permitiria simplesmente mais transações por bloco aumentando o espaço. Outra foi reorganizar a informação que estava incluída em cada bloco e criar mais espaço contendo menos dados cuja inclusão não é imediatamente necessária para que as transações ocorram. Vale a pena mencionar que até este dia ainda havia uma discussão se a SegWit era uma boa ideia e se um aumento no tamanho do bloco é uma melhor solução. Historicamente, este debate levou ao fork Bitcoin Cash, criando uma nova criptomoeda com a Bitcoin a implementar a testemunha segregada e a Bitcoin Cash a optar por um tamanho de bloco consideravelmente maior.

Outro problema importante que é frequentemente supervisionado devido ao facto de a escalabilidade parecer ser o problema mais significativo é a prevenção da maleabilidade da transação. Antes da SegWit estar ativa era possível um nó mudar o hash da transação de uma transação não confirmada.

Isto é extremamente problemático, particularmente se a parte recetora estiver dependente da fiabilidade de uma cadeia de transações não confirmadas. Ao mudar o hash da primeira transação esta não é a invalidada, mas a próxima transação na cadeia depende de um hash que foi alterado. Por conseguinte, todas as transações seguintes vão falhar e serão consideradas inválidas porque estão a referir-se ao TX ID errado.

A manipulação dos IDs da transação abre a porta para todos os tipos de fraude. Mas, acima de tudo, isto é absolutamente inaceitável se estiver à procura de utilizar uma solução de segunda camada no topo da Bitcoin como a Lightning Network.

Como funciona a testemunha segregada?

A atualização do protocolo SegWit segregou os dados da transação da assinatura digital da testemunha da transação. O tamanho do bloco aumentou efetivamente até 4 megabytes enquanto é compatível com o protocolo Bitcoin original.

Originalmente, cada bloco legado continha a saída e entrada das transações, bem como as assinaturas e adicionalmente os scripts. Os blocos SegWit são de facto maiores e diferentemente estruturados. Ao segregar as assinaturas e os scripts, há um bloco base que também é designado bloco de transação, que ainda é considerado como sendo válido segundo o protocolo antigo. Este contém entradas e saídas e não excede o limite de 1 megabyte.

O bloco estendido, por outro lado, é maior e contém até 3 megabytes de dados. Nomeadamente assinaturas e script. Esta estrutura permite que a SegWit seja compatível com versões anteriores, o que significa que ninguém tem de usá-la enquanto esta oferece ótimos benefícios por fazê-lo ao mesmo tempo. Isto também permitiu que a SegWit fosse implementada como um soft fork ao invés de requerer um hard fork que teria sido mais stressante e poderia ter colocado a rede em risco de uma divisão.

Tamanho vs. Peso

Com os blocos legado a serem medidos em tamanho, também houve uma atualização à forma como as transações são medidas. Os blocos SegWit não são medidos em tamanho, mas em peso. Ao invés de medir cada bloco em megabytes (tamanho), este é medido em unidades de peso. Um bloco SegWit tem um peso de 4 milhões WU (unidades de peso), o que equivale a 4 megabytes de dados.

A fórmula para calcular o peso de uma transação SegWit é:

(Tamanho da transação – Dados da testemunha) * 3 + Tamanho total da transação

O peso de uma transação legado é calculado de forma diferente:

Tamanho da transação * 4

De facto, as transações SegWit são sempre mais leves do que as transações legado, incentivando os mineiros a incluírem essas transações primeiro, porque elas podem recolher mais taxas dado que cada bloco vai conter mais transações. Isto também tem um impacto nas taxas para o remetente. Uma transação legado é sempre mais cara dado que é mais pesada e requer pagar uma taxa maior para ser confirmada à mesma velocidade de uma transação SegWit.

Os formatos do endereço

Há três tipos de formatos de endereço que foram introduzidos com a Bitcoin. Os primeiros são os endereços legado, estes começam sempre com 1:

1Mpf72Q2xwi1okJL1RCaQeVRPKDhEWRtXt

Os segundos são os endereços SegWit, eles começam com o 3:

392PTfCzykHSyteg6umCCvbrofRSoJb96i

E os terceiros são SegWit nativos (bech32) começando com bc:

bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq

O SegWit nativo é um novo formato que é ainda mais eficiente em termos de peso e oferece uma melhor deteção de erro do que o formato SegWit original. De facto, a utilização do bech32 resulta em taxas mais baratas e nas transações mais rápidas possível na rede Bitcoin.

Perguntas Frequentes: SegWit

A SegWit é segura?

Sim, não há qualquer preocupação de segurança na utilização da SegWit. Esta é de facto uma atualização de segurança quando considera a remoção da maleabilidade da transação de transações não confirmadas.

Há outras vantagens?

A SegWit permitiu a implementação da Taproot, a qual permite os contratos inteligentes e inclusive validações mais rápidas.

Tenho de aceitar as transações SegWit?

Pode sempre optar por uma carteira legado que não esteja a utilizar a SegWit. Ainda é possível enviar fundos entre endereços legado e SegWit. Mas em retorno, as transações custarão mais taxas e são mais lentas

Espere, então isto quer dizer que a SegWit está afinal a aumentar o tamanho do bloco? Então porque o debate?

O tamanho do bloco aumentou para um nível teórico de 4 megabytes. O tamanho médio do bloco é agora de sensivelmente 2 megabytes. A vantagem da SegWit é o facto de que é compatível com versões anteriores respeitando o limite de 1 megabyte dos blocos de transação. Não foi necessária uma alteração ao protocolo original. Por outro lado, o aumento do tamanho do bloco acima desse limite requereria um hard fork, algo que é considerado como sendo um evento crítico.

Negocie a qualquer hora e em qualquer lugar

Melhore o seu impacto de negociação e tempo de reação em +70 criptomoedas através do acesso instantâneo ao seu portifólio com o app LiteBit.

download app