Otimização paralela do EVM aumenta o desempenho do processamento de transações do Ethereum em até 60 vezes.

robot
Geração de resumo em curso

Otimização de Paralelismo EVM: Aumentar o Desempenho do Processamento de Transações

Como é bem conhecido, o EVM é o motor de execução central do Ethereum, responsável pela execução de contratos inteligentes. Para garantir a consistência dos resultados da execução dos contratos em diferentes nós, o EVM utiliza tecnologia de máquina virtual, alcançando compatibilidade entre plataformas.

Os contratos inteligentes, ao serem implementados na cadeia, são primeiramente compilados em bytecode EVM. Quando a EVM executa o contrato, lê essas instruções em bytecode em ordem, e cada instrução tem um custo de Gas correspondente. A EVM rastreia o consumo de Gas durante a execução das instruções, e a quantidade consumida depende da complexidade da operação.

Usando Reddio como exemplo, descrevendo o caminho de otimização do EVM paralelo

A EVM tradicional processa transações de maneira serial, com todas as transações sendo executadas em uma única fila. Este design é simples e fácil de manter, mas à medida que o número de usuários aumenta e as exigências de TPS e capacidade de throughput aumentam, os gargalos de desempenho da execução serial tornam-se cada vez mais evidentes, especialmente no Layer 2.

Usando Reddio como exemplo, explicando o caminho de otimização do EVM paralelo

Além do EVM, outro componente central relacionado à execução de transações no go-ethereum é o stateDB, que é usado para gerenciar o estado das contas e o armazenamento de dados. O EVM altera os dados no stateDB a cada execução de transação, refletindo-se, por fim, na árvore de estado global.

No modo serial, as transações devem ser executadas em ordem. Se houver uma transação de contrato complexo que demore muito, as outras transações só podem esperar, não conseguindo aproveitar plenamente os recursos de hardware, o que limita bastante a eficiência.

Usando Reddio como exemplo, explicando o caminho de otimização do EVM paralelo

Para resolver este problema, a indústria propôs uma solução de otimização paralela de múltiplas threads para o EVM. Esta solução permite que vários threads processem várias transações simultaneamente, podendo aumentar a eficiência em várias vezes. No entanto, a execução paralela enfrenta o desafio de conflitos de estado, sendo necessário tomar medidas adequadas.

Usando Reddio como exemplo, descrevendo o caminho de otimização do EVM em paralelo

Algumas ideias para a otimização paralela do EVM são: atribuir um banco de dados de estado temporário (pending-stateDB) para cada thread. Quando a thread executa transações, as alterações de estado são armazenadas temporariamente no pending-stateDB, em vez de modificar diretamente o stateDB global. Após a execução de todas as transações, as alterações no pending-stateDB são sincronizadas com o stateDB global.

Usando Reddio como exemplo, explicando o caminho de otimização do EVM paralelo

Este esquema também otimiza as operações de leitura e escrita: ao ler, primeiro verifica o pending-stateDB; se não houver, lê o global stateDB; as operações de escrita são registradas no pending-stateDB e, após a execução, são mescladas no global stateDB.

Usando Reddio como exemplo, explicando o caminho de otimização do EVM paralelo

Para lidar com conflitos de estado, o plano introduziu um mecanismo de deteção de conflitos. Monitora os conjuntos de leitura e escrita de diferentes transações e, ao detetar um conflito, marca as transações relacionadas como necessitando de ser reexecutadas.

Usando Reddio como exemplo, descrevendo o caminho de otimização do EVM paralelo

A otimização de paralelismo em múltiplas threads melhorou significativamente o desempenho da EVM, especialmente ao lidar com contratos inteligentes complexos. Estudos mostram que, sob cargas de trabalho de baixo conflito, o TPS pode aumentar de 3 a 5 vezes; sob cargas de alto conflito, teoricamente pode chegar a 60 vezes.

Usando Reddio como exemplo, descrevendo o caminho de otimização do EVM paralelo

Esta solução de otimização paralela, através de uma biblioteca de estados temporários e deteção de conflitos, alcançou a paralelização em larga escala das transações, garantindo a consistência dos estados, e lançou uma base importante para o desenvolvimento do Rollup no Ethereum. No futuro, ainda será possível melhorar o desempenho através da otimização da eficiência de armazenamento, do tratamento de cenários de alta colisão, e da aceleração por GPU.

Usando Reddio como exemplo, explicando o caminho de otimização do EVM paralelo

Usando Reddio como exemplo, explicando o caminho da otimização do EVM paralelo

Usando Reddio como exemplo, explicando o caminho de otimização do EVM paralelo

Ver original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Recompensa
  • 6
  • Partilhar
Comentar
0/400
¯\_(ツ)_/¯vip
· 13h atrás
Os usuários finalmente não precisam esperar até o fim do mundo.
Ver originalResponder0
ReverseTradingGuruvip
· 13h atrás
Finalmente algo realmente hardcore.
Ver originalResponder0
TxFailedvip
· 13h atrás
psa: aprendi sobre evm paralelo da maneira cara... rip meus 2,3 eth
Ver originalResponder0
rugpull_survivorvip
· 13h atrás
Ouvi dizer que vai ser quase 60 vezes mais rápido? Pode reduzir o gás?
Ver originalResponder0
SilentAlphavip
· 13h atrás
60 vezes, isso não vai fazer um lucro enorme?
Ver originalResponder0
LiquiditySurfervip
· 13h atrás
O Martini já atingiu o fundo, finalmente não é preciso esperar pelo gás.
Ver originalResponder0
  • Pino
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)