Uma introdução fácil ao SegWit do Bitcoin, incluindo o que é SegWit, por que é importante e o que ele faz
Quando Satoshi Nakamoto criou o Bitcoin, ele estipulava que a capacidade de cada bloco não deveria exceder um milhão, e o número de transações que podem ser registradas em cada capacidade de um milhão é extremamente limitado. Nos primeiros dias, a capacidade de cada bloco de um milhão era suficiente para lidar com o volume de transações desse mercado, mas quando o número de participantes do Bitcoin aumentou, ela se tornou particularmente congestionada.
Por exemplo, de acordo com as estatísticas, a rede Bitcoin atualiza um novo bloco a cada dez minutos. Limitado à capacidade de um milhão, o número de transações contidas em cada bloco não excede as dezenas de transações. Atualmente, o Bitcoin pode processar em média sete transações por segundo. Isso significa que, em circunstâncias especiais, há um backlog de dezenas de milhares de transações na blockchain do Bitcoin e a taxa de transação para transferências de Bitcoin é de dezenas de dólares. Quando a rede está congestionada, as transações de Bitcoin podem até levar vários dias para serem processadas.
Por isso, os usuários do meio da criptografia precisavam urgentemente de uma solução técnica eficiente para resolver o problema do processamento lento de transações de Bitcoin. Essa solução ajudaria a tornar o Bitcoin de todas as pessoas mais rápido e com uma taxa de transação mais baixa (a taxa paga aos mineradores).A solução chegou na forma de Segregated Witness (SegWit).
O que é SegWit
A tecnologia SegWit foi proposta pelo desenvolvedor de Bitcoin Pieter Wuille e outros colaboradores do Bitcoin em 2015 como uma solução para o problema da velocidade de processamento de transações. Em 2017, o SegWit foi usado oficialmente no soft fork da rede Bitcoin, e a capacidade de processamento de informações de um único bloco de Bitcoin também aumentou em 1,7 vezes.
Atualmente, as três principais moedas, Bitcoin, Litecoin e Bitcoin Cash, começaram a adotar o SegWit. Os benefícios da adoção do SegWit incluem expansão da capacidade do bloco, aumento da velocidade das transações e otimização da escalabilidade das transações.
Os princípios técnicos do SegWit
Vamos dar uma olhada nos princípios técnicos e nas ideias de implementação do SegWit. Os participantes profissionais sabem que cada parte de informação de transação no Bitcoin é dividida em duas partes: dados básicos da transação e dados de testemunha. Os dados da transação registram o saldo da conta e os dados de testemunha verificam a identidade do usuário.
Geralmente, os usuários se importam mais com as informações essenciais relacionadas a ativos, como o saldo da conta, e a verificação da identidade do usuário não precisa impor muitos custos na transação. Em termos simples, o destinatário da transferência só precisa confirmar que o ativo está disponível e não precisa saber os detalhes do remetente.
No entanto, na estrutura de transações do Bitcoin, os dados de testemunha, ou seja, as informações de assinatura, ocupam muito espaço de armazenamento, o que, por sua vez, reduz a eficiência da transferência e aumenta os custos de empacotamento. A tecnologia SegWit ajuda a extrair os dados de testemunha das informações da transação e armazená-los separadamente, o que acelera a transação.
As principais vantagens do SegWit
Capacidade de bloco aumentada
De acordo com as estatísticas, as informações de assinatura podem ocupar até 65% do espaço em um bloco de transação de Bitcoin. É possível que, após a adoção do SegWit, o espaço original de armazenamento de bloco seja liberado e mais informações de transação possam ser processadas.
Taxa de transação mais rápida
Semelhante à ideia da camada 2 da Ethereum, os dados de Bitcoin são processados em camadas para alcançar o propósito de aumentar a taxa de transação. Após a adoção do SegWit, o sistema de transação do Bitcoin concentrará mais capacidade de computação e armazenamento maior no processamento de informações de transação. Em comparação com a carga anterior, a carga é muito menor, e a taxa de transações por segundo (TPS) só aumentará, na teoria. Os dados mostram que, após a adoção do SegWit, o custo médio por transação diminui para US$ 1.
Lightning Network favorável
A Lightning Network é a solução de expansão do protocolo de camada 2 do Bitcoin mais comentada, projetada para resolver o problema de escalabilidade do Bitcoin off-chain.
A Lightning Network tenta criar uma nova camada de rede na blockchain do Bitcoin e, ao mesmo tempo, configurar um canal de pagamento. Como resultado, sob qualquer circunstância extrema, grandes transações de transferência podem ser realizadas de maneira rápida e fácil, o que pode ser entendido como processamento de dados off-chain. No entanto, o SegWit processa rapidamente os dados com a maior prioridade na cadeia.
O alívio da pressão para a implementação da Lightning Network na verdade cria indiretamente as condições para a Lightning Network.
Vale a pena mencionar que, na estrutura técnica do SegWit, os dados de transação e os dados de assinatura são totalmente separados. Em todo o sistema de processamento de transações, os dados de assinatura do usuário também são excluídos, portanto, não há possibilidade de que as informações da transação sejam adulteradas. Um clique elimina a possibilidade de informações incorretas serem registradas permanentemente on-chain. Ele também tem benefícios positivos para a expansão e aplicação do programa de reparos de informações de transação.
Além disso, o SegWit também é visto como o precursor dos ordinals do Bitcoin, ampliando o limite de quantidade de dados arbitrários que podem ser colocados em uma transação, permitindo que inscrições sejam gravadas em cada satoshi do Bitcoin. Em 2021, a Taproot criou um sistema que facilita o armazenamento de dados de testemunhas arbitrários e continuou expandindo o limite de dados definido em uma transação de Bitcoin, permitindo o nascimento do token não fungível de Bitcoin ordinals que existe atualmente.
Como o SegWit é aplicado
Para usuários comuns, há três benefícios principais da tecnologia SegWit:
Mais seguro: maior segurança do que endereços comuns
Mais rápido: capacidade de bloco expansível e verificação de transações mais rápida
Mais barato: as taxas de transação são mais baixas que os endereços de carteira comuns
Porém, como essa tecnologia se aplica a usuários comuns? Olhando para sua própria carteira, se você usar o endereço de carteira isolada para realizar a aceitação de transferências de Bitcoin, poderá aproveitar os benefícios explicados acima. Os dados coletados no final de agosto de 2020 mostraram que a taxa de utilização do SegWit de Bitcoin tinha alcançado 67%, o que significa que os dados atuais já devem ser mais altos.
Atualmente, o formato de endereço do Bitcoin é dividido em quatro tipos:
Legado
Formato legado (P2PKH) (endereços que começam com 1), endereços tradicionais.
Exemplo: 1Fh7ajXabJBpZPZw8bjD3QU4CuQ3pRty9u, formato de endereço original de Bitcoin, que ainda é usado hoje.
P2PKH significa Pay To PubKey Hash (Pay To Public Key Hash).
Aninhado
Formato aninhado (P2SH) (alguns endereços começando com 3), endereço multiassinatura.
Exemplo: 3EktnHQD7RiAE6uzMj2ZifT9YgRrkSgzQXP2SH (Pay-to-Script-Hash), hash do script de pagamento, ou seja, entrada e saída de script de transação de Bitcoin, usando scripts de resgate e hashes de script de resgate.
Sua estrutura de endereços é semelhante à da P2PKH, mas oferece suporte a funções mais complexas do que os endereços tradicionais. As funções de script P2SH são mais usadas com endereços multiassinatura, que podem especificar várias assinaturas digitais para autorizar transações. Por exemplo, um endereço que começa com 3 é controlado por três pessoas, e duas delas podem concordar em iniciar uma transferência.
Os dois endereços acima são endereços tradicionais de transferência de transações e não usam tecnologia de testemunha segregada. Dois endereços de testemunhas segregadas convencionais são apresentados abaixo.
Formato Nested SegWit (P2SH) (endereços que começam com 3), endereço compatível com testemunha segregada.
Exemplo: 3KF9nXowQ4asSGxRzeiTpDjMuwM2nypAN Endereços começando com 3.
Como o método P2SH é usado para empacotamento, o endereço compatível SegWit também começa com 3, que pode ser reconhecido pelos nós antigos.
Você não precisa saber se o endereço de Bitcoin que começa com 3 é um endereço multiassinatura ou um endereço compatível com testemunha segregada. Você só precisa saber que o endereço que começa com 3 é amplamente aceito e você pode enviar Bitcoin para endereços que começam com 1 e bc1.
Nativo
Formato Native SegWit (Bech32) (endereço que começa com bc1), endereço nativo de testemunha segregada.
Exemplo: bc1qf3uwcxaz779nxedw0wry89v9cjh9w2xylnmqc3
O endereço codificado em Bech32 é um formato de endereço desenvolvido especificamente para SegWit. O Bech32 foi definido no BIP173 no final de 2017. Uma das principais características desse formato é que ele não diferencia maiúsculas de minúsculas (o endereço contém apenas 0 a 9 e a a z), portanto ele pode evitar confusão e ser mais legível ao digitar.
Como o endereço requer menos caracteres, o endereço usa codificação Base32 em vez da tradicional Base58, o que torna os cálculos mais fáceis e eficientes. Os dados também podem ser armazenados mais compactados em códigos QR.
O Bech32 oferece maior segurança, código de detecção de erros de soma de verificação mais otimizado e minimiza a chance de endereços inválidos. Os endereços Bech32 são compatíveis com SegWit. Não é necessário espaço adicional para colocar endereços SegWit em endereços P2SH, portanto, ao usar endereços de formato Bech32, a taxa de processamento será mais baixa.
Os endereços Bech32 têm várias vantagens em relação aos endereços Base58 mais antigos (codificação Base58Check usada para codificar matrizes de bytes em Bitcoin em strings que podem ser codificadas por humanos). Com endereços Bech32, os códigos QR são menores, mais protegidos contra erros, seguros e não diferenciam maiúsculas de minúsculas. Eles também são compostos apenas de letras minúsculas, facilitando a leitura e compreensão ao digitar.
Formato P2WPKH nativo/P2WSH nativo (Bech32) (o endereço começa com bc1q), endereço de testemunha segregada nativo.
Exemplo de P2WPKH nativo: bc1qmgjswfb6eXcmuJgLxvMxAo1tth2QCyyPYt8shzNative
Exemplo de P2WSH: bc1q09zjqeetautmyzrxn9d2pu5c5glv6zcmj3qx5axrltslu90p88pqykxdv4wj
Para endereços SegWit da versão 0, eles sempre começam com bc1q. Com essa geração de endereços Pay-to-Witness-Public-Key-Hash (P2WPKH), o comprimento do endereço P2WPKH é fixo em 42 caracteres.
Com o endereço Pay-to-Witness-Script-Hash (P2WSH), o comprimento do endereço P2WSH é fixo em 62 caracteres. O P2WPKH é geralmente usado em endereços comuns, e o P2WSH é geralmente usado em endereços multiassinatura.
Em 2019, foi descoberto que, se o último caractere de um endereço Bech32 for P e se um ou mais Qs forem inseridos acidentalmente depois, ele ainda poderá passar na verificação de soma de verificação e não receberá uma informação de erro de entrada. O software da carteira assumirá que o endereço foi inserido corretamente e permitirá que os Bitcoins sejam enviados para o endereço errado, tornando os Bitcoins não gastáveis, como explicado acima.
A boa notícia é que o Bech32 é usado apenas para SegWit, e os endereços SegWit têm um limite de comprimento: eles podem ter apenas 20 ou 32 bytes. Então, se você digitar um Q extra depois de um endereço com 20 ou 32 bytes de comprimento, o endereço inserido será considerado inválido porque excederá o limite de comprimento. A carteira verá esse problema e recusará enviar os Bitcoins.
Originalmente foi sugerido introduzir um limite de comprimento de endereço semelhante para Taproot, mas a solução mencionada abaixo elimina essa necessidade. Um comprimento de endereço flexível é mais útil para melhorar o Taproot no futuro.
P2TR
Formato P2TR (Bech32m) (endereço começa com bc1p), endereço Taproot.
Exemplo: bc1pqs7w62shf5ee3qz5jaywle85jmg8suehwhOawnqxevre9k7zvqdz2mOn
Para corrigir o bug do Bech32, um novo padrão chamado Bech32m foi proposto. O Bech32m é na verdade uma alteração muito simples: um dígito extra é adicionado à fórmula de soma de verificação da Bech32 para garantir que eventuais caracteres adicionais gerem uma soma de verificação inválida.
Esse novo padrão se aplica apenas aos endereços Taproot e futuros. Para os endereços SegWit, nada mudou, pois eles já estão protegidos com um limite de comprimento de 20 ou 32 bytes.
Para corrigir as deficiências acima do Bech32, os endereços Bech32m são propostos no BIP0350:
Para endereços SegWit nativos da versão 0, use o Bech32 anterior
Para endereços SegWit nativos com versão 1 (ou superior), use o novo Bech32m
Para endereços Bech32m, eles sempre começam com bc1p quando a versão é 1 (ou seja, endereços Taproot).
As sutis diferenças entre os endereços
De modo mais amplo, podemos ver outras diferenças sutis entre os diferentes endereços:
Os endereços compatíveis com o SegWit (começando com a parte 3) economizam 24% nas taxas de transferência em comparação com os endereços tradicionais (começando com 1)
Os endereços Native SegWit (começando com bc1) economizam 35% nas taxas de transferência em comparação com os endereços tradicionais (começando com 1)
O endereço SegWit (começando com bc1 e parte 3) pode economizar até 70% na taxa de transferência em relação ao endereço multiassinatura (começando com parte 3)
O endereço Taproot é compatível com holding de NFTs BTC e NFTs Ordinals, e a taxa de transferência é semelhante ao início de 3
A última palavra
SegWit é um desenvolvimento importante para o Bitcoin para aumentar o número de transações por bloco que a rede Bitcoin pode processar. Além disso, ele aborda uma vulnerabilidade rara relacionada à flexibilidade das transações e adiciona maior programabilidade ao Bitcoin, permitindo soluções de escalonamento adicionais, como a Lightning Network do Bitcoin.
A OKX wallet já deu suporte aos usuários para adotar o endereço de testemunha isolada, incluindo Bitcoin, Litecoin e Bitcoin Cash, ao transferir e recarregar, otimizando a experiência do usuário, reduzindo a taxa de uso e aumentando a velocidade de transferência. Ao mesmo tempo, a OKX Wallet também oferece suporte total ao endereço Taproot, de que os ordinals BRC-20 e BTC NFT dependem.