Análise profunda das soluções de escalabilidade fora da cadeia: State Channels e a Rede de iluminação Bitcoin

Explicação profunda da profundidade de escalabilidade fora da cadeia

Autor: Cobo Ventures

1. A necessidade de escalabilidade

A visão futura da blockchain é a descentralização, segurança e escalabilidade, mas geralmente apenas dois desses três objetivos podem ser alcançados, o que é conhecido como o problema do triângulo impossível da blockchain. Durante anos, as pessoas têm explorado como resolver esse dilema, como aumentar a capacidade de throughput e a velocidade das transações da blockchain, garantindo ao mesmo tempo a descentralização e a segurança, ou seja, resolver o problema da escalabilidade é um dos tópicos quentes no processo de desenvolvimento atual da blockchain.

Definição de descentralização, segurança e escalabilidade da blockchain:

  • Descentralização: qualquer pessoa pode se tornar um nó e participar da produção e validação do sistema de blockchain, quanto maior o número de nós, maior o nível de descentralização, garantindo que a rede não seja controlada por um pequeno número de grandes participantes centralizados.

  • Segurança: quanto maior for o custo para obter o controle do sistema de blockchain, maior será a segurança, e a cadeia poderá resistir a ataques de uma maior proporção de participantes.

  • Escalabilidade: a capacidade da blockchain de processar um grande número de transações.

Relatório de Pesquisa em Profundidade: Análise Abrangente da Expansão fora da cadeia

A primeira grande bifurcação difícil da rede Bitcoin surgiu devido a problemas de escalabilidade. Com o aumento do número de usuários e do volume de transações, a rede Bitcoin, com um limite de 1MB por bloco, começou a enfrentar problemas de congestionamento; a partir de 2015, a comunidade Bitcoin tinha divergências sobre a questão da escalabilidade, com um lado a apoiar a ampliação dos blocos e o outro a apoiar a solução Segwit de testemunho segregado, que utiliza blocos menores. Em 1 de agosto de 2017, o lado a favor da escalabilidade desenvolveu um sistema de cliente de 8MB de forma independente, resultando na primeira grande bifurcação difícil da história do Bitcoin, que também deu origem à nova criptomoeda BCH.

A rede Ethereum também optou por sacrificar parte da escalabilidade para garantir a segurança e a descentralização da rede. Embora a rede Ethereum não tenha limitado o volume de transações como a rede Bitcoin, restringindo o tamanho dos blocos, mas sim se transformando em um limite de taxa de combustível que pode ser acomodado em um único bloco, o objetivo é o mesmo: alcançar um consenso sem confiança e garantir uma ampla distribuição de nós.

Desde o CryptoKitties em 2017, passando pelo verão DeFi, até o surgimento de aplicações em cadeia como GameFi e NFT, a demanda do mercado por capacidade de processamento tem aumentado constantemente. No entanto, mesmo o Ethereum, que é Turing completo, consegue processar apenas 15-45 transações por segundo (TPS), o que resulta em um aumento constante dos custos de transação e tempos de liquidação mais longos. A maioria dos Dapps tem dificuldade em suportar os custos operacionais, e toda a rede se torna lenta e cara para os usuários, o que torna a questão da escalabilidade da blockchain urgente. A solução ideal de escalabilidade é: aumentar a velocidade das transações e a capacidade de processamento da rede blockchain o máximo possível, sem sacrificar a descentralização e a segurança.

2. Tipos de soluções de escalabilidade

Nós classificamos os planos de escalabilidade em duas grandes categorias, a saber, escalabilidade em cadeia e escalabilidade fora da cadeia, com base no critério "se altera uma camada da rede principal".

2.1 Expansão em cadeia

Conceito central: uma solução que atinge o efeito de escalabilidade através da alteração de uma camada do protocolo da rede principal, sendo a principal solução atual a fragmentação.

A escalabilidade na cadeia tem várias soluções, este artigo não será aprofundado, apenas listarei brevemente duas soluções:

  • A opção um é expandir o espaço do bloco, ou seja, aumentar o número de transações empacotadas em cada bloco, mas isso aumentará os requisitos para dispositivos de nós de alto desempenho, elevando a barreira de entrada para os nós e reduzindo o grau de "descentralização".

  • A solução dois é a fragmentação, dividindo o livro razão da blockchain em várias partes, em que não é necessário que cada nó participe de todas as contabilidades, mas sim que diferentes fragmentos, ou seja, diferentes nós, sejam responsáveis por diferentes contabilidades. O cálculo em paralelo pode processar várias transações ao mesmo tempo; isso reduz a pressão de cálculo nos nós e o limiar de entrada, aumentando a velocidade de processamento de transações e o grau de descentralização; mas isso significa que a capacidade de computação da rede é dispersa, o que pode diminuir a "segurança" de toda a rede.

Alterar o código do protocolo da camada principal pode ter efeitos negativos imprevisíveis, pois qualquer pequena vulnerabilidade de segurança na base pode ameaçar seriamente a segurança de toda a rede, podendo a rede ser forçada a realizar um fork ou a interromper atualizações de reparo. Por exemplo, o incidente da vulnerabilidade de inflação do Zcash em 2018: o código do Zcash é baseado em uma modificação do código da versão 0.11.2 do Bitcoin, e em 2018 um engenheiro descobriu uma vulnerabilidade crítica no código subjacente, permitindo que os tokens fossem emitidos ilimitadamente, e a equipe levou 8 meses para corrigir secretamente o problema, revelando o incidente apenas após a correção.

2.2 fora da cadeia expansão

Conceito central: solução de escalabilidade que não altera o protocolo da mainnet de camada 1 existente.

O plano de escalabilidade fora da cadeia pode ser subdividido em Layer2 e outras soluções:

Relatório de Pesquisa Profunda: Análise Abrangente da Expansão fora da cadeia

3. Profundidade da solução de expansão fora da cadeia

3.1 Canais de Estado

3.1.1 Resumo

Os canais de estado estabelecem que os usuários só precisam interagir com a rede principal quando o canal é aberto, fechado ou quando há uma disputa, e que a interação entre usuários deve ser realizada fora da cadeia, a fim de reduzir o tempo e o custo monetário das transações dos usuários, além de permitir que o número de transações não seja limitado.

Os canais de estado são protocolos P2P simples, adequados para "aplicações baseadas em turnos", como um jogo de xadrez entre duas pessoas. Cada canal é gerido por um contrato inteligente multi-assinatura que opera na rede principal, que controla os ativos depositados no canal, valida as atualizações de estado e arbitra disputas entre os participantes ( com base em provas de fraude com assinatura e timestamp ). Após o contrato ser implantado na rede de blockchain, os participantes depositam um montante de dinheiro e o bloqueiam; após a confirmação da assinatura de ambas as partes, o canal é oficialmente aberto. O canal permite transações gratuitas fora da cadeia ilimitadas entre os participantes (, desde que o valor líquido das transferências não exceda o total de tokens depositados ). Os participantes alternam o envio de atualizações de estado uns aos outros, aguardando a confirmação da assinatura do outro. Uma vez que a assinatura do outro lado é confirmada, a atualização de estado é considerada concluída. Normalmente, as atualizações de estado acordadas por ambas as partes não são enviadas para a rede principal; apenas em caso de disputa ou ao fechar o canal, a confirmação da rede principal é necessária. Quando é necessário fechar o canal, qualquer participante pode fazer um pedido de transação na rede principal; se o pedido de saída receber a aprovação de todas as assinaturas, a execução na cadeia ocorre imediatamente, ou seja, o contrato inteligente distribui os fundos bloqueados restantes com base nos saldos de cada participante no estado final do canal; se outros participantes não aprovarem a assinatura, todos devem esperar pelo fim do "período de desafio" para receber os fundos restantes.

Em resumo, a solução de canais de estado pode reduzir significativamente a carga computacional na rede principal, aumentar a velocidade das transações e diminuir os custos das transações.

3.1.2 Linha do tempo

  • 2015/02, Joseph Poon e Thaddeus Dryja publicaram o rascunho do white paper da Lightning Network.

  • 2015/11, Jeff Coleman fez a primeira síntese sistemática do conceito de State Channel, propondo que o Payment Channel do Bitcoin é um subcaso do conceito de State Channel.

  • 2016/01, Joseph Poon e Thaddeus Dryja publicaram oficialmente o white paper "The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments" propondo o esquema de escalabilidade da rede Lightning do Bitcoin, Payment Channel (, que é utilizado apenas para processar pagamentos de transferências na rede Bitcoin.

  • Novembro de 2017, a primeira especificação de design sobre State Channel baseada na estrutura de Payment Channel, chamada Sprites, foi proposta.

  • 2018/06, Counterfactual apresentou um design de Canais de Estado Generalizados muito detalhado, sendo este o primeiro design totalmente relacionado a canais de estado.

  • 2018/10, o artigo Generalised State Channel Networks propôs os conceitos de State Channel Networks e Virtual Channels.

  • 2019/02, o conceito de canais de estado foi expandido para Canais N-Party, Nitro é o primeiro protocolo baseado nessa ideia.

  • 2019/10, Pisa, para resolver o problema de todos os participantes precisarem estar continuamente online, expandiu o conceito de Watchtowers.

  • 2020/03, a Hydra apresentou Canais Isomórficos Rápidos.

)# 3.1.3 Princípios técnicos

A figura 1 mostra o fluxo de trabalho tradicional na cadeia: Alice e Bob interagem com um contrato inteligente implantado na rede principal, e os usuários alteram o estado do contrato inteligente enviando transações para a cadeia. A desvantagem é que isso traz os problemas de tempo e custo discutidos acima.

![Relatório de Pesquisa Profundidade: Análise Completa da Expansão fora da cadeia]###https://img-cdn.gateio.im/webp-social/moments-ead28de03be9fc22dcfe3f679ee36bc5.webp(

A Figura 2 mostra o fluxo de trabalho geral seguido pela maioria dos protocolos de canais de estado: em um cenário otimista, Alice e Bob precisam executar a mesma operação que antes, mas desta vez eles usam um canal de estado, em vez de interagir com um contrato em cadeia.

  • Primeiro passo, Alice e Bob interagem depositando fundos de suas contas EOA pessoais para o endereço de contrato em cadeia ), 1,2(, esses fundos são bloqueados no contrato até que o canal seja fechado e o saldo seja devolvido ao usuário; após a confirmação da assinatura de ambos, o canal de estado entre os dois é oficialmente aberto.

  • Segundo passo, Alice e Bob podem teoricamente realizar um número ilimitado de transações fora da cadeia ) linha azul pontilhada (, os participantes se comunicam entre si através de mensagens assinadas criptograficamente ) em vez de se comunicarem com a rede blockchain (. Ambos os usuários precisam assinar cada transação para evitar fraudes de gasto duplo. Através dessas mensagens, eles propõem atualizações de estado de suas contas e aceitam as atualizações de estado propostas pelo outro.

  • Terceiro passo, se Alice quiser fechar o canal e terminar a transação com Bob, Alice precisa enviar o estado final da sua conta ) interagir 3( ao contrato, se Bob assinar para aprovar, o contrato liberará os fundos bloqueados de acordo com o estado final e retornará ao usuário correspondente ) interagir 4,5(. Se Bob não responder à assinatura, o contrato liberará os fundos bloqueados de volta ao usuário correspondente após o término do período de desafio.

![Relatório de Pesquisa de Profundidade: Análise Completa da Expansão fora da cadeia])https://img-cdn.gateio.im/webp-social/moments-ad088ac016d75b1ae0b0eda699e74709.webp(

A figura 3 mostra o fluxo de trabalho do canal de estado em uma situação pessimista: inicialmente, dois participantes depositam fundos ) interação 1, 2(, e então começam a trocar atualizações de estado ) linha azul pontilhada (. Suponha que em um determinado momento, Bob não responda à atualização de estado assinada enviada por Alice ) interação 3(, neste momento, Alice pode iniciar um desafio ao submeter ao contrato seu último estado válido ) interação 4(, este estado válido também contém a assinatura anterior de Bob, provando que a última transação já recebeu a aprovação de Bob, e que o estado final já foi confirmado por Bob. Em seguida, o contrato permite que Bob responda dentro de um determinado período, submetendo o próximo estado ao contrato; se Bob responder, ambos podem continuar a transacionar dentro do canal de estado; se Bob não responder dentro desse período, o contrato fecha automaticamente o canal de estado e devolve os fundos a Alice ) interação 5(.

![Relatório de pesquisa aprofundada: Análise completa da expansão fora da cadeia])https://img-cdn.gateio.im/webp-social/moments-815c5eb2bdba725e04eebe67b22d42aa.webp(

)# 3.1.4 Vantagens e desvantagens

Vantagens:

  • Determinismo instantâneo
  • Taxas extremamente baixas
  • Boa privacidade
  • Alta escalabilidade
  • Alta flexibilidade

Desvantagens:

  • É necessário que todas as partes envolvidas estejam continuamente online
  • Não é adequado para cálculos complexos
  • O custo inicial para estabelecer o canal é alto
  • Escalabilidade fraca
  • É necessário pré-carregar fundos bloqueados

3.1.5 Aplicação

Rede Lightning do Bitcoin

Resumo:

A Lightning Network é um canal de pagamento de baixo valor na rede Bitcoin, cuja evolução técnica geral passou por: a construção de um canal de pagamento unidirecional com 2/2 multiassinatura, que, após a adição do RSMC### Revocable Sequence Maturity Contract(, pode construir um canal de pagamento bidirecional, e depois, com a adição do HTLC) Hash Time Lock Contract(, pode conectar canais de pagamento para expandir para pagamentos em grupo, formando finalmente uma rede de pagamentos, ou seja, a Lightning Network. Através de canais de pagamento de baixo valor fora da cadeia, e utilizando intermediários para formar uma rede de transações, é possível resolver o problema da escalabilidade da rede Bitcoin. O uso geral da Lightning Network segue o fluxo: "depósito) estabelecer canal( → transação na Lightning Network) atualizar estado do canal( → reembolso/liqidação) encerrar canal("; teoricamente, a Lightning Network pode processar um milhão de transações por segundo.

Linha do tempo:

  • Em fevereiro de 2015, Joseph Poon e Thaddeus Dryja publicaram o rascunho do whitepaper da Lightning Network;
  • Em janeiro de 2016, foi publicado o white paper oficial e foi fundada a Lightning Labs;
  • Em 15 de março de 2018, a Lightning Labs lançou a primeira versão da rede principal do Lightning Network, Lightning Network Daemon )LND( versão 0.4.
  • No início de 2021, a capacidade pública da Lightning Network )TVL( era de apenas cerca de 40 milhões de dólares, com cerca de 100 mil usuários a utilizarem a Lightning Network.
BTC1.23%
Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
  • Recompensa
  • 4
  • Partilhar
Comentar
0/400
PumpStrategistvip
· 11h atrás
Outra vez o velho Trindade Profana. Do ponto de vista técnico, ainda não houve uma quebra.
Ver originalResponder0
fork_in_the_roadvip
· 11h atrás
Ainda estamos a lidar com a questão da escalabilidade.
Ver originalResponder0
TokenTaxonomistvip
· 11h atrás
estatisticamente falando, 99,7% das soluções de escalonamento falham na otimização do trilema...
Ver originalResponder0
Anon32942vip
· 12h atrás
Falou o dia todo e é só um triângulo.
Ver originalResponder0
  • Pino
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)