O que é testemunha segregada (SegWit)?
Segregated Witness (SegWit) refere-se a uma mudança no formato de transação do Bitcoin. Seu objetivo declarado como uma atualização de protocolo era proteger contra a maleabilidade da transação e diminuir os tempos de transação aumentando a capacidade do bloco. A maleabilidade da transação refere-se à possibilidade de que pequenas informações da transação possam ser alteradas, invalidando novos blocos de criptomoedas.
Também pretendia agilizar o processo de validação armazenando mais transações em um bloco.
Em resumo:
- Segregated Witness (SegWit) refere-se a uma mudança no formato da transação do Bitcoin, onde as informações da testemunha foram removidas do campo de entrada do bloco.
- O objetivo declarado do Segregated Witness é impedir a maleabilidade não intencional da transação Bitcoin e permitir que mais transações sejam armazenadas em um bloco.
- O SegWit também pretendia resolver um problema de limitação de tamanho de blockchain que reduzia a velocidade de transação do Bitcoin.
Compreendendo a testemunha segregada (SegWit)
A rede Bitcoin consiste em milhares de computadores que funcionam como validadores dos blocos criados pelos mineradores. Esses computadores são chamados de nós, cada um mantendo um registro completo de cada transação. Esse registro é chamado de blockchain.
A rede Bitcoin enfrentou vários problemas à medida que amadurecia. Uma delas era que mais transações estavam ocorrendo, o que adicionava mais blocos à cadeia. Os blocos são criados a cada 10 minutos e usados para serem limitados a um tamanho máximo de um megabyte (MB). Devido a essa restrição, apenas um determinado número de transações pode ser adicionado a um bloco.
O número de transações realizadas, representado pelos blocos, sobrecarregava a rede e causava atrasos no processamento e na verificação das transações. Em alguns casos, demorava horas para confirmar que uma transação era válida. Sem a implementação do SegWit, a validação da transação Bitcoin teria diminuído para um rastreamento à medida que a criptomoeda crescia em popularidade e o número de transações aumentava.
O SegWit foi formulado pelo desenvolvedor do Bitcoin, Pieter Wuille. Wuille também é cofundador da Blockstream, uma empresa de software especializada em segurança digital para serviços financeiros.
O protocolo SegWit divide a transação em dois segmentos. A assinatura de desbloqueio (os dados de “testemunha”) é removida da parte original, mas permanece como parte do blockchain como uma estrutura separada no final. A parte original contém os dados do remetente e do destinatário, enquanto a estrutura separada no final (a estrutura “testemunha”) contém scripts e assinaturas.
Como resultado dessa segregação de dados, mais espaço é criado e mais transações podem ser adicionadas ao blockchain.
Objetivos do SegWit
Para entender os objetivos por trás da implementação do SegWit, é essencial entender o que está acontecendo nos bastidores que o torna útil.
O principal problema que o SegWit resolveu
Quando um usuário envia a outro usuário algum Bitcoin, duas informações são necessárias: um endereço público e uma chave privada. Um endereço público é um identificador digital para as entidades envolvidas na transação. Cada usuário tem um endereço público para receber e enviar Bitcoin, e toda a rede pode ver esses endereços. As chaves privadas não podem ser vistas – elas são usadas como verificação de que os endereços públicos pertencem a um usuário.
Em um nível básico, o SegWit é um processo que altera a forma como os dados são armazenados, ajudando assim a rede Bitcoin a funcionar mais rapidamente.
O processo de transferência de Bitcoin começa quando um usuário transmite uma solicitação para a rede. Essa solicitação inclui o endereço público do usuário, a quantidade de Bitcoin enviada e uma taxa de transação para os mineradores.
Em seguida, os mineradores processam a transação; as informações de ambos os usuários são criptografadas, o que significa que os dados são transformados em uma linha de código de computador chamada ID da transação. Neste ponto, a transação é enfileirada. As transações são adicionadas à fila até que o limite de blocos seja atingido e um bloco seja criado.
Por fim, o bloco é transmitido aos nós; se mais da metade de todos os nodos concordarem que a informação é válida, o bloco é confirmado e adicionado ao blockchain. Neste ponto, o Bitcoin foi transferido com sucesso entre os usuários.
Com o tempo, a rede começou a sofrer uma desaceleração no número de transações que podia processar à medida que o Bitcoin se tornava mais popular. Os desenvolvedores rastrearam esse problema até o limite de tamanho dos blocos dentro do blockchain.
Como a SegWit abordou o problema
O SegWit foi a solução para um problema de limitação de tamanho de blockchain que reduzia a velocidade de transação do Bitcoin. O desenvolvedor do Bitcoin, Dr. Pieter Wuille, sugeriu que, para resolver esse problema, a assinatura digital da testemunha da transação precisava ser separada dos dados da transação.
SegWit move a assinatura para fora dos dados da transação. Isso reduz o tamanho necessário para armazenamento de transações. O Bitcoin costumava ter um limite de tamanho de bloco de 1 MB, mas isso mudou quando o SegWit passou a ser aceito pela rede.
Bitcoin fez a transição para um limite de peso de bloco sob SegWit de 4 milhões de unidades de peso (WU). Um bloco que não usa SegWit detém 1 milhão de WU, enquanto um que usa SegWit tem um limite de 4 milhões de WU. Como os blocos antigos eram limitados a 1 MB, muitos fãs de criptomoedas acreditam que 1 MB equivale a 1 milhão de WU (o limite de bloco não SegWit) e então correlacionam o limite de 4 milhões de WU a um aumento do tamanho do bloco para 4 MB. Embora tenha havido um aumento no tamanho do bloco após a adoção do SegWit, o limite não é em megabytes.
Por exemplo, o bloco 720399 foi extraído em 25 de janeiro de 2022. Ele tinha um tamanho de 1,558 MB, mas tinha 3,993 milhões de WU. O bloco 720340 foi extraído 21 minutos depois e tinha 1,457 MB com um peso de 3,993 milhões de WU. No início do mesmo dia, foi minerado um bloco com tamanho de 1.188 MB, com 3.993 WU. Isso demonstra que não há necessariamente um limite de tamanho em megabytes, mas um limite baseado no peso, levando em consideração o tamanho base do bloco e o tamanho total.
Isso cria mais espaço para os dados, o que aumenta a velocidade da validação da transação. O SegWit também abriu caminho para o Bitcoin habilitar contratos inteligentes e atualizar para outra versão, Taproot.
O SegWit é seguro?
O SegWit aumenta a segurança do blockchain do Bitcoin, impedindo a maleabilidade da transação – a capacidade de alterar pequenos pedaços de informação em um bloco.
Por que o SegWit foi uma boa ideia?
A comunidade de criptomoedas ainda debate se o SegWit é bom ou ruim, mas os aprimoramentos de segurança e a diminuição dos tempos de transação beneficiam o blockchain, os mineradores e os nós que o aceitam. O SegWit levou à implementação do Taproot, uma atualização para o Bitcoin construída sobre o SegWit que permite uma validação ainda mais rápida.
O SegWit é um Soft Fork?
SegWit é um soft fork da blockchain do Bitcoin. Soft forks são mudanças que não criam um novo blockchain, enquanto um hard fork o faz.