Revisão do desenvolvimento da tecnologia EVM paralela: da Layer1 de alto desempenho à exploração de projetos emergentes

EVM: O componente central do Ethereum

EVM é o núcleo do Ethereum, responsável por executar contratos inteligentes e processar transações. É um motor de computação que fornece uma abstração de computação e armazenamento, semelhante à máquina virtual Java. O EVM executa seu próprio conjunto de instruções em bytecode, normalmente compilado a partir do Solidity.

EVM é uma máquina de estados quase Turing completa. "Quase" porque todos os passos de execução consomem recursos limitados de Gas, portanto, qualquer execução de contrato inteligente dada será limitada a um número finito de passos de cálculo, evitando a possibilidade de loops infinitos que poderiam parar toda a plataforma Ethereum.

A EVM não tem função de agendamento, o módulo de execução do Ethereum retira transações dos blocos e a EVM é responsável pela execução sequencial. Durante a execução, o estado mundial mais recente é modificado, e após a execução de uma transação, o estado é acumulado até atingir o estado mundial mais recente após a conclusão do bloco. A execução do próximo bloco depende estritamente do estado mundial após a execução do bloco anterior, portanto, o processo de execução linear das transações do Ethereum não pode ser otimizado bem para execução paralela.

Nesse sentido, o protocolo Ethereum estipula que as transações sejam executadas em ordem. Embora a execução em ordem garanta que as transações e contratos inteligentes possam ser executados em uma sequência determinística, assegurando a segurança, em situações de alta carga, isso pode levar a congestionamentos e atrasos na rede. Esta é também a razão pela qual o Ethereum apresenta grandes gargalos de desempenho e necessita da escalabilidade via Layer2 Rollup.

EVM Paralelo: A Cirurgia de Coração de Alto Desempenho Layer1

O caminho paralelo de um Layer 1 de alto desempenho

A maioria das Layer 1 de alto desempenho é projetada com base na falha do Ethereum em processar em paralelo, aqui falamos apenas sobre a otimização da camada de execução, ou seja, da máquina virtual e da execução paralela.

Máquina Virtual

O EVM é projetado como uma máquina virtual de 256 bits, com o objetivo de facilitar o processamento do algoritmo de hash do Ethereum, produzindo claramente uma saída de 256 bits. No entanto, os computadores que executam o EVM precisam mapear os bytes de 256 bits para a arquitetura local para executar contratos inteligentes, tornando todo o sistema muito ineficiente e impraticável. Portanto, em termos de escolha de máquinas virtuais, os Layer1 de alto desempenho geralmente utilizam máquinas virtuais baseadas em WASM, código de byte eBPF ou código de byte Move, em vez do EVM.

WASM é um formato de bytecode pequeno, de carregamento rápido, portátil e baseado em um mecanismo de segurança em sandbox, onde os desenvolvedores podem escrever contratos inteligentes usando várias linguagens de programação, que são depois compilados em bytecode WASM e executados. O WASM já foi adotado como padrão por muitos projetos de blockchain, incluindo EOS, Dfinity, Polkadot, entre outros; o Ethereum também integrará o WASM no futuro, garantindo que a camada de execução do Ethereum seja mais eficiente e simples, tornando-se adequada como uma plataforma de computação completamente descentralizada.

O eBPF é a evolução do BPF, que originalmente era utilizado para filtragem eficiente de pacotes de dados de rede. Após evolução, formou-se o eBPF, que oferece um conjunto de instruções mais rico, permitindo a intervenção e modificação dinâmica do comportamento do núcleo do sistema operacional sem a necessidade de alterar o código-fonte. Posteriormente, essa tecnologia saiu do núcleo e desenvolveu um runtime de eBPF em espaço de usuário, que apresenta alta performance, segurança e portabilidade. Os contratos inteligentes executados em uma determinada blockchain são compilados em SBF( baseado em bytecode de eBPF) e são executados na rede blockchain correspondente.

Move é uma nova linguagem de programação de contratos inteligentes, focada em flexibilidade, segurança e verificabilidade. A linguagem Move foi projetada para resolver problemas de segurança em ativos e transações, permitindo que ativos e transações sejam rigorosamente definidos e controlados. O validador de bytecode Move é uma ferramenta de análise estática que analisa o bytecode Move e determina se ele cumpre as regras exigidas de segurança de tipo, memória e recursos, sem a necessidade de implementação ou verificação em nível de contrato inteligente em tempo de execução. Algumas novas blockchains emergentes herdaram o Move, ou escrevem seus contratos inteligentes através de versões personalizadas.

EVM paralelo: a técnica de troca de coração de Layer1 de alto desempenho

Execução paralela

A execução paralela na blockchain significa processar transações não relacionadas ao mesmo tempo. Considere as transações não relacionadas como eventos que não se afetam mutuamente. Por exemplo, se duas pessoas trocarem tokens em plataformas de negociação diferentes, suas transações podem ser processadas simultaneamente. No entanto, se elas trocarem na mesma plataforma, pode ser necessário executar as transações em uma ordem específica.

O principal desafio da execução paralela é determinar quais transações são irrelevantes e quais são independentes. A maioria das Layer1 de alto desempenho depende de dois métodos: o método de acesso ao estado e o modelo de paralelismo otimista.

O método de acesso ao estado precisa saber previamente qual parte do estado da blockchain cada transação pode acessar, para assim analisar quais transações são independentes.

Em algumas blockchains públicas, o contrato inteligente ( é sem estado, pois não pode acessar qualquer estado que persista durante todo o processo de transação. Para acessar ou manter estado, o programa precisa usar contas. Cada transação deve especificar quais contas serão acessadas durante a execução da transação, permitindo que o tempo de execução do processamento da transação agende a execução paralela de transações não sobrepostas, garantindo a consistência dos dados.

Em algumas blockchains públicas, cada contrato inteligente é um módulo, composto por definições de funções e estruturas. As estruturas são instanciadas nas funções e podem ser passadas para outros módulos através de chamadas de função. As instâncias de estrutura armazenadas em tempo de execução existem como objetos, e há três tipos diferentes de objetos: objetos proprietários, objetos compartilhados e objetos imutáveis. A estratégia de paralelização é semelhante à blockchain pública mencionada anteriormente, e as transações também precisam especificar quais objetos operar.

O modelo de paralelismo otimista funciona sob a suposição de que todas as transações são independentes, apenas validando retroativamente essa suposição e fazendo ajustes quando necessário.

Algumas blockchains utilizam o método de memória de transação de bloco Block-STM) para aplicar execução paralela otimista. No Block-STM, as transações são configuradas dentro do bloco em uma determinada ordem e, em seguida, divididas entre diferentes threads de processamento para serem executadas simultaneamente. Ao processar essas transações, o sistema rastreia a posição da memória alterada por cada transação. Após cada rodada de processamento, o sistema verifica todos os resultados das transações. Se descobrir que uma transação afetou uma posição de memória alterada por transações anteriores, apaga seu resultado e executa novamente. Esse processo continua até que todas as transações no bloco sejam processadas.

EVM paralelo: a cirurgia de troca de coração de uma Layer1 de alto desempenho

EVM paralelo

O EVM paralelo foi mencionado pela primeira vez em 2021, na altura referindo-se a um EVM que suporta o processamento simultâneo de várias transações, com o objetivo de melhorar o desempenho e a eficiência do EVM existente. As soluções representativas incluem um EVM paralelo implementado por uma determinada plataforma com base no Block-STM, bem como um EVM paralelo desenvolvido em colaboração por algumas cadeias públicas.

Mas no final de 2023, figuras conhecidas da indústria mencionaram simultaneamente, ao refletir sobre as tendências de 2024, o EVM paralelo, acendendo uma onda de Layer 1 compatível com EVM que adotou a tecnologia de execução paralela, incluindo Monand e Sei.

Atualmente, algumas soluções compatíveis com EVM em blockchains públicas, Layer2 Rollup do SVM do Ethereum, Layer2 Rollup da máquina virtual Move do Ethereum, camada de execução modular Layer1, entre outras, estão todas sendo rotuladas como EVM paralelo, deixando as pessoas deslumbradas.

As únicas três categorias que podem ser definidas como EVMs paralelas são:

  1. Atualização de execução paralela para Layer1 compatível com EVM que não utiliza tecnologia de execução paralela;

  2. Layer 1 compatível com EVM que utiliza tecnologia de execução paralela;

  3. Uma solução EVM compatível de Layer 1 não compatível com EVM que utiliza tecnologia de execução paralela.

Alguns Layer1 compatíveis com EVM populares não precisam de mais apresentações, aqui está uma breve introdução a alguns projetos emergentes.

EVM Paralelo: A Cirurgia de Coração de Alta Performance Layer1

Monad é uma Layer1 de alto desempenho compatível com EVM que adota o mecanismo PoS, visando melhorar significativamente a escalabilidade e a velocidade das transações por meio da execução paralela. Monad permite a execução paralela de transações dentro do bloco para aumentar a eficiência. Utiliza um modelo de paralelismo otimista, começando a executar novas transações antes que a execução da etapa anterior seja concluída. Para lidar com resultados incorretos, Monad rastreia as entradas/saídas e reexecuta transações inconsistentes. Um analisador de código estático pode prever dependências, evitando paralelismo inválido, e retornar a um modo simples quando há incerteza. Essa execução paralela aumenta a taxa de transferência, ao mesmo tempo que reduz a probabilidade de falhas nas transações.

Sei é uma Layer 1 desenvolvida com base no Cosmos SDK, projetada especificamente para DeFi como uma blockchain pública. Sei V2 é uma grande atualização da rede Sei, com o objetivo de se tornar a primeira EVM totalmente paralela. Assim como a Monad, Sei V2 usará paralelização otimista. Isso permite que a blockchain execute transações simultaneamente, sem que os desenvolvedores precisem definir quaisquer dependências. Quando ocorrem conflitos, a blockchain rastreará cada parte do armazenamento acessada por cada transação e reexecutará essas transações em ordem. Este processo continuará recursivamente até que todos os conflitos não resolvidos sejam resolvidos.

EVM Paralelo: A cirurgia de troca do alto desempenho Layer1

Artela é uma rede de blockchain escalável que permite aos desenvolvedores construir aplicações descentralizadas ricas em funcionalidades. O EVM++ lançado pela Artela representa uma EVM paralela de alta escalabilidade + alto desempenho, dividida em duas fases de implementação. A primeira fase será projetada em torno da execução paralela, com base na execução paralela, garantindo que a capacidade de computação dos nós da rede seja escalável através de computação elástica, alcançando finalmente um espaço de bloco elástico. A execução paralela agrupará transações com base na análise de conflitos de dependência de transações para suportar a execução paralela.

Uma solução compatível com EVM em uma blockchain pública é uma solução para executar transações EVM sobre essa blockchain. Esta EVM é, na verdade, um contrato inteligente na blockchain pública, que implementa um interpretador EVM, compilado em código de byte SBF. A EVM implementa internamente um conjunto de modelos de transação e de conta do Ethereum, onde os usuários precisam apenas pagar as taxas de GAS EVM para enviar transações. As taxas da rede da blockchain pública são pagas pelo Proxy. A blockchain pública exige que as transações forneçam uma lista de contas, e as transações embaladas não são exceção, portanto, as responsabilidades do Proxy incluem gerar essa lista de contas, ao mesmo tempo em que obtém a capacidade de execução paralela de transações da blockchain pública.

Existem outros projetos semelhantes que utilizam o EVM como execução de contratos inteligentes para alcançar a compatibilidade com o EVM. Teoricamente, certas novas blockchains emergentes também podem adotar este esquema para alcançar compatibilidade com o EVM sem invasão, e há equipes trabalhando neste sentido. Este projeto é uma estrutura modular, destinada à construção e implementação de infraestrutura, aplicações e blockchains baseadas em Move em qualquer ambiente distribuído. Seus módulos podem converter de forma transparente os códigos de operação do EVM para os códigos de operação do Move, o que significa que projetos em Solidity podem aproveitar as vantagens de desempenho e segurança do Move, sem a necessidade de uma única linha de código Move.

A compatibilidade com EVM permite que os desenvolvedores migrem facilmente suas aplicações Ethereum para a blockchain, sem a necessidade de grandes modificações, sendo uma boa direção para construir um ecossistema.

EVM paralelo: a cirurgia de troca de coração de um Layer1 de alto desempenho

Resumo

A tecnologia de paralelismo na blockchain já é um tema recorrente, a narrativa surge a cada período, mas atualmente a maior parte se concentra na modificação e imitação do modelo de execução otimista representado pelo mecanismo Block-STM da Aptos, sem avanços substanciais, portanto, a popularidade é difícil de se manter.

Olhando para o futuro, haverá mais projetos emergentes de Layer1 a entrarem na competição de EVM paralela, e alguns Layer1 antigos também implementarão upgrades paralelos de EVM ou soluções compatíveis com EVM. Ambas as direções convergem, e ainda nascerão mais novas narrativas relacionadas à melhoria de desempenho.

No entanto, em comparação com a narrativa do EVM de alto desempenho, a possibilidade de a blockchain florescer com narrativas semelhantes ao WASM, SVM e Move VM pode ser mais promissora.

EVM paralelo: a troca de coração de um Layer1 de alto desempenho

ETH-3.05%
MOVE-3.6%
Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
  • Recompensa
  • 3
  • Compartilhar
Comentário
0/400
MeaninglessApevip
· 23h atrás
Ainda a falar sobre EVM, não se cansa?
Ver originalResponder0
DaoResearchervip
· 08-01 20:36
Citando a seção 2.3 do livro amarelo do ETH, a acoplamento da máquina de estados no padrão Singleton ainda precisa ser verificado.
Ver originalResponder0
ProveMyZKvip
· 08-01 20:34
Gas咋又 subir了
Ver originalResponder0
Faça trade de criptomoedas em qualquer lugar e a qualquer hora
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)