A tese modular propõe que mudaremos coletivamente a forma como construímos e utilizamos blockchains. Além disso, um design com foco modular permite camadas de execução escalonáveis e seguras à medida que avançamos para o entusiasmo e a atividade intensificada de uma corrida de touros!
Então, o que é arquitetura modular de blockchain?
Em redes monolíticas (por exemplo Ethereum e Solana), execução, liquidação e consenso/disponibilidade de dados (DA) são todos unificados em uma camada:
Arquitetura Monolítica Blockchain (Fonte: Celestia)
Embora a abordagem de design monolítico tenha algumas vantagens próprias (por exemplo, complexidade reduzida e capacidade de composição aprimorada), não é necessariamente bem dimensionado. É por isso que os projetos modulares separam essas funções, realizando-as em camadas especializadas separadas.
Consequentemente, o espaço de design modular consiste em:
Arquitetura Modular Blockchain (Fonte: Celestia)
De forma mais ampla, o cenário modular também inclui:
Neste breve artigo introdutório, o foco está em como chegamos ao sistema baseado em rollup (também conhecido como modulares) antes de nos aprofundarmos nas nuances dos sistemas modulares de blockchain nas próximas semanas nesta nova série.
Acha que tem o que é preciso para entrar no Castelo e contribuir com pesquisas, iniciativas comunitárias, análises de due diligence e projetos de consultoria/manutenção no espaço? Ou talvez você queira aprimorar as habilidades e acompanhar os membros da comunidade que já trilharam um caminho de sucesso como estagiário?
Preencha um formulário de inscrição!
O dimensionamento do rendimento de blockchains tem sido o foco principal de pesquisa e desenvolvimento no espaço desde o seu início. É indiscutível que, para alcançar a verdadeira “adoção em massa”, as blockchains devem ser capazes de escalar. Definida de forma simples, escalabilidade é a capacidade de uma rede processar uma grande quantidade de transações rapidamente e com baixo custo. Consequentemente, isso significa que à medida que surgem mais casos de uso e a adoção da rede acelera, o desempenho do blockchain não é prejudicado. Com base nesta definição, Ethereum carece de escalabilidade.
Com o aumento do uso da rede, os preços do gás no Ethereum dispararam para níveis insustentavelmente altos, acabando por impedir que muitos usuários menores interagissem inteiramente com aplicativos descentralizados. Os exemplos incluem o BAYC land mint (levando a um aumento nas taxas de gás de até 8.000 gwei) ou a queda dos artblocks NFT (levando a um aumento nas taxas de gás para mais de 1.000 gwei) - como referência, o gás está em 6 gwei no momento da escrita. Instâncias como essas forneceram blockchains L1 alternativos e mais “escaláveis” (ou seja, Solana) uma chance de consumir a participação de mercado da Ethereum. No entanto, isso também estimulou a inovação em torno do aumento do rendimento da rede Ethereum.
No entanto, as abordagens de escalonamento que estes Alt-L1s estão a adoptar muitas vezes acarretam o custo da descentralização e da segurança. Cadeias Alt-L1 como Solana, por exemplo, optaram por um conjunto menor de validadores e aumentaram os requisitos de hardware para validadores. Embora isto melhore a capacidade da rede de verificar a cadeia e manter o seu estado, reduz o número de pessoas que podem verificar a cadeia e aumenta as barreiras à entrada na participação na rede. Este conflito também é conhecido como trilema blockchain (visualizado abaixo). O conceito é baseado na ideia de que um blockchain não pode alcançar todas as três qualidades essenciais que qualquer rede blockchain deveria se esforçar para ter (escalabilidade, segurança e descentralização) de uma só vez.
O trilema blockchain (Fonte: SEBA Research)
Isso fica claro quando pensamos no já mencionado aumento nos requisitos de hardware. Para dimensionar o rendimento, uma cadeia Alt-L1 deve utilizar uma estrutura de rede mais centralizada, onde os usuários precisam confiar em um número menor de validadores com máquinas de alta especificação. Isto sacrifica dois braços do trilema blockchain, descentralização e segurança, em prol da escalabilidade. Além disso, com a necessidade de hardware mais poderoso, a execução de um nó também se torna mais cara (não apenas o hardware em si, mas também a largura de banda e o armazenamento). Isto prejudica drasticamente a descentralização da rede, uma vez que a barreira de entrada para a execução de um nó aumenta dramaticamente, pelo que menos pessoas podem participar na validação da rede.
Dado que a descentralização e a inclusão são dois valores fundamentais da comunidade Ethereum, não é surpreendente que gerir a cadeia com um pequeno conjunto de nós de alta especificação não fosse um caminho adequado a seguir. Vitalik Buterin até argumentou que é “crucial para a descentralização do blockchain que usuários regulares possam executar um nó”. Conseqüentemente, outras abordagens de escalonamento ganharam força.
A comunidade Ethereum experimentou cadeias laterais, plasma e canais de estado para resolver o problema de escalabilidade, todos com certas desvantagens que os tornam soluções abaixo do ideal. Uma abordagem de escalonamento que muitos blockchains L1 alternativos optaram por adotar é o que é conhecido como fragmentação de execução homogênea. Por algum tempo, esta também pareceu a solução mais promissora para Ethereum (no contexto do antigo roteiro ETH 2.0).
A fragmentação de execução homogênea é uma abordagem de escalonamento que busca aumentar o rendimento e a capacidade de uma rede blockchain, dividindo sua carga de trabalho de processamento de transações entre várias unidades menores (subconjuntos de validadores) chamadas shards. Cada fragmento opera de forma independente e simultânea, processando seu próprio conjunto de transações e mantendo um estado separado. O objetivo é permitir a execução paralela de transações, aumentando assim a capacidade e velocidade geral da rede. Harmony e Ethereum 2.0 (apenas roteiro antigo!) são dois exemplos de iniciativas de escalonamento que adotaram ou pelo menos consideraram a fragmentação de execução homogênea como parte de sua estratégia de escalonamento.
Visualização simplificada de fragmentação de execução
Harmony é uma plataforma alternativa de blockchain L1 que visa fornecer uma infraestrutura escalonável, segura e com eficiência energética para aplicativos descentralizados (dApps). Ele usa uma abordagem baseada em sharding, na qual a rede é dividida em vários shards, cada um com seu próprio conjunto de validadores responsáveis pelo processamento de transações e pela manutenção de um estado local. Os validadores são atribuídos aleatoriamente aos fragmentos, garantindo uma distribuição justa e equilibrada de recursos.
A comunicação entre fragmentos é facilitada por meio de um mecanismo chamado “recibos”, que permite que os fragmentos enviem informações sobre as mudanças de estado resultantes de uma transação para outros fragmentos. Isso permite interações perfeitas entre dApps e contratos inteligentes residentes em fragmentos diferentes, sem comprometer a segurança e a integridade da rede.
Ethereum 2.0 é uma atualização contínua da rede Ethereum com o objetivo de resolver os problemas de escalabilidade, segurança e sustentabilidade enfrentados pela versão original do Ethereum baseada em Prova de Trabalho (PoW). O antigo roteiro do Ethereum 2.0 propunha uma implementação multifásica, fazendo a transição da rede para um mecanismo de consenso de Prova de Participação (PoS) (que finalmente vimos acontecer no outono passado) e introduzindo fragmentação de execução para melhorar a escalabilidade. Sob este plano original, o Ethereum 2.0 consistiria em uma Beacon Chain e 64 shard chains. O Beacon Chain foi projetado para gerenciar o protocolo PoS, registro do validador e comunicação entre fragmentos.
As shard chains, por outro lado, deveriam ser cadeias individuais, responsáveis por processar transações e manter estados separados em paralelo. Os validadores teriam sido atribuídos a um fragmento, alternando periodicamente para manter a segurança e a descentralização da rede. A Beacon Chain teria monitorado as atribuições do validador e gerenciado o processo de finalização dos dados da cadeia de fragmentos. A comunicação entre shards foi planejada para ser facilitada por meio de um mecanismo chamado “crosslinks”, que agruparia periodicamente os dados da cadeia de shards na Beacon Chain, permitindo que as mudanças de estado fossem propagadas pela rede.
Mas embora a fragmentação homogénea da execução prometa grande escalabilidade, ela tem o custo de compensações de segurança, uma vez que o validador é dividido em subconjuntos mais pequenos e, portanto, a descentralização da rede é prejudicada. Além disso, o valor em jogo que fornece segurança criptoeconómica aos fragmentos é reduzido.
No entanto, o roteiro do Ethereum 2.0 evoluiu desde então, e a fragmentação de execução foi substituída por uma abordagem conhecida como fragmentação de dados que visa fornecer a base escalonável para uma tecnologia de escalonamento mais complexa conhecida como rollups (mais sobre isso em breve!).
A fragmentação de execução heterogênea é uma abordagem de escalonamento que conecta vários blockchains independentes com diferentes mecanismos de consenso, modelos de estado e funcionalidades em uma rede única e interoperável. Esta abordagem permite que cada blockchain conectado mantenha suas características únicas enquanto se beneficia da segurança e escalabilidade de todo o ecossistema. Dois exemplos proeminentes de projetos que empregam fragmentação de execução heterogênea são Polkadot e Cosmos.
Polkadot é uma plataforma descentralizada projetada para permitir a comunicação entre cadeias e a interoperabilidade entre vários blockchains. Sua arquitetura consiste em uma cadeia de retransmissão central, vários Parachains e pontes.
Visualização simplificada da arquitetura de rede do Polkadot (Fonte: Polkadot Docs)
Relay Chain: A principal cadeia do ecossistema Polkadot, responsável por fornecer segurança, consenso e comunicação entre cadeias. Os validadores da Relay Chain são responsáveis por validar as transações e produzir novos blocos.
Parachains: Blockchains independentes que se conectam à Relay Chain para se beneficiarem de seus mecanismos compartilhados de segurança e consenso, além de permitirem a interoperabilidade com outras cadeias na rede. Cada parachain pode ter seu próprio modelo de estado, mecanismo de consenso e funcionalidade especializada adaptada a casos de uso específicos.
Pontes: Componentes que ligam Polkadot a blockchains externos (como Ethereum) e permitem a comunicação e transferência de ativos entre essas redes e o ecossistema Polkadot.
Polkadot usa um mecanismo de consenso híbrido chamado Nominated Proof-of-Stake (NPoS) para proteger sua rede. Os validadores da Relay Chain são nomeados pela comunidade para validar transações e produzir blocos. Por outro lado, Parachains podem utilizar diferentes mecanismos de consenso, dependendo dos seus requisitos. O que é uma característica importante da arquitetura de rede do Polkadot é que, por design, todos os Parachains compartilham segurança com a cadeia de retransmissão, herdando assim as garantias de segurança da cadeia de retransmissão.
Cosmos é outra plataforma descentralizada que visa criar uma “Internet de Blockchains”, facilitando a comunicação e interoperabilidade contínuas entre diferentes redes blockchain. Sua arquitetura é semelhante à do Polkadot, sendo composta por um hub central, múltiplas zonas e pontes.
Visualização simplificada da arquitetura de rede do Cosmos (Fonte: Cosmos Docs)
Hub: O blockchain central no ecossistema Cosmos, que permite a comunicação entre cadeias e, em breve, segurança entre cadeias (segurança compartilhada semelhante ao Polkadot). O Cosmos Hub usa um mecanismo de consenso de Prova de Participação (PoS) chamado Tendermint, que oferece finalidade rápida e alto rendimento. Teoricamente, pode haver vários hubs. No entanto, com o ATOM 2.0 e a segurança entre cadeias chegando, o Cosmos Hub provavelmente continuará sendo o centro da “Internet de Blockchains” habilitada para o Cosmos.
Zonas: blockchains independentes conectadas ao Hub, cada uma com seu próprio mecanismo de consenso, modelo de estado, funcionalidade e conjunto de validadores (normalmente). As zonas podem se comunicar entre si através do Hub usando um protocolo padronizado chamado Inter-Blockchain Communication (IBC).
Pontes: Componentes que ligam o ecossistema Cosmos a blockchains externos, permitindo transferências de ativos e comunicação entre Zonas Cosmos e outras redes.
Tanto Polkadot quanto Cosmos são exemplos de fragmentação de execução heterogênea, pois conectam vários blockchains independentes com diversas funcionalidades, mecanismos de consenso e modelos de estado em um ecossistema único e interoperável. Esta abordagem permite que cada cadeia conectada mantenha suas características únicas, ao mesmo tempo que permite escalabilidade, separando as camadas de execução específicas do aplicativo umas das outras, enquanto ainda se beneficia da comunicação entre cadeias e dos recursos de segurança de toda a rede.
A principal diferença entre a abordagem Cosmos e Polkadot é o modelo de segurança. Enquanto o Cosmos adota uma abordagem em que as cadeias específicas do aplicativo (fragmentos heterogêneos) precisam girar e manter seus próprios conjuntos de validadores, Polkadot opta por um modelo de segurança compartilhado. Sob este modelo de segurança compartilhada, as cadeias de aplicativos herdam a segurança da cadeia de retransmissão que está no centro do ecossistema. Este último está muito mais próximo da abordagem de escalonamento baseada em rollup que Ethereum deseja adotar para permitir o escalonamento.
Use nosso sistema de referência para divulgar o Chronicle!
Um roteiro Ethereum centrado em rollup não é exatamente um fenômeno novo, mas acelerou rapidamente na aceitação e adoção. Vitalik escreveu pela primeira vez sobre esse pivô do roteiro em outubro de 2020.
Os rollups levam a fragmentação dentro de um paradigma de segurança compartilhado para o próximo nível. É uma solução escalonável na qual as transações são processadas fora da cadeia no ambiente de execução do rollup e, como o nome sugere, agrupadas em lotes. Os sequenciadores coletam transações dos usuários e enviam os lotes de transações para um contrato inteligente no Ethereum L1 que impõe a execução correta da transação no L2. Posteriormente, os dados da transação são armazenados em L1, o que permite que os rollups herdem a segurança da camada base Ethereum testada em batalha.
Então agora o que eram essencialmente fragmentos no antigo roteiro do Ethereum 2.0 estão completamente dissociados da camada base e os desenvolvedores têm um amplo espaço aberto para personalizar seu L2 como quiserem (semelhante aos parachains de Polkadot ou às zonas do Cosmos). No entanto, graças ao acordo e ao DA no Ethereum, os rollups ainda podem contar com garantias de segurança L1. Outra vantagem importante em comparação com cadeias laterais (por exemplo, Polygon) é que os rollups não precisam de um conjunto de validadores e de um mecanismo de consenso próprio.
Um sistema rollup só precisa ter um conjunto de sequenciadores (coletando e ordenando transações), com apenas um sequenciador precisando estar ativo a qualquer momento. Com suposições fracas como essa, os rollups podem, na verdade, ser executados em um pequeno conjunto de máquinas de nível de servidor de alta especificação ou até mesmo em um único sequenciador, permitindo grande escalabilidade. No entanto, como isso representa um compromisso com a descentralização, a maioria dos rollups tenta projetar seus sistemas o mais descentralizados possível (o que inclui o sequenciador). Embora os rollups não precisem explicitamente de mecanismos de consenso (já que a finalidade vem do consenso L1), os rollups podem ter mecanismos de coordenação com cronogramas de rotação para girar sequenciadores ou até mesmo mecanismos PoS completos nos quais um conjunto de sequenciadores chega a consenso sobre lotes/ordenações de transações. Estas abordagens podem aumentar a segurança e melhorar a descentralização.
Geralmente, existem dois tipos de sistemas rollup…
Os chamados rollups otimistas são caracterizados por ter um nó sequenciador que coleta dados de transação em L2, subseqüentemente enviando esses dados para a camada base Ethereum junto com a nova raiz de estado L2. Para garantir que a nova raiz de estado submetida ao Ethereum L1 esteja correta, os nós verificadores compararão sua nova raiz de estado com aquela submetida pelo sequenciador. Se houver alguma diferença, eles iniciarão o que é chamado de processo à prova de fraude. Se a raiz do estado da prova de fraude for diferente daquela enviada pelo sequenciador, o depósito inicial do sequenciador (também conhecido como vínculo) será cortado. As raízes de estado dessa transação em diante serão apagadas e o sequenciador terá que recalcular as raízes de estado perdidas.
Mecanismo de rollup (Fonte: Panther Academy)
Os rollups de validade, por outro lado, dependem de provas de validade na forma de provas de conhecimento zero (por exemplo, SNARKs ou STARKs) em vez de mecanismos de prova de fraude. Semelhante aos sistemas de rollup otimistas, um sequenciador coleta transações dos usuários e é responsável por enviar (e às vezes também gerar) a prova de conhecimento zero para o L1 juntamente com os dados de transação correspondentes. A aposta do sequenciador pode ser reduzida se ele agir de forma maliciosa, o que os incentiva a postar blocos válidos (ou provas de lotes). Os rollups de validade introduzem uma nova função no sistema que não é necessária na configuração otimista. O provador é o ator que gera provas zk infalsáveis de execução da transação, provando que as transições de estado propostas são válidas.
O sequenciador subseqüentemente envia essas provas ao contrato do verificador na rede principal Ethereum. Tecnicamente, as responsabilidades dos sequenciadores e provadores podem ser combinadas em uma única função. No entanto, como a geração de provas e o pedido de transações exigem habilidades altamente especializadas para um bom desempenho, a divisão dessas responsabilidades evita a centralização desnecessária no design de um rollup. A prova de Conhecimento Zero que o sequenciador envia para L1 relata apenas as mudanças no estado L2 e fornece esses dados ao contrato inteligente verificador na rede principal Ethereum na forma de um hash verificável.
Visualização simplificada de um zk-Rollup (Fonte: Chainlink)
Determinar qual abordagem é superior é uma tarefa desafiadora. No entanto, vamos explorar brevemente algumas diferenças importantes. Em primeiro lugar, como as provas de validade podem ser comprovadas matematicamente, a rede Ethereum pode verificar sem confiança a legitimidade das transações em lote. Isso difere dos rollups otimistas, onde o Ethereum depende de nós verificadores para validar transações e executar provas de fraude, se necessário. Conseqüentemente, alguns podem argumentar que zk-rollups são mais seguros. Além disso, as provas de validade (as de conhecimento zero) permitem a confirmação instantânea de transações rollup na cadeia principal.
Consequentemente, os usuários podem transferir fundos perfeitamente entre o rollup e o blockchain base (bem como outros zk-rollups) sem enfrentar atritos ou atrasos. Em contraste, rollups otimistas (como Optimism e Arbitrum) impõem um período de espera antes que os usuários possam sacar fundos para L1 (7 dias no caso de Optimism & Arbitrum), pois os verificadores precisam ser capazes de verificar as transações e iniciar a prova de fraude mecanismo, se necessário. Isso limita a eficiência dos rollups e reduz o valor para os usuários. Embora existam maneiras de permitir saques rápidos, geralmente não é um recurso nativo.
No entanto, as provas de validade são computacionalmente caras para gerar e muitas vezes caras para verificar na cadeia (dependendo do tamanho da prova). Ao abstrair a geração e verificação de provas, os rollups otimistas ganham uma vantagem sobre os rollups de validade em termos de custo.
Tanto os rollups otimistas quanto os de validade desempenham um papel fundamental no contexto do roteiro centrado no rollup da Ethereum. Transformar a camada base Ethereum em uma importante camada de disponibilidade/liquidação de dados para um número quase infinito de camadas de execução baseadas em rollup altamente escaláveis permitirá que a rede Ethereum geral e seus ecossistemas rollup alcancem uma escala enorme.
Como vimos, construir aplicações descentralizadas que sejam soberanas e não limitadas pelas limitações das camadas base é um empreendimento complexo. Requer a coordenação de centenas de operadores de nós, o que é difícil e caro. Além disso, é difícil escalar blockchains monolíticos sem fazer compensações significativas em termos de segurança e/ou descentralização.
Embora estruturas como o Cosmos SDK e o Polkadot's Substrate facilitem a abstração de certos componentes de software, elas não permitem uma transição perfeita do código para a rede física real do hardware p2p. Além disso, as abordagens de fragmentação heterogénea podem fragmentar a segurança do ecossistema, o que pode introduzir atritos e riscos adicionais.
Rollups, a solução de escalonamento de última geração, oferece uma oportunidade incrível não apenas para eliminar a dificuldade de coordenar centenas ou mesmo milhares de indivíduos para operar uma rede descentralizada, mas também é um importante trampolim para reduzir significativamente o custo e o tempo necessários aos desenvolvedores para transformar suas ideias e conceitos em realidade.
O conceito de cadeias modulares simplifica ainda mais isso. O design modular de blockchain é uma abordagem ampla que separa as funções principais de um blockchain em componentes distintos e intercambiáveis. Dentro dessas áreas funcionais, surgem fornecedores especializados que facilitam conjuntamente a construção de camadas de execução de rollup escalonáveis e seguras, ampla flexibilidade de design de aplicativos e maior adaptabilidade para demandas tecnológicas em evolução.
Apesar disso, o escalonamento baseado em rollup ainda é uma tecnologia incipiente. Portanto, ainda existem alguns obstáculos a serem superados. O principal gargalo de escalabilidade para rollups (baseados em Ethereum) atualmente é a capacidade limitada de disponibilidade de dados (DA). No entanto, a inovação, impulsionada pela tese modular, tem algumas abordagens reservadas para resolver esta questão. Para saber mais sobre o problema do DA e possíveis soluções, fique atento ao nosso relatório aprofundado que será publicado na próxima semana, à medida que continuamos esta série!
Compartilhar
A tese modular propõe que mudaremos coletivamente a forma como construímos e utilizamos blockchains. Além disso, um design com foco modular permite camadas de execução escalonáveis e seguras à medida que avançamos para o entusiasmo e a atividade intensificada de uma corrida de touros!
Então, o que é arquitetura modular de blockchain?
Em redes monolíticas (por exemplo Ethereum e Solana), execução, liquidação e consenso/disponibilidade de dados (DA) são todos unificados em uma camada:
Arquitetura Monolítica Blockchain (Fonte: Celestia)
Embora a abordagem de design monolítico tenha algumas vantagens próprias (por exemplo, complexidade reduzida e capacidade de composição aprimorada), não é necessariamente bem dimensionado. É por isso que os projetos modulares separam essas funções, realizando-as em camadas especializadas separadas.
Consequentemente, o espaço de design modular consiste em:
Arquitetura Modular Blockchain (Fonte: Celestia)
De forma mais ampla, o cenário modular também inclui:
Neste breve artigo introdutório, o foco está em como chegamos ao sistema baseado em rollup (também conhecido como modulares) antes de nos aprofundarmos nas nuances dos sistemas modulares de blockchain nas próximas semanas nesta nova série.
Acha que tem o que é preciso para entrar no Castelo e contribuir com pesquisas, iniciativas comunitárias, análises de due diligence e projetos de consultoria/manutenção no espaço? Ou talvez você queira aprimorar as habilidades e acompanhar os membros da comunidade que já trilharam um caminho de sucesso como estagiário?
Preencha um formulário de inscrição!
O dimensionamento do rendimento de blockchains tem sido o foco principal de pesquisa e desenvolvimento no espaço desde o seu início. É indiscutível que, para alcançar a verdadeira “adoção em massa”, as blockchains devem ser capazes de escalar. Definida de forma simples, escalabilidade é a capacidade de uma rede processar uma grande quantidade de transações rapidamente e com baixo custo. Consequentemente, isso significa que à medida que surgem mais casos de uso e a adoção da rede acelera, o desempenho do blockchain não é prejudicado. Com base nesta definição, Ethereum carece de escalabilidade.
Com o aumento do uso da rede, os preços do gás no Ethereum dispararam para níveis insustentavelmente altos, acabando por impedir que muitos usuários menores interagissem inteiramente com aplicativos descentralizados. Os exemplos incluem o BAYC land mint (levando a um aumento nas taxas de gás de até 8.000 gwei) ou a queda dos artblocks NFT (levando a um aumento nas taxas de gás para mais de 1.000 gwei) - como referência, o gás está em 6 gwei no momento da escrita. Instâncias como essas forneceram blockchains L1 alternativos e mais “escaláveis” (ou seja, Solana) uma chance de consumir a participação de mercado da Ethereum. No entanto, isso também estimulou a inovação em torno do aumento do rendimento da rede Ethereum.
No entanto, as abordagens de escalonamento que estes Alt-L1s estão a adoptar muitas vezes acarretam o custo da descentralização e da segurança. Cadeias Alt-L1 como Solana, por exemplo, optaram por um conjunto menor de validadores e aumentaram os requisitos de hardware para validadores. Embora isto melhore a capacidade da rede de verificar a cadeia e manter o seu estado, reduz o número de pessoas que podem verificar a cadeia e aumenta as barreiras à entrada na participação na rede. Este conflito também é conhecido como trilema blockchain (visualizado abaixo). O conceito é baseado na ideia de que um blockchain não pode alcançar todas as três qualidades essenciais que qualquer rede blockchain deveria se esforçar para ter (escalabilidade, segurança e descentralização) de uma só vez.
O trilema blockchain (Fonte: SEBA Research)
Isso fica claro quando pensamos no já mencionado aumento nos requisitos de hardware. Para dimensionar o rendimento, uma cadeia Alt-L1 deve utilizar uma estrutura de rede mais centralizada, onde os usuários precisam confiar em um número menor de validadores com máquinas de alta especificação. Isto sacrifica dois braços do trilema blockchain, descentralização e segurança, em prol da escalabilidade. Além disso, com a necessidade de hardware mais poderoso, a execução de um nó também se torna mais cara (não apenas o hardware em si, mas também a largura de banda e o armazenamento). Isto prejudica drasticamente a descentralização da rede, uma vez que a barreira de entrada para a execução de um nó aumenta dramaticamente, pelo que menos pessoas podem participar na validação da rede.
Dado que a descentralização e a inclusão são dois valores fundamentais da comunidade Ethereum, não é surpreendente que gerir a cadeia com um pequeno conjunto de nós de alta especificação não fosse um caminho adequado a seguir. Vitalik Buterin até argumentou que é “crucial para a descentralização do blockchain que usuários regulares possam executar um nó”. Conseqüentemente, outras abordagens de escalonamento ganharam força.
A comunidade Ethereum experimentou cadeias laterais, plasma e canais de estado para resolver o problema de escalabilidade, todos com certas desvantagens que os tornam soluções abaixo do ideal. Uma abordagem de escalonamento que muitos blockchains L1 alternativos optaram por adotar é o que é conhecido como fragmentação de execução homogênea. Por algum tempo, esta também pareceu a solução mais promissora para Ethereum (no contexto do antigo roteiro ETH 2.0).
A fragmentação de execução homogênea é uma abordagem de escalonamento que busca aumentar o rendimento e a capacidade de uma rede blockchain, dividindo sua carga de trabalho de processamento de transações entre várias unidades menores (subconjuntos de validadores) chamadas shards. Cada fragmento opera de forma independente e simultânea, processando seu próprio conjunto de transações e mantendo um estado separado. O objetivo é permitir a execução paralela de transações, aumentando assim a capacidade e velocidade geral da rede. Harmony e Ethereum 2.0 (apenas roteiro antigo!) são dois exemplos de iniciativas de escalonamento que adotaram ou pelo menos consideraram a fragmentação de execução homogênea como parte de sua estratégia de escalonamento.
Visualização simplificada de fragmentação de execução
Harmony é uma plataforma alternativa de blockchain L1 que visa fornecer uma infraestrutura escalonável, segura e com eficiência energética para aplicativos descentralizados (dApps). Ele usa uma abordagem baseada em sharding, na qual a rede é dividida em vários shards, cada um com seu próprio conjunto de validadores responsáveis pelo processamento de transações e pela manutenção de um estado local. Os validadores são atribuídos aleatoriamente aos fragmentos, garantindo uma distribuição justa e equilibrada de recursos.
A comunicação entre fragmentos é facilitada por meio de um mecanismo chamado “recibos”, que permite que os fragmentos enviem informações sobre as mudanças de estado resultantes de uma transação para outros fragmentos. Isso permite interações perfeitas entre dApps e contratos inteligentes residentes em fragmentos diferentes, sem comprometer a segurança e a integridade da rede.
Ethereum 2.0 é uma atualização contínua da rede Ethereum com o objetivo de resolver os problemas de escalabilidade, segurança e sustentabilidade enfrentados pela versão original do Ethereum baseada em Prova de Trabalho (PoW). O antigo roteiro do Ethereum 2.0 propunha uma implementação multifásica, fazendo a transição da rede para um mecanismo de consenso de Prova de Participação (PoS) (que finalmente vimos acontecer no outono passado) e introduzindo fragmentação de execução para melhorar a escalabilidade. Sob este plano original, o Ethereum 2.0 consistiria em uma Beacon Chain e 64 shard chains. O Beacon Chain foi projetado para gerenciar o protocolo PoS, registro do validador e comunicação entre fragmentos.
As shard chains, por outro lado, deveriam ser cadeias individuais, responsáveis por processar transações e manter estados separados em paralelo. Os validadores teriam sido atribuídos a um fragmento, alternando periodicamente para manter a segurança e a descentralização da rede. A Beacon Chain teria monitorado as atribuições do validador e gerenciado o processo de finalização dos dados da cadeia de fragmentos. A comunicação entre shards foi planejada para ser facilitada por meio de um mecanismo chamado “crosslinks”, que agruparia periodicamente os dados da cadeia de shards na Beacon Chain, permitindo que as mudanças de estado fossem propagadas pela rede.
Mas embora a fragmentação homogénea da execução prometa grande escalabilidade, ela tem o custo de compensações de segurança, uma vez que o validador é dividido em subconjuntos mais pequenos e, portanto, a descentralização da rede é prejudicada. Além disso, o valor em jogo que fornece segurança criptoeconómica aos fragmentos é reduzido.
No entanto, o roteiro do Ethereum 2.0 evoluiu desde então, e a fragmentação de execução foi substituída por uma abordagem conhecida como fragmentação de dados que visa fornecer a base escalonável para uma tecnologia de escalonamento mais complexa conhecida como rollups (mais sobre isso em breve!).
A fragmentação de execução heterogênea é uma abordagem de escalonamento que conecta vários blockchains independentes com diferentes mecanismos de consenso, modelos de estado e funcionalidades em uma rede única e interoperável. Esta abordagem permite que cada blockchain conectado mantenha suas características únicas enquanto se beneficia da segurança e escalabilidade de todo o ecossistema. Dois exemplos proeminentes de projetos que empregam fragmentação de execução heterogênea são Polkadot e Cosmos.
Polkadot é uma plataforma descentralizada projetada para permitir a comunicação entre cadeias e a interoperabilidade entre vários blockchains. Sua arquitetura consiste em uma cadeia de retransmissão central, vários Parachains e pontes.
Visualização simplificada da arquitetura de rede do Polkadot (Fonte: Polkadot Docs)
Relay Chain: A principal cadeia do ecossistema Polkadot, responsável por fornecer segurança, consenso e comunicação entre cadeias. Os validadores da Relay Chain são responsáveis por validar as transações e produzir novos blocos.
Parachains: Blockchains independentes que se conectam à Relay Chain para se beneficiarem de seus mecanismos compartilhados de segurança e consenso, além de permitirem a interoperabilidade com outras cadeias na rede. Cada parachain pode ter seu próprio modelo de estado, mecanismo de consenso e funcionalidade especializada adaptada a casos de uso específicos.
Pontes: Componentes que ligam Polkadot a blockchains externos (como Ethereum) e permitem a comunicação e transferência de ativos entre essas redes e o ecossistema Polkadot.
Polkadot usa um mecanismo de consenso híbrido chamado Nominated Proof-of-Stake (NPoS) para proteger sua rede. Os validadores da Relay Chain são nomeados pela comunidade para validar transações e produzir blocos. Por outro lado, Parachains podem utilizar diferentes mecanismos de consenso, dependendo dos seus requisitos. O que é uma característica importante da arquitetura de rede do Polkadot é que, por design, todos os Parachains compartilham segurança com a cadeia de retransmissão, herdando assim as garantias de segurança da cadeia de retransmissão.
Cosmos é outra plataforma descentralizada que visa criar uma “Internet de Blockchains”, facilitando a comunicação e interoperabilidade contínuas entre diferentes redes blockchain. Sua arquitetura é semelhante à do Polkadot, sendo composta por um hub central, múltiplas zonas e pontes.
Visualização simplificada da arquitetura de rede do Cosmos (Fonte: Cosmos Docs)
Hub: O blockchain central no ecossistema Cosmos, que permite a comunicação entre cadeias e, em breve, segurança entre cadeias (segurança compartilhada semelhante ao Polkadot). O Cosmos Hub usa um mecanismo de consenso de Prova de Participação (PoS) chamado Tendermint, que oferece finalidade rápida e alto rendimento. Teoricamente, pode haver vários hubs. No entanto, com o ATOM 2.0 e a segurança entre cadeias chegando, o Cosmos Hub provavelmente continuará sendo o centro da “Internet de Blockchains” habilitada para o Cosmos.
Zonas: blockchains independentes conectadas ao Hub, cada uma com seu próprio mecanismo de consenso, modelo de estado, funcionalidade e conjunto de validadores (normalmente). As zonas podem se comunicar entre si através do Hub usando um protocolo padronizado chamado Inter-Blockchain Communication (IBC).
Pontes: Componentes que ligam o ecossistema Cosmos a blockchains externos, permitindo transferências de ativos e comunicação entre Zonas Cosmos e outras redes.
Tanto Polkadot quanto Cosmos são exemplos de fragmentação de execução heterogênea, pois conectam vários blockchains independentes com diversas funcionalidades, mecanismos de consenso e modelos de estado em um ecossistema único e interoperável. Esta abordagem permite que cada cadeia conectada mantenha suas características únicas, ao mesmo tempo que permite escalabilidade, separando as camadas de execução específicas do aplicativo umas das outras, enquanto ainda se beneficia da comunicação entre cadeias e dos recursos de segurança de toda a rede.
A principal diferença entre a abordagem Cosmos e Polkadot é o modelo de segurança. Enquanto o Cosmos adota uma abordagem em que as cadeias específicas do aplicativo (fragmentos heterogêneos) precisam girar e manter seus próprios conjuntos de validadores, Polkadot opta por um modelo de segurança compartilhado. Sob este modelo de segurança compartilhada, as cadeias de aplicativos herdam a segurança da cadeia de retransmissão que está no centro do ecossistema. Este último está muito mais próximo da abordagem de escalonamento baseada em rollup que Ethereum deseja adotar para permitir o escalonamento.
Use nosso sistema de referência para divulgar o Chronicle!
Um roteiro Ethereum centrado em rollup não é exatamente um fenômeno novo, mas acelerou rapidamente na aceitação e adoção. Vitalik escreveu pela primeira vez sobre esse pivô do roteiro em outubro de 2020.
Os rollups levam a fragmentação dentro de um paradigma de segurança compartilhado para o próximo nível. É uma solução escalonável na qual as transações são processadas fora da cadeia no ambiente de execução do rollup e, como o nome sugere, agrupadas em lotes. Os sequenciadores coletam transações dos usuários e enviam os lotes de transações para um contrato inteligente no Ethereum L1 que impõe a execução correta da transação no L2. Posteriormente, os dados da transação são armazenados em L1, o que permite que os rollups herdem a segurança da camada base Ethereum testada em batalha.
Então agora o que eram essencialmente fragmentos no antigo roteiro do Ethereum 2.0 estão completamente dissociados da camada base e os desenvolvedores têm um amplo espaço aberto para personalizar seu L2 como quiserem (semelhante aos parachains de Polkadot ou às zonas do Cosmos). No entanto, graças ao acordo e ao DA no Ethereum, os rollups ainda podem contar com garantias de segurança L1. Outra vantagem importante em comparação com cadeias laterais (por exemplo, Polygon) é que os rollups não precisam de um conjunto de validadores e de um mecanismo de consenso próprio.
Um sistema rollup só precisa ter um conjunto de sequenciadores (coletando e ordenando transações), com apenas um sequenciador precisando estar ativo a qualquer momento. Com suposições fracas como essa, os rollups podem, na verdade, ser executados em um pequeno conjunto de máquinas de nível de servidor de alta especificação ou até mesmo em um único sequenciador, permitindo grande escalabilidade. No entanto, como isso representa um compromisso com a descentralização, a maioria dos rollups tenta projetar seus sistemas o mais descentralizados possível (o que inclui o sequenciador). Embora os rollups não precisem explicitamente de mecanismos de consenso (já que a finalidade vem do consenso L1), os rollups podem ter mecanismos de coordenação com cronogramas de rotação para girar sequenciadores ou até mesmo mecanismos PoS completos nos quais um conjunto de sequenciadores chega a consenso sobre lotes/ordenações de transações. Estas abordagens podem aumentar a segurança e melhorar a descentralização.
Geralmente, existem dois tipos de sistemas rollup…
Os chamados rollups otimistas são caracterizados por ter um nó sequenciador que coleta dados de transação em L2, subseqüentemente enviando esses dados para a camada base Ethereum junto com a nova raiz de estado L2. Para garantir que a nova raiz de estado submetida ao Ethereum L1 esteja correta, os nós verificadores compararão sua nova raiz de estado com aquela submetida pelo sequenciador. Se houver alguma diferença, eles iniciarão o que é chamado de processo à prova de fraude. Se a raiz do estado da prova de fraude for diferente daquela enviada pelo sequenciador, o depósito inicial do sequenciador (também conhecido como vínculo) será cortado. As raízes de estado dessa transação em diante serão apagadas e o sequenciador terá que recalcular as raízes de estado perdidas.
Mecanismo de rollup (Fonte: Panther Academy)
Os rollups de validade, por outro lado, dependem de provas de validade na forma de provas de conhecimento zero (por exemplo, SNARKs ou STARKs) em vez de mecanismos de prova de fraude. Semelhante aos sistemas de rollup otimistas, um sequenciador coleta transações dos usuários e é responsável por enviar (e às vezes também gerar) a prova de conhecimento zero para o L1 juntamente com os dados de transação correspondentes. A aposta do sequenciador pode ser reduzida se ele agir de forma maliciosa, o que os incentiva a postar blocos válidos (ou provas de lotes). Os rollups de validade introduzem uma nova função no sistema que não é necessária na configuração otimista. O provador é o ator que gera provas zk infalsáveis de execução da transação, provando que as transições de estado propostas são válidas.
O sequenciador subseqüentemente envia essas provas ao contrato do verificador na rede principal Ethereum. Tecnicamente, as responsabilidades dos sequenciadores e provadores podem ser combinadas em uma única função. No entanto, como a geração de provas e o pedido de transações exigem habilidades altamente especializadas para um bom desempenho, a divisão dessas responsabilidades evita a centralização desnecessária no design de um rollup. A prova de Conhecimento Zero que o sequenciador envia para L1 relata apenas as mudanças no estado L2 e fornece esses dados ao contrato inteligente verificador na rede principal Ethereum na forma de um hash verificável.
Visualização simplificada de um zk-Rollup (Fonte: Chainlink)
Determinar qual abordagem é superior é uma tarefa desafiadora. No entanto, vamos explorar brevemente algumas diferenças importantes. Em primeiro lugar, como as provas de validade podem ser comprovadas matematicamente, a rede Ethereum pode verificar sem confiança a legitimidade das transações em lote. Isso difere dos rollups otimistas, onde o Ethereum depende de nós verificadores para validar transações e executar provas de fraude, se necessário. Conseqüentemente, alguns podem argumentar que zk-rollups são mais seguros. Além disso, as provas de validade (as de conhecimento zero) permitem a confirmação instantânea de transações rollup na cadeia principal.
Consequentemente, os usuários podem transferir fundos perfeitamente entre o rollup e o blockchain base (bem como outros zk-rollups) sem enfrentar atritos ou atrasos. Em contraste, rollups otimistas (como Optimism e Arbitrum) impõem um período de espera antes que os usuários possam sacar fundos para L1 (7 dias no caso de Optimism & Arbitrum), pois os verificadores precisam ser capazes de verificar as transações e iniciar a prova de fraude mecanismo, se necessário. Isso limita a eficiência dos rollups e reduz o valor para os usuários. Embora existam maneiras de permitir saques rápidos, geralmente não é um recurso nativo.
No entanto, as provas de validade são computacionalmente caras para gerar e muitas vezes caras para verificar na cadeia (dependendo do tamanho da prova). Ao abstrair a geração e verificação de provas, os rollups otimistas ganham uma vantagem sobre os rollups de validade em termos de custo.
Tanto os rollups otimistas quanto os de validade desempenham um papel fundamental no contexto do roteiro centrado no rollup da Ethereum. Transformar a camada base Ethereum em uma importante camada de disponibilidade/liquidação de dados para um número quase infinito de camadas de execução baseadas em rollup altamente escaláveis permitirá que a rede Ethereum geral e seus ecossistemas rollup alcancem uma escala enorme.
Como vimos, construir aplicações descentralizadas que sejam soberanas e não limitadas pelas limitações das camadas base é um empreendimento complexo. Requer a coordenação de centenas de operadores de nós, o que é difícil e caro. Além disso, é difícil escalar blockchains monolíticos sem fazer compensações significativas em termos de segurança e/ou descentralização.
Embora estruturas como o Cosmos SDK e o Polkadot's Substrate facilitem a abstração de certos componentes de software, elas não permitem uma transição perfeita do código para a rede física real do hardware p2p. Além disso, as abordagens de fragmentação heterogénea podem fragmentar a segurança do ecossistema, o que pode introduzir atritos e riscos adicionais.
Rollups, a solução de escalonamento de última geração, oferece uma oportunidade incrível não apenas para eliminar a dificuldade de coordenar centenas ou mesmo milhares de indivíduos para operar uma rede descentralizada, mas também é um importante trampolim para reduzir significativamente o custo e o tempo necessários aos desenvolvedores para transformar suas ideias e conceitos em realidade.
O conceito de cadeias modulares simplifica ainda mais isso. O design modular de blockchain é uma abordagem ampla que separa as funções principais de um blockchain em componentes distintos e intercambiáveis. Dentro dessas áreas funcionais, surgem fornecedores especializados que facilitam conjuntamente a construção de camadas de execução de rollup escalonáveis e seguras, ampla flexibilidade de design de aplicativos e maior adaptabilidade para demandas tecnológicas em evolução.
Apesar disso, o escalonamento baseado em rollup ainda é uma tecnologia incipiente. Portanto, ainda existem alguns obstáculos a serem superados. O principal gargalo de escalabilidade para rollups (baseados em Ethereum) atualmente é a capacidade limitada de disponibilidade de dados (DA). No entanto, a inovação, impulsionada pela tese modular, tem algumas abordagens reservadas para resolver esta questão. Para saber mais sobre o problema do DA e possíveis soluções, fique atento ao nosso relatório aprofundado que será publicado na próxima semana, à medida que continuamos esta série!