Análise Profunda das Soluções de Escalabilidade Fora da Cadeia: State Channels e a Rede de Iluminação do Bitcoin

Expansão fora da cadeia: Análise da profundidade

Autor: Ellaine Xu, Hettie Jiang, June Wang, Walon Lin, Yiliu Lin

1. A necessidade de expansão

O futuro da blockchain é uma visão grandiosa: descentralização, segurança e escalabilidade; mas geralmente a blockchain só consegue realizar duas dessas, enquanto atender a esses três requisitos é conhecido como o problema do triângulo impossível da blockchain. Durante anos, as pessoas têm explorado como resolver esse dilema, como melhorar a capacidade de processamento e a velocidade das transações da blockchain, garantindo a descentralização e a segurança, ou seja, resolver o problema da escalabilidade, que é um dos tópicos quentes discutidos no desenvolvimento atual da blockchain.

Vamos primeiro definir de forma geral a descentralização, segurança e escalabilidade da blockchain:

  • Descentralização: qualquer pessoa pode se tornar um nó para participar da produção e validação do sistema de blockchain. Quanto maior o número de nós, maior o grau de descentralização, garantindo assim que a rede não esteja sob o controle de um pequeno grupo de participantes centralizados.
  • Segurança: quanto maior o custo para obter o controle do sistema blockchain, maior a segurança, então a cadeia pode resistir a uma maior proporção de ataques por parte dos participantes.
  • Escalabilidade: a capacidade da blockchain de processar um grande número de transações.

A primeira grande divisão do protocolo Bitcoin ocorreu devido a problemas de escalabilidade. Com o aumento do número de usuários e do volume de transações do Bitcoin, a rede Bitcoin, com um limite de 1MB por bloco, começou a enfrentar problemas de congestionamento; desde 2015, houve divergências na comunidade Bitcoin sobre a questão da escalabilidade. De um lado, estão os apoiadores da expansão do bloco, representados pelo Bitcoin ABC, e do outro, os apoiadores de blocos menores, representados pelo Bitcoin Core, que acreditam que a solução Segwit deve ser utilizada para otimizar a estrutura da cadeia principal. Em 1 de agosto de 2017, o cliente desenvolvido pelo Bitcoin ABC, com capacidade de 8MB, começou a funcionar, resultando na primeira grande divisão do protocolo Bitcoin na história e, assim, originando a nova criptomoeda BCH.

Da mesma forma, a rede Ethereum também optou por sacrificar uma 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 fazendo restrições ao tamanho do bloco, mas sim se transformou em um limite para as taxas de gás que um único bloco pode acomodar, o objetivo é alcançar o Consensus Sem Confiança e garantir a ampla distribuição dos nós. ( Seja cancelando ou aumentando o limite, isso eliminará muitos nós menores que não possuem largura de banda, armazenamento e capacidade de computação suficientes. ).

Desde os CryptoKitties de 2017, o verão DeFi, até o surgimento de aplicações em cadeia como GameFi e NFT, a demanda do mercado por throughput tem aumentado continuamente. No entanto, mesmo o Ethereum, que é Turing completo, só consegue processar de 15 a 45 transações por segundo ( TPS ), o que resulta em um aumento constante dos custos de transação, tempos de liquidação mais longos, e a maioria das Dapps tem dificuldade em suportar os custos operacionais. A rede como um todo tornou-se lenta e cara para os usuários, e o problema da escalabilidade da blockchain precisa ser resolvido urgentemente. A solução de escalabilidade ideal é: aumentar a velocidade de transação da rede blockchain ( um tempo de finalização ) mais curto e um throughput de transação ( um TPS ) mais alto, sem sacrificar a descentralização e a segurança.

Relatório de pesquisa em profundidade: Análise completa da expansão fora da cadeia

2. Tipos de planos de escalabilidade

Dividimos as soluções de escalabilidade em duas grandes categorias: escalabilidade on-chain 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: solução que visa aumentar a capacidade através da alteração de um nível do protocolo da mainnet, sendo a principal solução atualmente a fragmentação.

A escalabilidade na cadeia tem várias soluções, este artigo não irá se aprofundar, a seguir estão brevemente listadas 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, elevará a barreira de entrada para os nós e reduzirá o grau de "descentralização".
  • A opção dois é a fragmentação, que divide o livro-razão da blockchain em várias partes, onde não é necessário que cada nó participe de todos os registros, mas sim que diferentes fragmentos, ou seja, diferentes nós, sejam responsáveis por diferentes registros, permitindo que o cálculo em paralelo possa processar várias transações simultaneamente; isso pode reduzir a pressão de cálculo nos nós e o limiar de entrada, aumentar a velocidade de processamento das transações e o grau de descentralização; mas isso significa que a capacidade de cálculo da rede é dispersa, o que pode reduzir a "segurança" de toda a rede.

Modificar o código do protocolo principal da camada pode ter efeitos negativos imprevisíveis, uma vez que qualquer pequena vulnerabilidade de segurança subjacente pode ameaçar severamente a segurança de toda a rede, levando a rede a ser forçada a realizar um fork ou a interromper a atualização de reparação. Por exemplo, o incidente de vulnerabilidade de inflação do Zcash em 2018: o código do Zcash foi modificado a partir 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, que permitia a emissão ilimitada de tokens; a equipe levou 8 meses a corrigir secretamente a vulnerabilidade, e só depois da correção é que o incidente foi divulgado.

2.2 Fora da cadeia de escalabilidade

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

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

Relatório de Pesquisa Profundidade: Análise completa da expansão fora da cadeia

3. Proposta de expansão fora da cadeia

3.1 Canais Estaduais

3.1.1 Resumo

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

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, sendo este contrato responsável por controlar os ativos depositados no canal, verificar as atualizações de estado e arbitrar disputas entre os participantes ( com base em provas de fraude ) que incluem assinaturas e carimbos de data/hora. Após o contrato ser implantado na rede blockchain, os participantes depositam uma quantia de fundos e bloqueiam-na; após a confirmação das assinaturas de ambas as partes, o canal é oficialmente aberto. O canal permite transações gratuitas fora da cadeia entre os participantes sem limite de vezes (, 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 um ao outro, aguardando a confirmação da assinatura do outro. Assim que a outra parte confirma a assinatura, essa atualização de estado é considerada concluída. Normalmente, as atualizações de estado acordadas por ambas as partes não são carregadas na rede principal; apenas em caso de disputa ou ao fechar o canal, elas dependem da confirmação da rede principal. Quando for necessário fechar o canal, qualquer um dos participantes pode solicitar uma transação na rede principal; se o pedido de saída receber a aprovação de todas as assinaturas, a execução na cadeia é imediata, ou seja, o contrato inteligente distribui os fundos bloqueados restantes com base no saldo de cada participante no estado final do canal; se outros participantes não aprovarem a assinatura, todos devem aguardar o término do "período de contestação" para receber os fundos restantes.

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

Relatório de pesquisa em profundidade: Análise abrangente da expansão fora da cadeia

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 whitepaper "The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments" que propôs a solução de escalabilidade da rede Lightning do Bitcoin, Payment Channel( canal de pagamento), que é utilizado apenas para processar pagamentos de transferências na rede Bitcoin.
  • 2017/11, a primeira norma de design sobre State Channel baseada na estrutura Payment Channel, Sprites, foi proposta.
  • 2018/06, Counterfactual apresentou um design de Canais de Estado Generalizados muito detalhado, que é o primeiro design totalmente relacionado a canais de estado.
  • 2018/10, o artigo Generalised State Channel Networks introduziu os conceitos de State Channel Networks e Virtual Channels.
  • 2019/02, o conceito de canais de estado foi expandido para Canais N-Partido, Nitro é o primeiro protocolo baseado nessa ideia.
  • 2019/10, Pisa para resolver o problema de que todos os participantes precisam estar continuamente online, expandiu o conceito de Watchtowers.
  • 2020/03, Hydra apresentou Canais Isomórficos Rápidos.

3.1.3 Princípios técnicos

Fluxo de trabalho do canal de estado:

  1. Alice e Bob depositam fundos de uma EOA pessoal para um endereço de contrato em cadeia, esses fundos são bloqueados no contrato até que o canal seja fechado, momento em que o saldo é devolvido ao usuário; após a confirmação da assinatura, o canal de estado entre os dois é oficialmente aberto.

  2. Alice e Bob podem teoricamente realizar transações ilimitadas fora da cadeia através deste canal, com os participantes se comunicando por mensagens criptografadas de assinatura ( em vez de se comunicarem com a rede blockchain ). Ambos os usuários precisam assinar cada transação para evitar fraudes de duplicação. Através dessas mensagens, eles propõem atualizações de estado de suas contas e aceitam as atualizações de estado propostas pelo outro.

  3. Se Alice quiser fechar o canal e encerrar a transação com Bob, Alice precisa submeter o estado final de sua conta ao contrato. Se Bob assinar e aprovar, o contrato liberará os fundos bloqueados de acordo com o estado final para o usuário correspondente. Se Bob não responder com a assinatura, o contrato irá liberar os fundos bloqueados de volta ao usuário correspondente após o término do período de contestação.

Fluxo de trabalho do canal de estado em um cenário pessimista: inicialmente, dois participantes depositam fundos e, em seguida, começam a trocar atualizações de estado. Suponha que em algum momento, Bob não responda à assinatura da atualização de estado enviada por Alice em sua rodada; nesse momento, Alice pode iniciar um desafio submetendo ao contrato seu último estado válido, que também contém a assinatura anterior de Bob, provando assim que a última transação foi aprovada por Bob e que o estado final foi confirmado por Bob. Então, o contrato permite que Bob responda dentro de um período de tempo, submetendo o próximo estado ao contrato; se Bob responder, os dois podem continuar a negociar 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.

Relatório de pesquisa aprofundada: Análise completa da expansão fora da cadeia

3.1.4 Vantagens e desvantagens

Vantagens:

  • Confirmação instantânea, a transação pode ser concluída imediatamente
  • Alta taxa de transferência, teoricamente transações ilimitadas
  • Taxas baixas, apenas é necessário pagar taxas na cadeia ao abrir ou fechar o canal.
  • Boa privacidade, as transações fora da cadeia não serão divulgadas na mainnet

Desvantagens:

  • Taxa de utilização de fundos baixa, é necessário bloquear os fundos
  • Pouco amigável para o usuário, requer monitoramento contínuo do canal
  • Criar um canal é relativamente complexo
  • Difícil projetar um canal de estado genérico
  • Falta de liquidez, o canal não consegue transferir fundos de forma flexível.

3.1.5 Aplicação

Rede Lightning do Bitcoin

Resumo: A Lightning Network é um canal de pagamentos de baixo valor na rede Bitcoin, cuja evolução técnica geral passa por: 2/2 multiassinatura para construir um canal de pagamento unidirecional, aumentando RSMC(Revocable Sequence Maturity Contract) pode construir um canal de pagamento bidirecional, e após adicionar HTLC(Hash Time Lock Contract) pode expandir o canal de pagamento para pagamentos entre várias pessoas, formando finalmente a 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, pode-se resolver o problema de escalabilidade da rede Bitcoin. O uso geral da Lightning Network segue o fluxo "depósito(estabelecer canal)→ transação da Lightning Network(atualizar estado do canal)→ reembolso/liquidaçã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 white paper da Lightning Network;
  • Lançamento da versão oficial do white paper em janeiro de 2016 e formação de
Ver original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Recompensa
  • Comentar
  • Partilhar
Comentar
0/400
Nenhum comentário
  • 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)