O conceito Parallel EVM está sendo apostado por vários VCs líderes: Paradigm, Jump, Dragonfly, etc.
O projeto representativo é Monad, e também existem Sei, MegaETH, Polygon, Neon EVM, BSC, etc. Alguns são L1, outros são L2. Não há informações públicas completas sobre as diferenças específicas entre as equipes.
Embora Parallel EVM signifique literalmente “paralelização”, na verdade é uma otimização especial do desempenho de cada componente do EVM, portanto, seus esforços provavelmente representarão o limite de desempenho sob o padrão EVM.
Dificuldade: Além de reconstruir toda a pilha de tecnologia, há também como prever antecipadamente se as transações paralelas entrarão em conflito e a eficiência da reexecução após encontrar conflitos.
*Desafio: Como construir diferenciação no ecossistema de código aberto e como encontrar um equilíbrio entre descentralização e desempenho.
Depois que o algoritmo de consenso, DA (camada de dados) e a tecnologia de prova de conhecimento zero foram amplamente estudados e iterados, a próxima tecnologia fundamental a atrair a atenção é o EVM paralelo.O mercado de capitais também investiu centenas de milhões de dólares neste narrativa e muitas tecnologias exclusivas nasceram. Uma startup de nível animal.
A comunidade começou a prestar atenção ao Parallel EVM (paralelização EVM), originado da mesma palavra-chave mencionada por Georgios Konstantopoulos (CTO da Paradigm) e Haseeb Qureshi da Dragonfly ao olhar para as tendências de 2024 no final de 2023. No entanto, não há muitos detalhes sobre este tema, e muitas pessoas acreditam que este não é um conceito novo. EVM e computação paralela são conceitos relativamente maduros, respectivamente. Por que é uma tendência importante combinar essas duas palavras? Tecido de lã?
Mas este ainda é um tópico muito específico, tanto que se você olhar os resumos anuais e as previsões de tendências de muitas instituições de pesquisa, o EVM Paralelo não é mencionado. Portanto, este ainda é um conceito novo que ainda não formou um consenso em larga escala. Além disso, este conceito é semelhante a tópicos como algoritmo de consenso e DA. Eles são todos puramente relacionados à tecnologia, portanto há ainda menos pessoas prestando atenção a ele.
A vantagem mais direta do Paralle EVM é permitir que os aplicativos descentralizados existentes alcancem desempenho no nível da Internet. Pode-se até dizer que o Parallel EVM é a única nova tecnologia que pode não apenas utilizar (um grande número de contratos inteligentes maduros) existentes, mas também alcançar rendimento de cadeia pública paralelizada e de alto desempenho.
A Paradigm está ansiosa para entrar no jogo há muito tempo e a Jump está apostando forte.
De acordo com a Fortune, a Paradigm está planejando liderar a última rodada de investimentos da Monad, levantando US$ 200 milhões em uma avaliação de US$ 3 bilhões. Embora este seja o primeiro conceito de equipe Parallel EVM em que a Paradigm planeja investir, eles têm prestado atenção a essa tecnologia há muitos anos. Georgios Konstantopoulos (CTO da Paradigm) mencionou esse termo em 2021.
A origem da palavra mônada também é interessante. No sistema filosófico do filósofo Leibniz, as Mônadas são os elementos básicos que constituem o universo. São entidades indivisíveis que não são afetadas pela física. Cada Mônada reflete o universo inteiro e já foi traduzida como “mônada” em chinês.
Na ciência da computação, Monad é um padrão de design em linguagens de programação funcionais que ajuda os programadores a lidar com a complexidade do mundo real com pureza quase matemática, tornando o código mais modular, mais fácil de entender e manter.
Outra coisa interessante é que Monad e Nomad são “anagramas” um do outro.Nomad refere-se a nômade, e nômade digital refere-se a nômade digital/pastor digital.
Além de Monads, Georgios também mencionou Sei e Polygon ao discutir este tópico. No entanto, outra razão importante pela qual ele está tão otimista em relação ao Parallel EVM é que eles desenvolveram um cliente Ethereum, Reth. Ele está posicionado como um cliente da camada de execução Ethereum de alto desempenho, implementado na linguagem Rust. Reth está sendo desenvolvido em ritmo acelerado e acaba de entrar na fase Beta. Talvez eles considerem a implementação do EVM Paralelo diretamente em Reth, mas considerando a quantidade de engenharia de P&D, pode ser uma escolha melhor investir em outras equipes para promover o EVM Paralelo. De acordo com a documentação do Monad, eles usam principalmente C++ e Rust em engenharia.
Quando o Reth foi lançado, ele também foi acusado pelos membros da equipe Erigon de plagiar seu código-fonte aberto Akula, o que também fez com que o projeto Akula ficasse sem fundos e interrompesse o desenvolvimento. Georgios respondeu que Reth não é um fork de nenhum outro cliente, nem o código vem de nenhum outro cliente, mas é de fato influenciado e inspirado por Geth, Erigon e Akula. ()
Outro participante principal é a Jump Trading e a Jump Capital. O fundador da Monad vem da Jump Trading e tem vasta experiência em negociação de alta frequência; os investidores da Sei incluem a Jump Capital, e a Jump está profundamente envolvida no ecossistema Solana, incluindo infraestrutura e projetos. .
Dragonfly, um dos primeiros investidores na Monad, também tem prestado atenção às faixas relacionadas.Investiu na NEAR, que se concentra na tecnologia de sharding, bem como em redes públicas como Aptos, Avalanche e Nervos.
Atualizar o algoritmo de consenso não é suficiente, finalmente é a vez da camada de execução
Nas últimas guerras em cadeia pública, a camada de execução tem sido um lugar negligenciado. Quase só se fala sobre a inovação de algoritmos de consenso, seja Solana, Avalanche ou EOS. Embora tenham muitas inovações na camada de execução, a comunidade ainda se lembra do algoritmo de consenso que usaram, e toda a comunidade também pensa que o desempenho dessas cadeias públicas de alto desempenho vem da inovação do algoritmo de consenso.
Mas não é o caso. Se você deseja obter uma cadeia pública de alto desempenho, o algoritmo de consenso e a camada de execução precisam ser combinados, o que também está de acordo com as deficiências do barril de madeira. Para as cadeias públicas baseadas em EVM e que apenas melhoram o algoritmo de consenso, são necessários nós mais fortes para melhorar o desempenho. Por exemplo, o BSC limita o gás que pode ser processado por um bloco ao nível de 2.000 TPS, o que requer a configuração da máquina várias vezes o investimento de um nó completo Ethereum. O Polygon pode teoricamente atingir 1.000 TPS, mas geralmente é de apenas dezenas a centenas.
Os nós de arquivo BSC requerem pelo menos CPU de 16 núcleos e 128 G de memória, e os nós Ethereum requerem apenas pelo menos CPU de 4 núcleos e 16 G de memória.
A equipe do BSC está ciente desses problemas há muito tempo, por isso também está trabalhando com a NodeReal para desenvolver a tecnologia Parallel EVM. Só assim poderemos aumentar ainda mais o número de transações que cada bloco pode processar, permitir que mais transações sejam executadas em paralelo e aumentar o limite superior do TPS.
Paralelismo: não apenas atualizar de CPU de núcleo único para CPU multi-core
Na maioria dos sistemas blockchain, as transações são executadas completamente em sequência. Você pode pensar nisso como uma CPU de núcleo único. O próximo cálculo só pode ser realizado após a conclusão do cálculo atual. Embora este método seja lento, suas vantagens são a simplicidade e a baixa complexidade do sistema.
Mas se o futuro sistema blockchain precisar acessar a escala do usuário no nível da Internet, uma CPU de núcleo único definitivamente não será suficiente. Portanto, atualizar para uma máquina virtual paralelizada com CPU multinúcleo pode processar diversas transações ao mesmo tempo e aumentar o rendimento. No entanto, existem muitos desafios na implementação de engenharia. Por exemplo, o que devo fazer se duas transações processadas ao mesmo tempo gravarem dados no mesmo contrato inteligente? É necessário conceber um novo mecanismo para resolver esta contradição. Para a execução paralela de outros contratos inteligentes completamente não relacionados, a taxa de transferência pode ser aumentada de acordo com o número de threads de processamento paralelo e a escala.
Além disso, o Parallel EVM não apenas melhora os recursos paralelos, mas também otimiza a eficiência da execução de thread único. O CEO da Monad, Keone Hon, disse: “…o verdadeiro gargalo (do EVM) é a leitura e escrita frequente de status ao processar coisas…”. Ele também disse que a execução paralela é apenas parte do roteiro, e a missão maior da Monad é focar no EVM e torná-lo o mais eficiente possível.
Portanto, embora Parallel EVM signifique literalmente “paralelização”, na verdade é uma otimização especial do desempenho de cada componente do EVM, portanto, seus esforços provavelmente representarão o limite de desempenho sob o padrão EVM.
EVM não é igual a Solidez
Escrever contratos inteligentes é uma habilidade essencial para a maioria dos desenvolvedores de blockchain. Os engenheiros podem usar Solidity ou outras linguagens de contrato inteligente de alto nível para escrever implementações lógicas correspondentes com base nas necessidades de negócios. No entanto, o EVM não pode realmente entender diretamente a lógica do Solidity, ele precisa passar por alguma “tradução” e traduzi-lo (compilá-lo) em uma linguagem de baixo nível que a máquina possa entender (código de operação de opcode / bytecode bytecode) antes de poder ser lido pela máquina virtual. Os desenvolvedores do Solidity não precisam entender esse processo de tradução, pois já existem ferramentas maduras para implementá-lo.
Afinal, trata-se de “tradução”, portanto também haverá algum overhead (sobrecarga extra). Para engenheiros com experiência em codificação de baixo nível, eles podem escrever lógica de programa diretamente usando opcodes no Solidity, o que pode atingir o mais alto desempenho, o que significa que os usuários podem economizar gás ao fazer transações. Por exemplo, o protocolo Seaport lançado pela Opensea utiliza extensivamente a montagem em linha em contratos inteligentes para reduzir ao máximo as despesas com gás para os usuários.
Portanto, se o EVM Paralelo puder ser finalmente implementado, ele não apenas trará recursos de paralelização, mas também otimizará o desempenho de toda a pilha EVM. Os desenvolvedores de aplicativos comuns não precisam gastar muita energia na otimização apenas para economizar um pouco de combustível, porque a máquina virtual subjacente é poderosa o suficiente para suavizar essas diferenças.
O desempenho do EVM varia e “padrão” não é igual a “prática de engenharia”
A “máquina virtual” também pode ser chamada de “camada de execução”, é o mecanismo no qual os contratos inteligentes são finalmente calculados e processados após serem compilados em opcodes. O “bytecode” definido pela Máquina Virtual Ethereum (EVM) tornou-se agora um padrão da indústria. Quer se trate de uma rede de segunda camada baseada em Ethereum ou de outras cadeias públicas independentes, eles estão mais dispostos a ser direta e totalmente compatíveis com o EVM padrão antes do desenvolvimento Os autores podem escrever contratos inteligentes uma vez e implantá-los em várias redes, o que é extremamente econômico.
Portanto, desde que seja totalmente compatível com o padrão “bytecode” do EVM, pode ser chamado de EVM, mas os métodos de implementação podem variar amplamente. Por exemplo, o cliente Ethereum Geth usa a linguagem Go para implementar o padrão EVM. No entanto, Ipsilon, a equipe de pesquisa da camada de execução da Fundação Ethereum, mantém uma implementação independente de EVM desenvolvida em C++. Outros clientes Ethereum podem chamar diretamente esta biblioteca para executar como EVM.
Por exemplo, muitos produtos produzidos industrialmente têm padrões internacionais correspondentes. Por exemplo, quando um produto sai da fábrica, o número de colônias deve ser inferior a um determinado valor antes de poder ser vendido. Este é o “padrão”. Mas para atender a esse padrão de fábrica, cada fábrica pode escolher entre dezenas de métodos de esterilização diferentes, e algumas fábricas podem encontrar maneiras mais econômicas de atender a esse requisito. Isso é “prática”.
Como existe uma implementação do evmone, outras implementações também podem ser feitas. Portanto, neste exemplo de EVM, o padrão EVM define alguns métodos básicos de operação “bytecode” (como suporte à aritmética mais básica, como adição, subtração, multiplicação, etc.). Quando cada bytecode tem uma determinada entrada, há uma saída definida. . Quando se trata de atender a esse critério, as implementações (e práticas) variam amplamente, com muito espaço para customização e possibilidades de otimização de engenharia.
Semelhanças e diferenças do EVM paralelo
Na trilha Parallel EVM, além do Monad mais quente, há também Sei, MegaETH, Polygon, Neon EVM, BSC, etc., e o cliente Reth da Paradigm também deseja implementar funções de paralelização.
Do ponto de vista de posicionamento, Monad, Sei, Polygon e BSC são todos blockchains da Camada 1, enquanto MegaETH pode ser da Camada 2. Neon EVM é baseado na rede Solana. Além disso, Reth é um cliente de código aberto e o MegaETH continuará a ser desenvolvido parcialmente com base em projetos Reth.
É claro que ainda há competição entre essas equipes, e todos os detalhes técnicos e documentos de engenharia não foram totalmente divulgados, mais comparações terão que esperar até que sejam divulgadas gradativamente. Talvez seja como uma corrida armamentista novamente, como BTC Layer 2, Restaking e Ethereum Layer 2. Embora existam diferenças sutis entre as tecnologias (e o código aberto), o mais importante é como construir a singularidade do ecossistema.
Dificuldades técnicas do EVM paralelo
Para transações executadas sequencialmente, o gargalo é a CPU e o processo de leitura e gravação do estado. Mas a vantagem é que esse método é bastante simples, livre de erros e todas as tarefas podem ser concluídas passo a passo. Para máquinas virtuais executadas em paralelo, pode haver conflitos de estado, portanto, esta parte do julgamento precisa ser adicionada antes ou depois da execução.
Um exemplo simples é que se a máquina virtual suportar a execução paralela de quatro threads, e cada thread puder processar uma transação ao mesmo tempo, se essas quatro transações forem todas transações com o mesmo pool de transações no Uniswap, elas não poderão ser executadas em paralelo. Cálculo, porque cada transação afetará o preço de transação deste pool de transações. Mas se esses quatro threads estiverem trabalhando em quatro coisas completamente não relacionadas ao mesmo tempo, então não há problema.
Isto envolverá o projeto e a implementação de engenharia de diferentes equipes, mas pelo menos o que deve ser garantido é que após a execução paralela, seja necessário um módulo para detectar conflitos e reexecutar caso sejam encontrados conflitos. É claro que se as transações que podem entrar em conflito puderem ser previstas e rastreadas com antecedência, a eficiência paralela de toda a máquina virtual também poderá ser aumentada.
Além das diferenças na implementação de engenharia da máquina virtual EVM paralela, cada equipe geralmente redesenhará e aprimorará o desempenho de leitura e gravação do banco de dados de estado e projetará um algoritmo de consenso, como MonadDb e MonadBFT projetado por Monad.
desafio
Para o EVM Paralelo, existem dois desafios possíveis: se o valor da engenharia a longo prazo será capturado pelo Ethereum; e a centralização dos nós.
Como várias equipes ainda estão em fase de desenvolvimento e teste da tecnologia Parallel EVM, elas ainda não optaram por abrir o código-fonte de todos os detalhes de engenharia. Este é um dos fossos atuais. Porém, após entrar na rede de teste e na rede principal, esses documentos do projeto serão tornados públicos e também poderão ser absorvidos pela Ethereum ou outras cadeias públicas. Portanto, nesse momento, é necessário promover mais rapidamente a construção ecológica e construir mais fossos ecológicos.
No entanto, este problema não é tão sério. Por um lado, para os desenvolvedores de criptografia, existem agora mais licenças de código aberto para escolher (como a licença do Uniswap que pode tornar o código público, mas não permite a bifurcação em projetos comerciais). por outro lado, o posicionamento do Monad é inerentemente diferente daquele do Ethereum. Mesmo que o Ethereum consiga atingir a finalidade de soquete único (SSF) no futuro, a finalidade das transações ainda será de pelo menos 12 segundos, o que está longe de ser suficiente para cenários de aplicação de alta frequência.
Outro desafio comum a todas as cadeias públicas de alto desempenho é como implantar mais nós para atender aos requisitos básicos de usuários sem permissão e sem confiança: descentralização. Talvez alguns indicadores possam ser quantificados, como “TPS dividido pelos requisitos de hardware do nó”, para que possamos controlar variáveis e comparar qual cadeia/cliente público tem um TPS maior com base em requisitos de hardware específicos. Afinal, quanto menores forem os requisitos de hardware de um nó, maior será o número de nós possíveis.
A seguir, continuaremos acompanhando o progresso de cada projeto EVM Paralelo e discutiremos detalhadamente suas tecnologias e diferenças.
Ver original
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.
Qual é o significado da paralelização do EVM? Ou será o fim do jogo sob a hegemonia da EVM?
##TL;DR
Depois que o algoritmo de consenso, DA (camada de dados) e a tecnologia de prova de conhecimento zero foram amplamente estudados e iterados, a próxima tecnologia fundamental a atrair a atenção é o EVM paralelo.O mercado de capitais também investiu centenas de milhões de dólares neste narrativa e muitas tecnologias exclusivas nasceram. Uma startup de nível animal.
A comunidade começou a prestar atenção ao Parallel EVM (paralelização EVM), originado da mesma palavra-chave mencionada por Georgios Konstantopoulos (CTO da Paradigm) e Haseeb Qureshi da Dragonfly ao olhar para as tendências de 2024 no final de 2023. No entanto, não há muitos detalhes sobre este tema, e muitas pessoas acreditam que este não é um conceito novo. EVM e computação paralela são conceitos relativamente maduros, respectivamente. Por que é uma tendência importante combinar essas duas palavras? Tecido de lã?
Mas este ainda é um tópico muito específico, tanto que se você olhar os resumos anuais e as previsões de tendências de muitas instituições de pesquisa, o EVM Paralelo não é mencionado. Portanto, este ainda é um conceito novo que ainda não formou um consenso em larga escala. Além disso, este conceito é semelhante a tópicos como algoritmo de consenso e DA. Eles são todos puramente relacionados à tecnologia, portanto há ainda menos pessoas prestando atenção a ele.
A vantagem mais direta do Paralle EVM é permitir que os aplicativos descentralizados existentes alcancem desempenho no nível da Internet. Pode-se até dizer que o Parallel EVM é a única nova tecnologia que pode não apenas utilizar (um grande número de contratos inteligentes maduros) existentes, mas também alcançar rendimento de cadeia pública paralelizada e de alto desempenho.
A Paradigm está ansiosa para entrar no jogo há muito tempo e a Jump está apostando forte.
De acordo com a Fortune, a Paradigm está planejando liderar a última rodada de investimentos da Monad, levantando US$ 200 milhões em uma avaliação de US$ 3 bilhões. Embora este seja o primeiro conceito de equipe Parallel EVM em que a Paradigm planeja investir, eles têm prestado atenção a essa tecnologia há muitos anos. Georgios Konstantopoulos (CTO da Paradigm) mencionou esse termo em 2021.
A origem da palavra mônada também é interessante. No sistema filosófico do filósofo Leibniz, as Mônadas são os elementos básicos que constituem o universo. São entidades indivisíveis que não são afetadas pela física. Cada Mônada reflete o universo inteiro e já foi traduzida como “mônada” em chinês.
Na ciência da computação, Monad é um padrão de design em linguagens de programação funcionais que ajuda os programadores a lidar com a complexidade do mundo real com pureza quase matemática, tornando o código mais modular, mais fácil de entender e manter.
Outra coisa interessante é que Monad e Nomad são “anagramas” um do outro.Nomad refere-se a nômade, e nômade digital refere-se a nômade digital/pastor digital.
Além de Monads, Georgios também mencionou Sei e Polygon ao discutir este tópico. No entanto, outra razão importante pela qual ele está tão otimista em relação ao Parallel EVM é que eles desenvolveram um cliente Ethereum, Reth. Ele está posicionado como um cliente da camada de execução Ethereum de alto desempenho, implementado na linguagem Rust. Reth está sendo desenvolvido em ritmo acelerado e acaba de entrar na fase Beta. Talvez eles considerem a implementação do EVM Paralelo diretamente em Reth, mas considerando a quantidade de engenharia de P&D, pode ser uma escolha melhor investir em outras equipes para promover o EVM Paralelo. De acordo com a documentação do Monad, eles usam principalmente C++ e Rust em engenharia.
Quando o Reth foi lançado, ele também foi acusado pelos membros da equipe Erigon de plagiar seu código-fonte aberto Akula, o que também fez com que o projeto Akula ficasse sem fundos e interrompesse o desenvolvimento. Georgios respondeu que Reth não é um fork de nenhum outro cliente, nem o código vem de nenhum outro cliente, mas é de fato influenciado e inspirado por Geth, Erigon e Akula. ()
Outro participante principal é a Jump Trading e a Jump Capital. O fundador da Monad vem da Jump Trading e tem vasta experiência em negociação de alta frequência; os investidores da Sei incluem a Jump Capital, e a Jump está profundamente envolvida no ecossistema Solana, incluindo infraestrutura e projetos. .
Dragonfly, um dos primeiros investidores na Monad, também tem prestado atenção às faixas relacionadas.Investiu na NEAR, que se concentra na tecnologia de sharding, bem como em redes públicas como Aptos, Avalanche e Nervos.
Atualizar o algoritmo de consenso não é suficiente, finalmente é a vez da camada de execução
Nas últimas guerras em cadeia pública, a camada de execução tem sido um lugar negligenciado. Quase só se fala sobre a inovação de algoritmos de consenso, seja Solana, Avalanche ou EOS. Embora tenham muitas inovações na camada de execução, a comunidade ainda se lembra do algoritmo de consenso que usaram, e toda a comunidade também pensa que o desempenho dessas cadeias públicas de alto desempenho vem da inovação do algoritmo de consenso.
Mas não é o caso. Se você deseja obter uma cadeia pública de alto desempenho, o algoritmo de consenso e a camada de execução precisam ser combinados, o que também está de acordo com as deficiências do barril de madeira. Para as cadeias públicas baseadas em EVM e que apenas melhoram o algoritmo de consenso, são necessários nós mais fortes para melhorar o desempenho. Por exemplo, o BSC limita o gás que pode ser processado por um bloco ao nível de 2.000 TPS, o que requer a configuração da máquina várias vezes o investimento de um nó completo Ethereum. O Polygon pode teoricamente atingir 1.000 TPS, mas geralmente é de apenas dezenas a centenas.
Os nós de arquivo BSC requerem pelo menos CPU de 16 núcleos e 128 G de memória, e os nós Ethereum requerem apenas pelo menos CPU de 4 núcleos e 16 G de memória.
A equipe do BSC está ciente desses problemas há muito tempo, por isso também está trabalhando com a NodeReal para desenvolver a tecnologia Parallel EVM. Só assim poderemos aumentar ainda mais o número de transações que cada bloco pode processar, permitir que mais transações sejam executadas em paralelo e aumentar o limite superior do TPS.
Paralelismo: não apenas atualizar de CPU de núcleo único para CPU multi-core
Na maioria dos sistemas blockchain, as transações são executadas completamente em sequência. Você pode pensar nisso como uma CPU de núcleo único. O próximo cálculo só pode ser realizado após a conclusão do cálculo atual. Embora este método seja lento, suas vantagens são a simplicidade e a baixa complexidade do sistema.
Mas se o futuro sistema blockchain precisar acessar a escala do usuário no nível da Internet, uma CPU de núcleo único definitivamente não será suficiente. Portanto, atualizar para uma máquina virtual paralelizada com CPU multinúcleo pode processar diversas transações ao mesmo tempo e aumentar o rendimento. No entanto, existem muitos desafios na implementação de engenharia. Por exemplo, o que devo fazer se duas transações processadas ao mesmo tempo gravarem dados no mesmo contrato inteligente? É necessário conceber um novo mecanismo para resolver esta contradição. Para a execução paralela de outros contratos inteligentes completamente não relacionados, a taxa de transferência pode ser aumentada de acordo com o número de threads de processamento paralelo e a escala.
Além disso, o Parallel EVM não apenas melhora os recursos paralelos, mas também otimiza a eficiência da execução de thread único. O CEO da Monad, Keone Hon, disse: “…o verdadeiro gargalo (do EVM) é a leitura e escrita frequente de status ao processar coisas…”. Ele também disse que a execução paralela é apenas parte do roteiro, e a missão maior da Monad é focar no EVM e torná-lo o mais eficiente possível.
Portanto, embora Parallel EVM signifique literalmente “paralelização”, na verdade é uma otimização especial do desempenho de cada componente do EVM, portanto, seus esforços provavelmente representarão o limite de desempenho sob o padrão EVM.
EVM não é igual a Solidez
Escrever contratos inteligentes é uma habilidade essencial para a maioria dos desenvolvedores de blockchain. Os engenheiros podem usar Solidity ou outras linguagens de contrato inteligente de alto nível para escrever implementações lógicas correspondentes com base nas necessidades de negócios. No entanto, o EVM não pode realmente entender diretamente a lógica do Solidity, ele precisa passar por alguma “tradução” e traduzi-lo (compilá-lo) em uma linguagem de baixo nível que a máquina possa entender (código de operação de opcode / bytecode bytecode) antes de poder ser lido pela máquina virtual. Os desenvolvedores do Solidity não precisam entender esse processo de tradução, pois já existem ferramentas maduras para implementá-lo.
Afinal, trata-se de “tradução”, portanto também haverá algum overhead (sobrecarga extra). Para engenheiros com experiência em codificação de baixo nível, eles podem escrever lógica de programa diretamente usando opcodes no Solidity, o que pode atingir o mais alto desempenho, o que significa que os usuários podem economizar gás ao fazer transações. Por exemplo, o protocolo Seaport lançado pela Opensea utiliza extensivamente a montagem em linha em contratos inteligentes para reduzir ao máximo as despesas com gás para os usuários.
Portanto, se o EVM Paralelo puder ser finalmente implementado, ele não apenas trará recursos de paralelização, mas também otimizará o desempenho de toda a pilha EVM. Os desenvolvedores de aplicativos comuns não precisam gastar muita energia na otimização apenas para economizar um pouco de combustível, porque a máquina virtual subjacente é poderosa o suficiente para suavizar essas diferenças.
O desempenho do EVM varia e “padrão” não é igual a “prática de engenharia”
A “máquina virtual” também pode ser chamada de “camada de execução”, é o mecanismo no qual os contratos inteligentes são finalmente calculados e processados após serem compilados em opcodes. O “bytecode” definido pela Máquina Virtual Ethereum (EVM) tornou-se agora um padrão da indústria. Quer se trate de uma rede de segunda camada baseada em Ethereum ou de outras cadeias públicas independentes, eles estão mais dispostos a ser direta e totalmente compatíveis com o EVM padrão antes do desenvolvimento Os autores podem escrever contratos inteligentes uma vez e implantá-los em várias redes, o que é extremamente econômico.
Portanto, desde que seja totalmente compatível com o padrão “bytecode” do EVM, pode ser chamado de EVM, mas os métodos de implementação podem variar amplamente. Por exemplo, o cliente Ethereum Geth usa a linguagem Go para implementar o padrão EVM. No entanto, Ipsilon, a equipe de pesquisa da camada de execução da Fundação Ethereum, mantém uma implementação independente de EVM desenvolvida em C++. Outros clientes Ethereum podem chamar diretamente esta biblioteca para executar como EVM.
Por exemplo, muitos produtos produzidos industrialmente têm padrões internacionais correspondentes. Por exemplo, quando um produto sai da fábrica, o número de colônias deve ser inferior a um determinado valor antes de poder ser vendido. Este é o “padrão”. Mas para atender a esse padrão de fábrica, cada fábrica pode escolher entre dezenas de métodos de esterilização diferentes, e algumas fábricas podem encontrar maneiras mais econômicas de atender a esse requisito. Isso é “prática”.
Como existe uma implementação do evmone, outras implementações também podem ser feitas. Portanto, neste exemplo de EVM, o padrão EVM define alguns métodos básicos de operação “bytecode” (como suporte à aritmética mais básica, como adição, subtração, multiplicação, etc.). Quando cada bytecode tem uma determinada entrada, há uma saída definida. . Quando se trata de atender a esse critério, as implementações (e práticas) variam amplamente, com muito espaço para customização e possibilidades de otimização de engenharia.
Semelhanças e diferenças do EVM paralelo
Na trilha Parallel EVM, além do Monad mais quente, há também Sei, MegaETH, Polygon, Neon EVM, BSC, etc., e o cliente Reth da Paradigm também deseja implementar funções de paralelização.
Do ponto de vista de posicionamento, Monad, Sei, Polygon e BSC são todos blockchains da Camada 1, enquanto MegaETH pode ser da Camada 2. Neon EVM é baseado na rede Solana. Além disso, Reth é um cliente de código aberto e o MegaETH continuará a ser desenvolvido parcialmente com base em projetos Reth.
É claro que ainda há competição entre essas equipes, e todos os detalhes técnicos e documentos de engenharia não foram totalmente divulgados, mais comparações terão que esperar até que sejam divulgadas gradativamente. Talvez seja como uma corrida armamentista novamente, como BTC Layer 2, Restaking e Ethereum Layer 2. Embora existam diferenças sutis entre as tecnologias (e o código aberto), o mais importante é como construir a singularidade do ecossistema.
Dificuldades técnicas do EVM paralelo
Para transações executadas sequencialmente, o gargalo é a CPU e o processo de leitura e gravação do estado. Mas a vantagem é que esse método é bastante simples, livre de erros e todas as tarefas podem ser concluídas passo a passo. Para máquinas virtuais executadas em paralelo, pode haver conflitos de estado, portanto, esta parte do julgamento precisa ser adicionada antes ou depois da execução.
Um exemplo simples é que se a máquina virtual suportar a execução paralela de quatro threads, e cada thread puder processar uma transação ao mesmo tempo, se essas quatro transações forem todas transações com o mesmo pool de transações no Uniswap, elas não poderão ser executadas em paralelo. Cálculo, porque cada transação afetará o preço de transação deste pool de transações. Mas se esses quatro threads estiverem trabalhando em quatro coisas completamente não relacionadas ao mesmo tempo, então não há problema.
Isto envolverá o projeto e a implementação de engenharia de diferentes equipes, mas pelo menos o que deve ser garantido é que após a execução paralela, seja necessário um módulo para detectar conflitos e reexecutar caso sejam encontrados conflitos. É claro que se as transações que podem entrar em conflito puderem ser previstas e rastreadas com antecedência, a eficiência paralela de toda a máquina virtual também poderá ser aumentada.
Além das diferenças na implementação de engenharia da máquina virtual EVM paralela, cada equipe geralmente redesenhará e aprimorará o desempenho de leitura e gravação do banco de dados de estado e projetará um algoritmo de consenso, como MonadDb e MonadBFT projetado por Monad.
desafio
Para o EVM Paralelo, existem dois desafios possíveis: se o valor da engenharia a longo prazo será capturado pelo Ethereum; e a centralização dos nós.
Como várias equipes ainda estão em fase de desenvolvimento e teste da tecnologia Parallel EVM, elas ainda não optaram por abrir o código-fonte de todos os detalhes de engenharia. Este é um dos fossos atuais. Porém, após entrar na rede de teste e na rede principal, esses documentos do projeto serão tornados públicos e também poderão ser absorvidos pela Ethereum ou outras cadeias públicas. Portanto, nesse momento, é necessário promover mais rapidamente a construção ecológica e construir mais fossos ecológicos.
No entanto, este problema não é tão sério. Por um lado, para os desenvolvedores de criptografia, existem agora mais licenças de código aberto para escolher (como a licença do Uniswap que pode tornar o código público, mas não permite a bifurcação em projetos comerciais). por outro lado, o posicionamento do Monad é inerentemente diferente daquele do Ethereum. Mesmo que o Ethereum consiga atingir a finalidade de soquete único (SSF) no futuro, a finalidade das transações ainda será de pelo menos 12 segundos, o que está longe de ser suficiente para cenários de aplicação de alta frequência.
Outro desafio comum a todas as cadeias públicas de alto desempenho é como implantar mais nós para atender aos requisitos básicos de usuários sem permissão e sem confiança: descentralização. Talvez alguns indicadores possam ser quantificados, como “TPS dividido pelos requisitos de hardware do nó”, para que possamos controlar variáveis e comparar qual cadeia/cliente público tem um TPS maior com base em requisitos de hardware específicos. Afinal, quanto menores forem os requisitos de hardware de um nó, maior será o número de nós possíveis.
A seguir, continuaremos acompanhando o progresso de cada projeto EVM Paralelo e discutiremos detalhadamente suas tecnologias e diferenças.