Análise Profunda da Máquina Virtual Ethereum (EVM)
A relação entre EVM e Solidity
O desenvolvimento de contratos inteligentes é uma habilidade central para engenheiros de blockchain. Embora os desenvolvedores geralmente usem linguagens de alto nível como Solidity para escrever contratos, a EVM não pode executar diretamente esse código. É necessário compilar o código em instruções de baixo nível que a máquina virtual pode entender ( opcode/bytecode ). Atualmente, já existem ferramentas que podem automatizar esse processo de conversão, aliviando a carga para os desenvolvedores entenderem os detalhes da compilação.
Embora a compilação introduza algum overhead, engenheiros familiarizados com a codificação de baixo nível podem incorporar diretamente códigos de operação em Solidity para alcançar máxima eficiência e reduzir o consumo de gas. Por exemplo, um conhecido protocolo de negociação de NFT utiliza extensivamente assembly inline para minimizar os custos de gas dos usuários.
Diferenças entre o padrão EVM e a implementação
A EVM, como "camada de execução", é o ambiente onde os códigos de operação dos contratos inteligentes compilados são finalmente executados. O bytecode definido pela EVM tornou-se o padrão da indústria. Quer se trate de redes de segunda camada do Ethereum ou de outras blockchains independentes, desde que sejam compatíveis com o padrão EVM, os desenvolvedores podem implantar contratos inteligentes de forma eficiente em várias redes.
Apesar de seguir o mesmo padrão de bytecode, a implementação específica da EVM pode variar bastante. Por exemplo, um determinado cliente do Ethereum implementou o padrão EVM em Go, enquanto uma equipe de uma fundação mantém uma implementação em C++. Essa diversidade oferece espaço para diferentes otimizações de engenharia e implementações personalizadas.
A ascensão da tecnologia EVM paralela
Historicamente, a comunidade blockchain tem se concentrado principalmente na inovação de algoritmos de consenso, e alguns projetos conhecidos são mais notáveis por seu mecanismo de consenso do que pela camada de execução. Embora esses projetos também tenham inovações na camada de execução, o aumento de desempenho é frequentemente mal interpretado como originado apenas do algoritmo de consenso.
Na verdade, blockchains de alto desempenho precisam inovar simultaneamente em dois aspectos: o algoritmo de consenso e a camada de execução. Para blockchains EVM que melhoram apenas o algoritmo de consenso, o aumento de desempenho muitas vezes requer suporte de hardware mais robusto. Por exemplo, uma conhecida blockchain inteligente processa blocos sob um limite de gas de 2000 TPS, exigindo configurações várias vezes superiores às de um nó completo do Ethereum. Outra rede que afirma suportar até 1000 TPS, na prática, também frequentemente não atinge as expectativas.
A necessidade de processamento paralelo
Nos sistemas de blockchain tradicionais, as transações são executadas em sequência, semelhante a uma CPU de núcleo único. Embora esse método seja simples e a complexidade do sistema seja baixa, ele tem dificuldade em suportar uma grande base de usuários. A transição para uma máquina virtual em estilo de CPU de múltiplos núcleos pode processar várias transações ao mesmo tempo, aumentando significativamente a taxa de transferência.
A execução paralela trouxe alguns desafios de engenharia, como o tratamento de transações concorrentes que escrevem no mesmo contrato. Isso requer novos mecanismos para resolver potenciais conflitos. No entanto, a execução paralela de contratos inteligentes não relacionados pode aumentar a taxa de transferência proporcionalmente ao número de threads de processamento.
Inovação do EVM Paralelo
A EVM paralela representa uma série de inovações destinadas a otimizar a camada de execução da blockchain. Tomando um projeto como exemplo, suas inovações chave incluem:
Execução de transações em paralelo: utiliza um algoritmo de execução otimista em paralelo, permitindo que várias transações sejam processadas simultaneamente. O sistema inicia as transações a partir do mesmo estado inicial, rastreando entradas e saídas, gerando resultados temporários. A decisão de executar a próxima transação em paralelo é feita verificando as relações de dependência entre as transações.
Execução atrasada: No mecanismo de consenso, os nós primeiro chegam a um consenso sobre a ordem das transações, sem executar imediatamente. A execução é adiada para um canal independente, maximizando o uso do tempo do bloco e melhorando a eficiência geral.
Base de dados de estado personalizada: otimiza o armazenamento e acesso ao estado armazenando diretamente a árvore Merkle no SSD. Este método minimiza o efeito de ampliação de leitura, acelera a velocidade de acesso ao estado e torna a execução de contratos mais eficiente.
Mecanismo de consenso de alto desempenho: baseado na melhoria do HotStuff, suporta a sincronização de centenas de nós globais, com complexidade de comunicação linear. Adota votação em pipeline, permitindo que diferentes fases ocorram em sobreposição, reduzindo a latência e aumentando a eficiência.
Desafios enfrentados pela EVM paralela
A execução paralela introduziu potenciais conflitos de estado, necessitando de verificações de conflito antes ou após a execução. Por exemplo, quando várias transações paralelas interagem com o mesmo pool de transações, é necessária uma cuidadosa detecção e mecanismo de resolução de conflitos.
Além das diferenças na implementação técnica, as equipas geralmente precisam redesenhar o desempenho de leitura e escrita da base de dados de estado e desenvolver um algoritmo de consenso compatível.
Os projetos EVM paralelos enfrentam dois grandes desafios: o risco de inovações tecnológicas a longo prazo do Ethereum e o problema da centralização dos nós. O desenvolvimento rápido do ecossistema é a chave para manter a vantagem competitiva. A descentralização dos nós requer um equilíbrio entre operações sem permissão, sem confiança e alto desempenho.
Visão geral do projeto EVM paralelo
Atualmente, o cenário paralelo da Máquina Virtual Ethereum (EVM) inclui várias blockchains Layer 1, possíveis soluções Layer 2 e camadas compatíveis com EVM baseadas em outras blockchains públicas. Os projetos existentes podem ser divididos em três categorias:
Rede Layer 1 compatível com EVM que suporta a execução paralela através de atualizações tecnológicas
Uma rede Layer 1 compatível com EVM que utiliza execução paralela desde o início do design
Rede Layer 2 que utiliza tecnologia de execução paralela não EVM
Introdução a Projetos Representativos
O projeto A visa resolver problemas de escalabilidade otimizando a execução paralela da Máquina Virtual Ethereum, com o objetivo de alcançar 10.000 TPS. Um grande financiamento foi concluído, e a equipe fundadora é proveniente de principais market makers. A rede de testes interna já foi lançada e será aberta ao público em breve.
O Projeto B inicialmente focou na infraestrutura de aplicações de negociação, e foi recentemente atualizado para uma EVM paralela de alto desempenho, aumentando o TPS para 12.500. A rede de testes já está online, suportando a migração de aplicações EVM com um clique. Também foi lançado um framework de código aberto para suportar a adoção do Layer 2 utilizando tecnologia de processamento paralelo.
O projeto C melhora o desempenho e a eficiência de execução ao construir um sistema de dupla máquina virtual EVM++(EVM + WASM). A equipe central vem de um conhecido projeto de blockchain. A rede de testes pública já está online e o plano de incentivos ecológicos já foi iniciado.
O Projeto D é uma rede Layer 1 compatível com EVM construída com base em um determinado SDK, projetada especialmente para DeFi. Recentemente, foi anunciado um plano de desenvolvimento para introduzir tecnologia EVM paralela para melhorar o desempenho.
O projeto E é a primeira solução a implementar compatibilidade com EVM em uma determinada blockchain de alto desempenho. Suporta desenvolvedores Solidity para implantar DApps com um clique, desfrutando de alta taxa de transferência e baixas taxas de gas. Embala transações EVM como transações nativas, com TPS superior a 2.000.
O Projeto F é uma solução modular e genérica de Layer 2 suportada por uma Máquina Virtual de uma determinada cadeia pública. Os pagamentos são feitos na Ethereum, utilizando ETH como gás, mas a camada de execução opera nesse ambiente de Máquina Virtual. Recentemente, foi concluído um grande financiamento e a mainnet será aberta aos desenvolvedores em breve.
O projeto G é uma rede Layer 2 modular de Máquina Virtual, que suporta a introdução de máquinas virtuais de alto desempenho no principal ecossistema Layer 2. Pode utilizar Ethereum ou Bitcoin como camada de liquidação, e a camada de execução pode usar várias máquinas virtuais paralelas.
Conclusão
Com o desenvolvimento da tecnologia blockchain, a otimização da camada de execução e o algoritmo de consenso são igualmente importantes. Inovações como a EVM paralela oferecem soluções promissoras para aumentar a capacidade de processamento e eficiência, com potencial para tornar a blockchain mais escalável e suportar uma gama mais ampla de cenários de aplicação. O desenvolvimento dessas tecnologias continuará a impulsionar o progresso do ecossistema blockchain.
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.
10 Curtidas
Recompensa
10
6
Compartilhar
Comentário
0/400
SerumSquirrel
· 17h atrás
EVMtqlbull啊
Ver originalResponder0
ChainComedian
· 17h atrás
Só esse desempenho? Ainda falamos de inovação.
Ver originalResponder0
SatoshiHeir
· 17h atrás
É preciso apontar que o que se chama de paralelismo não passa de uma má imitação de Vitalik Buterin.
Ver originalResponder0
CounterIndicator
· 18h atrás
Entendi! A cadeia única se torna um gargalo, é necessário fazer em paralelo!
Ver originalResponder0
LiquidationTherapist
· 18h atrás
EVM paralelo é realmente bom
Ver originalResponder0
pvt_key_collector
· 18h atrás
Ainda está a travar o desempenho? A cadeia já morreu.
Análise técnica da tecnologia EVM paralela: novas oportunidades e desafios na camada de execução do Blockchain
Análise Profunda da Máquina Virtual Ethereum (EVM)
A relação entre EVM e Solidity
O desenvolvimento de contratos inteligentes é uma habilidade central para engenheiros de blockchain. Embora os desenvolvedores geralmente usem linguagens de alto nível como Solidity para escrever contratos, a EVM não pode executar diretamente esse código. É necessário compilar o código em instruções de baixo nível que a máquina virtual pode entender ( opcode/bytecode ). Atualmente, já existem ferramentas que podem automatizar esse processo de conversão, aliviando a carga para os desenvolvedores entenderem os detalhes da compilação.
Embora a compilação introduza algum overhead, engenheiros familiarizados com a codificação de baixo nível podem incorporar diretamente códigos de operação em Solidity para alcançar máxima eficiência e reduzir o consumo de gas. Por exemplo, um conhecido protocolo de negociação de NFT utiliza extensivamente assembly inline para minimizar os custos de gas dos usuários.
Diferenças entre o padrão EVM e a implementação
A EVM, como "camada de execução", é o ambiente onde os códigos de operação dos contratos inteligentes compilados são finalmente executados. O bytecode definido pela EVM tornou-se o padrão da indústria. Quer se trate de redes de segunda camada do Ethereum ou de outras blockchains independentes, desde que sejam compatíveis com o padrão EVM, os desenvolvedores podem implantar contratos inteligentes de forma eficiente em várias redes.
Apesar de seguir o mesmo padrão de bytecode, a implementação específica da EVM pode variar bastante. Por exemplo, um determinado cliente do Ethereum implementou o padrão EVM em Go, enquanto uma equipe de uma fundação mantém uma implementação em C++. Essa diversidade oferece espaço para diferentes otimizações de engenharia e implementações personalizadas.
A ascensão da tecnologia EVM paralela
Historicamente, a comunidade blockchain tem se concentrado principalmente na inovação de algoritmos de consenso, e alguns projetos conhecidos são mais notáveis por seu mecanismo de consenso do que pela camada de execução. Embora esses projetos também tenham inovações na camada de execução, o aumento de desempenho é frequentemente mal interpretado como originado apenas do algoritmo de consenso.
Na verdade, blockchains de alto desempenho precisam inovar simultaneamente em dois aspectos: o algoritmo de consenso e a camada de execução. Para blockchains EVM que melhoram apenas o algoritmo de consenso, o aumento de desempenho muitas vezes requer suporte de hardware mais robusto. Por exemplo, uma conhecida blockchain inteligente processa blocos sob um limite de gas de 2000 TPS, exigindo configurações várias vezes superiores às de um nó completo do Ethereum. Outra rede que afirma suportar até 1000 TPS, na prática, também frequentemente não atinge as expectativas.
A necessidade de processamento paralelo
Nos sistemas de blockchain tradicionais, as transações são executadas em sequência, semelhante a uma CPU de núcleo único. Embora esse método seja simples e a complexidade do sistema seja baixa, ele tem dificuldade em suportar uma grande base de usuários. A transição para uma máquina virtual em estilo de CPU de múltiplos núcleos pode processar várias transações ao mesmo tempo, aumentando significativamente a taxa de transferência.
A execução paralela trouxe alguns desafios de engenharia, como o tratamento de transações concorrentes que escrevem no mesmo contrato. Isso requer novos mecanismos para resolver potenciais conflitos. No entanto, a execução paralela de contratos inteligentes não relacionados pode aumentar a taxa de transferência proporcionalmente ao número de threads de processamento.
Inovação do EVM Paralelo
A EVM paralela representa uma série de inovações destinadas a otimizar a camada de execução da blockchain. Tomando um projeto como exemplo, suas inovações chave incluem:
Execução de transações em paralelo: utiliza um algoritmo de execução otimista em paralelo, permitindo que várias transações sejam processadas simultaneamente. O sistema inicia as transações a partir do mesmo estado inicial, rastreando entradas e saídas, gerando resultados temporários. A decisão de executar a próxima transação em paralelo é feita verificando as relações de dependência entre as transações.
Execução atrasada: No mecanismo de consenso, os nós primeiro chegam a um consenso sobre a ordem das transações, sem executar imediatamente. A execução é adiada para um canal independente, maximizando o uso do tempo do bloco e melhorando a eficiência geral.
Base de dados de estado personalizada: otimiza o armazenamento e acesso ao estado armazenando diretamente a árvore Merkle no SSD. Este método minimiza o efeito de ampliação de leitura, acelera a velocidade de acesso ao estado e torna a execução de contratos mais eficiente.
Mecanismo de consenso de alto desempenho: baseado na melhoria do HotStuff, suporta a sincronização de centenas de nós globais, com complexidade de comunicação linear. Adota votação em pipeline, permitindo que diferentes fases ocorram em sobreposição, reduzindo a latência e aumentando a eficiência.
Desafios enfrentados pela EVM paralela
A execução paralela introduziu potenciais conflitos de estado, necessitando de verificações de conflito antes ou após a execução. Por exemplo, quando várias transações paralelas interagem com o mesmo pool de transações, é necessária uma cuidadosa detecção e mecanismo de resolução de conflitos.
Além das diferenças na implementação técnica, as equipas geralmente precisam redesenhar o desempenho de leitura e escrita da base de dados de estado e desenvolver um algoritmo de consenso compatível.
Os projetos EVM paralelos enfrentam dois grandes desafios: o risco de inovações tecnológicas a longo prazo do Ethereum e o problema da centralização dos nós. O desenvolvimento rápido do ecossistema é a chave para manter a vantagem competitiva. A descentralização dos nós requer um equilíbrio entre operações sem permissão, sem confiança e alto desempenho.
Visão geral do projeto EVM paralelo
Atualmente, o cenário paralelo da Máquina Virtual Ethereum (EVM) inclui várias blockchains Layer 1, possíveis soluções Layer 2 e camadas compatíveis com EVM baseadas em outras blockchains públicas. Os projetos existentes podem ser divididos em três categorias:
Introdução a Projetos Representativos
O projeto A visa resolver problemas de escalabilidade otimizando a execução paralela da Máquina Virtual Ethereum, com o objetivo de alcançar 10.000 TPS. Um grande financiamento foi concluído, e a equipe fundadora é proveniente de principais market makers. A rede de testes interna já foi lançada e será aberta ao público em breve.
O Projeto B inicialmente focou na infraestrutura de aplicações de negociação, e foi recentemente atualizado para uma EVM paralela de alto desempenho, aumentando o TPS para 12.500. A rede de testes já está online, suportando a migração de aplicações EVM com um clique. Também foi lançado um framework de código aberto para suportar a adoção do Layer 2 utilizando tecnologia de processamento paralelo.
O projeto C melhora o desempenho e a eficiência de execução ao construir um sistema de dupla máquina virtual EVM++(EVM + WASM). A equipe central vem de um conhecido projeto de blockchain. A rede de testes pública já está online e o plano de incentivos ecológicos já foi iniciado.
O Projeto D é uma rede Layer 1 compatível com EVM construída com base em um determinado SDK, projetada especialmente para DeFi. Recentemente, foi anunciado um plano de desenvolvimento para introduzir tecnologia EVM paralela para melhorar o desempenho.
O projeto E é a primeira solução a implementar compatibilidade com EVM em uma determinada blockchain de alto desempenho. Suporta desenvolvedores Solidity para implantar DApps com um clique, desfrutando de alta taxa de transferência e baixas taxas de gas. Embala transações EVM como transações nativas, com TPS superior a 2.000.
O Projeto F é uma solução modular e genérica de Layer 2 suportada por uma Máquina Virtual de uma determinada cadeia pública. Os pagamentos são feitos na Ethereum, utilizando ETH como gás, mas a camada de execução opera nesse ambiente de Máquina Virtual. Recentemente, foi concluído um grande financiamento e a mainnet será aberta aos desenvolvedores em breve.
O projeto G é uma rede Layer 2 modular de Máquina Virtual, que suporta a introdução de máquinas virtuais de alto desempenho no principal ecossistema Layer 2. Pode utilizar Ethereum ou Bitcoin como camada de liquidação, e a camada de execução pode usar várias máquinas virtuais paralelas.
Conclusão
Com o desenvolvimento da tecnologia blockchain, a otimização da camada de execução e o algoritmo de consenso são igualmente importantes. Inovações como a EVM paralela oferecem soluções promissoras para aumentar a capacidade de processamento e eficiência, com potencial para tornar a blockchain mais escalável e suportar uma gama mais ampla de cenários de aplicação. O desenvolvimento dessas tecnologias continuará a impulsionar o progresso do ecossistema blockchain.