O gargalo da execução sequencial do EVM e a exploração da otimização paralela
A Máquina Virtual Ethereum (EVM) é o motor de execução central do Ethereum, e seu desempenho afeta diretamente a capacidade de processamento de toda a rede. A EVM tradicional utiliza um método de execução serial para processar transações, embora seu design seja simples e fácil de manter, já não consegue atender à demanda por altas TPS e throughput à medida que a tecnologia blockchain continua a evoluir e a base de usuários se expande. Especialmente com a maturidade da tecnologia Rollup, o gargalo de desempenho da execução serial da EVM torna-se ainda mais evidente nas redes de segunda camada.
EVM e o banco de dados de estado (stateDB) são os dois principais componentes da 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, as transações são tratadas sequencialmente, com cada transação utilizando uma instância independente do EVM, mas compartilhando o mesmo stateDB. Nesse modo, transações complexas de contratos inteligentes podem reduzir significativamente a velocidade geral de processamento.
Para superar as limitações da execução sequencial, a indústria começou a explorar soluções de otimização paralela para o EVM. Um projeto ZKRollup propôs uma solução de otimização paralela multithread, cuja ideia central é alocar um banco de dados de estado temporário independente (pending-stateDB) para cada thread. A implementação específica inclui:
Execução de transações em paralelo com múltiplas threads, aumentando significativamente a velocidade de processamento.
Atribuir um pending-stateDB independente a cada thread para armazenar temporariamente as alterações de estado.
Otimizar operações de leitura e escrita, garantindo o acesso correto aos dados de estado e evitando conflitos.
Introduzir um mecanismo de deteção de conflitos para lidar com a situação em que várias transações leem e escrevem o mesmo estado da conta.
Após a execução, os registros de alterações de vários stateDB em estado pendente serão combinados no stateDB global.
Esta solução de otimização pode aumentar o TPS em 3 a 5 vezes em cargas de trabalho de baixo conflito. Teoricamente, se todas as medidas de otimização forem adotadas, pode até alcançar um aumento de desempenho de 60 vezes em cargas de trabalho de alto conflito.
A otimização da paralelização do EVM oferece um enorme potencial de aumento de desempenho para o Ethereum e suas soluções de escalabilidade. Com a contínua melhoria da tecnologia, temos razões para esperar que no futuro surjam mais soluções inovadoras de otimização, que possam ainda mais aumentar a capacidade de processamento das redes de blockchain e a experiência do usuário.
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.
15 gostos
Recompensa
15
6
Partilhar
Comentar
0/400
OnchainFortuneTeller
· 07-19 20:43
Já não consigo fazer o shuttle.
Ver originalResponder0
ChainSherlockGirl
· 07-19 14:05
Né~ 60 vezes tps é como jogar, os grandes investidores vão fazer o quê agora?
Ver originalResponder0
CountdownToBroke
· 07-16 21:20
De novo a falar sobre tps.
Ver originalResponder0
ForkItAllDay
· 07-16 21:19
gm está preparado para ver-me correr 60x tps?
Ver originalResponder0
SandwichTrader
· 07-16 21:13
Os tps estão tão altos assim e ainda não é o suficiente?
Ver originalResponder0
BlockchainRetirementHome
· 07-16 21:11
comprar na baixa comprando até ficar sem cuecas. Desta vez a ressurreição do EVM parece promissora.
Otimização de paralelização EVM: superando o gargalo da execução serial e aumentando o TPS em até 60 vezes
O gargalo da execução sequencial do EVM e a exploração da otimização paralela
A Máquina Virtual Ethereum (EVM) é o motor de execução central do Ethereum, e seu desempenho afeta diretamente a capacidade de processamento de toda a rede. A EVM tradicional utiliza um método de execução serial para processar transações, embora seu design seja simples e fácil de manter, já não consegue atender à demanda por altas TPS e throughput à medida que a tecnologia blockchain continua a evoluir e a base de usuários se expande. Especialmente com a maturidade da tecnologia Rollup, o gargalo de desempenho da execução serial da EVM torna-se ainda mais evidente nas redes de segunda camada.
EVM e o banco de dados de estado (stateDB) são os dois principais componentes da 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, as transações são tratadas sequencialmente, com cada transação utilizando uma instância independente do EVM, mas compartilhando o mesmo stateDB. Nesse modo, transações complexas de contratos inteligentes podem reduzir significativamente a velocidade geral de processamento.
Para superar as limitações da execução sequencial, a indústria começou a explorar soluções de otimização paralela para o EVM. Um projeto ZKRollup propôs uma solução de otimização paralela multithread, cuja ideia central é alocar um banco de dados de estado temporário independente (pending-stateDB) para cada thread. A implementação específica inclui:
Esta solução de otimização pode aumentar o TPS em 3 a 5 vezes em cargas de trabalho de baixo conflito. Teoricamente, se todas as medidas de otimização forem adotadas, pode até alcançar um aumento de desempenho de 60 vezes em cargas de trabalho de alto conflito.
A otimização da paralelização do EVM oferece um enorme potencial de aumento de desempenho para o Ethereum e suas soluções de escalabilidade. Com a contínua melhoria da tecnologia, temos razões para esperar que no futuro surjam mais soluções inovadoras de otimização, que possam ainda mais aumentar a capacidade de processamento das redes de blockchain e a experiência do usuário.