O futuro da blockchain é uma visão grandiosa: descentralização, segurança e escalabilidade; mas geralmente a blockchain só pode realizar duas dessas, e atender a esses três requisitos é conhecido como o problema do triângulo impossível da blockchain. Ao longo dos anos, as pessoas têm explorado como resolver esse dilema, como aumentar a taxa de transferência e a velocidade das transações da blockchain sob a premissa de garantir a descentralização e a segurança, ou seja, resolver o problema da escalabilidade, que é um dos tópicos quentes discutidos no processo de desenvolvimento atual da blockchain.
Vamos primeiro definir de forma genérica a 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 será o nível de descentralização, garantindo que a rede não esteja sob o controle de um pequeno grupo de grandes participantes centralizados.
Segurança: quanto maior o custo para obter o controle do sistema de blockchain, maior a segurança, então a cadeia pode resistir a um maior percentual de participantes que a atacam.
Escalabilidade: a capacidade da blockchain de processar um grande volume de transações.
A primeira grande bifurcação dura da rede Bitcoin surgiu devido a problemas de escalabilidade. Com o aumento do número de usuários e do volume de transações do Bitcoin, a rede começou a enfrentar problemas de congestionamento devido ao limite de 1MB por bloco; a partir de 2015, a comunidade Bitcoin começou a ter divergências sobre a questão da escalabilidade, com um lado representado pelo Bitcoin ABC, que apoiava a expansão do bloco, e o outro lado representado pelo Bitcoin Core, que defendia o uso da solução Segwit para otimizar a estrutura da cadeia principal. Em 1 de agosto de 2017, o Bitcoin ABC lançou seu sistema cliente desenvolvido para 8MB, resultando na primeira grande bifurcação dura da história do Bitcoin e, consequentemente, na criação da 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, restringindo o tamanho dos blocos, mas sim, de forma indireta, alterou para estabelecer um limite para as taxas de gás que podem ser acomodadas em um único bloco, o objetivo é alcançar o Consenso Sem Confiança e garantir uma ampla distribuição de nós. ( Quer a limitação seja cancelada ou aumentada, muitos nós menores, com largura de banda, armazenamento e capacidade de computação insuficientes, serão eliminados. ).
Desde o CryptoKitties de 2017, o verão DeFi, até o surgimento de aplicações em cadeia como GameFi e NFT, a demanda do mercado por profundidade tem aumentado continuamente, mas 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 dos Dapps tem dificuldade em suportar os custos operacionais, tornando toda a rede lenta e cara para os usuários. O problema de escalabilidade da blockchain precisa ser resolvido urgentemente. A solução ideal de escalabilidade é: aumentar a velocidade das transações da rede blockchain ( um tempo de finalização mais curto ) e uma maior profundidade de transações ( sem sacrificar a descentralização e a segurança.
![Relatório de pesquisa profunda: Análise completa da expansão fora da cadeia])https://img-cdn.gateio.im/webp-social/moments-7d930821d982f99c43cf5400e4db2175.webp(
2. Tipos de soluções de escalabilidade
Nós dividimos o plano de expansão em duas grandes categorias: expansão em cadeia e expansão fora da cadeia, com base no critério "se a camada principal da rede será alterada".
) 2.1 Expansão na cadeia
Conceito central: uma solução para aumentar a capacidade através da alteração de um nível do protocolo da rede principal, atualmente a principal solução é a fragmentação.
A escalabilidade na cadeia tem várias soluções, este artigo não irá se aprofundar, a seguir estão listadas 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, elevará a barreira de entrada para nós e reduzirá o grau de "descentralização".
A segunda opção é o sharding, que divide o livro razão da blockchain em várias partes, em vez de cada nó participar de todos os registros, diferentes shards, ou seja, diferentes nós, são responsáveis por diferentes registros, permitindo que o cálculo em paralelo processe várias transações simultaneamente; isso pode reduzir a pressão computacional sobre os nós e o limiar de entrada, aumentando a velocidade de processamento das transações e o nível de descentralização; mas isso significa que o poder de computação da rede é distribuído, o que pode reduzir a "segurança" de toda a rede.
Alterar o código do protocolo principal da rede pode ter consequências negativas imprevisíveis, uma vez que qualquer pequena vulnerabilidade de segurança subjacente pode ameaçar gravemente a segurança de toda a rede, podendo esta ser forçada a realizar um fork ou uma interrupção para uma atualização de reparo. Por exemplo, o incidente da vulnerabilidade de inflação da Zcash em 2018: o código da 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, ou seja, os tokens poderiam ser emitidos de forma ilimitada. A equipe passou então 8 meses a corrigir esta falha em segredo, e só após a correção do problema é que o incidente foi tornado público.
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.
A solução de escalabilidade fora da cadeia pode ser subdividida em Layer2 e outras soluções:
![Relatório de pesquisa em profundidade: Análise abrangente da expansão fora da cadeia]###https://img-cdn.gateio.im/webp-social/moments-087d35594a04d33375b8199b93eb355e.webp(
3. Profundidade de expansão fora da cadeia
) Canais de Estado 3.1
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 surgem disputas, e que as interações entre usuários sejam realizadas fora da cadeia, a fim de reduzir o tempo e os custos monetários 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 jogos de xadrez para duas pessoas. Cada canal é gerido por um contrato inteligente de múltiplas assinaturas que opera na rede principal, o qual controla os ativos depositados no canal, valida atualizações de estado e arbitra disputas entre os participantes ### com base em provas de fraude ( que contêm assinaturas e carimbos de data/hora. Após os participantes implantarem o contrato na rede blockchain, depositam uma quantia de fundos e a bloqueiam; uma vez que ambas as partes assinam e confirmam, o canal é oficialmente aberto. O canal permite que os participantes realizem transações fora da cadeia de forma gratuita e sem limites, ) desde que o valor líquido das suas 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. Uma vez que a assinatura do outro lado é confirmada, essa atualização de estado é considerada concluída. Normalmente, atualizações de estado acordadas por ambas as partes não são enviadas para a rede principal, e apenas em caso de disputa ou fechamento do canal é que se recorre à confirmação da rede principal. Quando é necessário fechar o canal, qualquer um dos participantes pode apresentar um pedido de transação na rede principal; se o pedido de saída obtiver a aprovação de todas as assinaturas, a execução on-chain ocorre imediatamente, ou seja, o contrato inteligente distribui os fundos bloqueados restantes de acordo com o saldo de cada participante no estado final do canal; se outros participantes não aprovaram a assinatura, todos devem aguardar o término do "período de contestação" para receber os fundos restantes.
Assim, a solução do canal de estado pode reduzir significativamente a carga computacional da 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" que propôs a solução de escalabilidade da rede Lightning do Bitcoin, Payment Channel### canal de pagamento(, que é usado 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 propôs um design muito detalhado de Canais de Estado Generalizados, que é 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 N-Party Channels, 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, Hydra propôs 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 blockchain 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 em 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 que a maioria dos protocolos de canais de estado segue: 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 contratos na cadeia.
Primeiro passo, Alice e Bob interagem ao depositar fundos de seu EOA pessoal para o endereço de contrato em cadeia ), 1,2(, 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 das assinaturas, 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 ( através do canal, os participantes comunicam-se entre si por meio de mensagens assinadas criptograficamente ) em vez de se comunicar com a rede blockchain (. Ambos os usuários precisam assinar cada transação para prevenir 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 um do outro.
Terceiro passo, se Alice quiser fechar o canal e encerrar a transação com Bob, Alice precisa enviar ao contrato o estado final da sua conta ) interação 3(, se Bob assinar e aprovar, o contrato irá liberar os fundos bloqueados de acordo com o estado final e retorná-los ao usuário correspondente ) interação 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 contestação.
![Relatório de pesquisa aprofundada: 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 um cenário 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 algum momento, Bob não responda à atualização de estado enviada por Alice durante sua vez ) interação 3(, neste momento, Alice pode iniciar um desafio ) interação 4(, submetendo a última atualização de estado válida para o contrato, que também contém a assinatura anterior de Bob, provando 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 certo 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 em profundidade: 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:
A instantaneidade das transações é forte, adequada para pagamentos pequenos de alta frequência
Taxas de transação baixas
Privacidade forte, transações fora da cadeia não serão públicas
Escalabilidade forte, teoricamente TPS infinito
Desvantagens:
É necessário bloquear fundos
É necessária a confirmação na cadeia quando o canal está fechado
Os participantes precisam permanecer online
Não é adequado para transações de grande valor ou baixa frequência
Há risco de roubo de fundos
3.1.5 Aplicação
Rede Lightning do Bitcoin
Visão geral:
A Lightning Network é um canal de pagamentos de baixo valor na rede Bitcoin, cuja evolução técnica global passou por: canais de pagamento unidirecionais construídos com 2/2 multi-assinatura, depois da adição do RSMC###Revocable Sequence Maturity Contract(, é possível construir canais de pagamento bidirecionais, e depois adicionar.
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
12 Curtidas
Recompensa
12
4
Compartilhar
Comentário
0/400
ShitcoinConnoisseur
· 07-16 20:47
Muito difícil, próximo.
Ver originalResponder0
AirdropHunter420
· 07-16 20:38
Como resolver o dilema triangular? fora da cadeia também não funciona.
Ver originalResponder0
mev_me_maybe
· 07-16 20:35
Não é apenas aquele triângulo? Já pesquisei tanto tempo e ainda não resolvi.
Análise Profunda: Como as soluções de expansão fora da cadeia superam o trilema do blockchain
《fora da cadeia expansão profundidade análise》
Autor: equipe de pesquisa
1. A necessidade de escalabilidade
O futuro da blockchain é uma visão grandiosa: descentralização, segurança e escalabilidade; mas geralmente a blockchain só pode realizar duas dessas, e atender a esses três requisitos é conhecido como o problema do triângulo impossível da blockchain. Ao longo dos anos, as pessoas têm explorado como resolver esse dilema, como aumentar a taxa de transferência e a velocidade das transações da blockchain sob a premissa de garantir a descentralização e a segurança, ou seja, resolver o problema da escalabilidade, que é um dos tópicos quentes discutidos no processo de desenvolvimento atual da blockchain.
Vamos primeiro definir de forma genérica a descentralização, segurança e escalabilidade da blockchain:
A primeira grande bifurcação dura da rede Bitcoin surgiu devido a problemas de escalabilidade. Com o aumento do número de usuários e do volume de transações do Bitcoin, a rede começou a enfrentar problemas de congestionamento devido ao limite de 1MB por bloco; a partir de 2015, a comunidade Bitcoin começou a ter divergências sobre a questão da escalabilidade, com um lado representado pelo Bitcoin ABC, que apoiava a expansão do bloco, e o outro lado representado pelo Bitcoin Core, que defendia o uso da solução Segwit para otimizar a estrutura da cadeia principal. Em 1 de agosto de 2017, o Bitcoin ABC lançou seu sistema cliente desenvolvido para 8MB, resultando na primeira grande bifurcação dura da história do Bitcoin e, consequentemente, na criação da 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, restringindo o tamanho dos blocos, mas sim, de forma indireta, alterou para estabelecer um limite para as taxas de gás que podem ser acomodadas em um único bloco, o objetivo é alcançar o Consenso Sem Confiança e garantir uma ampla distribuição de nós. ( Quer a limitação seja cancelada ou aumentada, muitos nós menores, com largura de banda, armazenamento e capacidade de computação insuficientes, serão eliminados. ).
Desde o CryptoKitties de 2017, o verão DeFi, até o surgimento de aplicações em cadeia como GameFi e NFT, a demanda do mercado por profundidade tem aumentado continuamente, mas 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 dos Dapps tem dificuldade em suportar os custos operacionais, tornando toda a rede lenta e cara para os usuários. O problema de escalabilidade da blockchain precisa ser resolvido urgentemente. A solução ideal de escalabilidade é: aumentar a velocidade das transações da rede blockchain ( um tempo de finalização mais curto ) e uma maior profundidade de transações ( sem sacrificar a descentralização e a segurança.
![Relatório de pesquisa profunda: Análise completa da expansão fora da cadeia])https://img-cdn.gateio.im/webp-social/moments-7d930821d982f99c43cf5400e4db2175.webp(
2. Tipos de soluções de escalabilidade
Nós dividimos o plano de expansão em duas grandes categorias: expansão em cadeia e expansão fora da cadeia, com base no critério "se a camada principal da rede será alterada".
) 2.1 Expansão na cadeia
Conceito central: uma solução para aumentar a capacidade através da alteração de um nível do protocolo da rede principal, atualmente a principal solução é a fragmentação.
A escalabilidade na cadeia tem várias soluções, este artigo não irá se aprofundar, a seguir estão listadas brevemente duas soluções:
Alterar o código do protocolo principal da rede pode ter consequências negativas imprevisíveis, uma vez que qualquer pequena vulnerabilidade de segurança subjacente pode ameaçar gravemente a segurança de toda a rede, podendo esta ser forçada a realizar um fork ou uma interrupção para uma atualização de reparo. Por exemplo, o incidente da vulnerabilidade de inflação da Zcash em 2018: o código da 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, ou seja, os tokens poderiam ser emitidos de forma ilimitada. A equipe passou então 8 meses a corrigir esta falha em segredo, e só após a correção do problema é que o incidente foi tornado público.
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.
A solução de escalabilidade fora da cadeia pode ser subdividida em Layer2 e outras soluções:
![Relatório de pesquisa em profundidade: Análise abrangente da expansão fora da cadeia]###https://img-cdn.gateio.im/webp-social/moments-087d35594a04d33375b8199b93eb355e.webp(
3. Profundidade de expansão fora da cadeia
) Canais de Estado 3.1
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 surgem disputas, e que as interações entre usuários sejam realizadas fora da cadeia, a fim de reduzir o tempo e os custos monetários 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 jogos de xadrez para duas pessoas. Cada canal é gerido por um contrato inteligente de múltiplas assinaturas que opera na rede principal, o qual controla os ativos depositados no canal, valida atualizações de estado e arbitra disputas entre os participantes ### com base em provas de fraude ( que contêm assinaturas e carimbos de data/hora. Após os participantes implantarem o contrato na rede blockchain, depositam uma quantia de fundos e a bloqueiam; uma vez que ambas as partes assinam e confirmam, o canal é oficialmente aberto. O canal permite que os participantes realizem transações fora da cadeia de forma gratuita e sem limites, ) desde que o valor líquido das suas 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. Uma vez que a assinatura do outro lado é confirmada, essa atualização de estado é considerada concluída. Normalmente, atualizações de estado acordadas por ambas as partes não são enviadas para a rede principal, e apenas em caso de disputa ou fechamento do canal é que se recorre à confirmação da rede principal. Quando é necessário fechar o canal, qualquer um dos participantes pode apresentar um pedido de transação na rede principal; se o pedido de saída obtiver a aprovação de todas as assinaturas, a execução on-chain ocorre imediatamente, ou seja, o contrato inteligente distribui os fundos bloqueados restantes de acordo com o saldo de cada participante no estado final do canal; se outros participantes não aprovaram a assinatura, todos devem aguardar o término do "período de contestação" para receber os fundos restantes.
Assim, a solução do canal de estado pode reduzir significativamente a carga computacional da rede principal, aumentar a velocidade das transações e diminuir os custos das transações.
)# 3.1.2 Linha do Tempo
)# 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 blockchain 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 em 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 que a maioria dos protocolos de canais de estado segue: 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 contratos na cadeia.
![Relatório de pesquisa aprofundada: 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 um cenário 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 algum momento, Bob não responda à atualização de estado enviada por Alice durante sua vez ) interação 3(, neste momento, Alice pode iniciar um desafio ) interação 4(, submetendo a última atualização de estado válida para o contrato, que também contém a assinatura anterior de Bob, provando 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 certo 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 em profundidade: 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:
Desvantagens:
3.1.5 Aplicação
Rede Lightning do Bitcoin
Visão geral:
A Lightning Network é um canal de pagamentos de baixo valor na rede Bitcoin, cuja evolução técnica global passou por: canais de pagamento unidirecionais construídos com 2/2 multi-assinatura, depois da adição do RSMC###Revocable Sequence Maturity Contract(, é possível construir canais de pagamento bidirecionais, e depois adicionar.