Otimização EVM paralela: uma nova direção para aumentar a eficiência do processamento de transações do Ethereum

Exploração de Otimização EVM Paralela: O Caminho Crucial para Aumentar a Eficiência do Processamento de Transações

O EVM, como o motor de execução central do Ethereum, tem seu desempenho diretamente impactando a capacidade de throughput de toda a rede. Com a expansão da base de usuários e a diversificação dos cenários de aplicação, as limitações do modelo de execução sequencial tradicional tornam-se cada vez mais evidentes. Especialmente nas soluções Layer 2, o gargalo de desempenho do EVM é ainda mais pronunciado. Portanto, explorar soluções de execução paralela se torna uma direção importante para melhorar a eficiência do EVM.

Componentes principais do EVM e fluxo de execução sequencial

EVM e stateDB são dois componentes centrais na execução de transações do Ethereum. O EVM é responsável por interpretar e executar as instruções dos contratos inteligentes, enquanto o stateDB gerencia o armazenamento do estado global. No modo de execução serial tradicional, as transações são processadas uma a uma, onde cada transação utiliza uma instância independente do EVM, mas compartilha o mesmo stateDB.

O processo de execução específico é o seguinte:

  1. processBlock() chamada da função Process() para processar transações dentro do bloco
  2. O processo ( da função )( executa as transações uma a uma através de um loop for.
  3. Após todas as transações serem processadas, chamar statedb.Commit)( para submeter a alteração de estado

O principal problema deste modo de série é: transações complexas podem bloquear transações subsequentes, não permitindo uma utilização adequada dos recursos de hardware, limitando gravemente a eficiência do processamento.

![Usando Reddio como exemplo, explicando o caminho de otimização do EVM paralelo])https://img-cdn.gateio.im/webp-social/moments-6618615055b17eadfa9646a0ea71fecd.webp(

Ideias para otimização do EVM paralelo

Para resolver o gargalo de eficiência da execução sequencial, a indústria propôs uma solução de otimização de execução paralela. A ideia central é: utilizar múltiplas threads para processar várias transações ao mesmo tempo, aumentando significativamente a taxa de transferência. No entanto, o principal desafio da execução paralela é como lidar com o problema de conflitos de estado.

Uma equipe da indústria propôs uma solução de otimização EVM paralela, cujas principais características incluem:

  1. Execução de transações em paralelo com múltiplas threads
  2. Atribuir uma base de dados de estado temporário para cada thread )pending-stateDB(
  3. Após a execução da transação, a alteração de estado é sincronizada para o stateDB global.

Esta solução otimizou as operações de leitura e escrita:

  • Operação de leitura: priorizar a leitura do pending-stateDB, se não houver, ler do stateDB global.
  • Operação de escrita: primeiro registado no WriteSet do pending-stateDB, depois mesclado no stateDB global.

Para resolver conflitos de estado, o plano introduziu um mecanismo de detecção de conflitos:

  • Monitorar o ReadSet e WriteSet de diferentes transações
  • Marcar transações relevantes para reexecução ao descobrir conflitos
  • Após a conclusão de todas as transações, fundir o pending-stateDB no stateDB global.

![Usando Reddio como exemplo, explicando o caminho de otimização do EVM paralelo])https://img-cdn.gateio.im/webp-social/moments-2c09413238e16d168c5f593e2923708b.webp(

![Usando Reddio como exemplo, descrevendo o caminho de otimização do EVM paralelo])https://img-cdn.gateio.im/webp-social/moments-404bb55ec4d21fe81783881149ac0ad6.webp(

![Usando Reddio como exemplo, explicando o caminho de otimização do EVM paralelo])https://img-cdn.gateio.im/webp-social/moments-fc9301b18b6299dc8f792e68961977cd.webp(

![Usando Reddio como exemplo, descrevendo o caminho de otimização do EVM paralelo])https://img-cdn.gateio.im/webp-social/moments-c62d7268de0c9ada677dc15618b1e024.webp(

![Usando Reddio como exemplo, descrevendo o caminho de otimização do EVM paralelo])https://img-cdn.gateio.im/webp-social/moments-75575d5ea4bfa2edcc71ad93d3277caf.webp(

![Usando Reddio como exemplo, descrevendo o caminho de otimização do EVM paralelo])https://img-cdn.gateio.im/webp-social/moments-6274c33f6c958750df5cf3e53949b7fb.webp(

![Usando Reddio como exemplo, discutindo o caminho de otimização do EVM paralelo])https://img-cdn.gateio.im/webp-social/moments-4966960247a4550afa25f04eaaabbbd8.webp(

![Usando Reddio como exemplo, explicando o caminho de otimização do EVM paralelo])https://img-cdn.gateio.im/webp-social/moments-af377193cf86df94c08df49ba217e327.webp(

![Usando Reddio como exemplo, descrevendo o caminho de otimização do EVM paralelo])https://img-cdn.gateio.im/webp-social/moments-cd65f3332323ef44ea8f5f572cafd188.webp(

Melhoria de desempenho da otimização paralela

A otimização de paralelismo em múltiplas threads melhorou significativamente o desempenho do EVM, especialmente ao lidar com transações de contratos inteligentes complexos. De acordo com os dados de pesquisa:

  • Com cargas de trabalho de baixo conflito, o TPS aumenta de 3 a 5 vezes
  • Em cargas de trabalho de alta concorrência, o aumento teórico pode ser de até 60 vezes

Este esquema de paralelização estabelece as bases para a melhoria do desempenho futuro do Ethereum e das soluções Layer 2. Com o desenvolvimento adicional da tecnologia, como a otimização da eficiência de armazenamento e a aceleração por GPU, espera-se que o desempenho da EVM melhore ainda mais.

![Usando Reddio como exemplo, descrevendo o caminho de otimização do EVM paralelo])https://img-cdn.gateio.im/webp-social/moments-77a2eed7aad280b3028c93d8cb81f124.webp

ETH1.88%
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
  • 5
  • Compartilhar
Comentário
0/400
ContractCollectorvip
· 08-05 12:14
Quem pode explicar o que é stateDB? Eu só entendo que DB é banco de dados.
Ver originalResponder0
ApeWithNoChainvip
· 08-05 09:58
Se o ETH for muito antigo e você ainda jogar parallel, melhor não se incomodar.
Ver originalResponder0
SchrodingerGasvip
· 08-05 09:44
gás otimizado e reotimizado realmente não é tão prático quanto ajustar um limite de gás mais alto em L2
Ver originalResponder0
CryptoMotivatorvip
· 08-05 09:42
A casa do senhor feudal também não tem mais grãos, L2 não consegue salvar o ETH.
Ver originalResponder0
GasFeeCriervip
· 08-05 09:36
O que você vai balançar para a Carteira? L2 não é barato.
Ver originalResponder0
  • Marcar
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)