O futuro da blockchain é uma visão grandiosa: descentralização, segurança e escalabilidade. Mas, geralmente, a blockchain só pode realizar dois desses aspectos, e satisfazer os 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 capacidade de processamento 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 mais debatidos 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ó para participar da produção e validação do sistema blockchain, quanto maior o número de nós, maior o grau de descentralização, garantindo assim que a rede não seja controlada por 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 um maior percentual 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 de 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, a comunidade Bitcoin tem divergências sobre a questão da escalabilidade, com um lado representado pelo Bitcoin ABC, que apoia a ampliação do bloco, e o outro lado representado pelo Bitcoin Core, que defende blocos pequenos e acredita que a solução Segwit (Witness Segregado) deve ser utilizada para otimizar a estrutura da cadeia principal. Em 1 de agosto de 2017, o Bitcoin ABC lançou um sistema de 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 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, de forma indireta, alterando o limite do custo de gás que pode ser acomodado em um único bloco, o objetivo é o mesmo: alcançar o Consenso Sem Confiança e garantir a ampla distribuição dos nós. ( Seja cancelando ou aumentando o limite, 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é a ascensão de aplicações on-chain como GameFi e NFT, a demanda do mercado por capacidade de processamento tem crescido continuamente. No entanto, mesmo o Ethereum, que é Turing completo, só consegue processar de 15 a 45 transações por segundo ( TPS ). O resultado disso é o aumento constante dos custos de transação, o alongamento do tempo de liquidação e a dificuldade para a maioria dos Dapps suportar os custos operacionais. Isso torna toda a rede lenta e cara para os usuários, e a questão da escalabilidade da blockchain precisa ser resolvida urgentemente. 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 processamento ( TPS ) mais alta, sem sacrificar a descentralização e a segurança.
2. Categorias de soluções 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 há alteração de uma camada da rede principal".
2.1 Expansão na cadeia
Conceito central: solução que visa aumentar a capacidade 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 irá se aprofundar, a seguir apresentamos 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 solução dois é a fragmentação, que divide o livro-razão da blockchain em várias partes, não sendo mais que cada nó participe de toda a contabilidade, mas sim que diferentes fragmentos, ou seja, diferentes nós, sejam responsáveis por diferentes contabilidades, permitindo que cálculos em paralelo possam processar várias transações ao mesmo tempo; isso pode reduzir a pressão de cálculo nos 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 força de computação da rede inteira é dispersa, o que reduzirá a "segurança" de toda a rede.
Alterar o código do protocolo da camada principal da rede pode ter efeitos negativos imprevisíveis, pois qualquer pequena vulnerabilidade de segurança subjacente pode ameaçar seriamente a segurança de toda a rede, que pode ser forçada a realizar uma bifurcação ou interromper uma atualização de reparo. Por exemplo, o incidente da vulnerabilidade de inflação do Zcash em 2018: o código do Zcash é baseado na 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, ou seja, os tokens poderiam ser emitidos sem limites, e a equipe levou 8 meses para corrigir secretamente o problema, divulgando 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 camada principal existente.
A solução de escalabilidade fora da cadeia pode ser subdividida em Layer2 e outras soluções:
Layer2: Ao construir uma camada de rede adicional sobre a rede principal, a maioria do processamento e cálculo das transações é transferida para esta camada, aumentando a capacidade de transação e reduzindo custos. Inclui principalmente canais de estado, Plasma, Rollups, entre outros.
Outras soluções: como redes de blockchain independentes, como sidechains, que interagem em cross-chain com a mainnet.
3. Profundidade da solução 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 ao abrir, fechar ou resolver disputas no canal, e que as interações entre usuários devem ser realizadas 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, e esse contrato 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 a bloqueiam, e, 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 de número (, 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 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; apenas em caso de disputas ou ao fechar o canal, é que se recorre à confirmação da mainnet. Quando é necessário fechar o canal, qualquer um dos participantes pode apresentar um pedido de transação na mainnet, se o pedido de saída receber a aprovação de unanimidade, a execução na cadeia acontece imediatamente, 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 aprovaram a assinatura, todos devem esperar pelo fim 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 de cálculo na rede principal, aumentar a velocidade das transações e diminuir os custos de transação.
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 foi o primeiro a resumir sistematicamente o 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 ( canal de pagamento ), essa solução é utilizada apenas para processar pagamentos de transferências na rede Bitcoin.
2017/11, o primeiro padrão de design sobre State Channel baseado na estrutura Payment Channel, Sprites, foi proposto.
2018/06, Counterfactual apresentou 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 introduziu 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 nesta ideia.
2019/10, Pisa para resolver a questão de todos os participantes precisarem estar continuamente online, expandiu o conceito de Watchtowers.
O fluxo de trabalho básico do canal de estado é o seguinte:
Alice e Bob depositam fundos de seus EOA pessoais 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 da assinatura de ambos, o canal de estado entre os dois é oficialmente aberto.
Alice e Bob podem teoricamente realizar transações ilimitadas fora da cadeia através deste canal, os participantes se comunicam entre si por meio 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.
Se Alice quiser fechar o canal e encerrar 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 para o respectivo usuário. Se Bob não responder à assinatura, o contrato liberará os fundos bloqueados de volta ao respectivo usuário após o término do período de contestação.
Se Bob não responder à assinatura da atualização de estado enviada por Alice em sua vez, 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. Em seguida, o contrato permite que Bob responda dentro de um determinado período, 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.
3.1.4 Vantagens e desvantagens
Vantagens:
Imediata: as transações podem ser concluídas imediatamente, sem necessidade de esperar pela confirmação do bloco
Privacidade: apenas o estado final será colocado na cadeia, o processo intermediário não será exposto
Escalabilidade: pode suportar um número ilimitado de transações fora da cadeia
Baixo custo: transações fora da cadeia basicamente não têm taxas.
Desvantagens:
Disponibilidade: os participantes precisam estar online
Eficiência de capital baixa: os fundos não podem ser utilizados durante o período de bloqueio
Complexidade: há um certo limiar para desenvolvedores e usuários.
Limitação de liquidez: fundos limitados no canal
Aplicabilidade limitada: principal aplicável a ambas as partes que interagem frequentemente
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: construção de um canal de pagamento unidirecional com 2/2 multi-assinaturas, permitindo a construção de um canal de pagamento bidirecional após a adição do RSMC(Revocable Sequence Maturity Contract), e depois, com a adição do HTLC(Hash Time Lock Contract), expandindo os canais de pagamento para pagamentos em grupo, culminando na construção da rede de pagamentos, ou seja, a Lightning Network. Através de pagamentos de baixo valor fora da cadeia.
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.
10 gostos
Recompensa
10
5
Partilhar
Comentar
0/400
BlockImposter
· 20h atrás
fora da cadeia transações, destaque
Ver originalResponder0
GasGasGasBro
· 20h atrás
白嫖gas yyds!
Responder0
DaoGovernanceOfficer
· 20h atrás
*suspiro* outra abordagem superficial sobre o trilema... empiricamente falando, os canais estatais falharam precisamente por causa desses frameworks simplificados.
Ver originalResponder0
AirdropHunter007
· 20h atrás
Cadeias lixo falam de escalabilidade, mais vale não usar cadeia nenhuma.
Ver originalResponder0
Ser_Liquidated
· 20h atrás
Não precisa perguntar que métodos eu tenho, ainda é fora da cadeia tudo depende de gastar dinheiro.
Análise profunda das soluções de escalabilidade fora da cadeia: dos canais estatais à Rede de iluminação
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ó pode realizar dois desses aspectos, e satisfazer os 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 capacidade de processamento 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 mais debatidos no atual processo de desenvolvimento 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 de 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, a comunidade Bitcoin tem divergências sobre a questão da escalabilidade, com um lado representado pelo Bitcoin ABC, que apoia a ampliação do bloco, e o outro lado representado pelo Bitcoin Core, que defende blocos pequenos e acredita que a solução Segwit (Witness Segregado) deve ser utilizada para otimizar a estrutura da cadeia principal. Em 1 de agosto de 2017, o Bitcoin ABC lançou um sistema de 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 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, de forma indireta, alterando o limite do custo de gás que pode ser acomodado em um único bloco, o objetivo é o mesmo: alcançar o Consenso Sem Confiança e garantir a ampla distribuição dos nós. ( Seja cancelando ou aumentando o limite, 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é a ascensão de aplicações on-chain como GameFi e NFT, a demanda do mercado por capacidade de processamento tem crescido continuamente. No entanto, mesmo o Ethereum, que é Turing completo, só consegue processar de 15 a 45 transações por segundo ( TPS ). O resultado disso é o aumento constante dos custos de transação, o alongamento do tempo de liquidação e a dificuldade para a maioria dos Dapps suportar os custos operacionais. Isso torna toda a rede lenta e cara para os usuários, e a questão da escalabilidade da blockchain precisa ser resolvida urgentemente. 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 processamento ( TPS ) mais alta, sem sacrificar a descentralização e a segurança.
2. Categorias de soluções 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 há alteração de uma camada da rede principal".
2.1 Expansão na cadeia
Conceito central: solução que visa aumentar a capacidade 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 irá se aprofundar, a seguir apresentamos brevemente duas soluções:
Alterar o código do protocolo da camada principal da rede pode ter efeitos negativos imprevisíveis, pois qualquer pequena vulnerabilidade de segurança subjacente pode ameaçar seriamente a segurança de toda a rede, que pode ser forçada a realizar uma bifurcação ou interromper uma atualização de reparo. Por exemplo, o incidente da vulnerabilidade de inflação do Zcash em 2018: o código do Zcash é baseado na 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, ou seja, os tokens poderiam ser emitidos sem limites, e a equipe levou 8 meses para corrigir secretamente o problema, divulgando 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 camada principal existente.
A solução de escalabilidade fora da cadeia pode ser subdividida em Layer2 e outras soluções:
Layer2: Ao construir uma camada de rede adicional sobre a rede principal, a maioria do processamento e cálculo das transações é transferida para esta camada, aumentando a capacidade de transação e reduzindo custos. Inclui principalmente canais de estado, Plasma, Rollups, entre outros.
Outras soluções: como redes de blockchain independentes, como sidechains, que interagem em cross-chain com a mainnet.
3. Profundidade da solução 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 ao abrir, fechar ou resolver disputas no canal, e que as interações entre usuários devem ser realizadas 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, e esse contrato 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 a bloqueiam, e, 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 de número (, 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 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; apenas em caso de disputas ou ao fechar o canal, é que se recorre à confirmação da mainnet. Quando é necessário fechar o canal, qualquer um dos participantes pode apresentar um pedido de transação na mainnet, se o pedido de saída receber a aprovação de unanimidade, a execução na cadeia acontece imediatamente, 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 aprovaram a assinatura, todos devem esperar pelo fim 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 de cálculo na rede principal, aumentar a velocidade das transações e diminuir os custos de transação.
3.1.2 Linha do tempo
3.1.3 Princípios Técnicos
O fluxo de trabalho básico do canal de estado é o seguinte:
Alice e Bob depositam fundos de seus EOA pessoais 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 da assinatura de ambos, o canal de estado entre os dois é oficialmente aberto.
Alice e Bob podem teoricamente realizar transações ilimitadas fora da cadeia através deste canal, os participantes se comunicam entre si por meio 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.
Se Alice quiser fechar o canal e encerrar 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 para o respectivo usuário. Se Bob não responder à assinatura, o contrato liberará os fundos bloqueados de volta ao respectivo usuário após o término do período de contestação.
Se Bob não responder à assinatura da atualização de estado enviada por Alice em sua vez, 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. Em seguida, o contrato permite que Bob responda dentro de um determinado período, 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.
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: construção de um canal de pagamento unidirecional com 2/2 multi-assinaturas, permitindo a construção de um canal de pagamento bidirecional após a adição do RSMC(Revocable Sequence Maturity Contract), e depois, com a adição do HTLC(Hash Time Lock Contract), expandindo os canais de pagamento para pagamentos em grupo, culminando na construção da rede de pagamentos, ou seja, a Lightning Network. Através de pagamentos de baixo valor fora da cadeia.