SegWit é uma solução pensada para resolver o problema da maleabilidade das transações de Bitcoin e melhorar sua escalabilidade.

De entre as grandes melhorias que sofreu Bitcoin desde a sua criação, SegWit tem sido um dos mais importantes e transformadores desta blockchain. SegWit é a contração de Testemunha segregada o Testemunha Segregada, nome usado para uma alteração no formato de transação do Bitcoin. Esta é uma proposta da empresa Blockstream e a equipe de desenvolvimento do cliente Bitcoin Core.

Esta garfo macio, foi proposto em um dos BIP, especificamente sob o BIP-141, com o nome de "Testemunha Segregada (Camada de Consenso)". Com essa melhoria no Bitcoin, procurou-se resolver dois problemas:

  1. Resolva o problema de maleabilidade da transação.
  2. Melhore a escalabilidade da rede Bitcoin.

Mas seu uso se estendeu além do Bitcoin, atingindo outras blockchain como Litecoin , DigiByte, VertCoin e ainda EOS. Todos eles com o mesmo problema a resolver e que viram o SegWit como uma solução ideal para eles.

O nascimento do SegWit

Durante o boom do criptomoedas O Bitcoin enfrentou alguns problemas devido à forma como sua estrutura de transações funcionava. Essas limitações se tornaram mais aparentes quando o Bitcoin enfrentou altos níveis de transações. O resultado foi que o Bitcoin não conseguiu lidar com o grande número de transações de rede da melhor maneira possível.. Sua capacidade de lidar com 7 a 8 transações por segundo era insuficiente para as necessidades da rede e seu número crescente de usuários.

Além disso, desenvolvedores consideraram o sério risco de transações com Bitcoin serem maleáveis. O que poderia levar a manipulações que poderiam levar à perda de centenas ou milhares de bitcoins na rede. Outra situação inaceitável. Para resolver isso, os desenvolvedores do Bitcoin Core e Blockstream começaram a trabalhar. Após um trabalho árduo, a SegWit apresentou uma proposta apresentada em Dezembro 21 2015, pelos desenvolvedores Eric Lombrozo, Johnson lau y Pieter Wuille.

A SegWit estava propondo resolver o problema de maleabilidade e escalabilidade de transações do Bitcoin. Para conseguir isso, o SegWit separa o Scripts Bitcoin e assinaturas criptográficas para uma nova estrutura de blocos. Enquanto os blocos com as transações estavam em outra estrutura. Tudo isso, sem interromper a capacidade de verificar as assinaturas e transações em cada estrutura a qualquer momento, graças à árvore de merkle.

diagrama de segwit

Os problemas resolvidos pelo SegWit

Existem dois problemas que a SegWit resolveu no Bitcoin: a maleabilidade e a capacidade de melhorar sua escalabilidade. Para entender melhor os dois pontos, é melhor explicá-los com mais cuidado:

Maleabilidade

Maleabilidade, É a possibilidade de que terceiros possam modificar um código ou serial à vontade. Originalmente em Bitcoin, essa propriedade é considerada um tipo de ataque de negação de serviço (DoS). Isso ocorre porque, a maleabilidade leva ao identificador de transação (TXID), pode ser alterado em transações não confirmadas.

Este problema está relacionado ao fato de que os hashes de assinatura do Bitcoin não protegem o script de assinatura (scriptSig). Este script inclui um tipo de assinatura (sep256k1) que você não pode "Assinar" Da mesma forma. Além disso, a forma como o TXID é calculado permite que haja a possibilidade de um terceiro mal-intencionado modificar o identificador de uma determinada transação não confirmada. Esses dois problemas criam uma fraqueza que permite que um invasor modifique o TXID à vontade enquanto a transação está no estado não confirmado.

Como resultado dessa modificação, se você deseja rastrear um determinado TXID na rede, ele não foi encontrado porque foi modificado. Isso faria com que o receptor desconfiasse do remetente e até mesmo quebrasse a confiança na rede em geral.

Escalabilidade

O pior problema enfrentado pelos desenvolvedores e apoiadores de Bitcoin foi: escalabilidade. O alto tráfego na rede Bitcoin, colocado muito longe das promessas de transações rápidas e baratas. Isso porque, o aumento do Bitcoin elevou seu limite para a rede ao ponto em que uma transação levou horas para confirmar. Além disso, o custo por comissão removeu a possibilidade de usar bitcoins para fazer micropagamentos. Foi um pequeno desastre que custou muito à comunidade que apoiou o Bitcoin como uma tecnologia de pagamento global, rápida e segura.

Para resolver isso, os desenvolvedores do SegWit procuraram mitigar essa situação e estabelecer as bases para novas formas de escalabilidade. Para alcançar, O SegWit segrega ou separa scripts e assinaturas de transação em uma nova estrutura. Ao mesmo tempo, foi possível aumentar o tamanho do bloco para 1,8 MB, em relação ao tamanho original dos blocos de 1 MB. Isso tem um forte impacto na escalabilidade e no número de transações por bloco no Bitcoin.

Graças a isso, foi possível colocar mais transações dentro de um bloco e aumentar o número de transações processadas a cada segundo. Uma situação que afeta positivamente a redução dos custos de comissão e a velocidade da confirmação da transação. No entanto, o SegWit também permitiu iniciar a construção de novos sistemas de escalabilidade, superando o problema de maleabilidade e as assinaturas dentro dos blocos.

Nesse caso em particular, nos referimos a Lightning Network. Esta solução de escalabilidade projetada pela Blockstream usa o mesmo formato SegWit para realizar transações dentro de seus canais. Uma situação que é esclarecida diretamente no documentação RFCs Lightning Network.

O impacto do SegWit no Bitcoin

O SegWit foi uma mudança bastante significativa na manipulação de transações de Bitcoin. Por um lado, trouxe para a rede Bitcoin um garfo macio que permite que nós herdados (sem SegWit) e SegWit trabalhem ao mesmo tempo. Tudo isso sem interromper o trabalho da rede ou comprometer sua segurança.

Por outro lado, o SegWit abre a porta para tamanhos de bloco maiores para Bitcoin. Uma das maiores mudanças estruturais do SegWit, é obter o tamanho máximo do bloco Bitcoin, de 1 MB a 4 MB. Desta forma, o SegWit garante atualizações importantes no tamanho dos blocos Bitcoin sem ter que aplicar um hard fork e suas consequências. Outra mudança importante no SegWit é que ele gerou um novo tipo de endereços Bitcoin, chamados endereços SegWit que começam com "Bc1" o "3".

Além disso, o SegWit permitiu que um usuário com uma carteira suportada pelo SegWit enviasse criptomoedas a um usuário com uma carteira herdada (e endereço). Dessa forma, o usuário com SegWit se beneficia de um menor custo por transação e confirmação mais rápida. O mesmo pode acontecer da maneira oposta: um usuário herdado pode enviar criptomoedas para um usuário com SegWit, usando um endereço herdado, mas sem aproveitar os benefícios do SegWit.

Na sua vez, A proposta da SegWit permitiu as bases para a criação da Lightning Network. Isso ocorre porque o SegWit é necessário nessa nova estrutura para garantir que as transações fora da cadeia não sejam vulneráveis ​​a um ataque de maleabilidade. Uma situação que é explicada em detalhes no whitepaper da Lightning Network.

Vantagens do SegWit

  1. Não permite ataques de maleabilidade de transações. Isso separando os dados da assinatura dos demais em uma transação.
  2. Aumente o tamanho dos blocos para um máximo de 4 MB.
  3. A presença de dados de testemunha torna-se opcional e só será necessária quando nós exige a validação de uma transação, mas não a verificação.
  4. Os SPVs (verificação simplificada de pagamento) melhorarão seu desempenho. Isso se deve à redução no tamanho dos testes de verificação e ao uso da largura de banda.
  5. Escreva a base para protocolos de escalabilidade como a Lightning Network ao resolver o problema de maleabilidade.
  6. A competição por taxas de prioridade entre os usuários diminui. Consequentemente, isso reduz as comissões da rede.

Ativação do SegWit na rede Bitcoin

El 21 de julio de 2017, Os mineradores de Bitcoin fizeram uma nova atualização de software. A essa altura, os mineradores seguiam o protocolo descrito na Proposta de Melhoria do Bitcoin. BIP-91. Isso abriu o caminho para esta atualização e a ativação final do SegWit. Nesta proposta, o trabalho de Luke Dashjr foi decisivo para o sucesso desta operação.

El 8 de agosto de 2017 O outro grande marco foi alcançado. Na época, foi declarado que 100% dos grupos de mineração Bitcoin indicavam suporte ao SegWit. No entanto, o SegWit não seria totalmente ativado até pelo menos 21 de agosto. Após esse ponto, os mineradores poderiam rejeitar blocos que não incluíam transações do SegWit.

Por fim, o 23 de agosto de 2017, O SegWit é ativado oficialmente durante a mineração de blocos 481.822 , Com 99,95% rede de suporte. Eu quero dizer

Quanto você sabe, cryptonuta?

O SegWit é uma das bases para o bom funcionamento da Lightning Network?

VERDADEIRO!

A Lightning Network utiliza as propriedades da SegWit para garantir a não maleabilidade das transações dos pagamentos efetuados nos canais off-chain desta rede. Desta forma, garante que os TXIDs das transações geradas nos referidos canais não podem ser manipulados por terceiros maliciosos.

Bolsas com suporte para SegWit

Para que os usuários de Bitcoin possam fazer uso de transações SegWit, eles devem usar uma carteira que suporte esse recurso. Essas carteiras podem fornecer aos usuários endereços herdados ou endereços SegWit para enviar e receber transações. Entre as carteiras Bitcoin que oferecem esse suporte, podemos mencionar o seguinte:

  1. Ledger. Este é um fabricante de bolsas de hardware que suportam uma grande diversidade de moedas. Todos incluem suporte à implementação do SegWit para Bitcoin, sem comprometer os recursos de segurança do produto.
  2. Trezor. É outro fabricante de carteira de hardware que oferece suporte ao SegWit em seus dispositivos.
  3. Núcleo de Bitcoin. Esta é a carteira de referência da equipe de desenvolvimento do Bitcoin. Inclui suporte para SegWit desde a versão 0.13.1.
  4. Arsenal de Bitcoin. Esta carteira está escrita no linguagem de programação de Python e também tem suporte para SegWit. Está disponível para sistemas operacionais de desktop Windows, Linux e Mac OS X.
  5. electro. Esta é uma carteira disponível para o sistema operacional móvel Android e para Windows, Linux e Mac OS X. A Activa desde 2011 é uma das carteiras com uma base de usuários fiel na comunidade de bitcoin. É de código aberto e suporta SegWit, permitindo também que os usuários configurem taxas de transação.
  6. Bits Verdes. Esta é outra carteira com suporte para SegWit. Está disponível para Android e iOS. Ele também permite que os usuários o usem por meio de uma extensão do Google Chrome ou pela web.
  7. Samurai. Este é um projeto em desenvolvimento, mas também suporta a melhoria do SegWit. Samourai é um projeto focado em privacidade e anonimato.
  8. Coinomi. Esta carteira é multi-criptomoeda e oferece suporte a SegWit para Bitcoin e Litecoin