O que é SegWit e como funciona explicado
Bem-vindo a outro guia para iniciantes em criptografia! Hoje, vou falar sobre o que é o SegWit.
Existem centenas de criptomoedas no mercado e cada uma delas possui um conjunto de regras que orientam a maneira como funcionam. Este conjunto de regras é chamado de protocolo. Então, o que tudo isso tem a ver com o SegWit? O que é SegWit?
Bem, como todos os programas de computador, as criptomoedas precisam ser atualizadas e aprimoradas. Bugs e falhas são descobertos e precisam ser corrigidos. Isso é o que acontece quando seu laptop pede que você desligue e atualize.
Quando uma criptomoeda precisa ser atualizada ou melhorada, alterações devem ser feitas em seu protocolo. SegWit foi uma atualização feita no protocolo Bitcoin no ano passado.
Neste guia, direi tudo o que você precisa saber sobre o SegWit. Vou dizer a você o que é SegWit e como funciona. Também direi quais melhorias foram feitas na rede Bitcoin e o que essas melhorias significam para seus usuários.
Ao final deste guia, você nunca terá que se perguntar: “O que é SegWit?” de novo.
Vamos começar observando de onde veio o SegWit e o que ele estava tentando alcançar …
A história do SegWit
Último cupom Coinbase encontrado:
A ideia do SegWit foi apresentada pela primeira vez por Pieter Wuille em uma conferência de Bitcoin em 2015. Wuille é um desenvolvedor de Bitcoin e cofundador da Blockstream, uma empresa de software especializada em segurança digital para serviços financeiros.
Wuille sugeriu o SegWit como solução para uma falha no protocolo Bitcoin. No desenvolvimento de software, soluções para falhas são chamadas remendos. O problema que ele queria consertar se chama maleabilidade de transação. A maleabilidade da transação é uma maneira nerd de dizer que o Bitcoin pode ser roubado dos usuários alterando minúsculos pedaços de informações da transação. Não se preocupe, vou cobrir tudo isso com mais detalhes na próxima seção.
A proposta do SegWit de Wuille causou um grande debate na comunidade Bitcoin e levou quase dois anos antes de ir ao ar. Ele foi finalmente ativado em 23 de agosto de 2017. O mesmo patch foi aplicado ao Litecoin protocolo em 10 de maio de 2017.
Observação: Litecoin é uma criptomoeda cujo código é baseado no protocolo Bitcoin. Por serem muito semelhantes, eles compartilhavam o problema da maleabilidade da transação.
O SegWit corrigiu o problema de maleabilidade da transação e também possibilitou algumas outras melhorias no protocolo Bitcoin. No entanto, ainda tem muitas críticas e nem todos os usuários da rede Bitcoin deram as boas-vindas às mudanças. Alguns membros da comunidade Bitcoin discordam tanto do SegWit que criaram suas criptomoedas rivais!
Antes de entrarmos em qualquer assunto, vamos examinar mais de perto o problema da maleabilidade da transação. Então, o que é a maleabilidade da transação e o que a SegWit está fazendo para impedi-la?
A maleabilidade da transação é bastante complicada. Para entendê-lo, primeiro você precisa entender como funcionam as transações de Bitcoin…
Os fundamentos do Blockchain
Bitcoin é uma enorme rede composta por milhares de computadores chamados nós. Cada nó mantém um registro completo de todas as transações de Bitcoin que já foram feitas. Este registro é chamado de blockchain.
A maior parte do trabalho envolvido no processamento de novas transações é feito por nós especiais chamados mineiros. Os usuários pagam taxas de transação às mineradoras pelo trabalho que realizam. Novas transações só podem ser adicionadas ao blockchain depois que os mineiros as colocarem em grupos de transações chamados blocos. Cada bloco no blockchain Bitcoin contém 1 MB de informações de transação.
Deve demorar cerca 10 minutos para a rede processar um bloco de transações, mas pode demorar muito mais. A rede Bitcoin pode processar entre 3-7 transações por segundo (Tx / s). No entanto, isso pode ficar muito lento quando a rede está ocupada.
Agora vou usar dois exemplos para mostrar como funcionam as transações simples de Bitcoin. A primeira será uma transação padrão de Bitcoin. A segunda será uma transação em que um usuário aproveita a maleabilidade da transação para roubar Bitcoin de outro usuário.
Transações para iniciantes
Lucy quer enviar 10 Bitcoin (BTC) para Jude. Para fazer isso, Lucy e Jude precisam de dois tipos de informação:
- Um endereço público: É como um endereço de e-mail Bitcoin. Um endereço público é um local digital para o qual Lucy pode enviar Bitcoin. Jude tem um endereço público para receber Bitcoin. Os endereços públicos podem ser vistos por toda a rede.
- Uma chave privada: Se os endereços públicos forem como endereços de e-mail, as chaves privadas serão como senhas. Eles provam que os endereços públicos – e, portanto, o próprio Bitcoin – pertencem a Lucy e Jude. Apenas Lucy pode ver a chave privada de Lucy e apenas Jude pode ver a chave privada de Jude.
Vamos ver como fica a transação na rede Bitcoin…<
Transação Bitcoin Padrão
Como o 10BTC vai de Lucy a Jude?
- Lucy transmite uma solicitação para a rede. A solicitação contém o endereço público de Jude, o valor que está sendo enviado (10BTC) e uma taxa de transação para os mineiros. Ele também contém a chave privada de Lucy assinatura que ela usa para provar que tem 10BTC para enviar. Esta informação de assinatura é chamada dados de testemunha.
- Mineiros processam a transação. Eles colocaram as informações de Lucy junto com as de Jude e criptografar isto. Isso significa que eles transformam as informações em uma linha de código de computador. Este código é chamado de ID da transação.
- A transação filas, esperando para ser processado. Se Lucy cobrou uma taxa de transação baixa, ela pode ficar na fila por muito tempo! É como pedir comida em um restaurante. Se você não der gorjeta ao garçom, pode levar muito tempo para que sua comida chegue! Lucy pode acelerar o processo enviando a transação novamente com uma taxa mais alta. O ID da transação agora é adicionado aos IDs da transação de outros usuários e criptografado novamente. Este processo continua até que o limite de 1 MB de informações de transação seja atingido e um bloco seja formado.
- O bloqueio está confirmado. O bloco é transmitido para a rede e se mais da metade de todos os nós concordar que as informações nele são válidas, pode ser confirmado e adicionado ao blockchain. Jude recebe 10BTC de Lucy.
É assim que acontece a maioria das transações de Bitcoin. A seguir, quero mostrar como a maleabilidade da transação pode afetar as transações e, em seguida, podemos perguntar o que a SegWit está fazendo sobre isso?
Como funciona a maleabilidade da transação
Usando o exemplo novamente, vou mostrar como a maleabilidade da transação pode ser usada por Jude para enganar Lucy e fazê-la enviar-lhe 20BTC em vez de 10. É assim que funciona …
A falha de maleabilidade da transação no código do Bitcoin permite que Jude altere os dados da testemunha de Lucy antes que a transação seja confirmada. Isso altera o ID da transação sem alterar a própria transação (que ainda é 10BTC sendo enviado de Lucy para Jude).
Quando esta transação alterada é confirmada pela rede, ela cancela a transação original. Agora Jude contata Lucy para reclamar que ele não recebeu 10BTC, embora ele tenha!
Lucy verifica e vê se a transação original não foi concluída. Ela agora impõe uma taxa de transação mais alta e a envia novamente. Esta nova transação é processada pela rede. Jude recebe mais 10 Bitcoins!
Lucy, os mineiros e o resto da rede não têm como saber que isso está acontecendo. Uma vez que as transações são confirmadas e adicionadas ao blockchain, elas não podem ser alteradas ou excluídas. Abaixo está um gráfico que mostra o sério problema de maleabilidade de transação para a rede Bitcoin.
Fonte: bitcoinmagazine
As transações efetuadas pela maleabilidade da transação são mostradas em vermelho.
Então, o que é SegWit e o que ele faz para resolver o problema de maleabilidade da transação?
Remendando Maleabilidade de Transação
Como mencionei anteriormente, o SegWit é um patch projetado por Pieter Wuille para evitar a maleabilidade da transação. A forma como funciona é bastante simples. Para impedir que os dados da testemunha sejam usados para alterar os IDs de transação, Wuille sugeriu removê-los da transação! Simples, certo?
O nome completo do SegWit é um testemunha segregada. Segregar significa remover ou separar, então SegWit significa remover os dados da testemunha.
Uma testemunha segregada cria um cadeia lateral onde os dados da testemunha são armazenados longe do blockchain principal. Isso evita que os IDs de transação sejam alterados por usuários desonestos como Jude!
A coisa mais inteligente sobre Bitcoin SegWit é que ele é compatível com versões anteriores. Isso significa que os nós que são atualizados com o protocolo SegWit Bitcoin ainda podem funcionar com nós que não foram atualizados. Este tipo de atualização é chamado de garfo macio. As atualizações que não são compatíveis com versões anteriores são chamadas garfos duros. Forquilhas rígidas podem dividir redes e levar à criação de novas criptomoedas.
Pieter Wuille queria que o SegWit fosse compatível com as versões anteriores e, portanto, uma atualização soft-fork. Para fazer isso, ele precisava projetá-lo de forma que os dados da testemunha ainda fossem registrados no blockchain principal. A solução que ele encontrou foi criptografar todos os dados de testemunha de um bloco no sidechain do SegWit e armazenar este código raiz no blockchain principal. Isso permitiu ao Bitcoin SegWit corrigir a maleabilidade da transação sem se tornar uma atualização hard-fork.
Agora você sabe como a testemunha segregada evita a maleabilidade da transação, mas a história do SegWit Bitcoin não termina aí. O SegWit afetou a rede Bitcoin de maneiras que Pieter Wuille nem pensou quando a criou!
A seguir, vou falar sobre escalabilidade e a rede relâmpago. Vou começar com escalabilidade…
Então, o que é escalabilidade SegWit?
Escalabilidade Bitcoin SegWit
Primeiro, deixe-me explicar o que é escalabilidade. Escalabilidade é a capacidade de uma rede de processar grandes quantidades de transações sem diminuir a velocidade das transações. Se uma rede for escalonável, ela será capaz de processar transações tão rápido, ou ainda mais rápido, conforme fica maior. Infelizmente, a maioria das criptomoedas processam transações Mais devagar quanto maiores eles ficam.
As criptomoedas têm um problema de escalabilidade porque as transações são processadas por consenso. Como mencionei anteriormente, mais da metade dos nós na rede Bitcoin precisa concordar que uma transação é válida antes que possa ser adicionada ao blockchain. Quanto mais nós houver na rede, mais tempo levará para chegar a um acordo ou consenso.
A comunidade Bitcoin vem debatendo diferentes maneiras de escalar a rede há muito tempo. O problema fica pior à medida que a plataforma se torna mais popular, então o tempo está se esgotando para encontrar uma solução.
Quando Pieter Wuille criou o Bitcoin SegWit, ele acidentalmente também melhorou a escalabilidade da rede! Dados de testemunhas usados para pegar 65% de cada bloco de Bitcoin. Ao remover dados de testemunhas, os blocos SegWit Bitcoin agora têm espaço para muito mais informações de transações.
Cada bloco agora tem um conjunto peso do bloco que é limitado a 4 MB. O peso de um bloco é uma combinação de 1 MB de informações armazenadas no blockchain principal e os dados de testemunha armazenados em uma cadeia lateral. Uma testemunha segregada permite que a rede processe mais transações sem alterar o tamanho geral do blockchain do Bitcoin.
Então, se alguém perguntar a você, “o que é escalabilidade SegWit?” você pode dizer a eles que é uma forma de processar mais transações na rede Bitcoin. Faz a rede mais leve removendo dados de testemunhas de transações sem afetar o tamanho do blockchain do Bitcoin.
Agora, quero falar sobre outro desenvolvimento empolgante que o SegWit está tornando possível. O que o SegWit está sendo usado agora?
Você sabia?
Você já se perguntou quais trocas de criptografia são as melhores para seus objetivos comerciais?
Ver & compare as trocas de criptografia TOP3 lado a lado
The Lightning Network
A rede relâmpago é outra solução para o problema de escalabilidade do Bitcoin e não funcionaria sem uma testemunha segregada.
A rede relâmpago permite que os usuários configurem canais de pagamento para micropagamentos. Vamos usar Lucy e Jude para outro exemplo:
Jude trabalha para Lucy. Ela paga a ele 1BTC por dia. Em vez de processar a transação no blockchain principal, Lucy e Jude configuram um canal de pagamento privado onde Lucy pode enviar Bitcoin diretamente para Jude. Ela envia a ele um micropagamento de 1BTC por dia. Cada micropagamento deve ser assinado por Lucy e Jude. Eles são chamados transações com várias assinaturas por esta razão.
Jude trabalha para Lucy por dez dias. Ao final dos dez dias, Lucy e Jude fecham o canal de pagamento. Neste ponto, todos os micropagamentos são transmitidos para a rede como uma transação para 10BTC.
Canais de pagamento como esses formam a base de uma rede relâmpago de milhares de micropagamentos ocorrendo fora do blockchain principal. As transações só são adicionadas ao blockchain principal quando os usuários fecham o canal de pagamento. Então, o que a SegWit está fazendo para tornar isso possível?
Micropagamentos são não confirmado transações que só se tornam válidas quando o canal de pagamento é fechado e o saldo total das transações é processado pela rede. Sem o Bitcoin SegWit, os usuários podem alterar os IDs de transação em transações com várias assinaturas, usando a maleabilidade da transação. Isso significaria caos para o sistema e o deixaria completamente impraticável.
Agora você sabe o que é o SegWit, como funciona e o que significa para a rede Bitcoin. Antes de terminar, vou recapitular rapidamente o que há de bom no SegWit. Também vou falar sobre algumas das críticas que recebeu e alguns dos problemas que causou…
O que é SegWit: os profissionais
PROs
✓ Maleabilidade de transação uma coisa do passado. SegWit é uma solução simples e criativa para um grande problema no protocolo Bitcoin.
✓ Transações Bitcoin mais rápidas. SegWit torna o blockchain Bitcoin mais leve. Ele permite que mais transações sejam processadas sem aumentar o tamanho geral do blockchain do Bitcoin.
✓ Transações de Bitcoin mais baratas. Maior velocidade de transação significa menores taxas de transação. As taxas de transação de Bitcoin podem ser incrivelmente altas, então qualquer mudança que as traga para baixo deve ser bem-vinda pela comunidade.
✓ Desenvolvimentos novos e emocionantes possíveis. Se o Bitcoin vai servir a uma rede de milhões de pessoas, então ele precisa resolver o problema de escalabilidade. O SegWit ajuda a tornar os projetos de escalabilidade, como a rede elétrica, uma realidade.
O que é SegWit: os contras
CONs
✗ Não está sendo usado por nós suficientes. Muitos mineiros não gostam de SegWit. Taxas mais baixas afetam seus lucros e eles também não gostam de ter que apoiar a cadeia lateral de dados de testemunhas, que não fornece nenhuma receita de taxas. Outros serviços Bitcoin – como carteiras – também demoraram a suportar as mudanças do SegWit. Em fevereiro de 2018, quase seis meses depois de ter sido ativado, apenas 14% de transações Bitcoin foram feitas usando SegWit Bitcoin. Os números melhoraram desde então, mas a rede ainda está longe de ser totalmente atualizada.
✗ É uma solução de curto prazo para problemas de longo prazo. Alguns desenvolvedores de Bitcoin reclamaram que o protocolo SegWit não vai longe o suficiente para resolver o problema de escalabilidade. Eles afirmam que apenas grandes mudanças no tamanho do blockchain do Bitcoin e na forma como as transações são processadas ajudarão a plataforma a escalar no futuro.
✗ SegWit causou divisões na comunidade Bitcoin. As divergências em torno do SegWit causaram várias divergências. O mais conhecido deles é o Bitcoin Cash (BCH).
Agora que você tem todos os fatos, pode responder “O que é SegWit?” para você mesmo. Antes de ir, gostaria de compartilhar alguns comentários finais com você…
Conclusão
Quando Pieter Wuille projetou o SegWit, ele queria consertar os problemas que a maleabilidade da transação estava causando. Mas a SegWit fez muito mais do que isso, criou uma grande discussão sobre o futuro da própria plataforma Bitcoin. O Bitcoin tem quase dez anos. Ainda é a maior criptomoeda do mundo, mas alguns estão começando a questionar se é a melhor.
Existem centenas de novos projetos de blockchain que oferecem algumas das tecnologias de criptografia mais avançadas já vistas. Alguns veem o SegWit Bitcoin como uma mudança positiva para a rede. No entanto, outros vêem isso como um símbolo das limitações do Bitcoin.
O debate SegWit continua em toda a comunidade Bitcoin, e agora você sabe o suficiente para dar sua opinião. O que é Segwit para você? É um novo desenvolvimento empolgante que levará o Bitcoin ao futuro? Ou é uma solução temporária para os problemas muito maiores que a rede Bitcoin enfrenta? Pense nisso e vejo você na próxima vez!