O que é SegWit? Uma introdução à abordagem de escalonamento on-chain do Bitcoin | Glossário Blockchain| Academia OKX

Uma introdução amigável para iniciantes ao SegWit do Bitcoin, incluindo o que é o SegWit, por que é importante e o que ele alcança

SegWit é o nome de uma atualização do Bitcoin implementada por meio de um soft fork em agosto de 2017. Ele visava aumentar o número de transações por bloco que a rede Bitcoin poderia processar. Além disso, ele abordou uma rara exploração relacionada à maleabilidade da transação e adicionou maior capacidade de programação ao Bitcoin, permitindo soluções de dimensionamento adicionais como a Lightning Network do Bitcoin.

Nesta introdução ao SegWit para iniciantes, explicamos o que é o SegWit, sua importância e o histórico da atualização. Também avaliamos o impacto do SegWit desde sua adoção.

Índice:

O que é o SegWit do Bitcoin?

SegWit - abreviação de "testemunha segregada (camada de consenso)" - é um mecanismo de dimensionamento implementado na rede Bitcoin em agosto de 2017. Ele visava reduzir o tamanho dos dados de transação para que mais transações pudessem ser incluídas em cada bloco sem aumentar o tamanho do bloco limite através de um hard fork.

Além de aumentar a taxa de transferência de transações do Bitcoin, o SegWit também abordou alguns outros problemas na rede. Em primeiro lugar, a atualização mitiga uma exploração rara na qual um invasor pode criar um novo ID de transação antes que uma transação seja extraída. Eles podem alegar plausivelmente que nunca receberam seus fundos porque o remetente não reconhecerá sua transação devido a ela aparecer com um ID diferente. No SegWit, o cálculo do ID da transação não requer dados de assinatura da transação. Portanto, se um mau ator alterar os dados da assinatura, o ID permanecerá o mesmo.

Outra melhoria que o SegWit trouxe para o Bitcoin foi o aumento da flexibilidade de programação. Isso habilitou efetivamente soluções de dimensionamento de Camada 2, como a Lightning Network. A Lightning Network requer transações mais complexas que são dependentes umas das outras. Sem a correção de maleabilidade da transação, transações dependentes de outras podem ser invalidadas alterando os dados da assinatura e, portanto, o ID da transação. Como o SegWit separa as assinaturas da transação dos dados da transação e calcula o ID do último, uma alteração nos dados da assinatura não pode invalidar transações futuras.

A indústria Bitcoin não apoiou universalmente o SegWit. Antes de sua ativação, alguns defendiam o dimensionamento da rede aumentando o limite de tamanho do bloco por meio de um hard fork. Eventualmente, essa facção introduziria um aumento no tamanho do bloco. O hard fork resultante criou a rede Bitcoin Cash e seu ativo criptográfico nativo, BCH.

Embora nem todas as partes interessadas na rede Bitcoin tenham atualizado para o SegWit imediatamente, o fato de ter sido implementado como uma alteração compatível com versões anteriores significava que sua própria ativação não dividiu a rede. Ao contrário de um hard fork, essa mudança é conhecida como soft fork, que corre o risco de dividir uma rede.

Uma breve história do SegWit

O código do SegWit foi publicado como Bitcoin Improvement Proposal 141 em dezembro de 2015. Os autores do BIP foram os desenvolvedores Eric Lombrozo, Johnson Lau e Pieter Wuille. Mais tarde, foi introduzido no cliente Bitcoin Core em outubro de 2016. No entanto, poucos mineradores de Bitcoin aprovaram a mudança e não sinalizaram para oferecer suporte ao SegWit.

Uma reportagem na Revista Bitcoin sugere que uma facção de mineradores se opôs ao SegWit porque eles estavam se beneficiando de um exploit conhecido como “AsicBoost” que lhes deu 20% de eficiência melhorada, tornando-os mais lucrativos.

Em maio de 2017, um grupo dos mais poderosos mineradores e empresas de Bitcoin se reuniu e redigiu o que mais tarde seria chamado de Acordo de Nova York. Eles concordaram em ativar o SegWit e aumentar o limite de tamanho do bloco como parte da mudança – uma atualização chamada “SegWit 2X”. Ao contrário da versão SegWit implementada no software Core no ano anterior, a mudança não era compatível com versões anteriores do software Bitcoin e corria o risco de dividir a rede.

O Acordo de Nova York tinha a ativação do SegWit 2X agendada para novembro de 2017. No entanto, muitos dentro da comunidade Bitcoin sentiram que uma reunião clandestina de empresas não os representava e perceberam o SegWit 2X como uma ameaça ao ethos descentralizado geral da criptomoeda.

O desenvolvedor de Bitcoin com pseudônimo Shaolin Fry surgiu com uma solução conhecida como soft fork ativado pelo usuário, ou UASF. Essencialmente, os operadores de nó e carteira ativariam o SegWit e rejeitariam blocos não-SegWit. Isso pressionaria os mineradores a ativar a atualização porque, sem suporte ao usuário, a mineração de Bitcoin rapidamente se torna uma operação inútil.

O UASF não foi necessário no final, pois a ameaça foi suficiente para convencer os mineradores a sinalizar o suporte do SegWit. Mineradores bloqueados no SegWit em 9 de agosto de 2017.

Antes da ativação do SegWit, no entanto, aqueles mais comprometidos em escalar o Bitcoin por meio de um aumento no tamanho do bloco seguiram caminhos separados. Uma mudança no tamanho do bloco da rede implementada por um grupo dos chamados “grandes bloqueadores” – ou seja, mineradores que favoreceram o dimensionamento através do aumento do tamanho dos blocos de uma maneira que não era compatível com versões anteriores – resultou no hard fork que criou o Bitcoin Cash .

O período foi tumultuado para a rede Bitcoin e, depois que a poeira em torno dos hard e soft forks se acalmou, o preço do BTC passou o resto de 2017 subindo para uma alta histórica de quase US$ 20,000.

Após a ativação do SegWit em agosto de 2017, o BTC subiu para sua alta de 2017. Fonte: CoinGecko

Como o SegWit funciona?

Funções SegWit por segregando uma transação dados de testemunha dos dados da transação. No sistema legado, os blocos continham entradas de transações (emissores), saídas (receptores) e dados de assinatura de transações. Com o SegWit ativo, os blocos são particionados em um bloco base de 1 MB e uma seção adicional que armazena dados de transações. A outra seção pode armazenar até 3 MB de dados de testemunha.

Portanto, ao contrário da crença popular, o SegWit na verdade é um aumento do limite de tamanho do bloco. No entanto, o aumento foi implementado de forma a não correr o risco de dividir a rede. Aqueles que não quiseram atualizar seus nós para o SegWit ainda podem participar da rede Bitcoin.

Nas transações legadas, os dados da transação e as assinaturas formavam uma única árvore Merkle — ou seja, uma estrutura de dados formada pelo hashing de diferentes partes de dados — a partir da qual um ID de transação foi criado. Isso significava que a alteração dos dados de assinatura, que é possível antes de uma transação ser extraída, resultou em um ID de transação diferente.

Em SegWit, o ID da transação não depende dos dados da assinatura. Portanto, mesmo que uma entidade mal-intencionada conseguisse alterar a assinatura de uma transação, isso não afetaria nenhum ID de transação ou invalidaria qualquer transação dependente de uma anterior.

Embora o bloco base ainda tenha 1 MB, ele pode incluir os dados de mais transações por bloco porque, sem os dados testemunhas, as transações são até 65% menores. Isso efetivamente permite que os mineradores incluam um número maior de transações em cada bloco, dimensionando a rede Bitcoin para mais usuários.

Além de aumentar o rendimento das transações do Bitcoin, o SegWit também permite transações mais complexas. Anteriormente, transações dependentes umas das outras podiam ser invalidadas explorando o bug de maleabilidade da transação. Com o SegWit ativo, os IDs de transação não dependem mais de dados que podem ser alterados posteriormente. Portanto, transações com dependências de outras transações não podem ser invalidadas. Isso permite soluções de dimensionamento adicionais, como a Lightning Network.

Formato de endereço SegWit

As transações SegWit usam um dos dois formatos de endereço. Isso torna muito fácil determinar se você está enviando de um endereço SegWit ou fazendo transações com uma carteira compatível com SegWit.

Os endereços que começam com um “3” são conhecidos como endereços Pay to Script Hash, ou P2SH. Este é um formato de endereço mais antigo compatível com transações herdadas (ou não SegWit) e SegWit. Carteiras que não suportam SegWit ainda podem receber transações SegWit usando este formato de endereço. As taxas de transação devem ser um pouco menores do que os endereços legados ao fazer transações com endereços P2SH.

Enquanto isso, os endereços Bech32 – também conhecidos como endereços SegWit nativos – começam com “bc1”. Transações usando endereços Bech32 usam menos dados do que suas contrapartes P2SH. Esse formato de endereço permite ainda mais transações por bloco, resultando em taxas de transação ainda mais baixas. No entanto, requer as carteiras usadas para suportar o SegWit, que requer uma atualização de software.

Por que o SegWit é importante?

O SegWit aborda os crescentes custos de transação que os desenvolvedores de Bitcoin e observadores do setor entenderam que limitariam a adoção da rede. Quando os blocos de Bitcoin estão cheios, as transações esperam no que é conhecido como mempool.

As transações permanecem no mempool até que um minerador as inclua em um bloco. O minerador seleciona quais transações incluir com base na taxa de transação incluída. As transações que incluem uma taxa muito pequena esperarão no mempool por um longo tempo durante períodos de grande congestionamento no blockchain do Bitcoin porque os mineradores favorecerão transações com pagamentos de taxas mais altas - pois resulta em maior lucratividade.

Com o SegWit, os mineradores podem incluir mais transações por bloco porque os dados armazenados no bloco base de 1 MB são menores para cada um do que no formato legado. Isso resulta em uma maior capacidade de bloco e menos transações esperando no mempool. Com menos transações esperando, há uma chance maior de ter uma transação incluída em um bloco com uma taxa menor. Portanto, a taxa média de transação em toda a rede cairá.

Além disso, o SegWit permite soluções de dimensionamento extras construídas em camadas acima da blockchain principal do Bitcoin. A primeira e mais famosa hoje é a Lightning Network. A Lightning Network permite que as transações ocorram fora da cadeia em canais de pagamento. Como essas transações não precisam mais ser extraídas em um bloco imediatamente, menos transações estão esperando para serem mineradas, aliviando ainda mais a pressão para os usuários aumentarem as taxas de transação.

Para aqueles que suportam SegWit, a atualização é mais favorável do que aumentar o limite de tamanho do bloco por meio de um hard fork. Em primeiro lugar, um soft fork não corre o risco de dividir a rede, o que pode resultar em confusão entre os usuários do Bitcoin.

Em segundo lugar, a atualização não impõe demandas de hardware adicionais aos operadores de nós. Uma das qualidades mais importantes do Bitcoin é que qualquer pessoa pode operar o hardware necessário para fazer referência ao blockchain do Bitcoin e confirmar a validade das próprias transações. Um aumento no limite de tamanho de bloco exigiria que os operadores de nós usassem hardware mais caro com recursos de memória adicionais, aumentando a centralização da rede.

O SegWit foi bem-sucedido?

Por ser uma atualização opcional compatível com versões anteriores, o SegWit demorou um pouco para realmente impactar a rede. Embora tenha sido ativado em agosto de 2017, as taxas ainda atingiram níveis que precificaram os possíveis casos de uso do Bitcoin. No auge de 2017, a taxa média de transação atingiu mais de US$ 55, tornando as pequenas transações ou pagamentos economicamente inviáveis.

A taxa média de transação do BTC subiu acima de US$ 55 em 2017 após a ativação do SegWit. Fonte: em Glassno

Embora alguns participantes do ecossistema tenham implementado a atualização quase imediatamente, os provedores de carteira e outros provedores de serviços, como exchanges, levaram muito tempo para implementar o SegWit. No final de 2019, apenas metade de todas as transações usava o novo formato. Hoje, mais de 80% das transações usar SegWit.

O gráfico acima mostra que as taxas de transação diárias pagas em BTC reduziram consideravelmente à medida que o SegWit foi adotado. Embora o número de transações on-chain processadas por dia tenha atingido cerca de 7% abaixo do pico de 2017, as taxas pagas permaneceram uma pequena fração dos 1,500 BTC pagos à rede em 22 de dezembro de 2017. Total de taxas pagas em um único dia não excederam 300 BTC durante os picos mais recentes.

Ao avaliar o impacto do SegWit, é importante lembrar que a atualização tornou possível a Lightning Network. Lançada como uma versão beta em 2018, a Lightning Network teve um tremendo crescimento. No início de 2021, a solução de dimensionamento tinha uma capacidade total de pouco mais de 1,000 BTC. Em abril de 2022, a capacidade total da rede havia crescido para mais de 3,650 BTC.

A capacidade geral da Lightning Network aumentou para mais de 3,650 BTC desde seu lançamento em 2018. Fonte: em Glassno

O número de canais da Lightning Network também aumentou no mesmo período. De 37,100 no início de 2021, os canais atingiram o pico de 86,500 em março de 2022. Ambas as métricas mostram um forte crescimento da atividade do Lightning, que só foi possível pelo SegWit.

Evidentemente, o SegWit tem sido um sucesso em termos de impacto nas taxas de rede e no suporte a tipos de transação mais complexos. Além da Lightning Network, atualizações mais recentes da rede Bitcoin, como Taproot, baseiam-se no SegWit para otimizar ainda mais a rede — e ao abordar a maleabilidade das transações, o soft fork permitirá inovações ainda a serem desenvolvidas.


Não é um trader OKX? Seja um voluntário e junte-se a nós hoje.

Fonte: https://www.okx.com/academy/en/what-is-segregated-witness