Todos os artigos

Entendendo a infraestrutura de blockchain modular

·
30 de out. de 2022
·
9 min de leitura
·
••• visualizações
·
••• curtidas

Traduzido do artigo original em inglês. Ler em inglês

Diagrama conceitual relacionado à arquitetura de blockchain

Blockchains de primeira geração como Bitcoin, Ethereum e Solana carregam as tarefas de executar consenso, liquidação, execução e disponibilidade de dados na mesma camada, por isso foram chamadas de blockchains monolíticas. Por design, blockchains monolíticas não conseguem executar todas essas tarefas de forma eficiente, e isso leva ao surgimento do trilema da blockchain. As características de uma blockchain incluem descentralização, escalabilidade e segurança. No caso das blockchains monolíticas, elas precisam abrir mão de alguma coisa, porque no máximo conseguem entregar duas, e não as três. Por exemplo, o Bitcoin abre mão da escalabilidade em favor da descentralização e da segurança, e o Ethereum faz o mesmo. Com o surgimento das blockchains modulares, o trilema da blockchain pode ser resolvido. Uma blockchain modular é uma blockchain que terceiriza uma ou mais das principais tarefas de uma blockchain. A ideia é que, ao dividir as tarefas centrais de uma blockchain entre várias camadas, a gente consegue fazer melhorias notáveis em cada camada individualmente, deixando a blockchain mais escalável e eficiente. Dá para pensar nisso como uma divisão de trabalho.

O trilema da blockchain

O trilema da blockchain é o conceito de que uma blockchain não consegue ser segura, escalável e descentralizada ao mesmo tempo. Desenvolvedores construindo as suas próprias blockchains sempre se deparam com a necessidade incômoda de escolher duas das três qualidades possíveis.

Ilustração do trilema da blockchain

Descentralização

A descentralização da blockchain é a sua principal atração. É o motivo pelo qual as pessoas escolhem criptomoedas em vez de moeda fiduciária. Para uma blockchain ser descentralizada, os requisitos de hardware não podem ser uma barreira para a participação, e os recursos necessários para verificar a rede devem ser baixos.

Escalabilidade

É a capacidade de uma blockchain de lidar com um aumento na quantidade de transações processadas sem aumentar os recursos necessários para a verificação. O problema da escalabilidade é um dos que têm impedido a adoção em massa de blockchain e cripto. Para competir, as blockchains precisam evoluir até um estágio em que consigam lidar com centenas de transações rapidamente. As blockchains podem escalar aumentando o tamanho do bloco, mas isso vai levar a um aumento nos requisitos de hardware. Isso vai afetar a descentralização.

Segurança

É a capacidade de resistir a uma tomada hostil. Uma boa blockchain teria uma segurança robusta, para que terceiros mal-intencionados não consigam se aproveitar das vulnerabilidades da rede. Manter a segurança exige muito poder de processamento, o que pode afetar a descentralização e a escalabilidade. Embora soluções como sidechains, rollups e state channels tenham sido construídas para resolver esse problema, neste artigo vamos olhar para a abordagem adotada pelas blockchains modulares

Funcionalidades centrais da blockchain

Consenso - Consenso é o procedimento que os nós de uma determinada rede blockchain usam para determinar quais transações são válidas e quais não são. Mecanismos de consenso são as formas que os participantes usam para chegar a um consenso, e exemplos populares são Proof-of-Work, Proof-of-Stake etc. O consenso também fornece a ordenação e a finalidade das transações.

Execução - Execução se refere à forma como os nós processam as transações enviadas para a rede, o que leva a uma mudança no estado da blockchain.

Disponibilidade de dados - A blockchain é usada para armazenar os dados usados para verificar a validade de uma mudança no estado da blockchain. Os produtores de blocos precisam publicar os dados de cada bloco para que os peers da rede baixem e armazenem, e os dados precisam estar disponíveis quando solicitados. Blockchains monolíticas lidam com todas essas funcionalidades em uma camada, enquanto blockchains modulares se especializam em só uma ou duas e terceirizam o resto.

O que são blockchains modulares

Como mencionado antes, uma blockchain que tenta executar sozinha as 3 funcionalidades centrais limita a sua capacidade e o seu throughput, mas uma chain modular separa o sistema em várias partes possíveis e trabalha nelas de forma independente. Na arquitetura de blockchain modular, a camada de execução pode ser independente das camadas de consenso e de disponibilidade de dados, permitindo que os nós se concentrem só em processar transações separadamente, em vez de executar todas as transações para garantir a validade.

Arquitetura de blockchain modular

No design arquitetural de blockchain modular, três camadas trabalham de forma independente umas das outras e se combinam para formar a stack modular.

Arquitetura de blockchain modular

Uma blockchain modular pode ser projetada para se especializar em uma ou duas das seguintes camadas:

Camada de consenso - Uma blockchain modular pode ser configurada para se especializar só em consenso, fornecendo um conjunto de regras e diretrizes que vão ser usadas para validar e verificar blocos de transações. Isso garante que os nós/participantes da rede cheguem a um acordo, estabelecendo segurança e descentralização na stack.

Camada de execução - Um exemplo típico de blockchain modular que só cuida de processar transações são os rollups. Na camada de execução, a blockchain foca só em processar transações, e depende de outra chain para liquidação e finalidade.

Camada de disponibilidade de dados - A camada de disponibilidade de dados foca em armazenar os dados das transações e fornecê-los quando solicitados, de forma pública para todo mundo ver. Um exemplo é o Polygon Avail.

Princípio da modularidade

O princípio da modularidade, ou design modular, subdivide um sistema em partes menores chamadas módulos, que podem ser criados, modificados, substituídos ou até trocados com outros módulos ou entre sistemas diferentes de forma independente. A modularidade depende da especialização, o que significa que cada módulo só consegue executar algumas tarefas específicas, mas precisa executá-las bem. Esse é o princípio sobre o qual as blockchains modulares se apoiam.

Blockchains modulares vs blockchains monolíticas

Blockchains monolíticas vs blockchains modulares

Vantagens das blockchains modulares

Escalabilidade - Problemas de escalabilidade surgem quando uma blockchain tenta executar todas as atividades em uma camada. O trilema da blockchain diz que uma blockchain só pode ter duas das três qualidades disponíveis que ela pode ter, mas quando as tarefas são separadas entre várias blockchains modulares, passa a ser possível melhorar a escalabilidade.

Criando novas - Blockchains: Quando os desenvolvedores estão totalmente focados em fazer uma blockchain executar só uma tarefa específica, fica relativamente mais rápido lançar essa blockchain em comparação com blockchains monolíticas projetadas para fazer tudo. Como os desenvolvedores podem focar em uma função específica, como execução, outras blockchains modulares que cuidam de segurança e disponibilidade de dados podem ser plugadas facilmente.

Flexibilidade - Uma blockchain modular é mais flexível do que uma blockchain monolítica porque a blockchain modular pode aproveitar a força de outra chain. Por exemplo, uma camada de execução pode se beneficiar da segurança da chain principal, e a chain principal aproveita a escalabilidade da camada de execução. Essa é a relação entre os rollups e o Ethereum.

Vantagens das blockchains monolíticas

Segurança - Blockchains monolíticas conseguem garantir a sua própria segurança porque os nós registram as transações e precisam chegar a um consenso entre si para validar as transações.

Utilidade - Como uma blockchain monolítica cuida da execução, entre outras funções, a sua moeda ou token nativo pode ter uma valorização no longo prazo.

Desvantagens das blockchains modulares

** Segurança** - Diferente das blockchains monolíticas, as blockchains modulares dependem de outras camadas para a segurança, o que as torna dependentes da eficiência dessas chains. Se a camada de segurança, ou seja, a chain responsável pelo consenso e pela disponibilidade de dados, for comprometida, a stack modular inteira corre risco de falhar.

** Utilidade do token** - Por causa dos casos de uso limitados, algumas blockchains modulares podem não conseguir valorizar o seu token nativo, e um exemplo seria a camada responsável pela disponibilidade de dados.

** Complexidade** - Blockchains modulares têm um design bem complexo, que exige o envolvimento de desenvolvedores com conhecimento especializado.

Desvantagens das blockchains monolíticas

Rígidas - Comparadas às blockchains modulares, as blockchains monolíticas não são tão flexíveis, porque não conseguem terceirizar funções nem quando a rede está passando por um downtime.

Escalabilidade - Blockchains monolíticas que não são escaláveis podem tentar aumentar o tamanho dos blocos e os tempos de bloco, mas isso aumenta os requisitos de hardware necessários para os nós da rede, levando à centralização.

Execução ineficiente - Para garantir a validade das transações, os nós executam as transações de novo, e isso gera atrasos.

Exemplos de plataformas de blockchain modular

Rollups - Os rollups são projetados para agir como blockchains modulares focadas em execução. Os rollups, que podem ser optimistic rollups ou zero-knowledge rollups, agora agem como a camada de execução, executando smart contracts e transações. O Ethereum age como a camada de liquidação, e os dados das transações são publicados e armazenados nele.

Validiums - Os validiums também agem como zero-knowledge rollups, executando as transações por conta própria e depois enviando para a chain principal junto com a prova de validade, mas eles não armazenam dados na chain principal, e em vez disso usam comitês de disponibilidade de dados ou redes de disponibilidade de dados como o Polygon Avail.

Polygon Avail - Enquanto os Rollups e os Validiums agem como camadas de execução, o Polygon Avail é uma blockchain modular que age como camada de disponibilidade de dados e de consenso. Os nós aqui ficam encarregados de ordenar, armazenar e publicar os dados das transações quando solicitados.

Plataformas de blockchain modular

O Ethereum é uma blockchain modular ou monolítica?

No começo, o Ethereum funcionava como uma blockchain monolítica, cuidando sozinho da execução, do consenso e da disponibilidade de dados. Mais tarde, os rollups foram introduzidos, e agora o Ethereum pode terceirizar algumas tarefas de execução para as soluções L2 enquanto cuida do consenso e da disponibilidade de dados. Embora o Ethereum ainda execute transações, ele está a caminho de virar uma chain modular com a implementação de sharding. Sharding é um processo em que um sistema se divide para trabalhar em partes. Ao dividir a carga de trabalho entre os seus componentes, ele consegue aumentar a eficiência e a produção. No contexto do Ethereum, ele vai se dividir em 64 shard chains (sub chains) que vão trabalhar em paralelo, cada chain cuidando de uma parte diferente da atividade da rede.


Conclusão

Alguém pode se perguntar quando escolher entre uma blockchain monolítica ou modular, já que as duas têm vantagens e desvantagens. Escolher entre as duas opções exige entender bem as necessidades do projeto. Se a segurança é o mais importante no esquema das coisas, uma blockchain monolítica parece ser a opção certa, mas se a velocidade é o mais importante, a blockchain modular seria uma opção melhor.

•••
Compartilhe este artigo:

Fique por dentro

Receba os artigos mais recentes no seu e-mail.