Autor: Ellaine Xu, Hettie Jiang, June Wang, Walon Lin, Yiliu Lin
1. A Necessidade de Escalabilidade
O futuro da blockchain é uma visão grandiosa: descentralização, segurança e escalabilidade; mas geralmente a blockchain só consegue realizar duas dessas três, enquanto satisfazer os 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 aumentar a taxa de transferência e a velocidade das transações da blockchain, garantindo a descentralização e a segurança, ou seja, resolver o problema de escalabilidade, é um dos tópicos quentes discutidos no atual processo de desenvolvimento da blockchain.
Vamos primeiro definir de forma geral a descentralização, a segurança e a escalabilidade da blockchain:
Descentralização: qualquer pessoa pode se tornar um nó e participar da produção e verificação do sistema de blockchain. Quanto maior o número de nós, maior será o grau 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 será a segurança, e assim a cadeia poderá resistir a um maior número de atacantes participantes.
Escalabilidade: a capacidade da blockchain de processar um grande número de transações.
O primeiro hard fork significativo 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 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 representado pelo Bitcoin ABC, que apoiava a expansão dos blocos, e o outro lado, representado pelo Bitcoin Core, que era a favor de blocos menores, argumentando que deveria ser utilizado o plano Segwit para otimizar a estrutura da cadeia principal. Em 1 de agosto de 2017, o Bitcoin ABC começou a operar um sistema cliente desenvolvido para 8MB, resultando na primeira grande bifurcação dura da história do Bitcoin, e assim nasceu a nova criptomoeda BCH.
Da mesma forma, a rede Ethereum também escolheu sacrificar uma parte da sua 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 do bloco, mas sim transformando-se indiretamente em um limite para as taxas de combustível que podem ser acomodadas em um único bloco, o objetivo é o mesmo: alcançar o Consenso Sem Confiança e garantir uma ampla distribuição de nós. A eliminação ou o aumento do limite eliminaria muitos nós menores com largura de banda, armazenamento e capacidade de computação insuficientes.
Desde os CryptoKitties de 2017, o verão DeFi, até o surgimento de aplicações on-chain 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 a 45 transações por segundo ( TPS ), o que resulta em custos de transação crescentes e tempos de liquidação mais longos. A maioria das Dapps tem dificuldade em suportar os custos operacionais, e toda a rede se torna lenta e cara para os usuários, tornando urgente a solução do problema de escalabilidade da blockchain. A solução ideal de escalabilidade é: aumentar a velocidade de transação da rede blockchain ( um tempo de finalização ) mais curto e uma capacidade de transação ( um TPS ) mais alto, sem sacrificar a descentralização e a segurança.
2. Tipos de planos de escalabilidade
Nós classificamos as soluções de escalabilidade em duas grandes categorias: escalabilidade em cadeia e escalabilidade fora da cadeia, com base no critério "se altera um nível da rede principal".
( 2.1 Expansão na cadeia
Conceito central: uma solução que atinge o efeito de escalabilidade através da alteração de um nível do protocolo da mainnet, sendo a principal solução atual a fragmentação.
A escalabilidade em cadeia tem várias soluções, este artigo não irá se aprofundar, a seguir sã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 os nós e reduzirá o grau de "descentralização".
A segunda opção é a fragmentação, que divide o livro razão da blockchain em várias partes, não sendo mais 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 cálculos em paralelo possam processar várias transações simultaneamente; isso pode reduzir 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 da rede pode ter efeitos negativos imprevisíveis, uma vez que qualquer pequena vulnerabilidade de segurança na camada subjacente pode ameaçar gravemente a segurança de toda a rede, podendo forçar a rede a passar por um fork ou a interromper atualizações de reparo. Por exemplo, o incidente da vulnerabilidade de inflação da Zcash em 2018: o código da Zcash é baseado no código modificado 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 gastou então 8 meses a reparar secretamente a vulnerabilidade, e só após a correção é 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 camada principal existente.
O plano de escalonamento fora da cadeia pode ser subdividido em Layer2 e outras soluções:
![Relatório de pesquisa em profundidade: Análise completa 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
O canal de estado estabelece que os usuários só precisam interagir com a rede principal quando o canal é aberto, fechado ou quando há uma disputa a ser resolvida, realizando a interação 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 que o número de transações não seja limitado.
O canal de estado é um protocolo P2P simples, adequado 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 mainnet, o qual controla os ativos depositados no canal, valida as atualizações de estado e arbitra disputas entre os participantes ### com base em provas de fraude ### que contêm assinaturas e carimbos de tempo. Após os participantes implementarem o contrato na rede blockchain, eles depositam um montante de fundos 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 entre os participantes, sem limites, desde que o valor líquido das transferências não exceda o total de tokens depositados (. Os participantes enviam atualizações de estado um ao outro, aguardando a confirmação da assinatura do oponente. Uma vez que a assinatura do oponente é confirmada, 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 mainnet; somente em caso de disputas ou ao encerrar o canal é que se recorre à confirmação da mainnet. Quando é necessário fechar o canal, qualquer um dos participantes pode fazer um pedido de transação na mainnet; se o pedido de saída receber a aprovação unânime das assinaturas, será executado imediatamente na cadeia, ou seja, o contrato inteligente distribuirá 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 o término do "período de desafio" 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 baixar 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 a solução de escalabilidade da rede Lightning do Bitcoin, Payment Channel(, que é utilizada apenas para processar pagamentos de transferências na rede Bitcoin.
2017/11, a primeira norma de design sobre State Channel baseada na estrutura de 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 propôs 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 construído com base nessa ideia.
2019/10, Pisa para resolver o problema de todos os participantes precisarem estar continuamente online, expandiu o conceito de Watchtowers.
![Relatório de Pesquisa Profunda: Análise Completa da Expansão fora da cadeia])https://img-cdn.gateio.im/webp-social/moments-ead28de03be9fc22dcfe3f679ee36bc5.webp###
(# 3.1.3 Princípios Técnicos
O fluxo de trabalho geral de um canal de estado é o seguinte:
Alice e Bob depositam fundos de sua EOA pessoal para o endereço do contrato na 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 das assinaturas, o canal de estado entre os dois é oficialmente aberto.
Alice e Bob podem, teoricamente, realizar um número ilimitado de transações fora da cadeia através deste canal, os participantes comunicam-se entre si através de mensagens com assinatura criptografada ) 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.
Se Alice quiser fechar o canal e terminar a transação com Bob, Alice precisa enviar o estado final da sua conta ao contrato. Se Bob assinar e aprovar, o contrato liberará os fundos bloqueados de acordo com o estado final e os retornará ao usuário correspondente. Se Bob não responder à assinatura, o contrato liberará os fundos bloqueados e os retornará ao usuário correspondente após o término do período de desafio.
![Relatório de Pesquisa Profundidade: Análise Completa da Expansão fora da cadeia])https://img-cdn.gateio.im/webp-social/moments-ad088ac016d75b1ae0b0eda699e74709.webp###
(# 3.1.4 Vantagens e Desvantagens
Vantagens:
A velocidade de negociação é rápida, quase confirmação instantânea
Taxas de transação extremamente baixas
Alta capacidade de processamento, teoricamente número de transações ilimitado
Boa privacidade, apenas o estado final é colocado na cadeia
Desvantagens:
É necessário bloquear fundos
Todos os participantes precisam estar online continuamente
A capacidade do canal é limitada
A abertura e o fechamento de canais requerem o pagamento de taxas.
Contratos inteligentes complexos são difíceis de implementar
Problemas de liquidez
)# 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 passou por: 2/2 multi-assinatura para construir um canal de pagamento unidirecional, a adição de RSMC permite a construção de um canal de pagamento bidirecional, e com a adição de HTLC, os canais de pagamento podem ser conectados para expandir os pagamentos para múltiplas partes, culminando na construção da rede de pagamentos, ou seja, a Lightning Network. Através de canais de pagamentos 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 final do white paper em janeiro de 2016 e fundação da Lightning Labs
15 de março de 2018, a Lightning Labs lançou a primeira versão da mainnet da rede Lightning, 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 utilizar a Lightning Network.
Em junho de 2021, El Salvador anunciou a adoção do Bitcoin como moeda legal, e em setembro lançou a carteira Chivo baseada na Lightning Network.
Em 2022, o Cash App e 26 plataformas de negociação de criptomoedas, incluindo OKX, Kraken e Bitfinex, anunciaram suporte à Lightning Network, permitindo depósitos e saques instantâneos e baratos de BTC.
Outubro de 2022, a Lightning Labs lançou um novo protocolo baseado em Taproot — a versão alpha do Taro protocol(, que atualmente está em testes na rede de teste, e que no futuro poderá ser usado para cunhar, enviar e receber ativos na rede Bitcoin, além de utilizar a rede Lightning.
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.
15 Curtidas
Recompensa
15
5
Compartilhar
Comentário
0/400
LightningPacketLoss
· 13h atrás
Ainda brincar com a Trindade Profana é mais saboroso puxar o tapete fora da cadeia.
Ver originalResponder0
BlockDetective
· 13h atrás
Aumentar a capacidade é realmente difícil, como é que se pode aumentar o tps?
Ver originalResponder0
CoffeeOnChain
· 13h atrás
Estou tão frustrado, este triângulo ainda não consigo resolver...
Ver originalResponder0
WagmiOrRekt
· 13h atrás
Ah, no fim das contas, não é apenas um problema triangular que faz cair cabelo.
Ver originalResponder0
RooftopVIP
· 13h atrás
Bom Deus, este artigo está a fazer novamente o mesmo de sempre.
Profundidade do análise fora da cadeia de expansão: soluções inovadoras para otimizar o desempenho do Blockchain
Expansão fora da cadeia: Análise Profunda
Autor: Ellaine Xu, Hettie Jiang, June Wang, Walon Lin, Yiliu Lin
1. A Necessidade de Escalabilidade
O futuro da blockchain é uma visão grandiosa: descentralização, segurança e escalabilidade; mas geralmente a blockchain só consegue realizar duas dessas três, enquanto satisfazer os 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 aumentar a taxa de transferência e a velocidade das transações da blockchain, garantindo a descentralização e a segurança, ou seja, resolver o problema de escalabilidade, é um dos tópicos quentes discutidos no atual processo de desenvolvimento da blockchain.
Vamos primeiro definir de forma geral a descentralização, a segurança e a escalabilidade da blockchain:
O primeiro hard fork significativo 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 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 representado pelo Bitcoin ABC, que apoiava a expansão dos blocos, e o outro lado, representado pelo Bitcoin Core, que era a favor de blocos menores, argumentando que deveria ser utilizado o plano Segwit para otimizar a estrutura da cadeia principal. Em 1 de agosto de 2017, o Bitcoin ABC começou a operar um sistema cliente desenvolvido para 8MB, resultando na primeira grande bifurcação dura da história do Bitcoin, e assim nasceu a nova criptomoeda BCH.
Da mesma forma, a rede Ethereum também escolheu sacrificar uma parte da sua 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 do bloco, mas sim transformando-se indiretamente em um limite para as taxas de combustível que podem ser acomodadas em um único bloco, o objetivo é o mesmo: alcançar o Consenso Sem Confiança e garantir uma ampla distribuição de nós. A eliminação ou o aumento do limite eliminaria muitos nós menores com largura de banda, armazenamento e capacidade de computação insuficientes.
Desde os CryptoKitties de 2017, o verão DeFi, até o surgimento de aplicações on-chain 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 a 45 transações por segundo ( TPS ), o que resulta em custos de transação crescentes e tempos de liquidação mais longos. A maioria das Dapps tem dificuldade em suportar os custos operacionais, e toda a rede se torna lenta e cara para os usuários, tornando urgente a solução do problema de escalabilidade da blockchain. A solução ideal de escalabilidade é: aumentar a velocidade de transação da rede blockchain ( um tempo de finalização ) mais curto e uma capacidade de transação ( um TPS ) mais alto, sem sacrificar a descentralização e a segurança.
2. Tipos de planos de escalabilidade
Nós classificamos as soluções de escalabilidade em duas grandes categorias: escalabilidade em cadeia e escalabilidade fora da cadeia, com base no critério "se altera um nível da rede principal".
( 2.1 Expansão na cadeia
Conceito central: uma solução que atinge o efeito de escalabilidade através da alteração de um nível do protocolo da mainnet, sendo a principal solução atual a fragmentação.
A escalabilidade em cadeia tem várias soluções, este artigo não irá se aprofundar, a seguir são listadas brevemente duas soluções:
Alterar o código do protocolo da camada principal da rede pode ter efeitos negativos imprevisíveis, uma vez que qualquer pequena vulnerabilidade de segurança na camada subjacente pode ameaçar gravemente a segurança de toda a rede, podendo forçar a rede a passar por um fork ou a interromper atualizações de reparo. Por exemplo, o incidente da vulnerabilidade de inflação da Zcash em 2018: o código da Zcash é baseado no código modificado 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 gastou então 8 meses a reparar secretamente a vulnerabilidade, e só após a correção é 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 camada principal existente.
O plano de escalonamento fora da cadeia pode ser subdividido em Layer2 e outras soluções:
![Relatório de pesquisa em profundidade: Análise completa 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
O canal de estado estabelece que os usuários só precisam interagir com a rede principal quando o canal é aberto, fechado ou quando há uma disputa a ser resolvida, realizando a interação 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 que o número de transações não seja limitado.
O canal de estado é um protocolo P2P simples, adequado 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 mainnet, o qual controla os ativos depositados no canal, valida as atualizações de estado e arbitra disputas entre os participantes ### com base em provas de fraude ### que contêm assinaturas e carimbos de tempo. Após os participantes implementarem o contrato na rede blockchain, eles depositam um montante de fundos 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 entre os participantes, sem limites, desde que o valor líquido das transferências não exceda o total de tokens depositados (. Os participantes enviam atualizações de estado um ao outro, aguardando a confirmação da assinatura do oponente. Uma vez que a assinatura do oponente é confirmada, 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 mainnet; somente em caso de disputas ou ao encerrar o canal é que se recorre à confirmação da mainnet. Quando é necessário fechar o canal, qualquer um dos participantes pode fazer um pedido de transação na mainnet; se o pedido de saída receber a aprovação unânime das assinaturas, será executado imediatamente na cadeia, ou seja, o contrato inteligente distribuirá 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 o término do "período de desafio" 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 baixar os custos das transações.
)# 3.1.2 Linha do tempo
![Relatório de Pesquisa Profunda: Análise Completa da Expansão fora da cadeia])https://img-cdn.gateio.im/webp-social/moments-ead28de03be9fc22dcfe3f679ee36bc5.webp###
(# 3.1.3 Princípios Técnicos
O fluxo de trabalho geral de um canal de estado é o seguinte:
Alice e Bob depositam fundos de sua EOA pessoal para o endereço do contrato na 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 das assinaturas, o canal de estado entre os dois é oficialmente aberto.
Alice e Bob podem, teoricamente, realizar um número ilimitado de transações fora da cadeia através deste canal, os participantes comunicam-se entre si através de mensagens com assinatura criptografada ) 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.
Se Alice quiser fechar o canal e terminar a transação com Bob, Alice precisa enviar o estado final da sua conta ao contrato. Se Bob assinar e aprovar, o contrato liberará os fundos bloqueados de acordo com o estado final e os retornará ao usuário correspondente. Se Bob não responder à assinatura, o contrato liberará os fundos bloqueados e os retornará ao usuário correspondente após o término do período de desafio.
![Relatório de Pesquisa Profundidade: Análise Completa da Expansão fora da cadeia])https://img-cdn.gateio.im/webp-social/moments-ad088ac016d75b1ae0b0eda699e74709.webp###
(# 3.1.4 Vantagens e Desvantagens
Vantagens:
Desvantagens:
)# 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 passou por: 2/2 multi-assinatura para construir um canal de pagamento unidirecional, a adição de RSMC permite a construção de um canal de pagamento bidirecional, e com a adição de HTLC, os canais de pagamento podem ser conectados para expandir os pagamentos para múltiplas partes, culminando na construção da rede de pagamentos, ou seja, a Lightning Network. Através de canais de pagamentos 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: