EVM Paralelo: Superando os gargalos de desempenho do Blockchain

intermediário4/15/2024, 3:33:01 PM
Este artigo explora os detalhes técnicos e as perspectivas de mercado de EVMs paralelos, analisando os mecanismos de execução paralela de grandes projetos de blockchain como Sei, Monad e Canto, e avaliando seu impacto potencial e posição de mercado na indústria. Através da otimização da execução paralela, as redes blockchain podem aumentar significativamente a velocidade e eficiência de processamento, apoiando o amplo desenvolvimento do domínio Web3.

TL;DR

  1. As EVMs paralelos representam uma nova narrativa que surge à medida que os volumes de transações on-chain atingem um certo nível. Eles são principalmente divididos em blockchains monolíticos e blockchains modulares, com os monolíticos ainda categorizados em L1 e L2. As cadeias públicas paralelas L1 são divididas em dois campos: EVM e não-EVM. Atualmente, a narrativa paralela do EVM está em seus estágios iniciais de desenvolvimento.
  2. O caminho de implementação técnica dos EVMs paralelos inclui máquinas virtuais e mecanismos de execução paralela. No contexto das blockchains, uma máquina virtual é uma máquina virtual de processo que virtualiza a máquina de estado distribuída para executar contratos.
  3. A execução paralela refere-se a aproveitar processadores de vários núcleos para executar múltiplas transações simultaneamente, tanto quanto possível, garantindo que o estado final seja consistente com o que seria alcançado através da execução serial.
  4. Os mecanismos de execução paralela são divididos em três categorias: passagem de mensagens, memória compartilhada e listas de acesso a estados rígidos. A memória compartilhada é ainda dividida em modelo de bloqueio de memória e paralelização otimista. Independentemente do mecanismo, cada um aumenta a complexidade técnica.
  5. A narrativa de EVMs paralelos não apenas tem impulsionadores intrínsecos do crescimento da indústria, mas também exige que os praticantes prestem muita atenção às possíveis questões de segurança.
  6. Cada projeto EVM paralelo fornece sua abordagem única para execução paralela, mostrando tanto similaridades técnicas quanto inovações distintas.

1.Visão geral da indústria

1.1 Evolução histórica

O desempenho tornou-se um gargalo para o desenvolvimento futuro na indústria. As redes blockchain criam uma nova base descentralizada de confiança para transações entre indivíduos e empresas.

As redes de blockchain de primeira geração, representadas pelo Bitcoin, pioneirizaram um novo modo de transações de moeda eletrônica descentralizada com tecnologia de registro distribuído, revolucionando uma nova era. A segunda geração, exemplificada pelo Ethereum, utilizou plenamente a imaginação para propor aplicativos descentralizados (dApps) por meio de uma abordagem de máquina de estado distribuída.

Desde então, as redes blockchain embarcaram em seu próprio desenvolvimento rápido ao longo de mais de uma década, desde a infraestrutura Web3 até várias vertentes, como DeFi, NFTs, redes sociais e GameFi, dando origem a inúmeras inovações em tecnologia e modelos de negócios. A indústria próspera precisa continuar a atrair novos usuários para participar do ecossistema de aplicativos descentralizados, o que, por sua vez, eleva as exigências para a experiência do produto.

Web3, como uma forma de produto inovadora 'sem precedentes na história', deve inovar no atendimento às necessidades do usuário (requisitos funcionais) ao mesmo tempo em que equilibra entre segurança e desempenho (requisitos não funcionais). Desde sua criação, diversas soluções foram propostas para lidar com problemas de desempenho.

Essas soluções podem geralmente ser categorizadas em dois tipos: soluções de escalonamento on-chain, como shardings e Gráficos Acíclicos Direcionados (DAGs), e soluções de escalonamento off-chain, como Plasma, Lightning Networks, sidechains e Rollups. No entanto, ainda estão longe de acompanhar o rápido crescimento das transações on-chain.

Especialmente após o DeFi Summer de 2020 e o crescimento explosivo das inscrições no ecossistema Bitcoin no final de 2023, a indústria precisa urgentemente de novas soluções de melhoria de desempenho para atender às demandas por 'alto desempenho e baixas taxas'. As blockchains paralelas nasceram nesse cenário.

1.2 Tamanho do mercado

A narrativa da EVM paralela significa um cenário competitivo onde dois grandes players dominam no campo das blockchains paralelas. O Ethereum processa transações de forma serial, executando-as uma após a outra, o que resulta em baixa utilização de recursos. A mudança de processamento serial para paralelo poderia melhorar significativamente o desempenho.

Os rivais do Ethereum, como Solana, Aptos e Sui, todos apresentam capacidades de processamento paralelo integradas e desenvolveram ecossistemas robustos. Suas respectivas capitalizações de mercado de tokens atingiram $45 bilhões, $3,3 bilhões e $1,9 bilhões, formando um campo paralelo não-EVM. Em resposta a esses desafios, o ecossistema do Ethereum não fica para trás, com vários projetos avançando para capacitar a EVM, criando assim um campo EVM paralelo.

Sei, em sua proposta de atualização da versão 2, declarou em alto e bom som que se tornará a “primeira blockchain EVM paralela”, com uma capitalização de mercado atual de $2.1 bilhões e potencial para um crescimento ainda maior. A nova blockchain EVM paralela Monad, atualmente a mais quente em fervor de marketing, é altamente favorecida pelos investidores e tem um potencial significativo. Enquanto isso, a blockchain L1 Canto, com uma capitalização de mercado de $170 milhões e sua própria infraestrutura pública gratuita, também anunciou sua proposta de atualização paralela da EVM.

Além disso, vários projetos L2 em estágio inicial estão aprimorando o desempenho inter-ecossistema integrando as capacidades de várias cadeias L1. Além do Neon, que alcançou um valor de mercado circulante de $69 milhões, outros projetos ainda carecem de dados relevantes. Espera-se que mais projetos L1 e L2 se juntem ao campo de batalha blockchain paralelo no futuro.

Não só existe um potencial significativo de crescimento de mercado para a narrativa paralela do EVM, mas o setor mais amplo de blockchains paralelas ao qual o EVM paralelo pertence também possui um potencial significativo de crescimento de mercado, prometendo uma perspectiva de mercado abrangente.

Atualmente, a capitalização de mercado total para Camada 1 e Camada 2 é de $752.123 bilhões, com blockchains paralelos tendo uma capitalização de mercado de $52.539 bilhões, representando aproximadamente 7%. Dentro disso, os projetos relacionados à narrativa paralela da EVM têm uma capitalização de mercado de $2.339 bilhões, representando apenas 4% da capitalização de mercado de blockchains paralelos.

1.3 Mapa da Indústria

A indústria geralmente divide as redes de Blockchain em uma estrutura de quatro camadas:

Camada 0 (Rede): Esta é a camada de rede blockchain subjacente que lida com os protocolos básicos de comunicação de rede.

Camada 1 (Infraestrutura): Esta camada depende de vários mecanismos de consenso para validar transações dentro de uma rede descentralizada.

Camada 2 (Expansão): Dependente da Camada 1, isso envolve vários protocolos de segunda camada destinados a abordar as limitações da Camada 1, especialmente em termos de escalabilidade.

Camada 3 (Aplicação): Dependente da Camada 2 ou Camada 1, esta camada é usada para construir várias aplicações descentralizadas (dApps).

Projetos narrativos paralelos da EVM (Máquina Virtual Ethereum) estão principalmente divididos em blockchains monolíticos e blockchains modulares, sendo que os blockchains monolíticos são ainda mais divididos em L1 e L2. A partir do número total de projetos e do desenvolvimento de várias trilhas principais, pode-se ver que os ecossistemas de cadeias públicas paralelas da EVM L1 ainda têm um espaço significativo para crescimento em comparação com o ecossistema Ethereum.

Na faixa DeFi, há uma demanda por 'alta velocidade e baixas taxas', enquanto a faixa de jogos exige 'forte interação em tempo real'; ambos exigem uma certa velocidade de execução. As EVMs paralelas inevitavelmente trarão melhores experiências de usuário para esses projetos, impulsionando o desenvolvimento da indústria para uma nova fase.

L1 representa novas cadeias públicas com capacidades inerentes de execução paralela e serve como infraestrutura de alto desempenho. Nesta facção, projetos como Sei v2, Monad e Canto projetaram independentemente EVMs paralelas, compatíveis com o ecossistema Ethereum e com alta capacidade de throughput de transações.

L2, ao integrar as capacidades de outras cadeias L1, oferece capacidade expandida para cooperação entre ecossistemas e é um exemplo proeminente da tecnologia de rollup. Nesta facção, Neon atua como um emulador EVM na rede Solana, enquanto Eclipse executa transações na Solana, mas liquida no EVM. Lumio é semelhante ao Eclipse, exceto que a camada de execução foi alterada para Aptos.

Além das soluções de blockchain autônomas mencionadas anteriormente, Fuel introduziu seu próprio conceito de blockchain modular. Em sua segunda versão, visa se posicionar como um sistema operacional de rollup do Ethereum, oferecendo capacidades de execução modular mais flexíveis e abrangentes.

Fuel foca na execução de transações, enquanto terceiriza outros componentes para uma ou mais camadas independentes de blockchain, permitindo assim combinações mais flexíveis: pode funcionar como uma Camada 2, uma Camada 1, ou até mesmo como uma sidechain ou um canal de estado. Atualmente, existem 17 projetos dentro do ecossistema Fuel, com foco principalmente em DeFi, NFTs e infraestrutura.

No entanto, apenas o oráculo Orally cross-chain foi colocado em uso prático. A plataforma de empréstimo descentralizada Swaylend e a plataforma de negociação de contratos perpétuos SPARK foram lançadas em testnets, enquanto outros projetos ainda estão em desenvolvimento.

2. Caminhos de Implementação Técnica

Para alcançar a execução de transações descentralizadas, as redes Blockchain devem cumprir quatro responsabilidades:

  • Execução: Executando e validando transações.
  • Disponibilidade de Dados: Distribuindo novos blocos para todos os nós na rede blockchain.
  • Mecanismo de Consenso: Verificando blocos e alcançando consenso.
  • Acordo: Finalizando e registrando o estado final das transações.

O EVM paralelo tem como foco principal a otimização de desempenho da camada de execução. Isso é dividido em soluções de Camada 1 (L1) e soluções de Camada 2 (L2). As soluções de L1 introduzem um mecanismo para a execução paralela de transações, permitindo que as transações sejam executadas em paralelo dentro da máquina virtual o máximo possível. As soluções de L2 alavancam fundamentalmente a máquina virtual L1 já paralelizada para alcançar algum nível de “execução off-chain + liquidação on-chain.”

Portanto, para entender os princípios técnicos do EVM paralelo, é necessário decompor: primeiro, entender o que é uma máquina virtual (VM), e depois entender o que envolve a execução paralela.

2.1 Máquina virtual

Em ciência da computação, uma máquina virtual refere-se à virtualização ou emulação de um sistema de computador.

Existem dois tipos de máquinas virtuais: máquinas virtuais de sistema, que podem virtualizar uma única máquina física em várias máquinas executando sistemas operacionais diferentes, melhorando assim a utilização de recursos; e máquinas virtuais de processo, que fornecem uma abstração para certas linguagens de programação de alto nível, permitindo que programas de computador escritos nessas linguagens sejam executados de maneira independente da plataforma em diferentes plataformas.

A JVM é uma máquina virtual de processo projetada para a linguagem de programação Java. Programas escritos em Java são primeiro compilados em bytecode Java (um estado intermediário de código binário), que é então interpretado pela JVM: a JVM envia o bytecode para um interpretador, que o traduz em código de máquina para diferentes máquinas e, em seguida, o executa na máquina.

As máquinas virtuais blockchain são um tipo de máquina virtual de processo. No contexto da blockchain, uma máquina virtual refere-se à virtualização de uma máquina de estado distribuída usada para a execução distribuída de contratos, executando dApps. Analogamente ao JVM, o EVM é uma máquina virtual de processo projetada para a linguagem Solidity, onde os contratos inteligentes são compilados pela primeira vez em bytecode de opcode, e depois interpretados pelo EVM.

As cadeias públicas emergentes além do Ethereum frequentemente adotam máquinas virtuais baseadas em bytecode WASM ou eBPF. WASM é um formato de bytecode compacto, de carregamento rápido e portátil baseado em mecanismos de segurança de sandbox. Os desenvolvedores podem escrever contratos inteligentes em várias linguagens de programação (C, C++, Rust, Go, Python, Java ou até TypeScript), compilá-los em bytecode WASM e executá-los. Os contratos inteligentes executados na blockchain Sei usam este formato de bytecode.

eBPF originou-se do BPF (Berkeley Packet Filter), inicialmente usado para filtragem eficiente de pacotes de rede, e evoluiu para eBPF, oferecendo um conjunto de instruções mais rico.

É uma tecnologia revolucionária que permite a intervenção dinâmica e modificação do comportamento do kernel do sistema operacional sem alterar o código-fonte. Mais tarde, essa tecnologia avançou além do kernel, levando ao desenvolvimento do tempo de execução eBPF no espaço do usuário, que é altamente performático, seguro e portátil. Os contratos inteligentes executados na Solana são compilados em bytecode eBPF e executados em sua rede blockchain.

Outras cadeias públicas L1 como Aptos e Sui usam a linguagem de programação de contrato inteligente Move, compilando em bytecode proprietário executado na máquina virtual Move. Monad projetou sua própria máquina virtual compatível com bytecode de opcode EVM (fork de Shanghai).

2.2 Execução paralela

A execução paralela é uma técnica que aproveita as vantagens dos processadores multi-core para lidar com várias tarefas simultaneamente, aumentando assim o throughput do sistema. Garante que os resultados das transações sejam idênticos aos obtidos quando as transações são executadas em série.

Nas redes blockchain, TPS (Transações Por Segundo) é comumente usado como um indicador técnico para medir a velocidade de processamento. O mecanismo de execução paralela é complexo e representa um desafio para as habilidades técnicas dos desenvolvedores, tornando difícil a explicação. Aqui, usaremos o exemplo de um "banco" para explicar o que é a execução paralela.

(1) Primeiro, o que é execução em série?

Cenário 1: Se encararmos o sistema como um banco e a CPU de processamento de tarefas como um balcão, então a execução de tarefas em série é semelhante a este banco tendo apenas um balcão disponível para serviço. Neste caso, os clientes (tarefas) que vêm ao banco devem formar uma longa fila e resolver seus negócios um por um. Para cada cliente, a equipe do balcão deve repetir as mesmas ações (executar instruções) para atender o cliente. Os clientes devem aguardar sua vez, o que resulta em tempos de transação prolongados.

(2) Então, o que é execução paralela?

Cenário 2: Se o banco perceber que está lotado, pode abrir vários balcões para lidar com os negócios, com quatro atendentes trabalhando nos balcões simultaneamente. Isso aumenta a velocidade aproximadamente quatro vezes em comparação com a original, e o tempo que os clientes passam na fila também é reduzido para cerca de um quarto do original. Assim, a velocidade de atendimento de negócios no banco é aumentada.

(3) Qual erro ocorre se nenhuma proteção estiver em vigor e duas pessoas transferirem dinheiro simultaneamente para outra pessoa?

Cenário 3: Vamos considerar A, B e C, que têm 2 ETH, 1 ETH e 0 ETH em suas contas, respectivamente. Agora, A e B querem transferir 0,5 ETH para C. Em um sistema que executa transações de forma serial, não ocorreriam problemas (a seta para a esquerda "<=" indica leitura do livro-razão, e a seta para a direita "=>" indica escrita no livro-razão, o mesmo abaixo):

No entanto, a execução em paralelo não é tão simples quanto parece. Existem muitos detalhes sutis que podem levar a erros graves se não forem tratados com cuidado. Se as transações de A e B transferindo para C forem executadas em paralelo, a sequência de etapas pode resultar em resultados inconsistentes:

A Tarefa Paralela 1 executa a transferência de A para C, e a Tarefa Paralela 2 executa a transferência de B para C. As etapas marcadas com um asterisco são problemáticas: porque as tarefas são executadas em paralelo, no Passo 2, o cálculo de saldo feito pela Tarefa Paralela 1 ainda não foi escrito no livro-razão. No Passo 3, a Tarefa Paralela 2 lê o saldo da conta de C (que ainda é 0) e realiza um cálculo de saldo errôneo com base nisso no Passo 5. Em seguida, na operação de atualização do livro-razão no Passo 6, ela atualiza incorretamente o saldo da conta, que já foi atualizado para 0,5 no Passo 4, de volta para 0,5 novamente. Isso resulta no saldo da conta de C sendo apenas 0,5 ETH, apesar de A e B terem transferido 0,5 ETH cada, fazendo com que os outros 0,5 ETH desapareçam efetivamente.

(4) Se não houver proteções em vigor, duas tarefas que não dependem uma da outra podem ser executadas em paralelo sem erros

Cenário 4: A Tarefa Paralela 1 executa uma transferência de 0,5 ETH de A (saldo 2 ETH) para C (saldo 0 ETH), e a Tarefa Paralela 2 executa uma transferência de 0,5 ETH de B (saldo 1 ETH) para D (saldo 0 ETH). É evidente que não há dependência entre essas duas tarefas de transferência. Independentemente de como os passos das duas tarefas são entrelaçados, elas não encontrarão os problemas descritos acima:

Da comparação desses cenários, pode-se analisar que, desde que haja uma dependência entre as tarefas, erros nas atualizações de estado podem ocorrer durante a execução paralela; caso contrário, nenhum erro ocorrerá. Uma tarefa (transação) é considerada ter uma relação de dependência se atender a uma das duas condições a seguir:

  1. Uma tarefa escreve para um endereço de saída do qual outra tarefa lê como um endereço de entrada;
  2. Duas tarefas de saída para o mesmo endereço.

Este problema não é exclusivo de sistemas descentralizados. Qualquer cenário envolvendo execução paralela pode sofrer de inconsistências de dados devido ao acesso desprotegido a recursos compartilhados (como o “livro-razão” no exemplo do banco ou memória compartilhada em sistemas de computador) entre múltiplas tarefas dependentes, conhecido como corridas de dados.

A indústria propõe três mecanismos para resolver os problemas de corrida de dados na execução paralela: mecanismos de passagem de mensagens, mecanismos de memória compartilhada e mecanismos de lista de acesso a estado estrito.

2.3 Mecanismo de Passagem de Mensagens

Cenário 5: Considere um banco com quatro balcões de atendimento operando simultaneamente para os clientes. Cada atendente desses balcões recebe um livro-razão exclusivo, que apenas eles podem modificar. Este livro-razão registra os saldos das contas dos clientes que eles atendem.

Sempre que um caixa manipula uma transação, se as informações do cliente estiverem disponíveis em seu livro-razão, eles prosseguem diretamente. Caso contrário, eles chamam outros caixas para informá-los sobre as necessidades da transação do cliente, e o caixa que ouve assume a tarefa.

Isso exemplifica o princípio do modelo de passagem de mensagens. O modelo de Ator é um tipo de modelo de passagem de mensagens, onde cada entidade que manipula transações é um ator (atendente), cada um com acesso aos seus dados privados (o livro-razão exclusivo). Acesso aos dados privados de outra pessoa só pode ser alcançado através do envio de mensagens.

Vantagens do Modelo de Ator:

Cada ator tem acesso apenas aos seus dados privados, evitando assim problemas de condição de corrida.

Desvantagens do Modelo de Ator:

Cada ator só pode executar tarefas sequencialmente. Em certos cenários, isso não aproveita as vantagens do paralelismo. Por exemplo, se os atendentes nº 2, 3 e 4 enviarem mensagens simultaneamente para perguntar ao atendente nº 1 sobre o saldo da conta do cliente A, o atendente nº 1 só pode processar essas solicitações uma de cada vez, mesmo que elas pudessem ser tratadas em paralelo.

Não há uma visão global do status atual do sistema. Se as operações do sistema forem complexas, torna-se desafiador entender a situação geral, localizar e corrigir bugs.

2.4 Mecanismo de Memória Compartilhada

2.4.1 Modelo de Bloqueio de Memória

Cenário 6: Imagine um banco com apenas um grande livro-razão que registra os saldos das contas de todos os seus clientes. Ao lado do livro-razão, há apenas uma caneta disponível para fazer modificações nele.

Neste cenário, a competição entre quatro caixas de banco se torna uma corrida de velocidade: um caixa pega a caneta primeiro (trava ela) e começa a modificar o livro-razão, enquanto os outros três devem esperar. Uma vez que o caixa termina e coloca a caneta no balcão (destrava ela), os próximos três caixas se apressam para pegar a caneta. Este ciclo se repete, exemplificando o modelo de bloqueio de memória.

Um bloqueio de memória permite que tarefas em execução paralela bloqueiem um recurso compartilhado antes de acessá-lo. Após o recurso ser bloqueado, outras tarefas devem esperar até que tenha sido modificado e desbloqueado antes de poderem bloqueá-lo e acessá-lo novamente.

O modelo de trava de leitura e escrita oferece uma abordagem mais refinada, permitindo que várias tarefas paralelas adicionem travas de leitura a um recurso compartilhado e acessem seus dados várias vezes. Durante isso, modificações não são permitidas; no entanto, uma trava de escrita pode ser aplicada apenas por um de cada vez e, uma vez aplicada, concede acesso exclusivo ao detentor do recurso.

Plataformas de Blockchain como Solana, Sui e Sei v1 utilizam um modelo de memória compartilhada baseado em bloqueios de memória. Esse mecanismo pode parecer simples, mas é complexo de implementar e requer que os desenvolvedores tenham habilidades sofisticadas em programação multithreading. A negligência pode levar a vários bugs:

Cenário 1: Uma tarefa trava um recurso compartilhado, mas falha durante a execução, deixando o recurso inacessível.

Cenário 2: Uma tarefa trava um recurso, mas acaba travando-o novamente devido à lógica de negócios aninhada, resultando em um impasse onde espera por si mesma.

O modelo de bloqueio de memória é propenso a problemas como deadlocks, livelocks e starvation:

  1. O impasse ocorre quando várias tarefas paralelas competem por vários recursos compartilhados, com cada tarefa detendo uma parte deles e esperando que os outros liberem suas partes.
  2. Livelock acontece quando tarefas paralelas detectam que outras tarefas estão ativas e voluntariamente cedem sua posse de recursos compartilhados, levando a um ciclo contínuo de ceder.
  3. A fome ocorre quando tarefas de alta prioridade consistentemente obtêm acesso a recursos compartilhados, enquanto tarefas de baixa prioridade suportam espera prolongada.

2.4.2 Otimismo Paralelismo

Cenário 7

Em um banco, quatro caixas têm a capacidade de acessar e modificar independentemente o registro durante as transações, independentemente de outros caixas estarem usando o registro. Ao usar o registro, cada caixa aplica um rótulo pessoal às entradas que acessam ou modificam. Após concluir uma transação, eles revisam as entradas novamente; se encontrarem um rótulo que não seja o deles, indica que a entrada foi modificada por outro caixa, e a transação deve ser anulada e processada novamente.

Isso exemplifica o princípio básico do paralelismo otimista. A ideia central do paralelismo otimista é assumir inicialmente que todas as tarefas são independentes. As tarefas são executadas em paralelo e, em seguida, cada tarefa é validada. Se uma tarefa falhar na validação, ela é reexecutada até que todas as tarefas sejam concluídas. Suponha que haja oito tarefas paralelas realizadas de forma otimista, precisando de acesso a dois recursos compartilhados, A e B.

Durante a Fase 1, as tarefas 1, 2 e 3 são executadas em paralelo. No entanto, as tarefas 2 e 3 acessam o recurso compartilhado B simultaneamente, causando um conflito, assim a tarefa 3 é reprogramada para a próxima fase. Na Fase 2, as tarefas 3 e 4 acessam o recurso B, resultando na reprogramação da tarefa 4, e assim por diante, até que todas as tarefas sejam concluídas. Como pode ser visto, as tarefas que encontram conflitos são repetidamente reexecutadas.

Modelo de Paralelismo Otimista

O modelo de paralelismo otimista utiliza uma estrutura de dados em memória multi-versão para registrar cada valor escrito e suas informações de versão (semelhante aos rótulos usados pelos caixas de banco).

A execução de cada tarefa paralela é dividida em duas fases: execução e validação. Durante a fase de execução, todas as ações de leitura e escrita de dados são registradas, formando um conjunto de leitura e um conjunto de escrita. Na fase de validação, o conjunto de leitura e o conjunto de escrita são comparados com a estrutura de dados de múltiplas versões. Se a comparação revelar que os dados não são os mais recentes, a validação falha.

O modelo de paralelismo otimista teve origem no Software Transaction Memory (STM), um mecanismo de programação sem bloqueio no campo de banco de dados. Como as redes blockchain mantêm inerentemente uma ordem definida de transações, esse conceito foi introduzido e evoluído para o mecanismo Block-STM. Plataformas blockchain como Aptos e Monad adotaram o Block-STM como seu mecanismo de execução paralela.

Vale ressaltar que a cadeia pública Sei, em sua próxima versão v2, abandonou o modelo original de bloqueio de memória em favor do modelo de paralelismo otimista. O Bloquear-STM executa transações a uma velocidade extremamente rápida; em um ambiente de teste, Aptos alcançou uma impressionante velocidade de execução de transações de 160k transações por segundo (tps), que é 18 vezes mais rápido do que o processamento de transações sequenciais.

Bloquear-STM delega a execução e validação de transações complexas para a equipe de desenvolvimento central, permitindo que os desenvolvedores escrevam contratos inteligentes tão facilmente quanto se estivessem programando em um ambiente de execução sequencial.

2.5 Lista de Acesso Estrito ao Estado

Os mecanismos de passagem de mensagens e de memória compartilhada são baseados no modelo de dados de conta/saldo, que registra as informações de saldo de cada conta na blockchain. É semelhante a como o livro-razão de um banco mostra que o Cliente A tem um saldo de 1.000 unidades e o Cliente B tem um saldo de 600 unidades. As transações são processadas simplesmente atualizando o status de saldo das contas.

Alternativamente, também poderia-se registrar os detalhes de cada transação no momento da transação, criando um registro de transações. Este registro pode ser usado para calcular os saldos das contas. Por exemplo:

  • O cliente A abre uma conta e deposita 1.000 unidades;
  • O cliente B abre uma conta (0 unidades);
  • O Cliente A transfere 100 unidades para o Cliente B.

Lendo e calculando o livro-razão, pode-se determinar que o Cliente A tem um saldo de 900 unidades e o Cliente B tem um saldo de 100 unidades.

UTXO (Unspent Transaction Output) é semelhante a este modelo de dados de registro de transações. Representa um método de denotar moeda digital no Bitcoin, o blockchain de primeira geração. Cada transação tem inputs (como os fundos foram recebidos) e outputs (como os fundos foram gastos), e UTXOs podem ser entendidos simplesmente como os recibos de fundos que ainda não foram gastos.

Por exemplo, se o Cliente A tem 6 BTC e transfere 5,2 BTC para o Cliente B, deixando 0,8 BTC, do ponto de vista da UTXO, parece assim: Os 6 UTXOs avaliados em 1 BTC cada são destruídos, e B recebe um novo UTXO no valor de 5,2 BTC, enquanto A recebe um novo UTXO no valor de 0,8 BTC como troco. Assim, 6 UTXOs são destruídos para criar 2 novos UTXOs.

As entradas e saídas de uma transação estão ligadas e usam assinaturas digitais para registrar informações de propriedade, formando assim o modelo UTXO. Blockchains que adotam esse modelo de dados precisam somar todos os UTXOs para um endereço de conta específico para determinar o saldo atual da conta. A Lista de Acesso Estrita ao Estado (SSAL) é baseada no modelo UTXO e permite execução paralela. Ela pré-calcula os endereços das contas que cada transação acessará, formando uma lista de acesso.

A lista de acesso serve para dois propósitos:

  1. Avaliação de Segurança da Transação: Se uma transação acessar um endereço que não está na lista de acesso, a execução falhará.
  2. Execução Paralela de Transações: De acordo com a lista de acesso, as transações são agrupadas em vários conjuntos. Como não há dependências (sem interseções) entre os conjuntos na lista de acesso, esses conjuntos de transações podem ser executados em paralelo.

3. Drivers de Crescimento da Indústria

De uma perspectiva intrínseca, o desenvolvimento de qualquer coisa normalmente progride desde a concepção até o refinamento, e a busca da humanidade pela velocidade é eterna. Para abordar as questões de velocidade de execução nas redes blockchain, uma variedade de soluções, tanto on-chain quanto off-chain, surgiram. As soluções off-chain, como rollups, foram plenamente reconhecidas por seu valor, enquanto a narrativa das Máquinas Virtuais Ethereum (EVM) paralelas ainda oferece significativas oportunidades de exploração.

Historicamente, com a aprovação da SEC de um ETF spot de Bitcoin e o próximo evento de halving do Bitcoin, juntamente com possíveis cortes na taxa de juros pelo Federal Reserve, espera-se que as criptomoedas entrem em um mercado significativo de alta. O crescimento robusto da indústria requer infraestruturas de rede blockchain capazes de lidar com uma maior taxa de transferência como uma base sólida.

Em termos de gestão de recursos, as redes de blockchain tradicionais processam transações de forma serial, um método simples mas ineficiente que desperdiça recursos do processador. Em contraste, os blockchains paralelos aproveitam ao máximo os recursos de computação, extraindo significativamente o potencial de desempenho dos processadores multicore, melhorando assim a eficiência geral das redes de blockchain.

Quanto ao desenvolvimento da indústria, embora várias inovações tecnológicas e de modelos de negócios estejam continuamente surgindo, o potencial de crescimento da Web3 permanece amplamente inexplorado. Redes centralizadas podem lidar com mais de 50.000 mensagens por segundo, enviar 3,4 milhões de e-mails, completar 100.000 buscas no Google e suportar dezenas de milhares de jogadores online simultaneamente, feitos ainda não alcançados por redes descentralizadas. Para que os sistemas descentralizados possam competir e conquistar seu território, a otimização contínua dos mecanismos de execução paralela e o aumento da capacidade de transação são essenciais.

Sob a perspectiva de aplicações descentralizadas, atrair mais usuários requer esforços significativos na melhoria da experiência do usuário. A otimização de desempenho é uma direção chave para melhorar a experiência do usuário. Para os usuários de DeFi, atender às demandas de alta velocidade de transação e baixas taxas é crucial. Para os usuários de GameFi, a interação em tempo real é necessária. Todas essas exigências são suportadas pela robustez da execução paralela.

4. Problemas existentes

O “trilema do blockchain” afirma que a descentralização, segurança e escalabilidade só podem satisfazer dois dos três atributos simultaneamente. Como a “descentralização” é um pilar imutável, melhorar a “escalabilidade” implica em uma redução na “segurança”. Como o código é escrito por humanos, ele está sujeito a erros. A complexidade técnica introduzida pela computação paralela fornece um terreno fértil para potenciais vulnerabilidades de segurança.

A programação multithread é particularmente desafiadora devido a dois problemas principais: primeiro, é propensa a condições de corrida devido ao tratamento inadequado de várias operações de controle concorrentes complexas; segundo, pode levar a falhas ao acessar endereços de memória inválidos, o que pode até levar a vulnerabilidades de estouro de buffer exploráveis por atacantes.

Existem pelo menos três perspectivas a partir das quais avaliar a segurança de um projeto:

1. Antecedentes da Equipe: As equipes com experiência em programação de sistemas são hábeis em programação multithread e podem lidar com 80% dos problemas complexos. A programação de sistemas geralmente envolve as seguintes áreas:

  • Sistemas operacionais
  • Vários drivers de dispositivo
  • Sistemas de arquivos
  • Bancos de dados
  • Sistemas embarcados
  • Criptografia
  • Codecs multimídia
  • Gestão de memória
  • Rede de contatos
  • Virtualização
  • Jogos de azar
  • Linguagens de programação avançadas

2. Manutenção de Código: Escrever código mantível segue uma metodologia clara, como ter um design arquitetônico claro, utilizando padrões de design para implementar reutilização de código, empregando técnicas de desenvolvimento orientado a testes para escrever testes unitários suficientes, e eliminando código redundante através de refatoração cuidadosa.

3. Linguagem de Programação Utilizada: Algumas linguagens de programação de ponta são projetadas com um forte foco na segurança de memória e alta concorrência. Os compiladores verificam o código em busca de problemas concorrentes ou acesso potencial a endereços de memória inválidos, resultando em falha de compilação se detectados, forçando assim os desenvolvedores a escrever um código robusto.

A linguagem Rust é exemplar nesse aspecto, por isso vemos que a maioria dos projetos de blockchain paralelos são desenvolvidos em Rust. Alguns projetos até se inspiram no design do Rust para implementar suas próprias linguagens de contratos inteligentes, como a linguagem Sway da Fuel.

5. Arranjo de destino

5.1 Com base no modelo de paralelização otimista

5.1.1 De travas de memória ao paralelismo otimista

Sei é uma blockchain pública de uso geral baseada em tecnologia de código aberto, estabelecida em 2022. Os fundadores são ex-alunos da Universidade da Califórnia, Berkeley, e outros membros da equipe também têm formação em prestigiosas universidades no exterior.

Sei recebeu financiamento em três rodadas: uma rodada inicial de $5 milhões, uma primeira rodada de financiamento estratégico de $30 milhões e uma segunda rodada de financiamento estratégico onde o valor não foi divulgado. A Rede Sei também levantou um total de $100 milhões em fundos para apoiar o desenvolvimento de seu ecossistema.

Em agosto de 2023, a Sei foi lançada em sua mainnet, alegando ser a blockchain pública L1 mais rápida, capaz de processar 12.500 transações por segundo, com finalidade alcançada em apenas 380 ms. Atualmente, possui uma capitalização de mercado de quase $2.2 bilhões.

Atualmente, o ecossistema Sei compreende 118 projetos, com foco principalmente em DeFi, infraestrutura, NFTs, jogos e carteiras. A comunidade atualmente possui 650.000 membros no Twitter, 600.000 no Discord e 40.000 no Telegram.

No final de novembro de 2023, a Sei anunciou em seu blog oficial que iniciaria a atualização de versão mais significativa desde o lançamento da mainnet na primeira metade de 2024: Sei v2. Sei v2 é apregoado como o primeiro blockchain EVM paralelo. Essa atualização de versão introduzirá as seguintes novas funcionalidades:

  • Compatibilidade reversa para contratos inteligentes EVM: os desenvolvedores podem migrar e implantar contratos inteligentes EVM sem modificar o código.
  • Reutilização para ferramentas/aplicações comuns como Metamask.
  • Paralelização otimista: O Sei v2 abandonará o mecanismo de acesso compartilhado de travas de memória em favor da paralelização otimista.
  • SeiDB: Otimização da camada de armazenamento.
  • Suporte para interoperabilidade perfeita entre Ethereum e outras cadeias.

Originalmente, a execução paralela de transações da Sei Network era baseada em um modelo de bloqueio de memória. Antes da execução, todas as dependências entre transações pendentes foram resolvidas e um DAG foi gerado, então, com base no DAG, a ordem de execução das transações foi precisamente arranjada. Este método aumentou a carga mental sobre os desenvolvedores de contratos, pois tiveram que incorporar a lógica no código durante o desenvolvimento.

Conforme introduzido na seção de princípios técnicos acima, com a adoção da paralelização otimista na nova versão, os desenvolvedores agora podem escrever contratos inteligentes como se estivessem escrevendo programas executados sequencialmente. Mecanismos complexos, como agendamento, execução e verificação de transações, são tratados pelos módulos subjacentes. O design da proposta de otimização da equipe central também introduziu um aprimoramento adicional das capacidades de execução paralela por meio do pré-preenchimento de dependências.

Especificamente, isso envolve a introdução de um gerador de dependências dinâmico que analisa as operações de gravação de transações antes da execução e as preenche em uma estrutura de dados de memória multi-versão, otimizando possíveis conflitos de dados. Após a análise, a equipe principal concluiu que, embora tal mecanismo de otimização não seja vantajoso no cenário ideal para o processamento de transações, ele melhora significativamente a eficiência de execução no cenário de pior caso.

5.1.2 Potencial Perturbador na Pista L1: Monad

Se você perdeu o desenvolvimento das blockchains públicas mencionadas acima, então você definitivamente não deveria perder Monad. Ele é apontado como um potencial disruptor na pista L1.

Monad foi fundada por dois engenheiros seniores da Jump Crypto em 2022. O projeto completou uma rodada de financiamento inicial de $19 milhões em fevereiro de 2023. Em março de 2024, a Paradigm liderou as negociações para uma rodada de financiamento de mais de $200 milhões para o Monad. Se bem-sucedido, este seria o maior financiamento de criptomoeda desde o início do ano.

O projeto já atingiu o marco de lançar uma rede de teste interna e está trabalhando em direção ao próximo passo de abrir uma rede de teste pública.

Monad é muito favorecido pelo capital por duas razões proeminentes: uma é seu sólido background técnico e a outra é sua proficiência em marketing hype. A equipe central da Monad Labs é composta por 30 membros, todos com décadas de experiência profunda em negociação de alta frequência, drivers de kernel e tecnologia financeira, e extensa experiência em desenvolvimento em sistemas distribuídos.

As operações diárias do projeto também são muito “enraizadas”: envolvendo-se continuamente em “marketing mágico” com seus 200.000 seguidores no Twitter e 150.000 membros no Discord. Por exemplo, hospedar concursos de memes semanais, coletar vários emojis ou vídeos de animais roxos peculiares da comunidade, para realizar uma “disseminação espiritual.”

A visão da Monad é tornar-se uma plataforma de contratos inteligentes para desenvolvedores, trazendo melhorias de desempenho extremas para o ecossistema Ethereum. Monad introduz dois mecanismos na Máquina Virtual Ethereum: um é o pipeline superscalar e o outro é um mecanismo paralelo otimista aprimorado.

O pipeline superscalar paraleliza a fase de execução das transações. Um exemplo ilustrativo dado na documentação oficial é lavar roupas, que é semelhante à forma como o blockchain processa transações, também concluídas em várias etapas. O método tradicional processa cada monte de roupas sujas através da lavagem, secagem, dobragem e armazenamento antes de passar para o próximo monte.

Por outro lado, a canalização superescalável começa a lavar a segunda pilha de roupas enquanto a primeira pilha está secando. Enquanto a primeira pilha está sendo dobrada, a segunda e terceira pilhas estão respectivamente secando e lavando, mantendo assim cada estágio ativo.

O mecanismo paralelo otimista paraleliza a execução de transações. Monad usa paralelismo otimista para execução paralela. Também desenvolveu seu próprio analisador de código estático para prever dependências entre transações, agendando transações subsequentes apenas após as transações dependentes pré-requisitas terem sido executadas, reduzindo significativamente a reexecução de transações devido a validações falhadas.

Atualmente, seu desempenho atinge 10.000 TPS e pode produzir blocos em um segundo. À medida que o projeto avança, a equipe principal continuará a explorar mais mecanismos de otimização.

5.1.3 Projeto L1 Altamente Descentralizado: Canto

Estabelecido em 2022, Canto é um projeto altamente descentralizado L1 construído na Cosmos SDK. Opera sem uma fundação oficial, não se envolve em pré-vendas, não está afiliado a nenhuma organização, não busca financiamento e é totalmente impulsionado pela comunidade. Até a equipe principal permanece anônima, trabalhando de maneira pouco organizada.

Embora seja uma blockchain geral compatível com a EVM, a visão principal da Canto é tornar-se uma plataforma de valor DeFi acessível, transparente, descentralizada e gratuita. Através de uma extensa pesquisa no setor, foi descoberto que qualquer ecossistema DeFi saudável é composto por três elementos fundamentais:

  1. Trocas descentralizadas (DEX) como Uniswap e Sushiswap;
  2. Plataformas de empréstimo como Compound e Aave;
  3. Tokens descentralizados como DAI, USDC ou USDT.

No entanto, os ecossistemas DeFi tradicionais compartilham, em última análise, um destino comum: emitem tokens de protocolo de governança, cujo valor depende da taxa de uso que o ecossistema pode extrair de seus usuários futuros — quanto mais extraído, maior o valor. Isso é semelhante a cada protocolo DeFi ser um estacionamento de propriedade privada que cobra por hora — quanto mais é usado, maior a sua valoração.

Canto adota outra abordagem: Construir infraestrutura pública gratuita para DeFi (Infraestrutura Pública Gratuita), Tornar-se um estacionamento gratuito para seus projetos ecológicos.

A infraestrutura é composta por 3 protocolos: a bolsa descentralizada Canto DEX, a plataforma de empréstimos coletivos Canto Lending Market (CLM) bifurcada do Compound v2 e a moeda estável NOTE que pode ser emprestada do CLM através de ativos de garantia.

Canto adotou uma abordagem inovadora: construir infraestrutura pública gratuita direcionada à DeFi, posicionando-se como um estacionamento gratuito disponível para os projetos de seu ecossistema usarem sem custo algum.

A infraestrutura é composta por três protocolos: a exchange descentralizada Canto DEX, a plataforma de empréstimos em grupo Canto Lending Market (CLM) bifurcada do Compound v2 e a stablecoin NOTE, que pode ser emprestada do CLM usando ativos como garantia.

O Canto DEX opera perpetuamente como um protocolo não atualizável e sem governança. Ele não emite seus tokens nem cobra taxas adicionais. Esse design impede vários comportamentos de busca de aluguel dentro das aplicações DeFi do ecossistema, evitando jogos de soma zero predatórios.

A governança da plataforma de empréstimos CLM é controlada pelos detentores de interesse, que se beneficiam totalmente do crescimento do ecossistema e, por sua vez, criam o melhor ambiente para os desenvolvedores e usuários DeFi, motivando-os a contribuir continuamente. Os juros gerados pelos empréstimos emitidos em NOTE são pagos aos mutuários, sem que o protocolo receba qualquer corte.

Para os desenvolvedores, o Canto introduziu o modelo de Receita Garantida por Contrato, que aloca uma certa porcentagem das taxas geradas a partir de interações on-chain com contratos para os desenvolvedores. Esta série de inovações no modelo de negócio pelo Canto, denominada 'matar três coelhos com uma cajadada só', fomenta um ecossistema construtivo e próspero, fornecendo uma infraestrutura financeira aberta e gratuita.

Por vários meios, o Canto incentiva os desenvolvedores e usuários do ecossistema a participar e enriquecer continuamente o ecossistema. Ao controlar rigorosamente os 'direitos de cunhagem', o Canto cria possibilidades de liquidez entre várias aplicações descentralizadas. À medida que o ecossistema prospera, seus tokens aumentam de valor. Após a proposta de CSR ter sido aprovada pela votação da comunidade em 26 de janeiro de 2024, o token $CANTO experimentou um aumento de preço.

Seguindo esta série de inovações no modelo de negócios, em 18 de março de 2024, a Canto anunciou sua mais recente rodada de iterações técnicas em seu blog oficial.

Além de adotar uma nova versão do Cosmos SDK e integrar novas tecnologias para reduzir gargalos de acesso ao armazenamento, Canto também irá atualizar para EVMs paralelas: introduzindo paralelização otimista através da implementação do EVM Cyclone.

O Cosmos SDK usado pelo Canto divide o processamento de transações em três etapas: Proposta, Votação e Finalização. O sub-processo ProcessProposal durante a Votação é responsável pela execução paralela de transações. O mecanismo de execução paralela cuida da execução, enquanto o mecanismo de detecção de conflitos verifica a validade das transações.

Se uma transação for inválida, ela é enviada de volta para o mecanismo de execução para reexecução; se for válida, é cometida ao fluxo de processamento subsequente. Acredita-se que esta rodada de atualizações tecnológicas tornará os tokens da Canto ainda mais chamativos.

5.2 Baseado em Listas de Acesso de Estado Estritas: Combustível

Combustível, composto pela máquina virtual FuelVM, a linguagem de desenvolvimento de contratos Sway inspirada em Rust e sua cadeia de ferramentas associada, é um “sistema operacional Ethereum rollup” modular personalizado. O projeto Fuel foi estabelecido em 2019 e, em dezembro de 2020, a Fuel Labs lançou a primeira camada de execução otimista rollup na Ethereum, Fuel v1. Após mais de três anos de desenvolvimento, o projeto finalmente está pronto para lançar sua mainnet no terceiro trimestre de 2024.

Fuel completou rodadas de financiamento de $1.5 milhão e $80 milhões em 2021 e 2022, respectivamente. A equipe principal é composta por mais de 60 engenheiros, com o fundador John Adler sendo também co-fundador da solução de disponibilidade de dados Celestia Labs e um dos primeiros defensores da abordagem de rollup otimista. Em termos de operações, o projeto possui 270.000 membros no Twitter e 390.000 no Discord.

Executar transações uma a uma na blockchain incorre em taxas de gás e concorre por espaço de bloco valioso, o que é lento. Naturalmente, várias soluções de escalonamento vêm à mente, como o processamento em lote de transações que são então agrupadas e liquidadas na cadeia para acelerar a execução.

Um rollup é uma solução de dimensionamento que opera fora do L1, executando transações em lotes off-chain e depois enviando dados de transação ou provas de execução para o L1. Isso garante segurança por meio da camada DA e liquida transações. Existem dois tipos principais de rollups: otimistas e de conhecimento zero (ZK).

Os rollups otimistas pressupõem que as transações são válidas e produzem uma prova de fraude para reverter transações maliciosas ou incorretas no L1 quando detectadas. Os rollups ZK geram provas de validade da transação por meio de cálculos complexos sem expor os detalhes da transação e publicam-nas no L1 para demonstrar que o rollup executou as transações corretamente. Assim, os rollups são uma tecnologia de camada de execução de blockchain.

Embora os rollups acelerem a execução de transações, a maioria das implementações existentes é projetada para blockchains monolíticas. Os desenvolvedores precisam fazer vários compromissos técnicos, o que limita o desempenho total dos rollups. Com a nova tendência em direção às blockchains modulares, não houve nenhuma solução de rollup adequada na indústria. Fuel foi criado para preencher essa lacuna.

Fuel usa o modelo de dados UTXO, que tem a vantagem de que suas saídas de transação têm apenas dois estados: ou gasto, permanentemente registrado no histórico de transações do bloco, ou não gasto, disponível para transações futuras. Isso minimiza os dados de estado armazenados em cada nó na cadeia. Com base nisso, o Fuel verifica as informações da conta acessadas por cada transação antes da execução, identificando dependências e agendando transações sem dependências para serem executadas em paralelo, aumentando a capacidade de processamento de transações.

5.3 Integração Cross-chain de Cadeias L1 com Soluções L2: Neno, Eclipse e Lumio

Soluções L2 compartilham uma característica comum: elas combinam as capacidades de dois tipos de máquinas virtuais para melhorar a velocidade da execução de transações. Especificamente, isso envolve o uso de L1s paralelos para executar transações, mantendo a compatibilidade com outras cadeias (suporte a duas máquinas virtuais). No entanto, os mecanismos de compatibilidade adotados por diferentes projetos variam. Neste aspecto, Neon, Eclipse e Lumio são particularmente representativos.

Neon afirma ser o primeiro projeto EVM paralelo no ecossistema Solana, permitindo que os desenvolvedores migrem sem problemas projetos do ecossistema Ethereum para o ecossistema Solana. Eclipse é outro protocolo no ecossistema Solana compatível com EVM, construído com uma arquitetura modular. Entre esses três projetos, apenas o Neon emitiu seu próprio token, alcançando um valor de mercado de circulação de mais de 78 milhões.

Os outros dois projetos ainda estão em estágios relativamente iniciais. Lumio combina Aptos e Ethereum para criar um protocolo otimista de rollup L2, executando eficientemente aplicações Ethereum na velocidade do Move VM.

Em termos de financiamento, a Neon completou uma captação de $40 milhões em novembro de 2021 e $5 milhões em junho de 2023, totalizando $45 milhões. A Eclipse completou uma captação de $6 milhões em agosto de 2022, $9 milhões em setembro de 2022 e $50 milhões em março de 2024, totalizando $65 milhões. A Lumio ainda não levantou fundos.

Nenhum dos três projetos ainda formou um ecossistema de aplicativos em grande escala, mas eles têm dezenas a centenas de milhares de seguidores ou membros em importantes plataformas de mídia social, indicando uma atividade comunitária significativa.

De uma perspectiva de mecanismo, Neon é um emulador EVM na rede Solana, funcionando como um contrato inteligente. Os desenvolvedores podem usar linguagens como Solidity e Vyper para escrever aplicações dApp, e podem usar ferramentas Ethereum e APIs RPC compatíveis com Ethereum, contas, assinaturas e padrões de token, como MetaMask, Hardhat e Remix. Enquanto isso, eles desfrutam dos benefícios de taxas baixas, alta velocidade de execução de transações e capacidades de processamento paralelo trazidas pela Solana.

Transações do Ethereum enviadas do frontend do Ethereum dApp são convertidas por um proxy em transações Solana, depois executadas no emulador, modificando o estado da cadeia. É como os emuladores de jogos que frequentemente usamos em PCs, que nos permitem jogar jogos exclusivos de consoles como Switch e PlayStation em computadores desktop. Neon permite que desenvolvedores do Ethereum executem aplicativos Ethereum na rede Solana.

Eclipse adota uma abordagem de implementação diferente: executando transações através do SVM e liquidando transações através do EVM. Eclipse utiliza uma arquitetura de blockchain modular, onde apenas lida com a execução de transações e terceiriza outras responsabilidades, formando uma solução unificada através de combinações modulares.

Por exemplo, ele usa Celestia para gerenciar a disponibilidade de dados e Ethereum para executar e liquidar transações. Eclipse garante velocidade de execução através de SVM e segurança através da validação e liquidação do Ethereum.

Lumio adota uma filosofia de design independente das camadas de execução e liquidação, suportando várias máquinas virtuais e compatível com diversas redes L1/L2: Ethereum, Aptos, Optimism, Avalanche, zkSync e outras. Ele executa transações através do VM Move e as liquida através do EVM, conectando assim os ecossistemas Ethereum e Aptos.

No entanto, as ambições da Lumio não param por aí. Sua visão é fornecer chamadas cruzadas de máquina virtual para alcançar conectividade de liquidez multi-blockchain na velocidade mais alta e nas taxas mais baixas.

Os acima são os principais projetos atualmente relacionados à narrativa paralela do EVM, conforme mostrado no diagrama a seguir.

6. Conclusão e Perspectivas

As pessoas frequentemente comparam o Bitcoin a um "registro distribuído" e o Ethereum a uma "máquina de estado distribuída". Se considerarmos todos os nós operando uma rede blockchain como um único computador, então as blockchains paralelas estudam fundamentalmente como maximizar a utilização dos recursos de processamento deste "computador" para alcançar as velocidades de execução mais rápidas.

Esta é uma evolução inevitável na história da tecnologia da computação, semelhante ao desenvolvimento de processadores de núcleo único para processadores multi-núcleo e sistemas operacionais evoluindo de single-user single-thread para multi-user multi-threading. Isso tem implicações significativas para o contínuo desenvolvimento da indústria.

Os princípios técnicos do EVM paralelo podem ser divididos em dois componentes: a máquina virtual e o mecanismo de execução paralela. No contexto da blockchain, a máquina virtual integra um conjunto de instruções para a execução distribuída de contratos e execução de dApps. O mecanismo de execução paralela foca principalmente em maximizar a velocidade de execução de transações, garantindo a precisão dos resultados das transações.

Por um lado, as EVMs paralelas compartilham princípios técnicos comuns. Em primeiro lugar, o modelo de paralelização otimista é um consenso para blockchains públicas de L1. No entanto, isso não significa que o modelo de bloqueio de memória seja inútil. A superioridade tecnológica não existe; é o nível de habilidade dos desenvolvedores que varia.

Em segundo lugar, projetos como Fuel acreditam firmemente que mecanismos de dimensionamento off-chain só podem atingir seu desempenho máximo após modularização. Por fim, inúmeros projetos L2 buscam aumentar a taxa de transações ao integrar-se com blockchains públicas paralelas de L1, alcançando assim capacidades de dimensionamento entre ecossistemas.

Por outro lado, os blockchains paralelos têm suas conquistas técnicas únicas. Mesmo ao adotar o mesmo modelo de execução paralela, diferentes equipes implementaram padrões de design arquitetônico variados, modelos de dados ou mecanismos de pré-processamento. A exploração tecnológica é interminável, e diferentes projetos desenvolvem tecnologias distintas com base em visões diferentes para elevar a prática a níveis mais altos.

Olhando para frente, mais projetos L1 e L2 se juntarão à competição em paralelo EVMs. A pista L1 verá uma competição abrangente entre EVMs paralelos e campos não-EVM em recursos de processador, recursos de armazenamento, recursos de rede, recursos de sistema de arquivos e recursos de dispositivo. Essa competição também dará origem a novas narrativas relacionadas ao aprimoramento de desempenho. Enquanto isso, a pista L2 evoluirá para simuladores de máquinas virtuais blockchain ou blockchains modulares.

No futuro, as otimizações de infraestrutura trarão velocidades mais rápidas, custos mais baixos e maior eficiência. Os empreendedores da Web3 podem inovar ousadamente modelos de negócios para criar melhores experiências de produtos descentralizados em todo o mundo, florescendo ainda mais o ecossistema da indústria. Para os investidores da Web3, focar apenas na tecnologia é insuficiente.

Ao escolher alvos de investimento, os investidores devem considerar narrativas, capitalização de mercado e liquidez, selecionando projetos com “boas narrativas”, “baixa capitalização de mercado” e “alta liquidez”. Em seguida, eles devem aprofundar-se nos negócios, histórico da equipe, modelo econômico, marketing e projetos ecológicos, descobrindo assim projetos potenciais e encontrando caminhos de investimento adequados.

EVMs paralelos ainda estão em estágios iniciais de desenvolvimento, com projetos como Neon, Monad, Canto, Eclipse, Fuel e Lumio na fase em que seu valor ainda não foi totalmente realizado. Especialmente, Monad, Canto e Fuel.

Pelo estilo de marketing da Monad, não só é notável por si só, mas os projetos de meme dentro de seu ecossistema também merecem atenção, o que pode levar a histórias de enriquecimento rápido impulsionadas pelo hype. O Canto reúne as condições de "boa narrativa" e "baixa avaliação de mercado", mas se é um bom alvo de investimento ainda requer um exame minucioso de seus vários indicadores. O combustível representa uma direção popular no desenvolvimento de blockchains modulares e também pode dar origem a novas oportunidades de investimento, todas direções dignas de nossa atenção.

declaração:

  1. Este artigo é reproduzido de Gryphsis Academy), o título original é "Ten Thousand Words Interpretation of Parallel EVM: How to Break through the Blockchain Performance Bottleneck?", os direitos autorais pertencem ao autor original [@leesper6], se você tiver alguma objeção à reimpressão, entre em contatoEquipe de Aprendizado da Gate, a equipe lidará com isso o mais rápido possível de acordo com os procedimentos relevantes.

  2. Aviso legal: As visões e opiniões expressas neste artigo representam apenas as visões pessoais do autor e não constituem nenhum conselho de investimento.

  3. Outras versões do artigo em outros idiomas são traduzidas pela equipe do Gate Learn e não são mencionadas.GateO artigo traduzido não pode ser reproduzido, distribuído ou plagiado.

EVM Paralelo: Superando os gargalos de desempenho do Blockchain

intermediário4/15/2024, 3:33:01 PM
Este artigo explora os detalhes técnicos e as perspectivas de mercado de EVMs paralelos, analisando os mecanismos de execução paralela de grandes projetos de blockchain como Sei, Monad e Canto, e avaliando seu impacto potencial e posição de mercado na indústria. Através da otimização da execução paralela, as redes blockchain podem aumentar significativamente a velocidade e eficiência de processamento, apoiando o amplo desenvolvimento do domínio Web3.

TL;DR

  1. As EVMs paralelos representam uma nova narrativa que surge à medida que os volumes de transações on-chain atingem um certo nível. Eles são principalmente divididos em blockchains monolíticos e blockchains modulares, com os monolíticos ainda categorizados em L1 e L2. As cadeias públicas paralelas L1 são divididas em dois campos: EVM e não-EVM. Atualmente, a narrativa paralela do EVM está em seus estágios iniciais de desenvolvimento.
  2. O caminho de implementação técnica dos EVMs paralelos inclui máquinas virtuais e mecanismos de execução paralela. No contexto das blockchains, uma máquina virtual é uma máquina virtual de processo que virtualiza a máquina de estado distribuída para executar contratos.
  3. A execução paralela refere-se a aproveitar processadores de vários núcleos para executar múltiplas transações simultaneamente, tanto quanto possível, garantindo que o estado final seja consistente com o que seria alcançado através da execução serial.
  4. Os mecanismos de execução paralela são divididos em três categorias: passagem de mensagens, memória compartilhada e listas de acesso a estados rígidos. A memória compartilhada é ainda dividida em modelo de bloqueio de memória e paralelização otimista. Independentemente do mecanismo, cada um aumenta a complexidade técnica.
  5. A narrativa de EVMs paralelos não apenas tem impulsionadores intrínsecos do crescimento da indústria, mas também exige que os praticantes prestem muita atenção às possíveis questões de segurança.
  6. Cada projeto EVM paralelo fornece sua abordagem única para execução paralela, mostrando tanto similaridades técnicas quanto inovações distintas.

1.Visão geral da indústria

1.1 Evolução histórica

O desempenho tornou-se um gargalo para o desenvolvimento futuro na indústria. As redes blockchain criam uma nova base descentralizada de confiança para transações entre indivíduos e empresas.

As redes de blockchain de primeira geração, representadas pelo Bitcoin, pioneirizaram um novo modo de transações de moeda eletrônica descentralizada com tecnologia de registro distribuído, revolucionando uma nova era. A segunda geração, exemplificada pelo Ethereum, utilizou plenamente a imaginação para propor aplicativos descentralizados (dApps) por meio de uma abordagem de máquina de estado distribuída.

Desde então, as redes blockchain embarcaram em seu próprio desenvolvimento rápido ao longo de mais de uma década, desde a infraestrutura Web3 até várias vertentes, como DeFi, NFTs, redes sociais e GameFi, dando origem a inúmeras inovações em tecnologia e modelos de negócios. A indústria próspera precisa continuar a atrair novos usuários para participar do ecossistema de aplicativos descentralizados, o que, por sua vez, eleva as exigências para a experiência do produto.

Web3, como uma forma de produto inovadora 'sem precedentes na história', deve inovar no atendimento às necessidades do usuário (requisitos funcionais) ao mesmo tempo em que equilibra entre segurança e desempenho (requisitos não funcionais). Desde sua criação, diversas soluções foram propostas para lidar com problemas de desempenho.

Essas soluções podem geralmente ser categorizadas em dois tipos: soluções de escalonamento on-chain, como shardings e Gráficos Acíclicos Direcionados (DAGs), e soluções de escalonamento off-chain, como Plasma, Lightning Networks, sidechains e Rollups. No entanto, ainda estão longe de acompanhar o rápido crescimento das transações on-chain.

Especialmente após o DeFi Summer de 2020 e o crescimento explosivo das inscrições no ecossistema Bitcoin no final de 2023, a indústria precisa urgentemente de novas soluções de melhoria de desempenho para atender às demandas por 'alto desempenho e baixas taxas'. As blockchains paralelas nasceram nesse cenário.

1.2 Tamanho do mercado

A narrativa da EVM paralela significa um cenário competitivo onde dois grandes players dominam no campo das blockchains paralelas. O Ethereum processa transações de forma serial, executando-as uma após a outra, o que resulta em baixa utilização de recursos. A mudança de processamento serial para paralelo poderia melhorar significativamente o desempenho.

Os rivais do Ethereum, como Solana, Aptos e Sui, todos apresentam capacidades de processamento paralelo integradas e desenvolveram ecossistemas robustos. Suas respectivas capitalizações de mercado de tokens atingiram $45 bilhões, $3,3 bilhões e $1,9 bilhões, formando um campo paralelo não-EVM. Em resposta a esses desafios, o ecossistema do Ethereum não fica para trás, com vários projetos avançando para capacitar a EVM, criando assim um campo EVM paralelo.

Sei, em sua proposta de atualização da versão 2, declarou em alto e bom som que se tornará a “primeira blockchain EVM paralela”, com uma capitalização de mercado atual de $2.1 bilhões e potencial para um crescimento ainda maior. A nova blockchain EVM paralela Monad, atualmente a mais quente em fervor de marketing, é altamente favorecida pelos investidores e tem um potencial significativo. Enquanto isso, a blockchain L1 Canto, com uma capitalização de mercado de $170 milhões e sua própria infraestrutura pública gratuita, também anunciou sua proposta de atualização paralela da EVM.

Além disso, vários projetos L2 em estágio inicial estão aprimorando o desempenho inter-ecossistema integrando as capacidades de várias cadeias L1. Além do Neon, que alcançou um valor de mercado circulante de $69 milhões, outros projetos ainda carecem de dados relevantes. Espera-se que mais projetos L1 e L2 se juntem ao campo de batalha blockchain paralelo no futuro.

Não só existe um potencial significativo de crescimento de mercado para a narrativa paralela do EVM, mas o setor mais amplo de blockchains paralelas ao qual o EVM paralelo pertence também possui um potencial significativo de crescimento de mercado, prometendo uma perspectiva de mercado abrangente.

Atualmente, a capitalização de mercado total para Camada 1 e Camada 2 é de $752.123 bilhões, com blockchains paralelos tendo uma capitalização de mercado de $52.539 bilhões, representando aproximadamente 7%. Dentro disso, os projetos relacionados à narrativa paralela da EVM têm uma capitalização de mercado de $2.339 bilhões, representando apenas 4% da capitalização de mercado de blockchains paralelos.

1.3 Mapa da Indústria

A indústria geralmente divide as redes de Blockchain em uma estrutura de quatro camadas:

Camada 0 (Rede): Esta é a camada de rede blockchain subjacente que lida com os protocolos básicos de comunicação de rede.

Camada 1 (Infraestrutura): Esta camada depende de vários mecanismos de consenso para validar transações dentro de uma rede descentralizada.

Camada 2 (Expansão): Dependente da Camada 1, isso envolve vários protocolos de segunda camada destinados a abordar as limitações da Camada 1, especialmente em termos de escalabilidade.

Camada 3 (Aplicação): Dependente da Camada 2 ou Camada 1, esta camada é usada para construir várias aplicações descentralizadas (dApps).

Projetos narrativos paralelos da EVM (Máquina Virtual Ethereum) estão principalmente divididos em blockchains monolíticos e blockchains modulares, sendo que os blockchains monolíticos são ainda mais divididos em L1 e L2. A partir do número total de projetos e do desenvolvimento de várias trilhas principais, pode-se ver que os ecossistemas de cadeias públicas paralelas da EVM L1 ainda têm um espaço significativo para crescimento em comparação com o ecossistema Ethereum.

Na faixa DeFi, há uma demanda por 'alta velocidade e baixas taxas', enquanto a faixa de jogos exige 'forte interação em tempo real'; ambos exigem uma certa velocidade de execução. As EVMs paralelas inevitavelmente trarão melhores experiências de usuário para esses projetos, impulsionando o desenvolvimento da indústria para uma nova fase.

L1 representa novas cadeias públicas com capacidades inerentes de execução paralela e serve como infraestrutura de alto desempenho. Nesta facção, projetos como Sei v2, Monad e Canto projetaram independentemente EVMs paralelas, compatíveis com o ecossistema Ethereum e com alta capacidade de throughput de transações.

L2, ao integrar as capacidades de outras cadeias L1, oferece capacidade expandida para cooperação entre ecossistemas e é um exemplo proeminente da tecnologia de rollup. Nesta facção, Neon atua como um emulador EVM na rede Solana, enquanto Eclipse executa transações na Solana, mas liquida no EVM. Lumio é semelhante ao Eclipse, exceto que a camada de execução foi alterada para Aptos.

Além das soluções de blockchain autônomas mencionadas anteriormente, Fuel introduziu seu próprio conceito de blockchain modular. Em sua segunda versão, visa se posicionar como um sistema operacional de rollup do Ethereum, oferecendo capacidades de execução modular mais flexíveis e abrangentes.

Fuel foca na execução de transações, enquanto terceiriza outros componentes para uma ou mais camadas independentes de blockchain, permitindo assim combinações mais flexíveis: pode funcionar como uma Camada 2, uma Camada 1, ou até mesmo como uma sidechain ou um canal de estado. Atualmente, existem 17 projetos dentro do ecossistema Fuel, com foco principalmente em DeFi, NFTs e infraestrutura.

No entanto, apenas o oráculo Orally cross-chain foi colocado em uso prático. A plataforma de empréstimo descentralizada Swaylend e a plataforma de negociação de contratos perpétuos SPARK foram lançadas em testnets, enquanto outros projetos ainda estão em desenvolvimento.

2. Caminhos de Implementação Técnica

Para alcançar a execução de transações descentralizadas, as redes Blockchain devem cumprir quatro responsabilidades:

  • Execução: Executando e validando transações.
  • Disponibilidade de Dados: Distribuindo novos blocos para todos os nós na rede blockchain.
  • Mecanismo de Consenso: Verificando blocos e alcançando consenso.
  • Acordo: Finalizando e registrando o estado final das transações.

O EVM paralelo tem como foco principal a otimização de desempenho da camada de execução. Isso é dividido em soluções de Camada 1 (L1) e soluções de Camada 2 (L2). As soluções de L1 introduzem um mecanismo para a execução paralela de transações, permitindo que as transações sejam executadas em paralelo dentro da máquina virtual o máximo possível. As soluções de L2 alavancam fundamentalmente a máquina virtual L1 já paralelizada para alcançar algum nível de “execução off-chain + liquidação on-chain.”

Portanto, para entender os princípios técnicos do EVM paralelo, é necessário decompor: primeiro, entender o que é uma máquina virtual (VM), e depois entender o que envolve a execução paralela.

2.1 Máquina virtual

Em ciência da computação, uma máquina virtual refere-se à virtualização ou emulação de um sistema de computador.

Existem dois tipos de máquinas virtuais: máquinas virtuais de sistema, que podem virtualizar uma única máquina física em várias máquinas executando sistemas operacionais diferentes, melhorando assim a utilização de recursos; e máquinas virtuais de processo, que fornecem uma abstração para certas linguagens de programação de alto nível, permitindo que programas de computador escritos nessas linguagens sejam executados de maneira independente da plataforma em diferentes plataformas.

A JVM é uma máquina virtual de processo projetada para a linguagem de programação Java. Programas escritos em Java são primeiro compilados em bytecode Java (um estado intermediário de código binário), que é então interpretado pela JVM: a JVM envia o bytecode para um interpretador, que o traduz em código de máquina para diferentes máquinas e, em seguida, o executa na máquina.

As máquinas virtuais blockchain são um tipo de máquina virtual de processo. No contexto da blockchain, uma máquina virtual refere-se à virtualização de uma máquina de estado distribuída usada para a execução distribuída de contratos, executando dApps. Analogamente ao JVM, o EVM é uma máquina virtual de processo projetada para a linguagem Solidity, onde os contratos inteligentes são compilados pela primeira vez em bytecode de opcode, e depois interpretados pelo EVM.

As cadeias públicas emergentes além do Ethereum frequentemente adotam máquinas virtuais baseadas em bytecode WASM ou eBPF. WASM é um formato de bytecode compacto, de carregamento rápido e portátil baseado em mecanismos de segurança de sandbox. Os desenvolvedores podem escrever contratos inteligentes em várias linguagens de programação (C, C++, Rust, Go, Python, Java ou até TypeScript), compilá-los em bytecode WASM e executá-los. Os contratos inteligentes executados na blockchain Sei usam este formato de bytecode.

eBPF originou-se do BPF (Berkeley Packet Filter), inicialmente usado para filtragem eficiente de pacotes de rede, e evoluiu para eBPF, oferecendo um conjunto de instruções mais rico.

É uma tecnologia revolucionária que permite a intervenção dinâmica e modificação do comportamento do kernel do sistema operacional sem alterar o código-fonte. Mais tarde, essa tecnologia avançou além do kernel, levando ao desenvolvimento do tempo de execução eBPF no espaço do usuário, que é altamente performático, seguro e portátil. Os contratos inteligentes executados na Solana são compilados em bytecode eBPF e executados em sua rede blockchain.

Outras cadeias públicas L1 como Aptos e Sui usam a linguagem de programação de contrato inteligente Move, compilando em bytecode proprietário executado na máquina virtual Move. Monad projetou sua própria máquina virtual compatível com bytecode de opcode EVM (fork de Shanghai).

2.2 Execução paralela

A execução paralela é uma técnica que aproveita as vantagens dos processadores multi-core para lidar com várias tarefas simultaneamente, aumentando assim o throughput do sistema. Garante que os resultados das transações sejam idênticos aos obtidos quando as transações são executadas em série.

Nas redes blockchain, TPS (Transações Por Segundo) é comumente usado como um indicador técnico para medir a velocidade de processamento. O mecanismo de execução paralela é complexo e representa um desafio para as habilidades técnicas dos desenvolvedores, tornando difícil a explicação. Aqui, usaremos o exemplo de um "banco" para explicar o que é a execução paralela.

(1) Primeiro, o que é execução em série?

Cenário 1: Se encararmos o sistema como um banco e a CPU de processamento de tarefas como um balcão, então a execução de tarefas em série é semelhante a este banco tendo apenas um balcão disponível para serviço. Neste caso, os clientes (tarefas) que vêm ao banco devem formar uma longa fila e resolver seus negócios um por um. Para cada cliente, a equipe do balcão deve repetir as mesmas ações (executar instruções) para atender o cliente. Os clientes devem aguardar sua vez, o que resulta em tempos de transação prolongados.

(2) Então, o que é execução paralela?

Cenário 2: Se o banco perceber que está lotado, pode abrir vários balcões para lidar com os negócios, com quatro atendentes trabalhando nos balcões simultaneamente. Isso aumenta a velocidade aproximadamente quatro vezes em comparação com a original, e o tempo que os clientes passam na fila também é reduzido para cerca de um quarto do original. Assim, a velocidade de atendimento de negócios no banco é aumentada.

(3) Qual erro ocorre se nenhuma proteção estiver em vigor e duas pessoas transferirem dinheiro simultaneamente para outra pessoa?

Cenário 3: Vamos considerar A, B e C, que têm 2 ETH, 1 ETH e 0 ETH em suas contas, respectivamente. Agora, A e B querem transferir 0,5 ETH para C. Em um sistema que executa transações de forma serial, não ocorreriam problemas (a seta para a esquerda "<=" indica leitura do livro-razão, e a seta para a direita "=>" indica escrita no livro-razão, o mesmo abaixo):

No entanto, a execução em paralelo não é tão simples quanto parece. Existem muitos detalhes sutis que podem levar a erros graves se não forem tratados com cuidado. Se as transações de A e B transferindo para C forem executadas em paralelo, a sequência de etapas pode resultar em resultados inconsistentes:

A Tarefa Paralela 1 executa a transferência de A para C, e a Tarefa Paralela 2 executa a transferência de B para C. As etapas marcadas com um asterisco são problemáticas: porque as tarefas são executadas em paralelo, no Passo 2, o cálculo de saldo feito pela Tarefa Paralela 1 ainda não foi escrito no livro-razão. No Passo 3, a Tarefa Paralela 2 lê o saldo da conta de C (que ainda é 0) e realiza um cálculo de saldo errôneo com base nisso no Passo 5. Em seguida, na operação de atualização do livro-razão no Passo 6, ela atualiza incorretamente o saldo da conta, que já foi atualizado para 0,5 no Passo 4, de volta para 0,5 novamente. Isso resulta no saldo da conta de C sendo apenas 0,5 ETH, apesar de A e B terem transferido 0,5 ETH cada, fazendo com que os outros 0,5 ETH desapareçam efetivamente.

(4) Se não houver proteções em vigor, duas tarefas que não dependem uma da outra podem ser executadas em paralelo sem erros

Cenário 4: A Tarefa Paralela 1 executa uma transferência de 0,5 ETH de A (saldo 2 ETH) para C (saldo 0 ETH), e a Tarefa Paralela 2 executa uma transferência de 0,5 ETH de B (saldo 1 ETH) para D (saldo 0 ETH). É evidente que não há dependência entre essas duas tarefas de transferência. Independentemente de como os passos das duas tarefas são entrelaçados, elas não encontrarão os problemas descritos acima:

Da comparação desses cenários, pode-se analisar que, desde que haja uma dependência entre as tarefas, erros nas atualizações de estado podem ocorrer durante a execução paralela; caso contrário, nenhum erro ocorrerá. Uma tarefa (transação) é considerada ter uma relação de dependência se atender a uma das duas condições a seguir:

  1. Uma tarefa escreve para um endereço de saída do qual outra tarefa lê como um endereço de entrada;
  2. Duas tarefas de saída para o mesmo endereço.

Este problema não é exclusivo de sistemas descentralizados. Qualquer cenário envolvendo execução paralela pode sofrer de inconsistências de dados devido ao acesso desprotegido a recursos compartilhados (como o “livro-razão” no exemplo do banco ou memória compartilhada em sistemas de computador) entre múltiplas tarefas dependentes, conhecido como corridas de dados.

A indústria propõe três mecanismos para resolver os problemas de corrida de dados na execução paralela: mecanismos de passagem de mensagens, mecanismos de memória compartilhada e mecanismos de lista de acesso a estado estrito.

2.3 Mecanismo de Passagem de Mensagens

Cenário 5: Considere um banco com quatro balcões de atendimento operando simultaneamente para os clientes. Cada atendente desses balcões recebe um livro-razão exclusivo, que apenas eles podem modificar. Este livro-razão registra os saldos das contas dos clientes que eles atendem.

Sempre que um caixa manipula uma transação, se as informações do cliente estiverem disponíveis em seu livro-razão, eles prosseguem diretamente. Caso contrário, eles chamam outros caixas para informá-los sobre as necessidades da transação do cliente, e o caixa que ouve assume a tarefa.

Isso exemplifica o princípio do modelo de passagem de mensagens. O modelo de Ator é um tipo de modelo de passagem de mensagens, onde cada entidade que manipula transações é um ator (atendente), cada um com acesso aos seus dados privados (o livro-razão exclusivo). Acesso aos dados privados de outra pessoa só pode ser alcançado através do envio de mensagens.

Vantagens do Modelo de Ator:

Cada ator tem acesso apenas aos seus dados privados, evitando assim problemas de condição de corrida.

Desvantagens do Modelo de Ator:

Cada ator só pode executar tarefas sequencialmente. Em certos cenários, isso não aproveita as vantagens do paralelismo. Por exemplo, se os atendentes nº 2, 3 e 4 enviarem mensagens simultaneamente para perguntar ao atendente nº 1 sobre o saldo da conta do cliente A, o atendente nº 1 só pode processar essas solicitações uma de cada vez, mesmo que elas pudessem ser tratadas em paralelo.

Não há uma visão global do status atual do sistema. Se as operações do sistema forem complexas, torna-se desafiador entender a situação geral, localizar e corrigir bugs.

2.4 Mecanismo de Memória Compartilhada

2.4.1 Modelo de Bloqueio de Memória

Cenário 6: Imagine um banco com apenas um grande livro-razão que registra os saldos das contas de todos os seus clientes. Ao lado do livro-razão, há apenas uma caneta disponível para fazer modificações nele.

Neste cenário, a competição entre quatro caixas de banco se torna uma corrida de velocidade: um caixa pega a caneta primeiro (trava ela) e começa a modificar o livro-razão, enquanto os outros três devem esperar. Uma vez que o caixa termina e coloca a caneta no balcão (destrava ela), os próximos três caixas se apressam para pegar a caneta. Este ciclo se repete, exemplificando o modelo de bloqueio de memória.

Um bloqueio de memória permite que tarefas em execução paralela bloqueiem um recurso compartilhado antes de acessá-lo. Após o recurso ser bloqueado, outras tarefas devem esperar até que tenha sido modificado e desbloqueado antes de poderem bloqueá-lo e acessá-lo novamente.

O modelo de trava de leitura e escrita oferece uma abordagem mais refinada, permitindo que várias tarefas paralelas adicionem travas de leitura a um recurso compartilhado e acessem seus dados várias vezes. Durante isso, modificações não são permitidas; no entanto, uma trava de escrita pode ser aplicada apenas por um de cada vez e, uma vez aplicada, concede acesso exclusivo ao detentor do recurso.

Plataformas de Blockchain como Solana, Sui e Sei v1 utilizam um modelo de memória compartilhada baseado em bloqueios de memória. Esse mecanismo pode parecer simples, mas é complexo de implementar e requer que os desenvolvedores tenham habilidades sofisticadas em programação multithreading. A negligência pode levar a vários bugs:

Cenário 1: Uma tarefa trava um recurso compartilhado, mas falha durante a execução, deixando o recurso inacessível.

Cenário 2: Uma tarefa trava um recurso, mas acaba travando-o novamente devido à lógica de negócios aninhada, resultando em um impasse onde espera por si mesma.

O modelo de bloqueio de memória é propenso a problemas como deadlocks, livelocks e starvation:

  1. O impasse ocorre quando várias tarefas paralelas competem por vários recursos compartilhados, com cada tarefa detendo uma parte deles e esperando que os outros liberem suas partes.
  2. Livelock acontece quando tarefas paralelas detectam que outras tarefas estão ativas e voluntariamente cedem sua posse de recursos compartilhados, levando a um ciclo contínuo de ceder.
  3. A fome ocorre quando tarefas de alta prioridade consistentemente obtêm acesso a recursos compartilhados, enquanto tarefas de baixa prioridade suportam espera prolongada.

2.4.2 Otimismo Paralelismo

Cenário 7

Em um banco, quatro caixas têm a capacidade de acessar e modificar independentemente o registro durante as transações, independentemente de outros caixas estarem usando o registro. Ao usar o registro, cada caixa aplica um rótulo pessoal às entradas que acessam ou modificam. Após concluir uma transação, eles revisam as entradas novamente; se encontrarem um rótulo que não seja o deles, indica que a entrada foi modificada por outro caixa, e a transação deve ser anulada e processada novamente.

Isso exemplifica o princípio básico do paralelismo otimista. A ideia central do paralelismo otimista é assumir inicialmente que todas as tarefas são independentes. As tarefas são executadas em paralelo e, em seguida, cada tarefa é validada. Se uma tarefa falhar na validação, ela é reexecutada até que todas as tarefas sejam concluídas. Suponha que haja oito tarefas paralelas realizadas de forma otimista, precisando de acesso a dois recursos compartilhados, A e B.

Durante a Fase 1, as tarefas 1, 2 e 3 são executadas em paralelo. No entanto, as tarefas 2 e 3 acessam o recurso compartilhado B simultaneamente, causando um conflito, assim a tarefa 3 é reprogramada para a próxima fase. Na Fase 2, as tarefas 3 e 4 acessam o recurso B, resultando na reprogramação da tarefa 4, e assim por diante, até que todas as tarefas sejam concluídas. Como pode ser visto, as tarefas que encontram conflitos são repetidamente reexecutadas.

Modelo de Paralelismo Otimista

O modelo de paralelismo otimista utiliza uma estrutura de dados em memória multi-versão para registrar cada valor escrito e suas informações de versão (semelhante aos rótulos usados pelos caixas de banco).

A execução de cada tarefa paralela é dividida em duas fases: execução e validação. Durante a fase de execução, todas as ações de leitura e escrita de dados são registradas, formando um conjunto de leitura e um conjunto de escrita. Na fase de validação, o conjunto de leitura e o conjunto de escrita são comparados com a estrutura de dados de múltiplas versões. Se a comparação revelar que os dados não são os mais recentes, a validação falha.

O modelo de paralelismo otimista teve origem no Software Transaction Memory (STM), um mecanismo de programação sem bloqueio no campo de banco de dados. Como as redes blockchain mantêm inerentemente uma ordem definida de transações, esse conceito foi introduzido e evoluído para o mecanismo Block-STM. Plataformas blockchain como Aptos e Monad adotaram o Block-STM como seu mecanismo de execução paralela.

Vale ressaltar que a cadeia pública Sei, em sua próxima versão v2, abandonou o modelo original de bloqueio de memória em favor do modelo de paralelismo otimista. O Bloquear-STM executa transações a uma velocidade extremamente rápida; em um ambiente de teste, Aptos alcançou uma impressionante velocidade de execução de transações de 160k transações por segundo (tps), que é 18 vezes mais rápido do que o processamento de transações sequenciais.

Bloquear-STM delega a execução e validação de transações complexas para a equipe de desenvolvimento central, permitindo que os desenvolvedores escrevam contratos inteligentes tão facilmente quanto se estivessem programando em um ambiente de execução sequencial.

2.5 Lista de Acesso Estrito ao Estado

Os mecanismos de passagem de mensagens e de memória compartilhada são baseados no modelo de dados de conta/saldo, que registra as informações de saldo de cada conta na blockchain. É semelhante a como o livro-razão de um banco mostra que o Cliente A tem um saldo de 1.000 unidades e o Cliente B tem um saldo de 600 unidades. As transações são processadas simplesmente atualizando o status de saldo das contas.

Alternativamente, também poderia-se registrar os detalhes de cada transação no momento da transação, criando um registro de transações. Este registro pode ser usado para calcular os saldos das contas. Por exemplo:

  • O cliente A abre uma conta e deposita 1.000 unidades;
  • O cliente B abre uma conta (0 unidades);
  • O Cliente A transfere 100 unidades para o Cliente B.

Lendo e calculando o livro-razão, pode-se determinar que o Cliente A tem um saldo de 900 unidades e o Cliente B tem um saldo de 100 unidades.

UTXO (Unspent Transaction Output) é semelhante a este modelo de dados de registro de transações. Representa um método de denotar moeda digital no Bitcoin, o blockchain de primeira geração. Cada transação tem inputs (como os fundos foram recebidos) e outputs (como os fundos foram gastos), e UTXOs podem ser entendidos simplesmente como os recibos de fundos que ainda não foram gastos.

Por exemplo, se o Cliente A tem 6 BTC e transfere 5,2 BTC para o Cliente B, deixando 0,8 BTC, do ponto de vista da UTXO, parece assim: Os 6 UTXOs avaliados em 1 BTC cada são destruídos, e B recebe um novo UTXO no valor de 5,2 BTC, enquanto A recebe um novo UTXO no valor de 0,8 BTC como troco. Assim, 6 UTXOs são destruídos para criar 2 novos UTXOs.

As entradas e saídas de uma transação estão ligadas e usam assinaturas digitais para registrar informações de propriedade, formando assim o modelo UTXO. Blockchains que adotam esse modelo de dados precisam somar todos os UTXOs para um endereço de conta específico para determinar o saldo atual da conta. A Lista de Acesso Estrita ao Estado (SSAL) é baseada no modelo UTXO e permite execução paralela. Ela pré-calcula os endereços das contas que cada transação acessará, formando uma lista de acesso.

A lista de acesso serve para dois propósitos:

  1. Avaliação de Segurança da Transação: Se uma transação acessar um endereço que não está na lista de acesso, a execução falhará.
  2. Execução Paralela de Transações: De acordo com a lista de acesso, as transações são agrupadas em vários conjuntos. Como não há dependências (sem interseções) entre os conjuntos na lista de acesso, esses conjuntos de transações podem ser executados em paralelo.

3. Drivers de Crescimento da Indústria

De uma perspectiva intrínseca, o desenvolvimento de qualquer coisa normalmente progride desde a concepção até o refinamento, e a busca da humanidade pela velocidade é eterna. Para abordar as questões de velocidade de execução nas redes blockchain, uma variedade de soluções, tanto on-chain quanto off-chain, surgiram. As soluções off-chain, como rollups, foram plenamente reconhecidas por seu valor, enquanto a narrativa das Máquinas Virtuais Ethereum (EVM) paralelas ainda oferece significativas oportunidades de exploração.

Historicamente, com a aprovação da SEC de um ETF spot de Bitcoin e o próximo evento de halving do Bitcoin, juntamente com possíveis cortes na taxa de juros pelo Federal Reserve, espera-se que as criptomoedas entrem em um mercado significativo de alta. O crescimento robusto da indústria requer infraestruturas de rede blockchain capazes de lidar com uma maior taxa de transferência como uma base sólida.

Em termos de gestão de recursos, as redes de blockchain tradicionais processam transações de forma serial, um método simples mas ineficiente que desperdiça recursos do processador. Em contraste, os blockchains paralelos aproveitam ao máximo os recursos de computação, extraindo significativamente o potencial de desempenho dos processadores multicore, melhorando assim a eficiência geral das redes de blockchain.

Quanto ao desenvolvimento da indústria, embora várias inovações tecnológicas e de modelos de negócios estejam continuamente surgindo, o potencial de crescimento da Web3 permanece amplamente inexplorado. Redes centralizadas podem lidar com mais de 50.000 mensagens por segundo, enviar 3,4 milhões de e-mails, completar 100.000 buscas no Google e suportar dezenas de milhares de jogadores online simultaneamente, feitos ainda não alcançados por redes descentralizadas. Para que os sistemas descentralizados possam competir e conquistar seu território, a otimização contínua dos mecanismos de execução paralela e o aumento da capacidade de transação são essenciais.

Sob a perspectiva de aplicações descentralizadas, atrair mais usuários requer esforços significativos na melhoria da experiência do usuário. A otimização de desempenho é uma direção chave para melhorar a experiência do usuário. Para os usuários de DeFi, atender às demandas de alta velocidade de transação e baixas taxas é crucial. Para os usuários de GameFi, a interação em tempo real é necessária. Todas essas exigências são suportadas pela robustez da execução paralela.

4. Problemas existentes

O “trilema do blockchain” afirma que a descentralização, segurança e escalabilidade só podem satisfazer dois dos três atributos simultaneamente. Como a “descentralização” é um pilar imutável, melhorar a “escalabilidade” implica em uma redução na “segurança”. Como o código é escrito por humanos, ele está sujeito a erros. A complexidade técnica introduzida pela computação paralela fornece um terreno fértil para potenciais vulnerabilidades de segurança.

A programação multithread é particularmente desafiadora devido a dois problemas principais: primeiro, é propensa a condições de corrida devido ao tratamento inadequado de várias operações de controle concorrentes complexas; segundo, pode levar a falhas ao acessar endereços de memória inválidos, o que pode até levar a vulnerabilidades de estouro de buffer exploráveis por atacantes.

Existem pelo menos três perspectivas a partir das quais avaliar a segurança de um projeto:

1. Antecedentes da Equipe: As equipes com experiência em programação de sistemas são hábeis em programação multithread e podem lidar com 80% dos problemas complexos. A programação de sistemas geralmente envolve as seguintes áreas:

  • Sistemas operacionais
  • Vários drivers de dispositivo
  • Sistemas de arquivos
  • Bancos de dados
  • Sistemas embarcados
  • Criptografia
  • Codecs multimídia
  • Gestão de memória
  • Rede de contatos
  • Virtualização
  • Jogos de azar
  • Linguagens de programação avançadas

2. Manutenção de Código: Escrever código mantível segue uma metodologia clara, como ter um design arquitetônico claro, utilizando padrões de design para implementar reutilização de código, empregando técnicas de desenvolvimento orientado a testes para escrever testes unitários suficientes, e eliminando código redundante através de refatoração cuidadosa.

3. Linguagem de Programação Utilizada: Algumas linguagens de programação de ponta são projetadas com um forte foco na segurança de memória e alta concorrência. Os compiladores verificam o código em busca de problemas concorrentes ou acesso potencial a endereços de memória inválidos, resultando em falha de compilação se detectados, forçando assim os desenvolvedores a escrever um código robusto.

A linguagem Rust é exemplar nesse aspecto, por isso vemos que a maioria dos projetos de blockchain paralelos são desenvolvidos em Rust. Alguns projetos até se inspiram no design do Rust para implementar suas próprias linguagens de contratos inteligentes, como a linguagem Sway da Fuel.

5. Arranjo de destino

5.1 Com base no modelo de paralelização otimista

5.1.1 De travas de memória ao paralelismo otimista

Sei é uma blockchain pública de uso geral baseada em tecnologia de código aberto, estabelecida em 2022. Os fundadores são ex-alunos da Universidade da Califórnia, Berkeley, e outros membros da equipe também têm formação em prestigiosas universidades no exterior.

Sei recebeu financiamento em três rodadas: uma rodada inicial de $5 milhões, uma primeira rodada de financiamento estratégico de $30 milhões e uma segunda rodada de financiamento estratégico onde o valor não foi divulgado. A Rede Sei também levantou um total de $100 milhões em fundos para apoiar o desenvolvimento de seu ecossistema.

Em agosto de 2023, a Sei foi lançada em sua mainnet, alegando ser a blockchain pública L1 mais rápida, capaz de processar 12.500 transações por segundo, com finalidade alcançada em apenas 380 ms. Atualmente, possui uma capitalização de mercado de quase $2.2 bilhões.

Atualmente, o ecossistema Sei compreende 118 projetos, com foco principalmente em DeFi, infraestrutura, NFTs, jogos e carteiras. A comunidade atualmente possui 650.000 membros no Twitter, 600.000 no Discord e 40.000 no Telegram.

No final de novembro de 2023, a Sei anunciou em seu blog oficial que iniciaria a atualização de versão mais significativa desde o lançamento da mainnet na primeira metade de 2024: Sei v2. Sei v2 é apregoado como o primeiro blockchain EVM paralelo. Essa atualização de versão introduzirá as seguintes novas funcionalidades:

  • Compatibilidade reversa para contratos inteligentes EVM: os desenvolvedores podem migrar e implantar contratos inteligentes EVM sem modificar o código.
  • Reutilização para ferramentas/aplicações comuns como Metamask.
  • Paralelização otimista: O Sei v2 abandonará o mecanismo de acesso compartilhado de travas de memória em favor da paralelização otimista.
  • SeiDB: Otimização da camada de armazenamento.
  • Suporte para interoperabilidade perfeita entre Ethereum e outras cadeias.

Originalmente, a execução paralela de transações da Sei Network era baseada em um modelo de bloqueio de memória. Antes da execução, todas as dependências entre transações pendentes foram resolvidas e um DAG foi gerado, então, com base no DAG, a ordem de execução das transações foi precisamente arranjada. Este método aumentou a carga mental sobre os desenvolvedores de contratos, pois tiveram que incorporar a lógica no código durante o desenvolvimento.

Conforme introduzido na seção de princípios técnicos acima, com a adoção da paralelização otimista na nova versão, os desenvolvedores agora podem escrever contratos inteligentes como se estivessem escrevendo programas executados sequencialmente. Mecanismos complexos, como agendamento, execução e verificação de transações, são tratados pelos módulos subjacentes. O design da proposta de otimização da equipe central também introduziu um aprimoramento adicional das capacidades de execução paralela por meio do pré-preenchimento de dependências.

Especificamente, isso envolve a introdução de um gerador de dependências dinâmico que analisa as operações de gravação de transações antes da execução e as preenche em uma estrutura de dados de memória multi-versão, otimizando possíveis conflitos de dados. Após a análise, a equipe principal concluiu que, embora tal mecanismo de otimização não seja vantajoso no cenário ideal para o processamento de transações, ele melhora significativamente a eficiência de execução no cenário de pior caso.

5.1.2 Potencial Perturbador na Pista L1: Monad

Se você perdeu o desenvolvimento das blockchains públicas mencionadas acima, então você definitivamente não deveria perder Monad. Ele é apontado como um potencial disruptor na pista L1.

Monad foi fundada por dois engenheiros seniores da Jump Crypto em 2022. O projeto completou uma rodada de financiamento inicial de $19 milhões em fevereiro de 2023. Em março de 2024, a Paradigm liderou as negociações para uma rodada de financiamento de mais de $200 milhões para o Monad. Se bem-sucedido, este seria o maior financiamento de criptomoeda desde o início do ano.

O projeto já atingiu o marco de lançar uma rede de teste interna e está trabalhando em direção ao próximo passo de abrir uma rede de teste pública.

Monad é muito favorecido pelo capital por duas razões proeminentes: uma é seu sólido background técnico e a outra é sua proficiência em marketing hype. A equipe central da Monad Labs é composta por 30 membros, todos com décadas de experiência profunda em negociação de alta frequência, drivers de kernel e tecnologia financeira, e extensa experiência em desenvolvimento em sistemas distribuídos.

As operações diárias do projeto também são muito “enraizadas”: envolvendo-se continuamente em “marketing mágico” com seus 200.000 seguidores no Twitter e 150.000 membros no Discord. Por exemplo, hospedar concursos de memes semanais, coletar vários emojis ou vídeos de animais roxos peculiares da comunidade, para realizar uma “disseminação espiritual.”

A visão da Monad é tornar-se uma plataforma de contratos inteligentes para desenvolvedores, trazendo melhorias de desempenho extremas para o ecossistema Ethereum. Monad introduz dois mecanismos na Máquina Virtual Ethereum: um é o pipeline superscalar e o outro é um mecanismo paralelo otimista aprimorado.

O pipeline superscalar paraleliza a fase de execução das transações. Um exemplo ilustrativo dado na documentação oficial é lavar roupas, que é semelhante à forma como o blockchain processa transações, também concluídas em várias etapas. O método tradicional processa cada monte de roupas sujas através da lavagem, secagem, dobragem e armazenamento antes de passar para o próximo monte.

Por outro lado, a canalização superescalável começa a lavar a segunda pilha de roupas enquanto a primeira pilha está secando. Enquanto a primeira pilha está sendo dobrada, a segunda e terceira pilhas estão respectivamente secando e lavando, mantendo assim cada estágio ativo.

O mecanismo paralelo otimista paraleliza a execução de transações. Monad usa paralelismo otimista para execução paralela. Também desenvolveu seu próprio analisador de código estático para prever dependências entre transações, agendando transações subsequentes apenas após as transações dependentes pré-requisitas terem sido executadas, reduzindo significativamente a reexecução de transações devido a validações falhadas.

Atualmente, seu desempenho atinge 10.000 TPS e pode produzir blocos em um segundo. À medida que o projeto avança, a equipe principal continuará a explorar mais mecanismos de otimização.

5.1.3 Projeto L1 Altamente Descentralizado: Canto

Estabelecido em 2022, Canto é um projeto altamente descentralizado L1 construído na Cosmos SDK. Opera sem uma fundação oficial, não se envolve em pré-vendas, não está afiliado a nenhuma organização, não busca financiamento e é totalmente impulsionado pela comunidade. Até a equipe principal permanece anônima, trabalhando de maneira pouco organizada.

Embora seja uma blockchain geral compatível com a EVM, a visão principal da Canto é tornar-se uma plataforma de valor DeFi acessível, transparente, descentralizada e gratuita. Através de uma extensa pesquisa no setor, foi descoberto que qualquer ecossistema DeFi saudável é composto por três elementos fundamentais:

  1. Trocas descentralizadas (DEX) como Uniswap e Sushiswap;
  2. Plataformas de empréstimo como Compound e Aave;
  3. Tokens descentralizados como DAI, USDC ou USDT.

No entanto, os ecossistemas DeFi tradicionais compartilham, em última análise, um destino comum: emitem tokens de protocolo de governança, cujo valor depende da taxa de uso que o ecossistema pode extrair de seus usuários futuros — quanto mais extraído, maior o valor. Isso é semelhante a cada protocolo DeFi ser um estacionamento de propriedade privada que cobra por hora — quanto mais é usado, maior a sua valoração.

Canto adota outra abordagem: Construir infraestrutura pública gratuita para DeFi (Infraestrutura Pública Gratuita), Tornar-se um estacionamento gratuito para seus projetos ecológicos.

A infraestrutura é composta por 3 protocolos: a bolsa descentralizada Canto DEX, a plataforma de empréstimos coletivos Canto Lending Market (CLM) bifurcada do Compound v2 e a moeda estável NOTE que pode ser emprestada do CLM através de ativos de garantia.

Canto adotou uma abordagem inovadora: construir infraestrutura pública gratuita direcionada à DeFi, posicionando-se como um estacionamento gratuito disponível para os projetos de seu ecossistema usarem sem custo algum.

A infraestrutura é composta por três protocolos: a exchange descentralizada Canto DEX, a plataforma de empréstimos em grupo Canto Lending Market (CLM) bifurcada do Compound v2 e a stablecoin NOTE, que pode ser emprestada do CLM usando ativos como garantia.

O Canto DEX opera perpetuamente como um protocolo não atualizável e sem governança. Ele não emite seus tokens nem cobra taxas adicionais. Esse design impede vários comportamentos de busca de aluguel dentro das aplicações DeFi do ecossistema, evitando jogos de soma zero predatórios.

A governança da plataforma de empréstimos CLM é controlada pelos detentores de interesse, que se beneficiam totalmente do crescimento do ecossistema e, por sua vez, criam o melhor ambiente para os desenvolvedores e usuários DeFi, motivando-os a contribuir continuamente. Os juros gerados pelos empréstimos emitidos em NOTE são pagos aos mutuários, sem que o protocolo receba qualquer corte.

Para os desenvolvedores, o Canto introduziu o modelo de Receita Garantida por Contrato, que aloca uma certa porcentagem das taxas geradas a partir de interações on-chain com contratos para os desenvolvedores. Esta série de inovações no modelo de negócio pelo Canto, denominada 'matar três coelhos com uma cajadada só', fomenta um ecossistema construtivo e próspero, fornecendo uma infraestrutura financeira aberta e gratuita.

Por vários meios, o Canto incentiva os desenvolvedores e usuários do ecossistema a participar e enriquecer continuamente o ecossistema. Ao controlar rigorosamente os 'direitos de cunhagem', o Canto cria possibilidades de liquidez entre várias aplicações descentralizadas. À medida que o ecossistema prospera, seus tokens aumentam de valor. Após a proposta de CSR ter sido aprovada pela votação da comunidade em 26 de janeiro de 2024, o token $CANTO experimentou um aumento de preço.

Seguindo esta série de inovações no modelo de negócios, em 18 de março de 2024, a Canto anunciou sua mais recente rodada de iterações técnicas em seu blog oficial.

Além de adotar uma nova versão do Cosmos SDK e integrar novas tecnologias para reduzir gargalos de acesso ao armazenamento, Canto também irá atualizar para EVMs paralelas: introduzindo paralelização otimista através da implementação do EVM Cyclone.

O Cosmos SDK usado pelo Canto divide o processamento de transações em três etapas: Proposta, Votação e Finalização. O sub-processo ProcessProposal durante a Votação é responsável pela execução paralela de transações. O mecanismo de execução paralela cuida da execução, enquanto o mecanismo de detecção de conflitos verifica a validade das transações.

Se uma transação for inválida, ela é enviada de volta para o mecanismo de execução para reexecução; se for válida, é cometida ao fluxo de processamento subsequente. Acredita-se que esta rodada de atualizações tecnológicas tornará os tokens da Canto ainda mais chamativos.

5.2 Baseado em Listas de Acesso de Estado Estritas: Combustível

Combustível, composto pela máquina virtual FuelVM, a linguagem de desenvolvimento de contratos Sway inspirada em Rust e sua cadeia de ferramentas associada, é um “sistema operacional Ethereum rollup” modular personalizado. O projeto Fuel foi estabelecido em 2019 e, em dezembro de 2020, a Fuel Labs lançou a primeira camada de execução otimista rollup na Ethereum, Fuel v1. Após mais de três anos de desenvolvimento, o projeto finalmente está pronto para lançar sua mainnet no terceiro trimestre de 2024.

Fuel completou rodadas de financiamento de $1.5 milhão e $80 milhões em 2021 e 2022, respectivamente. A equipe principal é composta por mais de 60 engenheiros, com o fundador John Adler sendo também co-fundador da solução de disponibilidade de dados Celestia Labs e um dos primeiros defensores da abordagem de rollup otimista. Em termos de operações, o projeto possui 270.000 membros no Twitter e 390.000 no Discord.

Executar transações uma a uma na blockchain incorre em taxas de gás e concorre por espaço de bloco valioso, o que é lento. Naturalmente, várias soluções de escalonamento vêm à mente, como o processamento em lote de transações que são então agrupadas e liquidadas na cadeia para acelerar a execução.

Um rollup é uma solução de dimensionamento que opera fora do L1, executando transações em lotes off-chain e depois enviando dados de transação ou provas de execução para o L1. Isso garante segurança por meio da camada DA e liquida transações. Existem dois tipos principais de rollups: otimistas e de conhecimento zero (ZK).

Os rollups otimistas pressupõem que as transações são válidas e produzem uma prova de fraude para reverter transações maliciosas ou incorretas no L1 quando detectadas. Os rollups ZK geram provas de validade da transação por meio de cálculos complexos sem expor os detalhes da transação e publicam-nas no L1 para demonstrar que o rollup executou as transações corretamente. Assim, os rollups são uma tecnologia de camada de execução de blockchain.

Embora os rollups acelerem a execução de transações, a maioria das implementações existentes é projetada para blockchains monolíticas. Os desenvolvedores precisam fazer vários compromissos técnicos, o que limita o desempenho total dos rollups. Com a nova tendência em direção às blockchains modulares, não houve nenhuma solução de rollup adequada na indústria. Fuel foi criado para preencher essa lacuna.

Fuel usa o modelo de dados UTXO, que tem a vantagem de que suas saídas de transação têm apenas dois estados: ou gasto, permanentemente registrado no histórico de transações do bloco, ou não gasto, disponível para transações futuras. Isso minimiza os dados de estado armazenados em cada nó na cadeia. Com base nisso, o Fuel verifica as informações da conta acessadas por cada transação antes da execução, identificando dependências e agendando transações sem dependências para serem executadas em paralelo, aumentando a capacidade de processamento de transações.

5.3 Integração Cross-chain de Cadeias L1 com Soluções L2: Neno, Eclipse e Lumio

Soluções L2 compartilham uma característica comum: elas combinam as capacidades de dois tipos de máquinas virtuais para melhorar a velocidade da execução de transações. Especificamente, isso envolve o uso de L1s paralelos para executar transações, mantendo a compatibilidade com outras cadeias (suporte a duas máquinas virtuais). No entanto, os mecanismos de compatibilidade adotados por diferentes projetos variam. Neste aspecto, Neon, Eclipse e Lumio são particularmente representativos.

Neon afirma ser o primeiro projeto EVM paralelo no ecossistema Solana, permitindo que os desenvolvedores migrem sem problemas projetos do ecossistema Ethereum para o ecossistema Solana. Eclipse é outro protocolo no ecossistema Solana compatível com EVM, construído com uma arquitetura modular. Entre esses três projetos, apenas o Neon emitiu seu próprio token, alcançando um valor de mercado de circulação de mais de 78 milhões.

Os outros dois projetos ainda estão em estágios relativamente iniciais. Lumio combina Aptos e Ethereum para criar um protocolo otimista de rollup L2, executando eficientemente aplicações Ethereum na velocidade do Move VM.

Em termos de financiamento, a Neon completou uma captação de $40 milhões em novembro de 2021 e $5 milhões em junho de 2023, totalizando $45 milhões. A Eclipse completou uma captação de $6 milhões em agosto de 2022, $9 milhões em setembro de 2022 e $50 milhões em março de 2024, totalizando $65 milhões. A Lumio ainda não levantou fundos.

Nenhum dos três projetos ainda formou um ecossistema de aplicativos em grande escala, mas eles têm dezenas a centenas de milhares de seguidores ou membros em importantes plataformas de mídia social, indicando uma atividade comunitária significativa.

De uma perspectiva de mecanismo, Neon é um emulador EVM na rede Solana, funcionando como um contrato inteligente. Os desenvolvedores podem usar linguagens como Solidity e Vyper para escrever aplicações dApp, e podem usar ferramentas Ethereum e APIs RPC compatíveis com Ethereum, contas, assinaturas e padrões de token, como MetaMask, Hardhat e Remix. Enquanto isso, eles desfrutam dos benefícios de taxas baixas, alta velocidade de execução de transações e capacidades de processamento paralelo trazidas pela Solana.

Transações do Ethereum enviadas do frontend do Ethereum dApp são convertidas por um proxy em transações Solana, depois executadas no emulador, modificando o estado da cadeia. É como os emuladores de jogos que frequentemente usamos em PCs, que nos permitem jogar jogos exclusivos de consoles como Switch e PlayStation em computadores desktop. Neon permite que desenvolvedores do Ethereum executem aplicativos Ethereum na rede Solana.

Eclipse adota uma abordagem de implementação diferente: executando transações através do SVM e liquidando transações através do EVM. Eclipse utiliza uma arquitetura de blockchain modular, onde apenas lida com a execução de transações e terceiriza outras responsabilidades, formando uma solução unificada através de combinações modulares.

Por exemplo, ele usa Celestia para gerenciar a disponibilidade de dados e Ethereum para executar e liquidar transações. Eclipse garante velocidade de execução através de SVM e segurança através da validação e liquidação do Ethereum.

Lumio adota uma filosofia de design independente das camadas de execução e liquidação, suportando várias máquinas virtuais e compatível com diversas redes L1/L2: Ethereum, Aptos, Optimism, Avalanche, zkSync e outras. Ele executa transações através do VM Move e as liquida através do EVM, conectando assim os ecossistemas Ethereum e Aptos.

No entanto, as ambições da Lumio não param por aí. Sua visão é fornecer chamadas cruzadas de máquina virtual para alcançar conectividade de liquidez multi-blockchain na velocidade mais alta e nas taxas mais baixas.

Os acima são os principais projetos atualmente relacionados à narrativa paralela do EVM, conforme mostrado no diagrama a seguir.

6. Conclusão e Perspectivas

As pessoas frequentemente comparam o Bitcoin a um "registro distribuído" e o Ethereum a uma "máquina de estado distribuída". Se considerarmos todos os nós operando uma rede blockchain como um único computador, então as blockchains paralelas estudam fundamentalmente como maximizar a utilização dos recursos de processamento deste "computador" para alcançar as velocidades de execução mais rápidas.

Esta é uma evolução inevitável na história da tecnologia da computação, semelhante ao desenvolvimento de processadores de núcleo único para processadores multi-núcleo e sistemas operacionais evoluindo de single-user single-thread para multi-user multi-threading. Isso tem implicações significativas para o contínuo desenvolvimento da indústria.

Os princípios técnicos do EVM paralelo podem ser divididos em dois componentes: a máquina virtual e o mecanismo de execução paralela. No contexto da blockchain, a máquina virtual integra um conjunto de instruções para a execução distribuída de contratos e execução de dApps. O mecanismo de execução paralela foca principalmente em maximizar a velocidade de execução de transações, garantindo a precisão dos resultados das transações.

Por um lado, as EVMs paralelas compartilham princípios técnicos comuns. Em primeiro lugar, o modelo de paralelização otimista é um consenso para blockchains públicas de L1. No entanto, isso não significa que o modelo de bloqueio de memória seja inútil. A superioridade tecnológica não existe; é o nível de habilidade dos desenvolvedores que varia.

Em segundo lugar, projetos como Fuel acreditam firmemente que mecanismos de dimensionamento off-chain só podem atingir seu desempenho máximo após modularização. Por fim, inúmeros projetos L2 buscam aumentar a taxa de transações ao integrar-se com blockchains públicas paralelas de L1, alcançando assim capacidades de dimensionamento entre ecossistemas.

Por outro lado, os blockchains paralelos têm suas conquistas técnicas únicas. Mesmo ao adotar o mesmo modelo de execução paralela, diferentes equipes implementaram padrões de design arquitetônico variados, modelos de dados ou mecanismos de pré-processamento. A exploração tecnológica é interminável, e diferentes projetos desenvolvem tecnologias distintas com base em visões diferentes para elevar a prática a níveis mais altos.

Olhando para frente, mais projetos L1 e L2 se juntarão à competição em paralelo EVMs. A pista L1 verá uma competição abrangente entre EVMs paralelos e campos não-EVM em recursos de processador, recursos de armazenamento, recursos de rede, recursos de sistema de arquivos e recursos de dispositivo. Essa competição também dará origem a novas narrativas relacionadas ao aprimoramento de desempenho. Enquanto isso, a pista L2 evoluirá para simuladores de máquinas virtuais blockchain ou blockchains modulares.

No futuro, as otimizações de infraestrutura trarão velocidades mais rápidas, custos mais baixos e maior eficiência. Os empreendedores da Web3 podem inovar ousadamente modelos de negócios para criar melhores experiências de produtos descentralizados em todo o mundo, florescendo ainda mais o ecossistema da indústria. Para os investidores da Web3, focar apenas na tecnologia é insuficiente.

Ao escolher alvos de investimento, os investidores devem considerar narrativas, capitalização de mercado e liquidez, selecionando projetos com “boas narrativas”, “baixa capitalização de mercado” e “alta liquidez”. Em seguida, eles devem aprofundar-se nos negócios, histórico da equipe, modelo econômico, marketing e projetos ecológicos, descobrindo assim projetos potenciais e encontrando caminhos de investimento adequados.

EVMs paralelos ainda estão em estágios iniciais de desenvolvimento, com projetos como Neon, Monad, Canto, Eclipse, Fuel e Lumio na fase em que seu valor ainda não foi totalmente realizado. Especialmente, Monad, Canto e Fuel.

Pelo estilo de marketing da Monad, não só é notável por si só, mas os projetos de meme dentro de seu ecossistema também merecem atenção, o que pode levar a histórias de enriquecimento rápido impulsionadas pelo hype. O Canto reúne as condições de "boa narrativa" e "baixa avaliação de mercado", mas se é um bom alvo de investimento ainda requer um exame minucioso de seus vários indicadores. O combustível representa uma direção popular no desenvolvimento de blockchains modulares e também pode dar origem a novas oportunidades de investimento, todas direções dignas de nossa atenção.

declaração:

  1. Este artigo é reproduzido de Gryphsis Academy), o título original é "Ten Thousand Words Interpretation of Parallel EVM: How to Break through the Blockchain Performance Bottleneck?", os direitos autorais pertencem ao autor original [@leesper6], se você tiver alguma objeção à reimpressão, entre em contatoEquipe de Aprendizado da Gate, a equipe lidará com isso o mais rápido possível de acordo com os procedimentos relevantes.

  2. Aviso legal: As visões e opiniões expressas neste artigo representam apenas as visões pessoais do autor e não constituem nenhum conselho de investimento.

  3. Outras versões do artigo em outros idiomas são traduzidas pela equipe do Gate Learn e não são mencionadas.GateO artigo traduzido não pode ser reproduzido, distribuído ou plagiado.

Bắt đầu giao dịch
Đăng ký và giao dịch để nhận phần thưởng USDTEST trị giá
$100
$5500