Pular para o conteúdo
0%

Blockchains modulares vs. monolíticas

Alchemy team headshot

Escrito por Alchemy

Publicado em 8 de julho de 202213 min de leitura

Toda blockchain tem as mesmas tarefas centrais: fornecer consenso e segurança, garantir a disponibilidade de dados e executar transações. Normalmente, a maioria das blockchains lida com essas funções na mesma camada—essas blockchains, como o Bitcoin, são chamadas de "blockchains monolíticas."

Blockchains monolíticas são o padrão da indústria desde o surgimento das primeiras criptomoedas, mas isso está mudando rapidamente. Com evidências cada vez maiores de que o desempenho de designs monolíticos é subótimo, as blockchains modulares estão ganhando popularidade. Uma chain modular foca apenas em tarefas específicas, delegando o restante para outras camadas.

Este guia fornece uma introdução de alto nível ao conceito de blockchains modulares. Vamos explicar como uma blockchain modular funciona, o que a diferencia de uma blockchain monolítica e por que designs modulares importam para a adoção de blockchain.

O que é uma blockchain modular?

Uma blockchain modular é aquela que foca em lidar com um número seleto de funções e terceiriza o restante para uma ou mais camadas separadas. Para entender como blockchains modulares funcionam, primeiro precisamos avaliar as "funções" de uma blockchain comum: consenso, execução, disponibilidade de dados e settlement.

1. Consenso

Consenso se refere ao mecanismo pelo qual os nodes chegam a um acordo sobre quais dados na blockchain podem ser verificados como verdadeiros e precisos. O protocolo de consenso determina como as transações são ordenadas e como novos blocos são adicionados à chain.

2. Execução

Execução é como os nodes na blockchain processam transações para fazer a blockchain transicionar entre estados. Nodes participando do consenso devem executar transações usando sua cópia da blockchain para atestar antes de validar blocos.

3. Disponibilidade de dados

Blockchains aplicam regras que exigem a disponibilidade dos dados de transação. Isso significa que os produtores de blocos devem publicar dados de cada bloco para que os peers da rede possam baixar e armazenar; esses dados devem estar disponíveis mediante solicitação.

4. Settlement

Por fim, blockchains fornecem "finalidade"—uma garantia de que as transações que foram registradas no histórico da chain são irreversíveis (ou "imutáveis"). Para que isso aconteça, a blockchain precisa estar convencida da validade de uma transação. Portanto, a função de settlement exige que a chain valide transações, verifique provas e arbitre disputas.

Tendo explorado as principais características de uma blockchain, agora podemos revisar a mecânica dos designs de blockchain modulares.

Como funciona uma blockchain modular?

Blockchains modulares funcionam a partir do princípio de modularidade, que se refere a separar um sistema em componentes distintos que podem ser combinados de várias maneiras para atingir objetivos específicos. Modularidade depende de especialização: cada componente só pode fazer algumas coisas, mas precisa fazê-las bem. Você pode pensar nos componentes modulares como blocos de Lego que podem ser combinados para formar estruturas diferentes.

Uma chain modular é um componente dentro de um "stack modular" maior de blockchains que podem ser combinadas para atingir fins diferentes. Blockchains modulares funcionam como "módulos plugáveis" e podem ser trocadas ou combinadas entre si dependendo do caso de uso.

O que é uma arquitetura de blockchain modular?

Uma blockchain modular pode ser projetada para lidar com uma ou uma combinação das seguintes tarefas:

  • Execução: Suportar a execução de transações e permitir a implantação e interação com smart contracts.
  • Disponibilidade de dados: Garantir a disponibilidade dos dados de transação.
  • Consenso: Concordar sobre o conteúdo e a ordenação das transações.
  • Settlement: Fornecer uma camada para finalizar transações, resolver disputas, validar provas e fazer bridge entre diferentes camadas de execução.
Uma descrição das diferentes camadas em uma stack de blockchain modular. Fonte: Celestia
Uma descrição das diferentes camadas em uma stack de blockchain modular. Fonte: Celestia

Rollups são um exemplo de blockchain modular. Uma rollup chain processa transações (execução), mas terceiriza consenso, disponibilidade de dados e settlement para a chain pai. Vamos destacar mais exemplos de blockchains modulares em uma seção posterior do artigo e ver como elas abordam essas funções.

Uma chain modular pode frequentemente desempenhar duas ou mais funções, especialmente se forem interdependentes. Por exemplo, camadas de disponibilidade de dados também precisam chegar a um consenso sobre a ordenação dos dados, ou se torna impossível saber quais dados representam a versão correta da história.

Como o Ethereum funciona em um contexto modular?

Assim como o Bitcoin e muitas blockchains de primeira geração, o Ethereum foi projetado como uma blockchain monolítica. No entanto, para aumentar a escalabilidade e a sustentabilidade, a rede Ethereum está atualmente transicionando para um framework modular. Veja como o Ethereum funciona em um contexto modular:

Sharding

Sharding é o processo de dividir um sistema (por exemplo, um banco de dados) para funcionar em partes. Ao dividir funções entre múltiplos componentes, o sistema atinge mais output e eficiência do que se todas as partes estivessem trabalhando juntas nas mesmas funções. Em redes blockchain, sharding divide a blockchain em múltiplas sub-chains, cada uma lidando com uma parte diferente da atividade da rede.

O Ethereum está adotando um design com sharding no qual 64 shard chains operarão em paralelo. Shards podem processar transações em paralelo (execution sharding) ou servir como "depósitos" para armazenar diferentes partes dos dados da blockchain (data sharding). Usando data sharding, um node do Ethereum armazenará apenas dados publicados em sua shard chain; isso contrasta com sua estrutura atual, que exige que todos os nodes armazenem os mesmos dados.

Um diagrama mostrando a arquitetura de uma blockchain Ethereum fragmentada (sharded). Fonte: vitalik.ca
Cadeias shard

‍O sharding do Ethereum é uma forma de modularidade na qual diferentes componentes (shard chains) lidam com diferentes funções. No data sharding, as shard chains armazenam diferentes partes dos dados do Ethereum, enquanto o execution sharding permite que cada shard chain processe seu próprio conjunto de transações, o que aumenta o throughput de dados e reduz os tempos de processamento.

Rollups

Alguns desenvolvedores adotaram uma abordagem centrada em rollup para escalar o Ethereum. Diferente de soluções de escalabilidade puramente off-chain, como sidechains, rollups são fortemente acopladas à chain pai. Na verdade, uma rollup é uma extensão da chain principal, projetada para escalar o throughput desta última.

A blockchain Ethereum terceiriza a computação para rollups enquanto foca em settlement, consenso e disponibilidade de dados. Rollups podem otimizar agressivamente para execução, tendo tempos de bloco mais rápidos e blocos maiores sem prejudicar a descentralização ou a segurança. Isso porque o Ethereum atua como a camada base (ou "Layer 1") para rollups que ficam na Layer 2.

Diagrama do Ethereum como camada base Layer 1 com rollups Layer 2 em uma arquitetura de blockchain modular
Um diagrama mostrando como o Ethereum (a camada base Layer 1) e os rollups (Layer 2) funcionam dentro de uma arquitetura de blockchain modular. Fonte: Celestia

Quais são os benefícios de um design de blockchain modular?

Designs de blockchain modulares oferecem os seguintes benefícios: escalabilidade, flexibilidade e a capacidade de lançar novas blockchains.

1. Escalabilidade

O trilema da blockchain afirma que uma blockchain só pode ter duas de três qualidades possíveis, mas nunca as três ao mesmo tempo: descentralização, segurança e escalabilidade. Otimizar para certas qualidades (escalabilidade) leva a trade-offs em outras áreas (segurança e descentralização), motivo pelo qual escalar blockchains é difícil.

No entanto, as dificuldades de escalabilidade ocorrem principalmente quando uma blockchain tenta lidar com todas as atividades de uma vez em uma única camada. Aplicar modularidade a blockchains (separando tarefas entre diferentes camadas) melhora a escala sem introduzir pressupostos de confiança indesejáveis.

Por exemplo, rollups que focam em execução oferecem maior escalabilidade do que chains comuns. Ainda assim, elas atingem um alto grau de segurança ao depender do Ethereum para consenso e disponibilidade de dados.

2. Lançamento de novas blockchains

Lançar uma nova blockchain pode ser difícil devido à necessidade de construir suas propriedades de segurança. Uma chain proof-of-stake pode precisar estabelecer uma ampla distribuição de tokens para evitar riscos de centralização, enquanto uma chain proof-of-work pode precisar atrair mineradores para evitar que poucas partes controlem o hash rate da rede.

Mas e se os desenvolvedores pudessem focar no mínimo, como execução, e conectar outro componente de blockchain modular para lidar com tarefas específicas, como segurança? Ao utilizar designs modulares, novas blockchains podem ser lançadas mais rapidamente sem se preocupar em acertar cada parte da arquitetura.

3. Flexibilidade

Modularidade oferece flexibilidade que chains monolíticas simplesmente não conseguem oferecer. O foco do Bitcoin em descentralização e segurança automaticamente exclui a escalabilidade, enquanto chains de alto throughput frequentemente sacrificam alguma medida de descentralização e segurança.

Chains modulares construídas para propósitos específicos oferecem maior flexibilidade em relação a trade-offs e implementações de design. Por exemplo, um sistema de blockchain modular pode incluir chains modulares que focam em segurança e disponibilidade de dados, enquanto outras focam em execução. Veja como ambas se beneficiam do design modular:

  1. Uma camada de segurança e disponibilidade de dados se beneficia de escalabilidade extra, já que as transações são processadas separadamente. Ela só precisa impor a validade da execução off-chain e garantir a disponibilidade dos dados off-chain. É assim que a escalabilidade do Ethereum se beneficia do uso de rollups.
  2. Uma camada de execução (que é otimizada para escalabilidade) se beneficia de segurança extra ao utilizar as propriedades da chain pai. É assim que as Layer 2s se beneficiam da descentralização do Ethereum.

Quais são as desvantagens de uma blockchain modular?

Designs de blockchain modulares têm as seguintes desvantagens: segurança, complexidade e valor do token.

1. Segurança

Diferente de chains monolíticas, uma chain modular não consegue garantir suas próprias qualidades de segurança. Se a camada de segurança (que geralmente lida com consenso e disponibilidade de dados) não for eficaz, a chain modular corre o risco de falhar.

2. Complexidade

Implementar designs de blockchain modulares introduz nova complexidade. Por exemplo, o plano de data sharding do Ethereum depende de data availability sampling para garantir que nodes em uma shard não retenham dados. Da mesma forma, camadas de execução precisam exigir certos mecanismos complexos, como fraud proofs e validity proofs, que permitem à camada de segurança impor a validade das transições de estado off-chain.

3. Valor do token

Algumas chains modulares podem não conseguir atrair valor para seus tokens nativos devido às suas aplicações limitadas. Por exemplo, uma camada focada puramente em consenso e disponibilidade de dados provavelmente verá menos uso para seu token de utilidade em comparação com uma camada de execução. Também pode ser mais difícil atrair participantes para essas redes.

Exemplos de plataformas de blockchain modular

Ethereum

Como explicado, a dependência do Ethereum em data sharding e computação centrada em rollup o torna uma espécie de chain modular. Ele separa consenso e disponibilidade de dados no primeiro caso e terceiriza execução no segundo.

Celestia e Polygon Avail

Celestia e Polygon Avail são duas novas blockchains modulares preocupadas principalmente com consenso e disponibilidade de dados. Os nodes do Celestia e do Polygon Avail são responsáveis apenas por armazenar e ordenar transações; eles não interpretam dados de transação para execução. Espera-se que essas chains sirvam como camadas de disponibilidade de dados para outras camadas de execução (por exemplo, rollups).

Celestia, uma blockchain modular focada em consenso e disponibilidade de dados

Validiums

Um validium é semelhante a uma zero-knowledge rollup: ele executa transações off-chain e as submete (em lotes) a uma chain pai junto com uma validity proof. A diferença é que uma validium chain armazena os dados off-chain em outro lugar, não na chain pai. Isso pode ser feito com um data availability committee ou uma rede de disponibilidade de dados composta por validadores proof-of-stake (Celestia é um exemplo de uma rede de disponibilidade de dados baseada em PoS)

O stack modular do validium é o seguinte:

  • Camada de execução (validium chain)
  • Camada de settlement e segurança (chain pai)
  • Camada de disponibilidade de dados e consenso (DAC ou rede de validadores PoS)

Rollups

Como descrito anteriormente, designs de rollup (optimistic rollups e projetos de zero-knowledge rollup) adotam uma abordagem modular. Uma optimistic rollup rodando a Optimistic Virtual Machine ou uma ZK-rollup rodando um zkEVM atua como uma camada de execução (executando smart contracts, processando transações). No entanto, elas dependem do Ethereum para outras funções:

  1. Disponibilidade de dados e consenso: Rollups publicam dados de transação na Ethereum Mainnet como CALLDATA. Isso permite que qualquer pessoa execute as transações da rollup e reconstrua seu estado se necessário.
  2. Settlement: Todas as transações da rollup são finalizadas no Ethereum. Para zero-knowledge rollups, isso acontece depois que a zero-knowledge proof é verificada. Usuários de optimistic rollup esperam até que o período de desafio expire ou até que a transação seja considerada válida após um cálculo de fraud proof.

O que é uma blockchain monolítica?

"Monolítico" significa "formado de uma única peça", o que explica seu uso para descrever blockchains que adotam um modelo de estrutura unificada. Uma chain monolítica é aquela na qual os nodes são responsáveis por consenso, disponibilidade de dados e execução. Como as transações são validadas on-chain, a chain monolítica também serve como camada de settlement.

Como funciona uma blockchain monolítica?

Em uma chain monolítica, todas as tarefas são tratadas em uma única camada ou em um grupo de chains fortemente acopladas operando na mesma camada. Essa última distinção é importante observar: uma rede de blockchains interconectadas que lidam com todas as funções, como as parachains da Polkadot ou as subnets da Avalanche, não se qualifica como arquitetura modular.

Para entender como uma chain monolítica funciona, vamos usar o protocolo Bitcoin como exemplo:

  1. Um node do Bitcoin recebe uma transação de outro peer, verifica a assinatura e garante que ela satisfaça as regras de consenso.
  2. Se a transação for válida, o node a adiciona ao mempool (caso contrário, descarta a transação).
  3. Um minerador pega a transação do mempool e a adiciona a um bloco candidato.
  4. Se o minerador conseguir encontrar o nonce para o bloco candidato (conforme ditado pelas regras de proof-of-work), ele pode transmitir o bloco para os peers. Outros nodes reexecutam as transações para garantir a validade e, se tudo for aprovado, adicionam o novo bloco à chain.
  5. Esse processo se repete com outros mineradores, eventualmente aumentando a chain ao construir novos blocos sobre o bloco adicionado anteriormente.
Um diagrama mostrando como as transações são executadas em uma chain monolítica. Fonte: Euromoney
Um diagrama mostrando como as transações são executadas em uma chain monolítica. Fonte: Euromoney

O que é uma arquitetura de blockchain monolítica?

A seção anterior descreve o fluxo de trabalho para uma transação em uma chain proof-of-work, mas como isso se traduz em uma arquitetura monolítica? Aqui está uma lista do que os nodes em uma chain monolítica fazem para cada transação:

1. Disponibilidade de dados

Cada node mantém uma cópia de toda a blockchain e armazena cada transação. Um peer pode sempre solicitar dados de transação de outros nodes.

2. Execução

Todos os nodes reexecutam transações para verificar a validade. Em uma blockchain baseada em contas (geralmente uma que suporta smart contracts), os nodes executam transações para calcular o novo estado da rede.

3. Consenso

Os nodes concordam sobre quais transações serão processadas para novos blocos e sobre a ordenação das transações que eles contêm

4. Settlement

Settlement exige registrar permanentemente uma transação no histórico da chain. Nodes que propõem transações precisam colocar uma aposta econômica sobre a integridade dos blocos. Para blockchains proof-of-work, essa "aposta" é a energia gasta na mineração de novos blocos, enquanto blockchains proof-of-stake exigem que os validadores façam stake de tokens sobre a validade dos blocos—esses tokens podem ser confiscados de agentes mal-intencionados que tentem escrever transações falsas ou imprecisas na chain

Uma arquitetura de blockchain monolítica exige que os nodes desempenhem todas essas funções. Isso é diferente de uma chain modular, que separa execução de settlement, consenso e disponibilidade de dados.

Architecture Type
Components

Monolithic

Execution, Settlement, Consensus, and Data Availability

Modular

Execution

Modular

Settlement

Modular

Consensus and Data Availability

Quais são os benefícios de um design de blockchain monolítica?

Designs de blockchain monolíticas oferecem os seguintes benefícios: segurança, utilidade e simplicidade.

1. Segurança

Blockchains monolíticas têm a vantagem de poder impor sua própria segurança. Os nodes podem ver as transações executadas on-chain e verificar sua validade antes de chegar a um consenso. Também é trivial resolver o problema de disponibilidade de dados, já que os dados da blockchain são armazenados de forma redundante em múltiplos nodes.

2. Utilidade

Uma blockchain monolítica que lida com execução além de outras funções tem uma proposta de valor melhor. Com os usuários comprando o token nativo para vários usos, ela pode acumular mais valor no longo prazo.

3. Simplicidade

Blockchains monolíticas são mais fáceis de projetar e implementar, já que os desenvolvedores têm anos de experimentos em tecnologia blockchain dos quais se basear. Projetar chains modulares seguras e eficientes exige um nível maior de habilidade e introduz mais considerações no processo de design.

Quais são as desvantagens de uma blockchain monolítica?

Designs de blockchain monolíticas têm as seguintes desvantagens: execução ineficiente, limites de recursos, flexibilidade, escalabilidade, segurança e descentralização.

  1. Execução ineficiente: Nodes em uma chain monolítica precisam reexecutar transações para verificar a validade.
  2. Limites de recursos: Limites nos recursos de um node, como armazenamento e largura de banda, afetam a eficiência da blockchain.
  3. Flexibilidade: Chains monolíticas são inflexíveis e não conseguem otimizar para qualidades desejadas sem sacrificar outra.
  4. Escalabilidade: Para atingir maior throughput, chains monolíticas implementam tempos de bloco mais rápidos e tamanhos de bloco maiores. Isso impõe requisitos de hardware mais altos aos nodes e reduz o número daqueles que podem validar a chain—levando à centralização e a maiores riscos de segurança.
  5. Segurança e descentralização: Para atingir alta descentralização, blockchains monolíticas limitam os tempos de bloco e o tamanho dos blocos. Isso aumenta o número de nodes validadores, mas ter cada node processando transações leva a um throughput menor.
  6. Inchaço de estado: Armazenar dados de transação on-chain leva a um crescimento exponencial do tamanho da blockchain ao longo do tempo. Isso pode impor requisitos de hardware mais altos aos nodes e prejudicar a descentralização.

Exemplos de plataformas de blockchain monolítica

Bitcoin

O Bitcoin é a chain monolítica original, exigindo que os nodes executem cada bloco em relação à sua cópia da blockchain. Embora isso aumente a descentralização e a segurança, limita a capacidade do Bitcoin de suportar alto throughput ou escalar para aceitar mais usuários (a blockchain do Bitcoin processa de 5 a 7 transações por segundo).

Ethereum 1.0

O Ethereum, sem sharding e rollups, existe como uma chain monolítica. Isso explica suas velocidades de transação lentas (15-20 transações por segundo) e maior ênfase em descentralização e segurança.

Solana

Solana é outra chain monolítica que lida com execução, disponibilidade de dados e consenso em um único lugar. Diferente do Ethereum, Solana otimiza para escalabilidade e afirma atingir velocidades de até 65.000 transações por segundo. Esses benefícios de escalabilidade, sem surpresa, vêm ao custo de descentralização e segurança—especialmente porque o requisito de hardware para rodar um node validador é alto, com muitos validadores rodando ambientes bare-metal em vez de infraestrutura em nuvem.

Como escolher: blockchains modulares vs. monolíticas

Chains monolíticas e chains modulares têm seus benefícios e desvantagens. Escolher qualquer uma das opções exige entender as necessidades do seu projeto e os trade-offs aceitáveis. Uma aplicação DeFi de alto valor pode optar pelas garantias de segurança de uma chain monolítica, enquanto projetos que exigem operações mais baratas e rápidas (por exemplo, negociação de alta frequência) podem se adequar melhor a uma chain modular otimizada para execução.

A Alchemy oferece suporte para construir em blockchains monolíticas, incluindo Ethereum, Solana e Crypto.org. Você também pode aproveitar o poder das blockchains modulares, como optimistic rollups (por exemplo, Optimism, Arbitrum) e ZK-rollups/Validium (StarkNet).

Perguntas frequentes

Qual é a principal diferença entre blockchains modulares e monolíticas?

Blockchains monolíticas lidam com todas as funções centrais—execução, consenso, disponibilidade de dados e settlement—em uma única camada, enquanto blockchains modulares dividem essas funções entre camadas ou chains especializadas.

Por que blockchains modulares são mais escaláveis do que as monolíticas?

Designs modulares terceirizam tarefas como execução para camadas separadas, permitindo que cada componente seja otimizado de forma independente e possibilitando maior throughput sem sacrificar a descentralização ou a segurança na camada base.

Quais são os principais benefícios de usar uma arquitetura de blockchain modular?

Blockchains modulares oferecem escalabilidade melhorada, maior flexibilidade em trade-offs de design e permitem lançamentos de blockchain mais rápidos, ao permitir que os desenvolvedores foquem em funções específicas enquanto utilizam infraestrutura existente para outras.

Quais são as desvantagens dos designs de blockchain modular?

Blockchains modulares introduzem complexidade na coordenação entre camadas, não conseguem garantir suas próprias propriedades de segurança e podem ter utilidade de token limitada em comparação com chains monolíticas.

Como o Ethereum funciona como uma blockchain modular?

O Ethereum está transicionando para a modularidade por meio de sharding (dividindo dados entre múltiplas chains) e uma abordagem centrada em rollup, na qual ele lida com settlement, consenso e disponibilidade de dados enquanto terceiriza a execução para rollups na Layer 2.

Quais são alguns exemplos de plataformas de blockchain modular?

Exemplos incluem Celestia e Polygon Avail (camadas de disponibilidade de dados), rollups como Optimism e Arbitrum (camadas de execução) e validiums que separam execução, settlement e disponibilidade de dados entre diferentes camadas.

Quais são as vantagens dos designs de blockchain monolítica?

Blockchains monolíticas oferecem simplicidade de design e implementação, conseguem impor suas próprias propriedades de segurança e geralmente têm melhor utilidade de token, já que os usuários precisam do token nativo para múltiplas funções.

Solana é uma blockchain monolítica ou modular?

Solana é uma blockchain monolítica que lida com execução, disponibilidade de dados e consenso em um único lugar, otimizando para escalabilidade com velocidades afirmadas de até 65.000 transações por segundo.

Background gradient

Construa magia blockchain

A Alchemy combina os produtos e ferramentas de desenvolvimento Web3 mais poderosos com recursos, comunidade e suporte lendário.