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. 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, garantindo ao mesmo tempo 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, 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 assim 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, então a cadeia pode resistir a uma maior proporção de participantes que a atacam.
Escalabilidade: a capacidade da blockchain de processar um grande número de transações.
A primeira grande bifurcação dura da rede Bitcoin originou-se do problema 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 começou a ter divergências sobre o problema de escalabilidade. De um lado, estava o grupo a favor da expansão do bloco, representado pelo Bitcoin ABC, e do outro, o grupo dos blocos pequenos, representado pelo Bitcoin Core, que acreditava que deveria ser utilizado o plano de Segregated Witness (Segwit) para otimizar a estrutura da cadeia principal. Em 1 de agosto de 2017, o cliente desenvolvido pelo Bitcoin ABC, com capacidade para 8MB, começou a operar, resultando na primeira grande bifurcação dura na história do Bitcoin, e assim nasceu 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, restringindo o tamanho do bloco, mas sim transformando-se em um limite para a taxa de combustível que um único bloco pode acomodar, o objetivo é o mesmo: alcançar um Consenso Sem Confiança e garantir uma ampla distribuição dos nós. ( Tanto a remoção quanto o aumento do limite eliminariam muitos nós menores com largura de banda, armazenamento e capacidade de cálculo insuficientes ).
Desde os CryptoKitties de 2017, o verão DeFi, até o surgimento posterior de aplicações em cadeia como GameFi e NFT, a demanda do mercado por throughput tem aumentado constantemente. No entanto, mesmo com a Ethereum sendo Turing completa, ela consegue processar apenas 15~45 transações por segundo ( TPS ), o que resulta em custos de transação crescentes, tempos de liquidação mais longos, e a maioria dos Dapps não conseguem suportar os custos operacionais. Toda a rede se torna lenta e cara para os usuários, e o problema da 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 throughput de transações ( TPS ) mais alto, sem sacrificar a descentralização e a segurança.
2. Tipos de planos de escalabilidade
Nós classificamos os planos de escalabilidade em duas grandes categorias, expansão na cadeia e expansão fora da cadeia, com base no critério "se altera um nível da mainnet".
2.1 expansão na cadeia
Conceito básico: uma solução que atinge o efeito de escalabilidade ao alterar um nível do protocolo da rede principal, onde a principal abordagem atualmente é a fragmentação.
A escalabilidade na cadeia tem várias soluções, este artigo não irá desenvolver, a seguir apresento brevemente duas soluções:
A primeira opção é 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 nós e reduzindo o grau de "descentralização".
A solução dois é a fragmentação, onde o livro-razão da blockchain é dividido em várias partes, não sendo mais cada nó responsável por todas as contabilizações, mas sim diferentes fragmentos, ou seja, diferentes nós, responsáveis por diferentes contabilizações, permitindo que cálculos paralelos possam processar 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 grau de descentralização; mas isso significa que a capacidade de computação da rede é dispersa, o que pode reduzir "a segurança" de toda a rede.
Alterar o código do protocolo de camada principal pode ter efeitos negativos imprevisíveis, pois qualquer pequeno erro de segurança na camada subjacente pode ameaçar severamente a segurança de toda a rede, podendo a rede ser forçada a bifurcar ou interromper a atualização de reparo. Por exemplo, o incidente 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 infinita de tokens; a equipe levou 8 meses para corrigir o problema em segredo e só depois de corrigido o 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.
As soluções de escalabilidade fora da cadeia podem ser subdivididas em Layer2 e outras soluções:
3. Profundidade de expansão fora da cadeia
3.1 Canais de Estado
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 na resolução de disputas, e que as interações entre os usuários sejam feitas fora da cadeia, a fim de reduzir o tempo e o custo monetário das transações dos usuários, permitindo que o número de transações não tenha limitações.
O canal de estado é um protocolo P2P simples, adequado para "aplicações baseadas em turnos", por exemplo, um jogo de xadrez para duas pessoas. Cada canal é gerido por um contrato inteligente multi-assinatura que opera na mainnet, 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 ) que contêm assinaturas e carimbos de data/hora. Após a implantação do contrato na rede blockchain, os participantes depositam uma quantia de fundos e bloqueiam, e após a confirmação de assinatura 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 para o outro, aguardando a confirmação de assinatura do outro. Assim que a outra parte confirma a assinatura, a 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, apenas em caso de disputa ou fechamento do canal, é que se depende da confirmação da mainnet. Ao precisar fechar o canal, qualquer participante pode fazer um pedido de transação na mainnet, se o pedido de saída receber a aprovação de assinatura unânime, 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 até 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 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 Canal de Estado, propondo que o Canal de Pagamento do Bitcoin é um subcaso do conceito de Canal de Estado.
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 do Bitcoin Lightning Network, Payment Channel (, que é utilizada apenas para processar pagamentos de transferências na rede Bitcoin.
2017/11, a primeira especificação de design sobre State Channel baseada na estrutura de Payment Channel, Sprites, foi proposta.
2018/06, a 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 apresentou 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 expandiu o conceito de Watchtowers para resolver a questão de todos os participantes precisarem estar continuamente online.
![Relatório de Profundidade de 10.000 caracteres: Análise completa da expansão fora da cadeia])https://img-cdn.gateio.im/webp-social/moments-ad088ac016d75b1ae0b0eda699e74709.webp(
)# 3.1.3 Princípios Técnicos
Os princípios técnicos do canal de estado são os seguintes:
Alice e Bob depositam fundos de seus EOA pessoais para um endereço de contrato na cadeia, esses fundos são bloqueados no contrato até que o canal seja fechado, momento em que o saldo é retornado ao usuário; após a confirmação da assinatura, o canal de estado entre os dois é oficialmente aberto.
Alice e Bob podem realizar teoricamente um número ilimitado de transações fora da cadeia através deste canal, os participantes comunicam-se entre si através de mensagens assinadas criptograficamente ### em vez de comunicarem-se 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 encerrar a transação com Bob, Alice precisa enviar 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 respectivo usuário. Se Bob não responder à assinatura, o contrato liberará os fundos bloqueados para o respectivo usuário após o término do período de contestação.
![Relatório de Pesquisa 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:
Confirmação Instantânea
Baixo custo
Boa privacidade
Alta escalabilidade
Adequado para transações frequentes de baixo valor
Desvantagens:
É necessário bloquear fundos antecipadamente
Os participantes precisam estar online continuamente
Não é adequado para pagamentos de grande valor
O número de canais e o número de participantes estão limitados.
Necessário monitoramento de terceiros para garantir segurança
![Relatório de pesquisa aprofundada: Análise completa da expansão fora da cadeia]###https://img-cdn.gateio.im/webp-social/moments-010d7309e0cc697da400d07e6948a16e.webp(
)# 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: construção de canais de pagamento unidirecionais com 2/2 multi-assinaturas, a adição de RSMC permitindo a construção de canais de pagamento bidirecionais, e posteriormente a adição de HTLC para conectar canais de pagamento e expandir para pagamentos em grupo, culminando na construção da 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 de escalabilidade da rede Bitcoin. O uso geral da Lightning Network segue o fluxo de "depósito ### estabelecimento de canal ( → transações na Lightning Network ) atualização do estado do canal ( → reembolsos/liquidações ) encerramento do 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;
Em janeiro de 2016, foi lançado 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 mainnet da Lightning Network, o 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 troca de criptomoedas, incluindo OKX, Kraken e Bitfinex, anunciaram suporte à Lightning Network, permitindo depósitos e retiradas instantâneas e baratas de BTC.
Outubro de 2022, a Lightning Labs lançou um novo protocolo baseado em Taproot - Taro protocol) versão alpha(, que atualmente está em teste na rede de testes, e no futuro poderá ser usado para cunhar, enviar e receber ativos na rede Bitcoin, além de executar transações instantâneas, de grande volume e com baixas taxas através da Lightning Network.
Em 23 de novembro de 2022, de acordo com 1ml.com, a rede Lightning tem um total de 76.236 canais de pagamento, com um fundo de canal de 5049 $
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.
11 gostos
Recompensa
11
4
Partilhar
Comentar
0/400
RugResistant
· 4h atrás
O canal de estado já foi mencionado há muito tempo, não há nada de novo aqui.
Ver originalResponder0
RunWhenCut
· 4h atrás
tpsl realmente está tão travado?
Ver originalResponder0
AirdropHunterXiao
· 4h atrás
Blockchain esta Trindade Profana é muito real, é uma necessidade que faz sangrar.
Análise Profunda da Expansão fora da cadeia: Como o State Channel melhora a eficiência das transações em Blockchain
Análise Profunda da Expansão fora da cadeia
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, enquanto 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, garantindo ao mesmo tempo 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, a segurança e a escalabilidade da blockchain:
A primeira grande bifurcação dura da rede Bitcoin originou-se do problema 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 começou a ter divergências sobre o problema de escalabilidade. De um lado, estava o grupo a favor da expansão do bloco, representado pelo Bitcoin ABC, e do outro, o grupo dos blocos pequenos, representado pelo Bitcoin Core, que acreditava que deveria ser utilizado o plano de Segregated Witness (Segwit) para otimizar a estrutura da cadeia principal. Em 1 de agosto de 2017, o cliente desenvolvido pelo Bitcoin ABC, com capacidade para 8MB, começou a operar, resultando na primeira grande bifurcação dura na história do Bitcoin, e assim nasceu 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, restringindo o tamanho do bloco, mas sim transformando-se em um limite para a taxa de combustível que um único bloco pode acomodar, o objetivo é o mesmo: alcançar um Consenso Sem Confiança e garantir uma ampla distribuição dos nós. ( Tanto a remoção quanto o aumento do limite eliminariam muitos nós menores com largura de banda, armazenamento e capacidade de cálculo insuficientes ).
Desde os CryptoKitties de 2017, o verão DeFi, até o surgimento posterior de aplicações em cadeia como GameFi e NFT, a demanda do mercado por throughput tem aumentado constantemente. No entanto, mesmo com a Ethereum sendo Turing completa, ela consegue processar apenas 15~45 transações por segundo ( TPS ), o que resulta em custos de transação crescentes, tempos de liquidação mais longos, e a maioria dos Dapps não conseguem suportar os custos operacionais. Toda a rede se torna lenta e cara para os usuários, e o problema da 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 throughput de transações ( TPS ) mais alto, sem sacrificar a descentralização e a segurança.
2. Tipos de planos de escalabilidade
Nós classificamos os planos de escalabilidade em duas grandes categorias, expansão na cadeia e expansão fora da cadeia, com base no critério "se altera um nível da mainnet".
2.1 expansão na cadeia
Conceito básico: uma solução que atinge o efeito de escalabilidade ao alterar um nível do protocolo da rede principal, onde a principal abordagem atualmente é a fragmentação.
A escalabilidade na cadeia tem várias soluções, este artigo não irá desenvolver, a seguir apresento brevemente duas soluções:
Alterar o código do protocolo de camada principal pode ter efeitos negativos imprevisíveis, pois qualquer pequeno erro de segurança na camada subjacente pode ameaçar severamente a segurança de toda a rede, podendo a rede ser forçada a bifurcar ou interromper a atualização de reparo. Por exemplo, o incidente 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 infinita de tokens; a equipe levou 8 meses para corrigir o problema em segredo e só depois de corrigido o 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.
As soluções de escalabilidade fora da cadeia podem ser subdivididas em Layer2 e outras soluções:
3. Profundidade de expansão fora da cadeia
3.1 Canais de Estado
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 na resolução de disputas, e que as interações entre os usuários sejam feitas fora da cadeia, a fim de reduzir o tempo e o custo monetário das transações dos usuários, permitindo que o número de transações não tenha limitações.
O canal de estado é um protocolo P2P simples, adequado para "aplicações baseadas em turnos", por exemplo, um jogo de xadrez para duas pessoas. Cada canal é gerido por um contrato inteligente multi-assinatura que opera na mainnet, 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 ) que contêm assinaturas e carimbos de data/hora. Após a implantação do contrato na rede blockchain, os participantes depositam uma quantia de fundos e bloqueiam, e após a confirmação de assinatura 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 para o outro, aguardando a confirmação de assinatura do outro. Assim que a outra parte confirma a assinatura, a 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, apenas em caso de disputa ou fechamento do canal, é que se depende da confirmação da mainnet. Ao precisar fechar o canal, qualquer participante pode fazer um pedido de transação na mainnet, se o pedido de saída receber a aprovação de assinatura unânime, 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 até 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 diminuir os custos das transações.
3.1.2 Linha do tempo
![Relatório de Profundidade de 10.000 caracteres: Análise completa da expansão fora da cadeia])https://img-cdn.gateio.im/webp-social/moments-ad088ac016d75b1ae0b0eda699e74709.webp(
)# 3.1.3 Princípios Técnicos
Os princípios técnicos do canal de estado são os seguintes:
Alice e Bob depositam fundos de seus EOA pessoais para um endereço de contrato na cadeia, esses fundos são bloqueados no contrato até que o canal seja fechado, momento em que o saldo é retornado ao usuário; após a confirmação da assinatura, o canal de estado entre os dois é oficialmente aberto.
Alice e Bob podem realizar teoricamente um número ilimitado de transações fora da cadeia através deste canal, os participantes comunicam-se entre si através de mensagens assinadas criptograficamente ### em vez de comunicarem-se 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 encerrar a transação com Bob, Alice precisa enviar 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 respectivo usuário. Se Bob não responder à assinatura, o contrato liberará os fundos bloqueados para o respectivo usuário após o término do período de contestação.
![Relatório de Pesquisa 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:
![Relatório de pesquisa aprofundada: Análise completa da expansão fora da cadeia]###https://img-cdn.gateio.im/webp-social/moments-010d7309e0cc697da400d07e6948a16e.webp(
)# 3.1.5 Aplicação
Resumo: A Lightning Network é um canal de pagamento de baixo valor na rede Bitcoin, cuja evolução técnica geral passou por: construção de canais de pagamento unidirecionais com 2/2 multi-assinaturas, a adição de RSMC permitindo a construção de canais de pagamento bidirecionais, e posteriormente a adição de HTLC para conectar canais de pagamento e expandir para pagamentos em grupo, culminando na construção da 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 de escalabilidade da rede Bitcoin. O uso geral da Lightning Network segue o fluxo de "depósito ### estabelecimento de canal ( → transações na Lightning Network ) atualização do estado do canal ( → reembolsos/liquidações ) encerramento do canal ("; teoricamente, a Lightning Network pode processar um milhão de transações por segundo.
Linha do tempo: