O que é SegWit?

O que é SegWit?

O Segregated Witness, comumente referido como SegWit, representa uma atualização fundamental para o protocolo Bitcoin Core, introduzido em 2017. Originado como um meio de enfrentar os desafios de escalabilidade e vulnerabilidades específicas do Bitcoin, o SegWit trouxe uma série de melhorias significativas. Entre suas principais conquistas, o protocolo corrigiu problemas de maleabilidade das transações e aumentou o limite de tamanho do bloco do Bitcoin, facilitando assim a inclusão de mais transações dentro de cada bloco. Além disso, esta atualização introduziu dois tipos de script inovadores para transações Bitcoin e apresentou uma nova abordagem de codificação conhecida como Bech32 .

O caminho para a ativação do SegWit não foi isento de desafios, pois gerou um debate considerável na comunidade Bitcoin. Tais disputas sublinharam a natureza descentralizada inerente do Bitcoin – um ecossistema dependente do consenso entre os seus participantes globais. Embora os sistemas centralizados possam implementar mudanças através de decretos oficiais, o Bitcoin exige um acordo coletivo para quaisquer modificações no protocolo. Apesar da controvérsia em torno do SegWit, o Bitcoin demonstrou resiliência e adaptabilidade, destacando a sua capacidade de resistir à influência indevida de mineradores e figuras proeminentes da comunidade.

Como funciona o SegWit?

Segregated Witness, mais comumente conhecido como SegWit, representa uma atualização transformadora do protocolo de transação Bitcoin. Sua principal intenção é aumentar a eficiência das transações e resolver a maleabilidade das transações não intencionais. Ao particionar a transação em dois componentes, com o primeiro abrangendo os endereços da carteira do remetente e do destinatário e o segundo contendo as assinaturas da transação ou dados de testemunha, o SegWit alivia o peso do bloco. Essa separação garante que mais transações caibam em um único bloco Bitcoin, promovendo assim o aumento do rendimento e diminuindo as taxas de transação.

Ao contrário de um hard fork, que divide uma blockchain em duas cadeias distintas, o SegWit foi implementado como um soft fork . Isso significa que permaneceu um blockchain Bitcoin unificado que aceita blocos de usuários habilitados e não habilitados para SegWit. Ao realocar os dados de assinatura para fora do bloco de transação primário, mas mantendo suas capacidades de verificação, a integridade do Bitcoin é mantida, permitindo mais transações dentro do bloco padrão de 1 megabyte. O resultado é uma rede Bitcoin mais rápida e segura.

Complementando o SegWit está o padrão de endereço Bech32. Esses endereços 'SegWit nativos', identificáveis pelo prefixo " bc1 ", contrastam com os endereços legados tradicionais que começam com "1". Ao adotar o SegWit e o padrão Bech32, os usuários podem se beneficiar de taxas de transação reduzidas. É essencial observar que, embora o Bitcoin armazenado em endereços legados permaneça lá até ser transacionado, qualquer alteração nesses endereços, quando fizer parte de uma transação, fará a transição para um endereço SegWit. Com o tempo, à medida que os usuários realizam transações e recebem fundos em endereços SegWit, seus saldos de Bitcoin mudarão organicamente para esses endereços mais eficientes.

Como o SegWit resolve a maleabilidade das transações?

O Segregated Witness, comumente conhecido como SegWit, é uma atualização crucial no protocolo Bitcoin, projetado principalmente para resolver o problema da maleabilidade das transações. Este problema refere-se à potencial modificação dos dados da transação antes de sua confirmação na blockchain.

Investigando a maleabilidade das transações

Imagine um cenário em que John deve 10 BTC a Steven. Steven, com intenções maliciosas, altera os dados das testemunhas de John antes que a rede confirme a transação. O ID da transação muda, mesmo que o conteúdo da transação permaneça inalterado. Após a confirmação da transação manipulada, a original é cancelada. Se Steven alegar falsamente que não recebeu os 10 BTC, John poderá reenviar o BTC, tornando-se vítima do golpe, mesmo sem perceber. Tais manipulações eram invisíveis para a rede, tornando-as difíceis de prevenir.

A solução do SegWit para o problema

A principal função do SegWit é separar os dados das testemunhas dos dados das transações, garantindo que eles não possam ser alterados para alterar os IDs das transações. Ao desenvolver uma cadeia lateral para armazenar esses dados de testemunhas separadamente da blockchain principal, o SegWit elimina a possibilidade de tais alterações maliciosas.

Além disso, o SegWit mantém compatibilidade com versões anteriores, o que significa que os nós executados no protocolo SegWit ainda podem interagir com nós mais antigos. Esse tipo de atualização é um soft fork, ao contrário dos hard forks que não são compatíveis com versões anteriores e podem dividir o blockchain. Um aspecto único do SegWit é que, embora ele criptografe todos os dados de testemunhas em uma cadeia lateral, o código raiz permanece na blockchain principal.

SegWit e escalabilidade : uma combinação feita para o futuro

Além de abordar a maleabilidade das transações, o SegWit traz benefícios significativos de escalabilidade. Escalabilidade é a capacidade da rede de lidar com um aumento repentino nas transações sem comprometer a velocidade. Embora muitas redes blockchain diminuam à medida que se expandem, o SegWit aumenta a eficiência do Bitcoin.

O processo de consenso é a causa raiz dos desafios de escalabilidade em muitas criptomoedas. Uma transação deve ser verificada por mais da metade dos nós do Bitcoin antes de ser adicionada ao blockchain. Com um número crescente de nós, chegar a um consenso leva mais tempo. No entanto, o SegWit alivia essa preocupação. Anteriormente, os dados das testemunhas consumiam cerca de 65% do espaço de um bloco Bitcoin. A abordagem do SegWit de descarregar dados testemunhais do blockchain primário oferece mais espaço para transações, otimizando a capacidade de processamento da rede sem ampliar o blockchain do Bitcoin. Em essência, o SegWit simplifica o blockchain, tornando-o mais eficiente.

Existem desvantagens no SegWit?

SegWit, ou Segregated Witness, está intimamente ligado à evolução do Bitcoin e desperta várias perspectivas sobre sua eficácia e intenção.

Basicamente, o design do SegWit visa otimizar a capacidade do bloco, armazenando seletivamente certos dados de transação fora do blockchain principal, usando a cadeia primária como referência. Esta abordagem foi desenvolvida para aliviar problemas de escalabilidade inerentes ao design original do Bitcoin. Os críticos argumentam que o descarregamento de dados compromete a integridade do blockchain, sugerindo que é uma solução alternativa para um sistema inerentemente falho.

Este ceticismo em torno do SegWit levou uma facção da comunidade a divergir, iniciando um hard fork que resultou na criação do Bitcoin Cash em 2017. Em essência, o Bitcoin Cash reflete o modelo original do Bitcoin antes da implementação do SegWit. Sua solução para problemas de escalabilidade concentra-se em aumentar o tamanho do bloco, garantindo que todos os dados transacionais permaneçam na cadeia. Esta abordagem contrasta fortemente com a filosofia dos desenvolvedores do Bitcoin Core que veem o SegWit como uma base para um sistema blockchain multicamadas.

A evolução do Bitcoin e a ascensão do Bitcoin Cash exemplificam as diversas perspectivas sobre como melhor dimensionar e manter redes blockchain descentralizadas. Várias outras criptomoedas e protocolos surgiram, cada um trazendo novas soluções e inovações. Embora o SegWit continue sendo um marco significativo para a comunidade de desenvolvedores do Bitcoin, ele também representa o cenário mais amplo e em constante evolução da tecnologia blockchain e suas diversas abordagens para resolver desafios inerentes.

SegWit habilita a rede Lightning

Um dos avanços mais inovadores possibilitados pelo SegWit foi a integração da Lightning Network, uma solução de segunda camada projetada para enfrentar os desafios de escalabilidade do Bitcoin. A Lightning Network promete velocidades de transação mais rápidas e taxas reduzidas ao criar canais de pagamento fora da rede entre as partes. Esta abordagem inovadora permite que inúmeras transações sejam processadas fora da blockchain principal do Bitcoin, com apenas os saldos finais das contas sendo registrados na cadeia. O resultado é um sistema mais eficiente e simplificado, capaz de lidar com um volume maior de transações em uma fração do tempo.

No entanto, todo o potencial da Lightning Network não poderia ser realizado sem a ativação do SegWit. Isto ocorre principalmente porque a fundação da Lightning Network dependia fortemente de transações de bitcoin não confirmadas. No estado inicial da rede Bitcoin, essas transações eram vulneráveis a um tipo de ataque chamado “maleabilidade da transação”. Essencialmente, os invasores poderiam alterar a identificação exclusiva de uma transação antes que ela fosse confirmada, criando discrepâncias e possíveis cenários de gastos duplos.

Ao ativar o SegWit, a comunidade Bitcoin resolveu esse problema de maleabilidade das transações. Ao fazer isso, não apenas fortaleceu as defesas da rede, mas também abriu caminho para a implantação segura da Lightning Network. Sem o risco de maleabilidade das transações, a Lightning Network pode operar sem problemas, garantindo que os usuários possam realizar transações com mais velocidade, segurança e economia.

Aumento do tamanho do bloco do SegWit

O SegWit, embora classificado como um soft fork, trouxe mudanças significativas em uma das principais regras de consenso do Bitcoin. Essa mudança foi implementada de forma a manter a retrocompatibilidade e teve como objetivo aumentar a capacidade de transações dentro de cada bloco.

Antes do advento do SegWit, cada bloco tinha a restrição de armazenar até 1 MB de dados, traduzindo-se em aproximadamente 1.650 transações quando o bloco estava cheio até sua capacidade máxima. No entanto, o SegWit introduziu o conceito de peso do bloco, que suplantou o tamanho do bloco como a principal restrição ao conteúdo do bloco. Atualmente, um bloco totalmente carregado abriga cerca de 2.700 transações.

Vale a pena notar esta distinção: antes da introdução do SegWit, cada bloco era limitado a um tamanho de 1 MB, o que representa 1 milhão de bytes de dados de transação.

Em contraste, o peso do bloco utiliza um sistema de medição mais matizado, baseado em unidades de peso. Neste sistema, um byte de dados não testemunhas de uma transação é equivalente a 4 unidades de peso, enquanto um byte de dados testemunhas é equivalente a apenas 1 unidade de peso. Com um limite máximo de 4 milhões de unidades de peso para um bloco, um bloco preenchido apenas com transações não-SegWit ainda observaria a antiga restrição de 1 milhão de bytes.

Este método inovador de medição garante que o aumento no tamanho do bloco permaneça consistente com os princípios de um soft fork. Além disso, apresenta aos mineradores e usuários de Bitcoin motivações financeiras para adotar o SegWit. Os usuários que fazem transações com o SegWit podem se beneficiar de taxas de transação reduzidas, uma vez que os dados do Witness ocupam uma porção menor do limite de peso do bloco. Ao mesmo tempo, os mineradores que processam transações SegWit têm a oportunidade de incluir mais transações em seus blocos, levando a um aumento na receita de taxas.

Novos tipos de script do SegWit

No mundo do Bitcoin, os tipos de script representam métodos distintos para transacionar Bitcoin no blockchain por meio de sua linguagem de script proprietária chamada “Script”. Com o advento do SegWit, dois novos tipos de script foram introduzidos para aproveitar os recursos do campo Witness: a saber, Pay-to-Witness-Pubkey-Hash (P2WPKH) e Pay-to-Witness-Script-Hash (P2WSH).

Insight essencial: esses tipos de script, incluindo P2PKH e P2SH, que existiam antes da era SegWit, são denominados "tipos de script legados".

Pagar para testemunhar-PubKey-Hash (P2WPKH)

Antes da incorporação do SegWit, o script mais utilizado era o Pay-to-Pubkey-Hash (P2PKH), um mecanismo que efetivamente ancorou o bitcoin ao hash de uma chave pública. P2WPKH, uma inovação do SegWit, reflete as funcionalidades do P2PKH com uma variação sutil. No cenário de gasto de uma saída P2WPKH, os componentes essenciais – a assinatura e a chave pública – estão armazenados com segurança na Testemunha. Enquanto isso, o ScriptSig permanece intocado. Este movimento estratégico visa evitar maleabilidade potencial no ID da transação.

Hash de script pago para testemunha (P2WSH)

Após o P2PKH, o Pay-to-Script-Hash (P2SH) ganhou força como um tipo de script legado proeminente. Ele permite que os usuários enviem bitcoin para um hash de script arbitrário exclusivo, chamado redeemScript. Qualquer pessoa equipada com este redeemScript e que atenda aos critérios estipulados pode recuperar este bitcoin.

Em seus primeiros dias, o P2SH atendia principalmente a transações multisig, oferecendo maior eficiência de espaço e discrição em comparação com suas contrapartes, como o multisig simples.

Digite o Pay-to-Witness-Script-Hash (P2WSH) do SegWit. Seu modus operandi ressoa intimamente com o P2SH. As saídas P2WSH são desbloqueadas quando apresentadas com o Witness Script (a versão do redeemScript do SegWit) junto com as assinaturas e chaves públicas necessárias. Espelhando a abordagem no P2WPKH, as entradas do P2WSH necessitam de um campo ScriptSig vago, relegando o Script Witness – abrangendo as assinaturas vitais e as chaves públicas – para o território da testemunha.

SegWit embrulhado

Introduzir novos tipos de script no protocolo Bitcoin não é uma tarefa fácil, considerando a infinidade de carteiras, aplicativos e serviços que interagem com ele. Para suavizar a transição, facilitando uma adoção gradual do SegWit, foi conceituado um intermediário denominado "SegWit empacotado".

Em essência, o SegWit empacotado funciona como uma variante de script P2SH tradicional. Ele integra perfeitamente um script SegWit nativo, seja P2WPKH ou P2WSH, e o coloca na função de redeemScript de um script P2SH. Conseqüentemente, os scripts SegWit agrupados resultantes são classificados como P2SH-P2WPKH ou P2SH-P2WSH.

Tal arranjo garante que mesmo os sistemas não atualizados para o SegWit possam transferir bitcoin para endereços do SegWit. Os beneficiários dessas transações SegWit agrupadas têm o poder de utilizar o bitcoin por meio de uma entrada SegWit, o que pode ser um caminho potencial para economia de taxas.

Por favor, note que Plisio também oferece a você:

Crie faturas criptográficas em 2 cliques and Aceitar doações de criptografia

12 integrações

6 bibliotecas para as linguagens de programação mais populares

19 criptomoedas e 12 blockchains

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.