EVM é o núcleo do Ethereum, responsável por executar contratos inteligentes e processar transações. Como um motor de computação, o EVM fornece uma abstração de computação e armazenamento, semelhante à especificação da Java Virtual Machine (JVM). O EVM executa seu próprio conjunto de instruções em bytecode, que geralmente é 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, evitando a possibilidade de loops infinitos que poderiam parar toda a plataforma Ethereum.
O EVM não possui funcionalidade de agendamento, o módulo de execução do Ethereum retira transações dos blocos, e o EVM é responsável por executá-las em sequência. Durante o processo de execução, o estado mundial mais recente é modificado; após a conclusão de uma transação, o estado é acumulado, atingindo 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 dificulta a otimização de execução paralela.
Nesse sentido, o protocolo Ethereum estabelece 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 ordem determinística, assegurando a segurança, em situações de alta carga, isso pode levar a congestionamentos e atrasos na rede, que é também a razão pela qual o Ethereum enfrenta gargalos de desempenho e necessita de escalabilidade através de Rollups de Layer 2.
O caminho paralelo de um Layer1 de alto desempenho
A maioria das Layer 1 de alto desempenho baseia-se nas falhas do Ethereum em não poder processar em paralelo para projetar suas próprias soluções de otimização, focando principalmente em duas áreas: a máquina virtual e a execução paralela.
Máquina Virtual
O EVM foi projetado como uma máquina virtual de 256 bits, com o objetivo de facilitar o processamento do algoritmo de hash do Ethereum. 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. Assim, na escolha da máquina virtual, as Layer1 de alto desempenho adotam mais frequentemente máquinas virtuais baseadas em WASM, eBPF ou bytecode 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 de sandbox. Os desenvolvedores podem usar várias linguagens de programação para escrever contratos inteligentes e, em seguida, compilar para bytecode WASM e executá-los. O WASM já foi adotado como padrão por muitos projetos de blockchain, incluindo EOS, Dfinity, Polkadot, entre outros.
eBPF é originado do BPF (Berkeley Packet Filter), oferecendo um conjunto de instruções mais rico, permitindo a intervenção dinâmica e a modificação do comportamento do núcleo do sistema operacional sem modificar o código-fonte. Os contratos inteligentes executados na Solana são compilados em bytecode SBF (baseado em eBPF) e executados em sua rede de blockchain.
Move é uma nova linguagem de programação de contratos inteligentes projetada pelo Diem, focando na flexibilidade, segurança e verificabilidade. A linguagem Move visa resolver problemas de segurança em ativos e transações, permitindo que os ativos e transações sejam rigorosamente definidos e controlados. Aptos e Sui utilizam variantes da linguagem Move para escrever contratos inteligentes.
Execução em paralelo
A execução paralela na blockchain significa processar transações não relacionadas ao mesmo tempo. O principal desafio para a execução paralela é determinar quais transações são não relacionadas e quais são independentes. A maioria das Layer1 de alto desempenho depende de duas abordagens: o método de acesso ao estado e o modelo de paralelismo otimista.
O método de acesso ao estado requer saber antecipadamente qual parte do estado da blockchain cada transação pode acessar, permitindo a análise de quais transações são independentes. Solana e Sui adotaram esse método.
O modelo de execução paralela otimista assume que todas as transações são independentes, validando retroactivamente essa suposição e ajustando-a quando necessário. A Aptos adotou essa abordagem, utilizando o Block-STM (Memória de Transação de Software em Blocos) para aplicar a execução paralela otimista.
EVM em paralelo
O EVM Paralelo (Parallel EVM) tem como objetivo melhorar o desempenho e a eficiência do EVM existente. Atualmente, podem ser definidas três principais categorias de EVM Paralelo:
Upgrade de execução paralela para Layer1 compatível com EVM que não utiliza tecnologia de execução paralela, como BSC e Polygon.
Camada 1 compatível com EVM que utiliza tecnologia de execução paralela, como Monand, Sei V2 e Artela.
Soluções EVM compatíveis não compatíveis com EVM de Layer1 que utilizam tecnologia de execução paralela, como Solana Neon.
Monad é uma Layer1 de alto desempenho compatível com EVM que utiliza o mecanismo PoS, empregando um modelo de paralelismo otimista para realizar a execução paralela de transações dentro do bloco.
Sei V2 é uma grande atualização da rede Sei, destinada a ser o primeiro EVM totalmente paralelo. Assim como o Monad, o Sei V2 usará paralelização otimista.
O EVM++ lançado pela Artela representa uma EVM paralela de alta escalabilidade + alto desempenho, que será implementada em duas fases, sendo que a primeira fase será projetada em torno da execução paralela.
Solana Neon é a solução desenvolvida pela Neon Labs para executar transações EVM sobre a Solana. O Neon EVM é, na verdade, um contrato inteligente na Solana, que implementa um interpretador EVM.
Resumo
A tecnologia de paralelismo na blockchain é um tópico em contínua evolução. Atualmente, a principal atenção está voltada para a transformação e imitação do modelo de execução otimista representado pelo mecanismo Block-STM da Aptos. No futuro, é possível que mais projetos emergentes de Layer1 se juntem à competição de EVM paralela, enquanto alguns Layer1 existentes também podem implementar atualizações de paralelismo EVM ou soluções compatíveis com EVM.
Além da narrativa de alto desempenho do EVM, o campo da blockchain pode apresentar um desenvolvimento mais diversificado, como a aplicação e inovação de diferentes tecnologias de máquinas virtuais, como WASM, SVM e Move VM. Essa diversidade ajudará a impulsionar o progresso e a inovação em todo o ecossistema de blockchain.
Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
Nova tendência de paralelização EVM: inovações e desafios de Layer1 de alto desempenho
EVM: O componente central do Ethereum
EVM é o núcleo do Ethereum, responsável por executar contratos inteligentes e processar transações. Como um motor de computação, o EVM fornece uma abstração de computação e armazenamento, semelhante à especificação da Java Virtual Machine (JVM). O EVM executa seu próprio conjunto de instruções em bytecode, que geralmente é 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, evitando a possibilidade de loops infinitos que poderiam parar toda a plataforma Ethereum.
O EVM não possui funcionalidade de agendamento, o módulo de execução do Ethereum retira transações dos blocos, e o EVM é responsável por executá-las em sequência. Durante o processo de execução, o estado mundial mais recente é modificado; após a conclusão de uma transação, o estado é acumulado, atingindo 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 dificulta a otimização de execução paralela.
Nesse sentido, o protocolo Ethereum estabelece 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 ordem determinística, assegurando a segurança, em situações de alta carga, isso pode levar a congestionamentos e atrasos na rede, que é também a razão pela qual o Ethereum enfrenta gargalos de desempenho e necessita de escalabilidade através de Rollups de Layer 2.
O caminho paralelo de um Layer1 de alto desempenho
A maioria das Layer 1 de alto desempenho baseia-se nas falhas do Ethereum em não poder processar em paralelo para projetar suas próprias soluções de otimização, focando principalmente em duas áreas: a máquina virtual e a execução paralela.
Máquina Virtual
O EVM foi projetado como uma máquina virtual de 256 bits, com o objetivo de facilitar o processamento do algoritmo de hash do Ethereum. 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. Assim, na escolha da máquina virtual, as Layer1 de alto desempenho adotam mais frequentemente máquinas virtuais baseadas em WASM, eBPF ou bytecode 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 de sandbox. Os desenvolvedores podem usar várias linguagens de programação para escrever contratos inteligentes e, em seguida, compilar para bytecode WASM e executá-los. O WASM já foi adotado como padrão por muitos projetos de blockchain, incluindo EOS, Dfinity, Polkadot, entre outros.
eBPF é originado do BPF (Berkeley Packet Filter), oferecendo um conjunto de instruções mais rico, permitindo a intervenção dinâmica e a modificação do comportamento do núcleo do sistema operacional sem modificar o código-fonte. Os contratos inteligentes executados na Solana são compilados em bytecode SBF (baseado em eBPF) e executados em sua rede de blockchain.
Move é uma nova linguagem de programação de contratos inteligentes projetada pelo Diem, focando na flexibilidade, segurança e verificabilidade. A linguagem Move visa resolver problemas de segurança em ativos e transações, permitindo que os ativos e transações sejam rigorosamente definidos e controlados. Aptos e Sui utilizam variantes da linguagem Move para escrever contratos inteligentes.
Execução em paralelo
A execução paralela na blockchain significa processar transações não relacionadas ao mesmo tempo. O principal desafio para a execução paralela é determinar quais transações são não relacionadas e quais são independentes. A maioria das Layer1 de alto desempenho depende de duas abordagens: o método de acesso ao estado e o modelo de paralelismo otimista.
O método de acesso ao estado requer saber antecipadamente qual parte do estado da blockchain cada transação pode acessar, permitindo a análise de quais transações são independentes. Solana e Sui adotaram esse método.
O modelo de execução paralela otimista assume que todas as transações são independentes, validando retroactivamente essa suposição e ajustando-a quando necessário. A Aptos adotou essa abordagem, utilizando o Block-STM (Memória de Transação de Software em Blocos) para aplicar a execução paralela otimista.
EVM em paralelo
O EVM Paralelo (Parallel EVM) tem como objetivo melhorar o desempenho e a eficiência do EVM existente. Atualmente, podem ser definidas três principais categorias de EVM Paralelo:
Upgrade de execução paralela para Layer1 compatível com EVM que não utiliza tecnologia de execução paralela, como BSC e Polygon.
Camada 1 compatível com EVM que utiliza tecnologia de execução paralela, como Monand, Sei V2 e Artela.
Soluções EVM compatíveis não compatíveis com EVM de Layer1 que utilizam tecnologia de execução paralela, como Solana Neon.
Monad é uma Layer1 de alto desempenho compatível com EVM que utiliza o mecanismo PoS, empregando um modelo de paralelismo otimista para realizar a execução paralela de transações dentro do bloco.
Sei V2 é uma grande atualização da rede Sei, destinada a ser o primeiro EVM totalmente paralelo. Assim como o Monad, o Sei V2 usará paralelização otimista.
O EVM++ lançado pela Artela representa uma EVM paralela de alta escalabilidade + alto desempenho, que será implementada em duas fases, sendo que a primeira fase será projetada em torno da execução paralela.
Solana Neon é a solução desenvolvida pela Neon Labs para executar transações EVM sobre a Solana. O Neon EVM é, na verdade, um contrato inteligente na Solana, que implementa um interpretador EVM.
Resumo
A tecnologia de paralelismo na blockchain é um tópico em contínua evolução. Atualmente, a principal atenção está voltada para a transformação e imitação do modelo de execução otimista representado pelo mecanismo Block-STM da Aptos. No futuro, é possível que mais projetos emergentes de Layer1 se juntem à competição de EVM paralela, enquanto alguns Layer1 existentes também podem implementar atualizações de paralelismo EVM ou soluções compatíveis com EVM.
Além da narrativa de alto desempenho do EVM, o campo da blockchain pode apresentar um desenvolvimento mais diversificado, como a aplicação e inovação de diferentes tecnologias de máquinas virtuais, como WASM, SVM e Move VM. Essa diversidade ajudará a impulsionar o progresso e a inovação em todo o ecossistema de blockchain.