EVM Paralelo: Superando a Serialização, Rompendo o Gargalo de Performance do Blockchain
A rede Blockchain criou uma nova base de confiança descentralizada para transações pessoais e empresariais. Com o crescimento próspero da indústria, foram feitas exigências mais altas em relação à experiência do produto, especialmente em termos de desempenho. Após o DeFi Summer de 2020 e a explosão contínua dos tokens no ecossistema Bitcoin no final de 2023, a indústria precisa urgentemente de novas soluções de melhoria de desempenho para atender aos requisitos de "alto desempenho, baixas taxas". A Blockchain paralela nasceu nesse contexto.
A narrativa do EVM paralelo marca a formação de um cenário competitivo de dois grandes concorrentes no campo das blockchains paralelas. O processamento de transações do Ethereum é serial, com as transações sendo executadas uma após a outra em ordem, resultando em uma baixa taxa de utilização de recursos. Mudar de um modo de processamento serial para um processamento paralelo traria um enorme aumento de desempenho. Concorrentes do Ethereum como Solana, Aptos e Sui já possuem capacidade de processamento paralelo, e seus ecossistemas também estão se desenvolvendo muito bem, formando um campo não-EVM paralelo. Diante do desafio, o ecossistema do Ethereum também se mobilizou para capacitar o EVM, formando um campo EVM paralelo.
Atualmente, o valor de mercado total de L1 e L2 é de 7521,23 bilhões de dólares, e o valor de mercado de blockchain paralela é de 525,39 bilhões de dólares, representando apenas cerca de 7%. Dentre eles, o valor de mercado dos projetos relacionados à narrativa EVM paralela é de 23,39 bilhões de dólares, o que representa apenas 4% do valor de mercado da blockchain paralela. É evidente que a narrativa EVM paralela ainda tem um grande espaço para crescimento de mercado, e o segmento de blockchain paralela ao qual pertence a narrativa EVM paralela também tem um grande espaço para crescimento de mercado, portanto, as perspectivas de mercado são amplas.
O projeto de narrativa EVM paralelo é principalmente dividido em blockchain monolítica e blockchain modular, sendo a blockchain monolítica subdividida em L1 e L2. L1 é uma nova blockchain pública que possui capacidade de execução paralela, sendo uma infraestrutura de alto desempenho. Projetos como Sei v2, Monad e Canto projetam suas próprias EVMs paralelas, compatíveis com o ecossistema Ethereum e oferecem alta capacidade de processamento de transações. L2, ao integrar as capacidades de outras cadeias L1, fornece capacidade de escalabilidade para colaboração entre ecossistemas, sendo a tendência dos rollups. Neon é um simulador EVM na rede Solana, enquanto Eclipse utiliza Solana para executar transações, mas faz a liquidação na EVM. Lumio é semelhante ao Eclipse, apenas trocando a camada de execução por Aptos. Fuel propõe sua própria abordagem de blockchain modular, focando na execução de transações e terceirizando o restante para uma ou mais camadas de blockchain independentes, alcançando uma combinação mais flexível.
A EVM paralela é principalmente uma otimização de desempenho da camada de execução. Isso divide-se em duas soluções: uma solução de rede de camada 1 (L1) e uma solução de rede de camada 2 (L2). A solução L1 introduz um mecanismo de execução paralela de transações, permitindo que as transações sejam executadas de forma paralela na máquina virtual. A solução L2 é essencialmente utilizar a máquina virtual L1 já paralelizada para implementar um certo grau de "execução fora da cadeia + liquidação na cadeia".
No contexto da blockchain, uma máquina virtual refere-se à virtualização de uma máquina de estado distribuído, utilizada para executar contratos de forma distribuída e para executar dApps. EVM é um tipo de máquina virtual de processo projetada para a linguagem Solidity, onde os contratos inteligentes são primeiro compilados em bytecode opcode e, em seguida, interpretados e executados pela EVM.
A execução paralela refere-se a tirar proveito das vantagens dos processadores multicore, executando o máximo possível de várias transações ao mesmo tempo, garantindo que o estado final seja consistente com o resultado da execução serial. O mecanismo de execução paralela divide-se em três categorias: comunicação de mensagens, memória compartilhada e listas de acesso a estados estritos. A memória compartilhada divide-se em modelo de bloqueio de memória e paralelização otimista.
No modelo de transmissão de mensagens, cada executor responsável por processar transações é um ator, e todos eles têm acesso aos seus próprios dados privados. Para acessar os dados privados de outros, só é possível fazê-lo através de envio de mensagens. A vantagem desse modelo é que cada ator só pode acessar seus próprios dados privados, portanto, não há problemas de condições de corrida. No entanto, a desvantagem é que cada ator só pode executar em série, e em certos cenários, isso não aproveita a vantagem da paralelização, além de não haver informações globais sobre o estado atual do sistema.
O modelo de bloqueio de memória permite que tarefas em execução paralela realizem uma operação de bloqueio ao acessar recursos compartilhados. Após o bloqueio, o acesso aos recursos compartilhados é permitido, e, nesse momento, outras tarefas devem esperar até que a tarefa em execução termine a modificação e desbloqueie para que possam ser bloqueadas e acessar os recursos novamente. Esse mecanismo parece simples, mas sua implementação é bastante complexa e exige uma grande habilidade dos desenvolvedores em programação multithread. É fácil encontrar problemas como deadlock, livelock e starvation.
A ideia central da paralelização otimista é assumir primeiro que todas as tarefas são mutuamente independentes. Execute as tarefas em paralelo e, em seguida, valide cada tarefa; se a validação falhar, a tarefa será executada novamente até que todas as tarefas sejam concluídas. Este modelo utiliza uma estrutura de dados de memória de múltiplas versões para registrar cada valor escrito e suas informações de versão. A execução de cada tarefa paralela é dividida em duas fases: execução e validação. A velocidade de execução é extremamente rápida, mas a execução e validação de transações complexas são deixadas para a equipe central que implementa o mecanismo subjacente.
A lista de acesso de estado rigorosa é implementada com base no modelo UTXO para execução paralela. Ela calcula antecipadamente os endereços de conta que cada transação irá acessar, formando uma lista de acesso. Com base na lista de acesso, várias coleções de transações são formadas, onde não há interseção na lista de acesso entre as coleções de transações ( sem dependência ), permitindo assim que várias coleções de transações sejam executadas em paralelo.
Independentemente do mecanismo de execução paralela adotado, a complexidade técnica aumentou. O código é escrito por humanos, e sendo assim, é suscetível a erros. A complexidade técnica trazida pela computação paralela oferece um terreno fértil para o surgimento de riscos de segurança. Os profissionais precisam estar altamente atentos às possíveis questões de segurança que possam existir.
Sei é uma blockchain pública genérica baseada em tecnologia de código aberto, com uma capitalização de mercado de quase 2,2 bilhões de dólares. Sei v2 é chamada de a primeira blockchain EVM paralela, e esta atualização de versão trará compatibilidade retroativa para contratos inteligentes EVM, reutilização de ferramentas/aplicações comuns como Metamask, paralelização otimista, otimização de armazenamento da SeiDB, suporte à interoperabilidade sem costura entre Ethereum e outras blockchains, entre outras novas funcionalidades.
Monad é considerado um potencial disruptor na corrida L1. Atualmente, o projeto já alcançou com sucesso a tarefa de marco de lançar a rede de testes interna e está se esforçando para abrir a rede de testes pública. Monad introduziu duas mecânicas na máquina virtual Ethereum: uma é a tecnologia de pipeline superscalar, e a outra é o mecanismo de paralelismo otimista melhorado. Atualmente, o desempenho atinge 10000 TPS e consegue minerar um bloco em 1 segundo.
Canto é um projeto L1 altamente descentralizado construído sobre o Cosmos SDK. A principal visão do Canto é se tornar uma plataforma de valor DeFi acessível, transparente, descentralizada e gratuita. O Canto anunciou seu novo plano de iteração técnica em 18 de março de 2024, que incluirá uma atualização paralela do EVM: introduzindo a paralelização otimista através da implementação do Cyclone EVM.
Fuel é um sistema operacional "rollup Ethereum" modular e personalizado. O Fuel utiliza UTXO como modelo de dados, e uma vantagem desse modelo de dados é que suas saídas de transação têm apenas dois estados: ou foram gastas, registradas permanentemente no histórico de transações do bloco; ou não foram gastas, podendo ser utilizadas em transações futuras. Isso minimiza o armazenamento de dados de estado em cada nó na cadeia. Com isso, o Fuel verifica as informações da conta acessadas por cada transação, identificando as dependências antes da execução da transação, programando a execução paralela de transações sem dependências, aumentando a taxa de processamento das transações.
As soluções L2 têm uma característica comum: combinam as capacidades de duas máquinas virtuais, melhorando a velocidade de execução das transações. Especificamente, isso significa utilizar o L1 em paralelo para executar transações, mas de forma compatível com outras cadeias (, suportando duas máquinas virtuais ). A diferença está nos diferentes mecanismos de compatibilidade adotados por diferentes projetos. Neon, Eclipse e Lumio são bastante representativos.
Neon é um simulador EVM na rede Solana que opera na forma de contratos inteligentes. Os desenvolvedores podem usar linguagens como Solidity e Vyper para escrever aplicações dApp, e podem utilizar ferramentas como MetaMask, Hardhat, Remix e a API RPC compatível com Ethereum, contas, assinaturas e padrões de tokens, entre outros. Ao mesmo tempo, desfrutam das baixas taxas, alta velocidade de execução de transações e capacidade de execução paralela que a Solana oferece.
A Eclipse adotou uma abordagem de implementação diferente: executa transações através do SVM e liquida transações através do EVM. A Eclipse adota uma arquitetura de blockchain modular, ou seja, é responsável apenas pela execução de transações, enquanto "subcontrata" outras responsabilidades, formando uma solução unificada através de combinações modulares. A Eclipse garante a velocidade de execução através do SVM e a segurança através da validação e liquidação do Ethereum.
Lumio adota um design que é independente da camada de execução e da camada de liquidação, podendo suportar várias máquinas virtuais e ser compatível com diversas redes L1/L2. Ele executa transações através da Move VM e liquida transações através da EVM, assim conectando o ecossistema Ethereum e o ecossistema Aptos. No entanto, a ambição do Lumio não para por aí; sua visão é oferecer chamadas entre máquinas virtuais, alcançando a interconexão de várias liquidez de blockchain com a maior velocidade e as menores taxas.
 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.
Ascensão do EVM paralelo: uma nova era de desempenho do Blockchain
EVM Paralelo: Superando a Serialização, Rompendo o Gargalo de Performance do Blockchain
A rede Blockchain criou uma nova base de confiança descentralizada para transações pessoais e empresariais. Com o crescimento próspero da indústria, foram feitas exigências mais altas em relação à experiência do produto, especialmente em termos de desempenho. Após o DeFi Summer de 2020 e a explosão contínua dos tokens no ecossistema Bitcoin no final de 2023, a indústria precisa urgentemente de novas soluções de melhoria de desempenho para atender aos requisitos de "alto desempenho, baixas taxas". A Blockchain paralela nasceu nesse contexto.
A narrativa do EVM paralelo marca a formação de um cenário competitivo de dois grandes concorrentes no campo das blockchains paralelas. O processamento de transações do Ethereum é serial, com as transações sendo executadas uma após a outra em ordem, resultando em uma baixa taxa de utilização de recursos. Mudar de um modo de processamento serial para um processamento paralelo traria um enorme aumento de desempenho. Concorrentes do Ethereum como Solana, Aptos e Sui já possuem capacidade de processamento paralelo, e seus ecossistemas também estão se desenvolvendo muito bem, formando um campo não-EVM paralelo. Diante do desafio, o ecossistema do Ethereum também se mobilizou para capacitar o EVM, formando um campo EVM paralelo.
Atualmente, o valor de mercado total de L1 e L2 é de 7521,23 bilhões de dólares, e o valor de mercado de blockchain paralela é de 525,39 bilhões de dólares, representando apenas cerca de 7%. Dentre eles, o valor de mercado dos projetos relacionados à narrativa EVM paralela é de 23,39 bilhões de dólares, o que representa apenas 4% do valor de mercado da blockchain paralela. É evidente que a narrativa EVM paralela ainda tem um grande espaço para crescimento de mercado, e o segmento de blockchain paralela ao qual pertence a narrativa EVM paralela também tem um grande espaço para crescimento de mercado, portanto, as perspectivas de mercado são amplas.
O projeto de narrativa EVM paralelo é principalmente dividido em blockchain monolítica e blockchain modular, sendo a blockchain monolítica subdividida em L1 e L2. L1 é uma nova blockchain pública que possui capacidade de execução paralela, sendo uma infraestrutura de alto desempenho. Projetos como Sei v2, Monad e Canto projetam suas próprias EVMs paralelas, compatíveis com o ecossistema Ethereum e oferecem alta capacidade de processamento de transações. L2, ao integrar as capacidades de outras cadeias L1, fornece capacidade de escalabilidade para colaboração entre ecossistemas, sendo a tendência dos rollups. Neon é um simulador EVM na rede Solana, enquanto Eclipse utiliza Solana para executar transações, mas faz a liquidação na EVM. Lumio é semelhante ao Eclipse, apenas trocando a camada de execução por Aptos. Fuel propõe sua própria abordagem de blockchain modular, focando na execução de transações e terceirizando o restante para uma ou mais camadas de blockchain independentes, alcançando uma combinação mais flexível.
A EVM paralela é principalmente uma otimização de desempenho da camada de execução. Isso divide-se em duas soluções: uma solução de rede de camada 1 (L1) e uma solução de rede de camada 2 (L2). A solução L1 introduz um mecanismo de execução paralela de transações, permitindo que as transações sejam executadas de forma paralela na máquina virtual. A solução L2 é essencialmente utilizar a máquina virtual L1 já paralelizada para implementar um certo grau de "execução fora da cadeia + liquidação na cadeia".
No contexto da blockchain, uma máquina virtual refere-se à virtualização de uma máquina de estado distribuído, utilizada para executar contratos de forma distribuída e para executar dApps. EVM é um tipo de máquina virtual de processo projetada para a linguagem Solidity, onde os contratos inteligentes são primeiro compilados em bytecode opcode e, em seguida, interpretados e executados pela EVM.
A execução paralela refere-se a tirar proveito das vantagens dos processadores multicore, executando o máximo possível de várias transações ao mesmo tempo, garantindo que o estado final seja consistente com o resultado da execução serial. O mecanismo de execução paralela divide-se em três categorias: comunicação de mensagens, memória compartilhada e listas de acesso a estados estritos. A memória compartilhada divide-se em modelo de bloqueio de memória e paralelização otimista.
No modelo de transmissão de mensagens, cada executor responsável por processar transações é um ator, e todos eles têm acesso aos seus próprios dados privados. Para acessar os dados privados de outros, só é possível fazê-lo através de envio de mensagens. A vantagem desse modelo é que cada ator só pode acessar seus próprios dados privados, portanto, não há problemas de condições de corrida. No entanto, a desvantagem é que cada ator só pode executar em série, e em certos cenários, isso não aproveita a vantagem da paralelização, além de não haver informações globais sobre o estado atual do sistema.
O modelo de bloqueio de memória permite que tarefas em execução paralela realizem uma operação de bloqueio ao acessar recursos compartilhados. Após o bloqueio, o acesso aos recursos compartilhados é permitido, e, nesse momento, outras tarefas devem esperar até que a tarefa em execução termine a modificação e desbloqueie para que possam ser bloqueadas e acessar os recursos novamente. Esse mecanismo parece simples, mas sua implementação é bastante complexa e exige uma grande habilidade dos desenvolvedores em programação multithread. É fácil encontrar problemas como deadlock, livelock e starvation.
A ideia central da paralelização otimista é assumir primeiro que todas as tarefas são mutuamente independentes. Execute as tarefas em paralelo e, em seguida, valide cada tarefa; se a validação falhar, a tarefa será executada novamente até que todas as tarefas sejam concluídas. Este modelo utiliza uma estrutura de dados de memória de múltiplas versões para registrar cada valor escrito e suas informações de versão. A execução de cada tarefa paralela é dividida em duas fases: execução e validação. A velocidade de execução é extremamente rápida, mas a execução e validação de transações complexas são deixadas para a equipe central que implementa o mecanismo subjacente.
A lista de acesso de estado rigorosa é implementada com base no modelo UTXO para execução paralela. Ela calcula antecipadamente os endereços de conta que cada transação irá acessar, formando uma lista de acesso. Com base na lista de acesso, várias coleções de transações são formadas, onde não há interseção na lista de acesso entre as coleções de transações ( sem dependência ), permitindo assim que várias coleções de transações sejam executadas em paralelo.
Independentemente do mecanismo de execução paralela adotado, a complexidade técnica aumentou. O código é escrito por humanos, e sendo assim, é suscetível a erros. A complexidade técnica trazida pela computação paralela oferece um terreno fértil para o surgimento de riscos de segurança. Os profissionais precisam estar altamente atentos às possíveis questões de segurança que possam existir.
Sei é uma blockchain pública genérica baseada em tecnologia de código aberto, com uma capitalização de mercado de quase 2,2 bilhões de dólares. Sei v2 é chamada de a primeira blockchain EVM paralela, e esta atualização de versão trará compatibilidade retroativa para contratos inteligentes EVM, reutilização de ferramentas/aplicações comuns como Metamask, paralelização otimista, otimização de armazenamento da SeiDB, suporte à interoperabilidade sem costura entre Ethereum e outras blockchains, entre outras novas funcionalidades.
Monad é considerado um potencial disruptor na corrida L1. Atualmente, o projeto já alcançou com sucesso a tarefa de marco de lançar a rede de testes interna e está se esforçando para abrir a rede de testes pública. Monad introduziu duas mecânicas na máquina virtual Ethereum: uma é a tecnologia de pipeline superscalar, e a outra é o mecanismo de paralelismo otimista melhorado. Atualmente, o desempenho atinge 10000 TPS e consegue minerar um bloco em 1 segundo.
Canto é um projeto L1 altamente descentralizado construído sobre o Cosmos SDK. A principal visão do Canto é se tornar uma plataforma de valor DeFi acessível, transparente, descentralizada e gratuita. O Canto anunciou seu novo plano de iteração técnica em 18 de março de 2024, que incluirá uma atualização paralela do EVM: introduzindo a paralelização otimista através da implementação do Cyclone EVM.
Fuel é um sistema operacional "rollup Ethereum" modular e personalizado. O Fuel utiliza UTXO como modelo de dados, e uma vantagem desse modelo de dados é que suas saídas de transação têm apenas dois estados: ou foram gastas, registradas permanentemente no histórico de transações do bloco; ou não foram gastas, podendo ser utilizadas em transações futuras. Isso minimiza o armazenamento de dados de estado em cada nó na cadeia. Com isso, o Fuel verifica as informações da conta acessadas por cada transação, identificando as dependências antes da execução da transação, programando a execução paralela de transações sem dependências, aumentando a taxa de processamento das transações.
As soluções L2 têm uma característica comum: combinam as capacidades de duas máquinas virtuais, melhorando a velocidade de execução das transações. Especificamente, isso significa utilizar o L1 em paralelo para executar transações, mas de forma compatível com outras cadeias (, suportando duas máquinas virtuais ). A diferença está nos diferentes mecanismos de compatibilidade adotados por diferentes projetos. Neon, Eclipse e Lumio são bastante representativos.
Neon é um simulador EVM na rede Solana que opera na forma de contratos inteligentes. Os desenvolvedores podem usar linguagens como Solidity e Vyper para escrever aplicações dApp, e podem utilizar ferramentas como MetaMask, Hardhat, Remix e a API RPC compatível com Ethereum, contas, assinaturas e padrões de tokens, entre outros. Ao mesmo tempo, desfrutam das baixas taxas, alta velocidade de execução de transações e capacidade de execução paralela que a Solana oferece.
A Eclipse adotou uma abordagem de implementação diferente: executa transações através do SVM e liquida transações através do EVM. A Eclipse adota uma arquitetura de blockchain modular, ou seja, é responsável apenas pela execução de transações, enquanto "subcontrata" outras responsabilidades, formando uma solução unificada através de combinações modulares. A Eclipse garante a velocidade de execução através do SVM e a segurança através da validação e liquidação do Ethereum.
Lumio adota um design que é independente da camada de execução e da camada de liquidação, podendo suportar várias máquinas virtuais e ser compatível com diversas redes L1/L2. Ele executa transações através da Move VM e liquida transações através da EVM, assim conectando o ecossistema Ethereum e o ecossistema Aptos. No entanto, a ambição do Lumio não para por aí; sua visão é oferecer chamadas entre máquinas virtuais, alcançando a interconexão de várias liquidez de blockchain com a maior velocidade e as menores taxas.
![Interpretação de 10.000 caracteres do EVM paralelo: Superando a série, como romper o gargalo de desempenho do Blockchain?](