O SegWit é uma solução criada para resolver o problema de maleabilidade das transações do Bitcoin e melhorar sua escalabilidade.
De entre as grandes melhorias que sofreu Bitcoin desde a sua criação, SegWit Foi um dos mais importantes e transformadores deste 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:
- Resolva o problema de maleabilidade da transação.
- 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.
Curso introdutório ao DeFi
Nível médioÉ hora de atualizar. As finanças tradicionais mudaram, descubra o ecossistema revolucionário das finanças descentralizadas (DeFi).
O nascimento do SegWit
Durante o boom das criptomoedas, o Bitcoin enfrentou alguns problemas devido ao funcionamento de sua estrutura de transações. 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.
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.
Um exemplo mais simples do problema da maleabilidade
Para explicar a situação acima com mais facilidade, considere este exemplo:
Maria fez uma transação com Daniel. Os fundos dessa transação serão usados por Daniel para pagar a Sofia em uma segunda transação. Mas acontece que um minerador por engano ou um terceiro malicioso modifica o TXID da transação de Maria para Daniel e o confirma com aquele TXID diferente. Isso significa que o pagamento de Daniel a Sofia será invalidado. Nesse cenário, a honestidade das partes passa a ter um papel transcendental. Isso porque, se Daniel for honesto, ele enviará o dinheiro de volta para Maria. Mas se você for desonesto, você pode manter as criptomoedas.
Com este exemplo podemos ver de forma simples que, quando os fundos chegarem ao destino, o farão com um TXID diferente do de seu criador (Maria). Assim, este último (Daniel) perceberá que sua transação desapareceu da rede. Ao modificar o identificador sem invalidar a transação em questão, as transações filhas são invalidadas. Isso ocorre porque as novas transações estão vinculadas às antigas.
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 Rede Lightning RFC.
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. Dessa forma, o SegWit garante atualizações importantes no tamanho dos blocos de Bitcoin sem precisar aplicar um garfo rígido e suas conseqüências. Outra grande mudança 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
- Não permite ataques de maleabilidade de transações. Isso separando os dados da assinatura dos demais em uma transação.
- Aumente o tamanho dos blocos para um máximo de 4 MB.
- 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.
- 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.
- Escreva a base para protocolos de escalabilidade como a Lightning Network ao resolver o problema de maleabilidade.
- 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 agosto, 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 agosto, 2017, O SegWit é ativado oficialmente durante a mineração de blocos 481.822 , Com 99,95% rede de suporte. Eu quero dizer
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:
- 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.
- Trezor. É outro fabricante de carteira de hardware que oferece suporte ao SegWit em seus dispositivos.
- 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.
- Arsenal de Bitcoin. Essa carteira é escrita na linguagem de programação Python e também possui suporte ao SegWit. Está disponível para sistemas operacionais de desktop Windows, Linux e Mac OS X.
- 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.
- 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.
- Samurai. Este é um projeto em desenvolvimento, mas também suporta a melhoria do SegWit. Samourai é um projeto focado em privacidade e anonimato.
- Coinomi. Esta carteira é multi-criptomoeda e oferece suporte a SegWit para Bitcoin e Litecoin