EVM é o núcleo do Ethereum, responsável por executar contratos inteligentes e processar transações. É um motor de cálculo que oferece abstração de computação e armazenamento, semelhante à máquina virtual Java. O EVM executa seu próprio conjunto de instruções em bytecode, geralmente compilado a partir do Solidity.
EVM é uma máquina de estado quase Turing completa. "Quase" é porque todos os passos de execução consomem recursos limitados de Gas, evitando a possibilidade de ciclos infinitos que poderiam levar à parada completa da plataforma.
O EVM não tem função de agendamento, o módulo de execução do Ethereum retira as transações do bloco e o EVM é responsável por executá-las sequencialmente. O processo de execução altera o estado mundial mais recente, e após a conclusão da execução de uma transação, o estado é acumulado até alcançar o estado mundial mais recente após a conclusão do bloco. A execução do próximo bloco depende estritamente do estado mundial após a execução do bloco anterior, portanto, o processo de execução linear das transações do Ethereum é difícil de otimizar para execução paralela.
O protocolo Ethereum estipula que as transações sejam executadas em ordem. Embora a execução em ordem garanta que as transações e os contratos inteligentes possam ser executados em uma sequência determinística, garantindo segurança, em situações de alta carga, isso pode levar a congestionamentos e atrasos na rede, que é também a razão pela qual o Ethereum enfrenta gargalos de desempenho e necessita de expansão Layer2.
O Caminho Paralelo do Layer1 de Alto Desempenho
A maioria das Layer1 de alto desempenho projeta suas próprias soluções de otimização baseadas na falha do Ethereum em processar em paralelo, focando principalmente em duas áreas: máquinas virtuais e execução paralela.
Máquina Virtual
A EVM foi projetada como uma máquina virtual de 256 bits, com o objetivo de facilitar o processamento do algoritmo de hash do Ethereum. No entanto, os computadores que executam a EVM precisam mapear bytes de 256 bits para a arquitetura local para executar contratos inteligentes, tornando todo o sistema ineficiente. Portanto, camadas de alto desempenho Layer1 adotam mais frequentemente máquinas virtuais baseadas em WASM, bytecode eBPF ou bytecode Move, em vez da EVM.
WASM é um formato de bytecode pequeno, de carregamento rápido, portátil e baseado em um mecanismo de segurança sandbox, onde os desenvolvedores podem escrever contratos inteligentes em várias linguagens de programação e, em seguida, compilar para bytecode WASM e executar. Muitos projetos de blockchain adotaram o WASM como padrão, e o Ethereum também integrará o WASM no futuro.
eBPF origina-se do BPF, oferecendo um conjunto de instruções mais rico, permitindo a intervenção dinâmica no núcleo do sistema operacional sem alterar o código-fonte. Alguns contratos inteligentes executados em blockchains são compilados em bytecode baseado em eBPF e executados.
Move é uma nova linguagem de programação de contratos inteligentes, focada na flexibilidade, segurança e verificabilidade. Move visa resolver problemas de segurança em ativos e transações, permitindo que ativos e transações sejam rigorosamente definidos e controlados. Certas blockchains escrevem contratos inteligentes através de versões personalizadas do Move.
Execução paralela
A execução paralela na blockchain significa processar transações não relacionadas ao mesmo tempo. O principal desafio para implementar a execução paralela é determinar quais transações não são relacionadas, quais são independentes, e a maioria das Layer1 de alto desempenho depende de duas abordagens: o método de acesso ao estado e o modelo de paralelismo otimista.
O método de acesso ao estado requer que se saiba antecipadamente qual parte do estado da blockchain cada transação pode acessar, a fim de analisar quais transações são independentes. Certos programas de blockchain ( contratos inteligentes ) são sem estado, necessitando de contas para acessar ou manter o estado. As transações devem especificar quais contas serão acessadas, permitindo que o processamento das transações agende a execução paralela de transações não sobrepostas, garantindo ao mesmo tempo a consistência dos dados.
O modelo de execução otimista em paralelo assume que todas as transações são independentes, validando retroativamente essa suposição e ajustando-a quando necessário. Algumas blockchains utilizam métodos de memória de transação de software de bloco para aplicar a execução otimista em paralelo. As transações são inicialmente organizadas em uma determinada ordem e, em seguida, divididas e executadas simultaneamente entre diferentes threads de processamento. O sistema rastreia a localização da memória de cada alteração de transação e verifica todos os resultados das transações após cada rodada de processamento; se uma transação tocar uma localização de memória alterada por uma transação anterior, seus resultados são apagados e a transação é executada novamente.
EVM paralelo
A EVM paralela foi proposta em 2021, referindo-se a uma EVM que suporta o processamento simultâneo de várias transações, com o objetivo de melhorar o desempenho e a eficiência da EVM existente. No final de 2023, o setor mencionou novamente a EVM paralela, impulsionando uma onda de Layer1 compatíveis com EVM que adotam a tecnologia de execução paralela.
Definições de EVM paralelas razoáveis incluem três categorias:
Atualização de execução paralela para Layer1 compatível com EVM que não utiliza tecnologia de execução paralela.
Camada 1 compatível com EVM que utiliza tecnologia de execução paralela
Solução compatível com EVM de Layer 1 não compatível com EVM que utiliza tecnologia de execução paralela
Alguns projetos emergentes de Layer1 adotam um modelo de paralelismo otimista, permitindo a execução paralela de transações dentro de um bloco para aumentar a eficiência. Eles começam a executar novas transações antes da conclusão da execução do passo anterior, rastreando entradas/saídas e reexecutando transações inconsistentes. Um analisador de código estático pode prever dependências, evitando paralelismo inválido e, em caso de incerteza, revertendo para um modo simples.
Outros projetos utilizam o EVM para executar contratos inteligentes de forma a serem compatíveis com o EVM. Esta solução converte os códigos de operação do EVM de forma transparente em códigos de operação de máquinas virtuais específicas, permitindo que projetos Solidity tirem proveito do desempenho e das vantagens de segurança de outras máquinas virtuais, sem a necessidade de modificar o código.
Resumo
A tecnologia de paralelismo na blockchain é um tópico frequentemente discutido, atualmente centrado na modificação e imitação do modelo de execução otimista, carecendo de avanços substanciais. No futuro, pode haver mais novos projetos Layer1 emergentes se juntando à competição do EVM paralelo, enquanto alguns Layer1 antigos também implementarão atualizações paralelas do EVM ou soluções compatíveis com o EVM.
Além do EVM de alto desempenho, o setor de blockchain também pode apresentar narrativas tecnológicas diversificadas, como WASM, SVM e Move VM, impulsionando o desenvolvimento diversificado de todo o ecossistema.
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.
22 gostos
Recompensa
22
6
Partilhar
Comentar
0/400
PumpBeforeRug
· 07-15 04:11
Mais uma nova blockchain a enganar
Ver originalResponder0
RamenDeFiSurvivor
· 07-12 07:44
A parte de paralelismo realmente se destacou, Layer 1 está em alta.
Ver originalResponder0
consensus_whisperer
· 07-12 07:43
Experimentar novas tecnologias é realmente bom.
Ver originalResponder0
MoonBoi42
· 07-12 07:42
Escreve mais código, irmão.
Ver originalResponder0
SleepyArbCat
· 07-12 07:40
gás é muito alto, estou com preguiça de implementar, mia
A ascensão do EVM paralelo: como um Layer 1 de alto desempenho pode superar os gargalos de desempenho do Ethereum
EVM: O componente central do Ethereum
EVM é o núcleo do Ethereum, responsável por executar contratos inteligentes e processar transações. É um motor de cálculo que oferece abstração de computação e armazenamento, semelhante à máquina virtual Java. O EVM executa seu próprio conjunto de instruções em bytecode, geralmente compilado a partir do Solidity.
EVM é uma máquina de estado quase Turing completa. "Quase" é porque todos os passos de execução consomem recursos limitados de Gas, evitando a possibilidade de ciclos infinitos que poderiam levar à parada completa da plataforma.
O EVM não tem função de agendamento, o módulo de execução do Ethereum retira as transações do bloco e o EVM é responsável por executá-las sequencialmente. O processo de execução altera o estado mundial mais recente, e após a conclusão da execução de uma transação, o estado é acumulado até alcançar o estado mundial mais recente após a conclusão do bloco. A execução do próximo bloco depende estritamente do estado mundial após a execução do bloco anterior, portanto, o processo de execução linear das transações do Ethereum é difícil de otimizar para execução paralela.
O protocolo Ethereum estipula que as transações sejam executadas em ordem. Embora a execução em ordem garanta que as transações e os contratos inteligentes possam ser executados em uma sequência determinística, garantindo segurança, em situações de alta carga, isso pode levar a congestionamentos e atrasos na rede, que é também a razão pela qual o Ethereum enfrenta gargalos de desempenho e necessita de expansão Layer2.
O Caminho Paralelo do Layer1 de Alto Desempenho
A maioria das Layer1 de alto desempenho projeta suas próprias soluções de otimização baseadas na falha do Ethereum em processar em paralelo, focando principalmente em duas áreas: máquinas virtuais e execução paralela.
Máquina Virtual
A EVM foi projetada como uma máquina virtual de 256 bits, com o objetivo de facilitar o processamento do algoritmo de hash do Ethereum. No entanto, os computadores que executam a EVM precisam mapear bytes de 256 bits para a arquitetura local para executar contratos inteligentes, tornando todo o sistema ineficiente. Portanto, camadas de alto desempenho Layer1 adotam mais frequentemente máquinas virtuais baseadas em WASM, bytecode eBPF ou bytecode Move, em vez da EVM.
WASM é um formato de bytecode pequeno, de carregamento rápido, portátil e baseado em um mecanismo de segurança sandbox, onde os desenvolvedores podem escrever contratos inteligentes em várias linguagens de programação e, em seguida, compilar para bytecode WASM e executar. Muitos projetos de blockchain adotaram o WASM como padrão, e o Ethereum também integrará o WASM no futuro.
eBPF origina-se do BPF, oferecendo um conjunto de instruções mais rico, permitindo a intervenção dinâmica no núcleo do sistema operacional sem alterar o código-fonte. Alguns contratos inteligentes executados em blockchains são compilados em bytecode baseado em eBPF e executados.
Move é uma nova linguagem de programação de contratos inteligentes, focada na flexibilidade, segurança e verificabilidade. Move visa resolver problemas de segurança em ativos e transações, permitindo que ativos e transações sejam rigorosamente definidos e controlados. Certas blockchains escrevem contratos inteligentes através de versões personalizadas do Move.
Execução paralela
A execução paralela na blockchain significa processar transações não relacionadas ao mesmo tempo. O principal desafio para implementar a execução paralela é determinar quais transações não são relacionadas, quais são independentes, e a maioria das Layer1 de alto desempenho depende de duas abordagens: o método de acesso ao estado e o modelo de paralelismo otimista.
O método de acesso ao estado requer que se saiba antecipadamente qual parte do estado da blockchain cada transação pode acessar, a fim de analisar quais transações são independentes. Certos programas de blockchain ( contratos inteligentes ) são sem estado, necessitando de contas para acessar ou manter o estado. As transações devem especificar quais contas serão acessadas, permitindo que o processamento das transações agende a execução paralela de transações não sobrepostas, garantindo ao mesmo tempo a consistência dos dados.
O modelo de execução otimista em paralelo assume que todas as transações são independentes, validando retroativamente essa suposição e ajustando-a quando necessário. Algumas blockchains utilizam métodos de memória de transação de software de bloco para aplicar a execução otimista em paralelo. As transações são inicialmente organizadas em uma determinada ordem e, em seguida, divididas e executadas simultaneamente entre diferentes threads de processamento. O sistema rastreia a localização da memória de cada alteração de transação e verifica todos os resultados das transações após cada rodada de processamento; se uma transação tocar uma localização de memória alterada por uma transação anterior, seus resultados são apagados e a transação é executada novamente.
EVM paralelo
A EVM paralela foi proposta em 2021, referindo-se a uma EVM que suporta o processamento simultâneo de várias transações, com o objetivo de melhorar o desempenho e a eficiência da EVM existente. No final de 2023, o setor mencionou novamente a EVM paralela, impulsionando uma onda de Layer1 compatíveis com EVM que adotam a tecnologia de execução paralela.
Definições de EVM paralelas razoáveis incluem três categorias:
Alguns projetos emergentes de Layer1 adotam um modelo de paralelismo otimista, permitindo a execução paralela de transações dentro de um bloco para aumentar a eficiência. Eles começam a executar novas transações antes da conclusão da execução do passo anterior, rastreando entradas/saídas e reexecutando transações inconsistentes. Um analisador de código estático pode prever dependências, evitando paralelismo inválido e, em caso de incerteza, revertendo para um modo simples.
Outros projetos utilizam o EVM para executar contratos inteligentes de forma a serem compatíveis com o EVM. Esta solução converte os códigos de operação do EVM de forma transparente em códigos de operação de máquinas virtuais específicas, permitindo que projetos Solidity tirem proveito do desempenho e das vantagens de segurança de outras máquinas virtuais, sem a necessidade de modificar o código.
Resumo
A tecnologia de paralelismo na blockchain é um tópico frequentemente discutido, atualmente centrado na modificação e imitação do modelo de execução otimista, carecendo de avanços substanciais. No futuro, pode haver mais novos projetos Layer1 emergentes se juntando à competição do EVM paralelo, enquanto alguns Layer1 antigos também implementarão atualizações paralelas do EVM ou soluções compatíveis com o EVM.
Além do EVM de alto desempenho, o setor de blockchain também pode apresentar narrativas tecnológicas diversificadas, como WASM, SVM e Move VM, impulsionando o desenvolvimento diversificado de todo o ecossistema.