Originalmente escrito por PSE Trading Analyst @cryptohawk
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-5a402ab8f9-dd1a6f-69ad2a.webp)
TL; DR
Uma máquina virtual é um sistema de computador que é simulado por software e fornece um ambiente para a execução de um programa. Ele pode emular uma variedade de dispositivos de hardware para permitir que os programas sejam executados em um ambiente controlado e compatível.
A Máquina Virtual Ethereum (EVM) é uma máquina virtual baseada em pilha que executa contratos inteligentes Ethereum; O zkEVM fez uma certa otimização da eficiência de geração à prova de zk na equivalência/compatibilidade do EVM.
O zkVM descarta a equivalência/compatibilidade do EVM e aumenta a prioridade da compatibilidade com o zk.
privacy zkVM sobrepõe recursos de privacidade nativos no zkVM;
SVM, FuelVM e MoveVM têm a semelhança de buscar o desempenho final por meio da execução paralela, mas têm suas próprias características em detalhes de design.
ESC VM e BitVM realizaram alguns experimentos inovadores de camada de computação em cadeias ETH e BTC, respectivamente, mas a demanda por implementação real no ambiente atual é baixa.
3. O enorme ecossistema de usuários do EVM determina que qualquer rede blockchain que a abandone será difícil competir com ela no curto prazo, de modo que o ecossistema não-EVM pode introduzir usuários do ecossistema EVM através de transpilers/compiladores/interpretadores de bytecode ou até mesmo camadas de compatibilidade VM, e usar os recursos de máquina virtual não-EVM para construir uma nova narrativa ecológica, ou um caminho necessário para o sucesso.
1.1 O que é uma VM?
Uma máquina virtual (VM) é o bloco de construção de recursos de computação virtualizados que tem quase as mesmas funções que um computador, incluindo a execução de aplicativos e sistemas operacionais. O conceito de máquinas virtuais não é novo, e a tecnologia é amplamente utilizada em muitos ecossistemas de tecnologia.
No contexto do blockchain, uma máquina virtual (VM) é um software que executa programas, muitas vezes referido como um ambiente de tempo de execução que executa contratos inteligentes de blockchain. As máquinas virtuais normalmente fornecem um ambiente de computador virtual emulando diferentes dispositivos de hardware. Máquinas virtuais diferentes podem emular diferentes dispositivos de hardware, mas normalmente incluem CPU, memória, discos rígidos, interfaces de rede e assim por diante. Quando uma transação on-chain é enviada, a máquina virtual é responsável por processar a transação e atualizar o estado do blockchain (o estado global atual de toda a rede) que é afetado pela execução dessa transação. As regras específicas que alteram o estado da rede são definidas pela VM. Ao processar uma transação, a VM converte o código do contrato inteligente em um formato que pode ser executado pelo hardware do nó/validador.
O kernel mais importante em uma VM é LLVM (low-level-virtual-machine), que pode ser considerado o kernel mais importante do compilador. A figura mostra o esquema de operação do EVM original, e o contrato inteligente é convertido em Bytecode através do código intermediário do LLVM IR. Esses bytecodes são armazenados no blockchain e, quando o contrato inteligente é chamado, o bytecode é convertido no Opcode correspondente, que é então executado pelo EVM e pelo hardware do nó.
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-e6504cde98-dd1a6f-69ad2a.webp)
1.2 VMs principais
1.2.1 EVM - O blockchain VM tem um total de uma pedra, o EVM é exclusivo para oito buckets, e o resto é dividido em dois buckets
Projetos Representativos: Otimismo, Arbitrum
Como o ecossistema blockchain com a maior atividade de desenvolvedor e usuário na indústria, o Ethereum Virtual Machine EVM é uma máquina virtual baseada em pilha que fornece um ambiente de computador virtual emulando dispositivos de hardware como CPU, memória, memória e pilhas, de modo a executar instruções de contrato inteligente e armazenar o estado e os dados do contrato inteligente. O conjunto de instruções do EVM inclui vários opcode opcodes, como operações aritméticas, operações lógicas, operações de armazenamento, operações de salto e assim por diante.
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-b215612938-dd1a6f-69ad2a.webp)
A memória emulada pelo EVM são dispositivos usados para armazenar o estado e os dados do contrato inteligente. O EVM trata memória e memória como duas áreas distintas que podem acessar o estado e os dados de um contrato inteligente lendo e gravando na memória e na memória.
A pilha de simulações EVM é usada para armazenar os operandos e resultados de instruções. A maioria das instruções no conjunto de instruções do EVM são baseadas em pilha, eles leem operandos da pilha e empurram os resultados de volta para a pilha.
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-74a85b3f36-dd1a6f-69ad2a.webp)
O processo de design do EVM é obviamente bottom-up, primeiro finalizando o ambiente de hardware simulado (pilha, memória) e, em seguida, projetando seu próprio conjunto de conjuntos de instruções de montagem (Opcode) e bytecode (Bytecode) de acordo com o ambiente correspondente. A comunidade Ethereum projetou duas linguagens compiladas de alto nível - Solidity e Vyper - para a eficiência da execução do EVM. Escusado será dizer que o Vyper é a linguagem EVM de alto nível da Vitalik projetada para resolver algumas das falhas do Solidity, mas não recebeu muita adoção na comunidade, por isso gradualmente desapareceu na obscuridade.
1.2.2 zkEVM - Eu quero tudo: compatível com o ambiente EVM + suporte para conversão de raiz de estado global para gerar zk-proof
Como o EVM não é construído com computação à prova de zk em mente, ele não é amigável para circuitos de prova, especialmente em termos de opcodes especiais, arquiteturas baseadas em pilha, sobrecarga de armazenamento e custos de prova. zkEVM é uma máquina virtual que executa contratos inteligentes de uma forma compatível com a computação à prova de zk, para que o processo de execução do EVM possa ser verificado de forma mais eficiente e económica através da prova de zk/validade. Em comparação com o OP Rollup, a camada de execução só precisa copiar o EVM, e a construção amigável ao ZK do EVM é um desafio adicional para o ZK Rollup.
Os rollups ZK não são facilmente compatíveis com a Máquina Virtual Ethereum (EVM). Provar uma computação EVM de uso geral em um circuito é mais difícil e consome muitos recursos do que provar uma computação simples, como a transferência de token descrita anteriormente.
No entanto, os avanços na tecnologia de conhecimento zero (abre em uma nova aba) reacenderam o interesse em envolver a computação EVM em provas de conhecimento zero. Esses esforços visam criar uma implementação de EVM de conhecimento zero (zkEVM) que possa efetivamente verificar a correção da execução do programa.
Como o EVM, o zkEVM transita entre estados depois de realizar cálculos em determinadas entradas. A diferença é que o zkEVM também cria provas de conhecimento zero para verificar a correção de cada etapa na execução do programa. As provas de validade podem verificar a exatidão das operações que envolvem o estado da máquina virtual (memória, pilha, armazenamento) e o próprio cálculo (ou seja, a operação invocou os opcodes corretos e os executou corretamente?). )。
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-3885eea05b-dd1a6f-69ad2a.webp)
No momento, é difícil para o Rollup alcançar compatibilidade ZK e EVM amigável (ou mesmo equivalente), ou seja, replicar a camada de execução Ethereum L1 da forma mais completa possível, incluindo hashes, árvores de estado, árvores de transação, pré-compilação, etc., para que o cliente de execução Ethereum L1 possa ser usado como é para processar blocos de Rollup; Abandone a compatibilidade EVM e recrie o Opcode existente para prova/verificação no circuito, permitindo que contratos inteligentes sejam executados.
1.2.3 zkVM - Você não pode tê-lo nos dois sentidos: VMs não evm orientadas para a eficiência à prova de zk
Projetos representativos: Starknet, Zksync, RISC ZERO
Em vez de compatibilidade EVM, zkVM encontrou um divisor comum entre criptografia e linguagens de alto nível com provas de dados e atualizações de estado como seus objetivos principais, fornecendo uma estrutura comum para uma ampla gama de aplicações.
Starkware tem uma certa liderança tecnológica devido ao seu início precoce em todo o campo ZK e sua acumulação de tecnologia relativamente suficiente. Ele é o representante da arquitetura técnica centrada no ZK em torno da qual o Cairo VM e a linguagem do Cairo são construídos. A desvantagem é que o Cairo é mais caro para aprender.
A estrutura do ZKsync é compatível com EVM e ZK, e integra o Solidity com sua linguagem de circuito auto-desenvolvida Zinc, unificando os dois no nível IR dentro do compilador. A vantagem é que o LLVM do kernel do compilador é compatível com várias linguagens.
O RISC Zero usa a arquitetura RISC-V para construir simuladores que permitem aos programadores escrever programas para zkVM em linguagens de uso geral, como Rust, C/C++ e Go, o que significa que a lógica do aplicativo não precisa ser limitada ao que pode ser expresso em Solidity, permitindo que código agnóstico em cadeia seja escrito.
1.2.4 Privacidade zkVM - zk friendly + suporte de privacidade nativa, tentando acender uma nova faísca no ecossistema
Blockchain é um sistema de contabilidade pública onde todas as transações são realizadas on-chain, o que significa que as mudanças de estado contendo informações de ativos relacionadas a endereços ou contas são abertas e transparentes. Como resultado, além de trabalhar em soluções de escala, algumas equipes de blockchain acreditam que o próximo recurso chave a ser implementado é a privacidade.
Além do suporte zk-friendly para escala, o Privacy zkVM permite que seus desenvolvedores de aplicativos de camada superior abram dapps relacionados à privacidade devido aos recursos de privacidade suportados nativamente por sua própria linguagem de programação, o que trará novos cenários de aplicativos e grandes narrativas, como resolver completamente o problema MEV e garantir a propriedade dos dados do usuário. É claro que a complexidade do design do Privacy zkVM exigirá uma equipe técnica muito maior para implementar, e isso pode levar vários anos para ser alcançado.
1.2.5 SVM - Após a maré vazante, ainda existem brasas: um ambiente de execução que foi projetado ao extremo do desempenho
SVM, ou Solana Virtual Machine, concentra-se em um ambiente de execução de alto desempenho, e os contratos inteligentes são escritos principalmente em Rust. Em contraste com os ambientes de execução de computação de thread único EVM e EOS WASM, os SVMs permitem transações não sobrepostas e execução simultânea de transações que apenas leem o mesmo estado, exigindo que as transações Solana descrevam todos os estados que serão lidos ou gravados neles no momento da execução.
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-5c07390761-dd1a6f-69ad2a.webp)
Além disso, a fim de permitir a rápida validação/transmissão de grandes blocos de transações, o processo de verificação de transações na rede Solana faz uso extensivo de otimizações de pipeline que são comuns no projeto de CPU. Para atender à situação em que uma série de etapas processam o fluxo de dados de entrada, e cada etapa tem uma responsabilidade de hardware diferente. Uma analogia típica é uma máquina de lavar e secar roupa, que lava/seca/dobra vários lotes de roupa em sequência. A lavagem deve ser realizada antes da secagem, e a dobragem deve ser realizada antes da secagem, mas cada uma destas três operações é realizada por uma unidade separada.
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-c9b316a16d-dd1a6f-69ad2a.webp)
Além disso, os SVMs são baseados em registro e têm um conjunto de instruções muito menor do que os EVMs, tornando a execução de SVMs mais fácil de provar no ZK. Para rollups otimistas, os designs baseados em registro facilitam a definição de pontos de verificação.
1.2.6 Fuel VM - Buff Stacking: Máquina virtual paralela sob a estrutura UTXO
Projeto Representativo: Combustível
Fuel VM é baseado na estrutura de tecnologia EVM, Solana, WASM, BTC & Cosmos, e tem as seguintes características em comparação com EVM:
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-dc84c420c7-dd1a6f-69ad2a.webp)
A coisa mais original é que o Fuel não só tem a capacidade de executar transações em paralelo com transações não sobrepostas, definindo listas de acesso como SVMs, mas também adota o modelo UTXO, que é dividido em token UTXO e UTXO de contrato, o que melhora ainda mais a eficiência de acesso e a taxa de transferência de computação.
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-54817c581d-dd1a6f-69ad2a.webp)
Além disso, o Fuel VM fornece uma experiência de desenvolvedor poderosa e fluida por meio de sua própria linguagem específica de domínio, Sway, e da cadeia de ferramentas de suporte Fort, com um ambiente de desenvolvimento que mantém os benefícios de linguagens de contratos inteligentes como Solidity enquanto adota paradigmas introduzidos no ecossistema de ferramentas Rust.
No futuro, o Fuel VM também implementará atualizações da linguagem Sway, incluindo otimizações do compilador em termos de tamanho de bytecode, o Sway suportará mais backends (backends EVM já estão em desenvolvimento), as abstrações serão mais econômicas, mais aplicativos serão migrados do Solidity/Vyper para o Sway, análise de reentrância no nível do compilador aprimorada e muito mais.
1.2.7 ESC VM - Sucessor do Ordinal/Smartweave: A camada de computação no topo do Ethereum
Projeto Representativo: Protocolo Ethions
ESC VM, ou Ethions Virtual Machine, é uma solução de contrato inteligente proposta pelo Ethions Protocol. O próprio Ethions Protocol é um protocolo semelhante ao BTC Ordinal na cadeia Ethereum, com foco na exploração de alternativas de baixo custo para contratos inteligentes e L2.
O Ethions permite que os usuários ignorem o armazenamento e a execução de contratos inteligentes por uma fração do custo e apliquem dados de chamada em Tx para calcular por meio de regras de protocolo pré-acordadas. Para simplificar, desde que uma transação Ethereum bem-sucedida tenha um calldata que atenda à especificação de dados válida especificada & o endereço "para" não é 0, pode ser considerado que criou legalmente um Ethion, com o endereço "de" sendo o criador e o endereço "para" sendo o proprietário.
No início do design, cada Ethion é mais inclinado para a forma de NFT, como NFT de imagem, e grava diretamente o conteúdo da imagem nos dados de chamada através do formato Base 64:
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-59364b934a-dd1a6f-69ad2a.webp)
O eths mais popular recentemente é o Ethion, que foi criado com referência à especificação do protocolo BRC-20:
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-8b1cde6b8b-dd1a6f-69ad2a.webp)
O contrato inteligente introduzido pela ESC VM, conhecido como "contrato mudo", é anunciado como um contrato lógico, mas não interage on-chain na forma de um EVM. Além disso, a ESC VM também adiciona um formato especial "machine command", que será reconhecido pela ESC VM para interagir com contratos burros, como Deploy - deploy - deploy - call dumb contract.
Existem algumas limitações a este esquema, uma é que a função do "contrato mudo" não é pagável, ou seja, se você quiser enviar ETH através de um contrato mudo, você deve passar por um "contrato ponte", e o próprio "contrato ponte" tem o risco de abuso de controle ou roubo de ativos; Em segundo lugar, há um limiar de entrada no ecossistema, que não permite a criação arbitrária de contratos burros, e seu código precisa ser definido por meio da proposta de governança do Protocolo Ethions.
Resumindo, ESC VM é uma camada de computação construída sobre o Ethereum L1 como a camada de armazenamento de dados, que é implementada colocando lógica de contrato, chamadas de contrato, chamadas de contrato e outro conteúdo de dados nos calldata do Ethereum tx, e o consenso de estado global do ESC VM é o consenso dos clientes ESC VM, que é semelhante à lógica de implementação SmartWeave do Arweave, mas a camada de armazenamento de dados do SmartWeave é Arweave.
1.2.8 Bit VM - Um interessante experimento de pesquisa: um canal de execução peer-to-peer em cima do BTC
Projeto representativo: ZeroSync
O fundador da ZeroSync, Robin Linus, lançou um white paper em 9 de outubro, "BitVM: Compute Anything On Bitcoin", que não é uma VM para ser preciso, mas uma tentativa de criar um espaço de computação Turing-completo com contratos armazenados na cadeia Bitcoin, mas a lógica dos contratos é executada off-chain. Se você acredita que a outra parte está inadimplente, você pode lançar um desafio na cadeia, e se a outra parte não puder responder corretamente, você pode receber todos os fundos do contrato.
A vantagem é que ele pode dar integridade ao Bitcoin Turing sem modificações no protocolo Bitcoin, sem novos opcodes, sem soft forks e pronto para ser aplicado.
Suas deficiências também são óbvias, uma é que ele só suporta transações entre duas partes (uma prova e outra verifica), e a outra é que criar um contrato requer a criação de uma grande quantidade de dados e pré-assinatura de um grande número de transações, e o custo do armazenamento de informações off-chain é enorme.
Aqui está uma breve introdução à lógica técnica:
(1) Compromisso de entrada pontual
O compromisso de entrada pontual permite que o provador defina um valor de entrada de 0 ou 1 para a porta lógica, e nesta promessa há dois valores de hash H(A 0) e H(A 1), e o provador precisa revelar um hash precursor, por exemplo, A 0, em seguida, defina o valor de entrada como 0, se A 1 for revelado, então defina o valor de entrada como 1 .
(2) Compromisso da porta lógica
Depois de ter os valores de entrada, você pode combinar qualquer porta lógica no Bitcoin Script combinando os opcodes amp e NAND do Bitcoin.
(3) Compromisso de Circuito Binário
A completude de Turing pode ser alcançada combinando centenas de milhões de portas lógicas em um circuito binário. A fim de comprometer este circuito binário para a rede Bitcoin, todas as portas lógicas precisam ser colocadas em um nó folha com um endereço Taproot.
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-2adb7ce547-dd1a6f-69ad2a.webp)
(4) Ligação desafio-resposta
Não basta comprometer o circuito on-chain, ambos os lados da transação precisam de uma maneira eficiente de verificar se os cálculos do contrato estão corretos. Idealmente, o contrato corre fora da cadeia, e ambas as partes ficam felizes quando são cooperativas e indiscutíveis. No entanto, se houver uma disputa entre as duas partes da transação, você precisa entrar em uma etapa de desafio-resposta para verificar os resultados do cálculo e forçar a distribuição do saldo do canal através do Bitcoin Script.
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-51632a6382-dd1a6f-69ad2a.webp)
Como tal, o BitVM está longe de ser algum tipo de Bitcoin Rollup ou L2 e não tem um ambiente de execução de máquina virtual completo, estado global, uma linguagem de alto nível para publicar contratos inteligentes complexos e não pode permitir que qualquer número de usuários interaja facilmente com esses contratos. Para ilustrar isso com um exemplo leigo, BitVM é como construir um computador gigante maior do que uma sala na era em que todos podem usar dispositivos móveis.
1.2.9 MoveVM - um produto dos genes Web2 do Facebook
Projetos Representativos: Aptos, Sui
Move é uma linguagem de programação para escrever contratos inteligentes seguros, que foi originalmente desenvolvida pelo Facebook para suportar o blockchain Diem, e depois que o projeto de blockchain Diem foi descontinuado, projetos como Aptos e Sui continuaram o uso da linguagem Move. A maior característica do blockchain Move é que o armazenamento de dados adota o armazenamento global, que consiste em uma árvore com o endereço da conta como raiz, e cada endereço pode armazenar dados de recursos e código do módulo.
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-4bc57a20bb-dd1a6f-69ad2a.webp)
Existem dois tipos diferentes de programas para o Move: módulos e scripts. Um módulo é uma biblioteca que define tipos de estrutura e funções que operam nesses tipos. O tipo de estrutura define o modo de armazenamento global para o Move e a função de módulo define as regras para atualizar o armazenamento. Os próprios módulos também são armazenados em armazenamento global. Os scripts, por outro lado, são o ponto de entrada para o executável, semelhante à função principal em linguagens tradicionais, e são trechos temporários de código que não são publicados no repositório global.
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-8a301faa9e-dd1a6f-69ad2a.webp)
Em resumo, o módulo Move é semelhante ao módulo de biblioteca dinâmica que é carregado quando o tempo de execução executável do sistema, enquanto o script é semelhante ao programa principal. Os usuários podem escrever seus próprios scripts para acessar o armazenamento global, incluindo módulos de chamada, enquanto a publicação de módulos ou a execução de scripts podem ser manipulados por meio da VM Move.
1.3 Tendências de Desenvolvimento Ecológico
Agora que o efeito de rede EVM é tão forte, a migração de usuários EVM para ecossistemas de cadeia não-EVM tornou-se o maior ponto de crescimento para projetos emergentes de blockchain, o que trará mais compatibilidade Dapp, e maior conectividade pode levar a um crescimento mais rápido do usuário nos próximos anos.
1.3.1 Carteira compatível com front-end
Apresentar os usuários de EVM a cadeias não-EVM tem sido historicamente um grande obstáculo, mas o recente lançamento do Metamask Snap quebrará essa barreira. Os utilizadores EVM podem continuar a utilizar o MetaMask sem terem de mudar de carteira. Graças às contribuições de código aberto do Drift, que criam uma ótima implementação do MetaMask Snap, o UX é o equivalente a interagir com qualquer cadeia EVM. Os usuários da mainnet do Eclipse poderão interagir com aplicativos nativos no MetaMask ou usar carteiras nativas do Solana, como o Salmon.
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-238b0558fb-dd1a6f-69ad2a.webp)
1.3.2 VM compatível com back-end
1.3.2.1 Transpilador/Compilador
Projeto representativo: Wrap
Warp é um transpiler Solidity-Cairo que foi desenvolvido pela Nethermind, uma equipe de infraestrutura bem conhecida no Ethereum. Warp pode traduzir o código Solidity para o Cairo, mas o programa traduzido Cairo muitas vezes precisa modificar e adicionar recursos do Cairo (como chamar funções integradas, otimizar a memória, etc.) para maximizar a eficiência de execução.
1.3.2.2 Interpretador de bytecode/camada de compatibilidade de VM
Projetos Representativos: Kakarot, Neon EVM
Kakarot é um interpretador de bytecode EVM implementado na forma de um contrato inteligente escrito no Cairo na Starknet, que simula a pilha, memória, execução e outros aspetos do EVM na forma de um contrato inteligente do Cairo. Em comparação com a tradução de código, o Kakarot implementa a implementação item a item do Opcode e da Pré-compilação por trás do EVM, e cria componentes como o Registro de Conta e o Registro Blockhash para fornecer processamento adicional para mapeamento de endereço de conta e aquisição de informações de bloco, para que o kakarot tenha maior compatibilidade nativa.
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-7049ae3417-dd1a6f-69ad2a.webp)
Neon EVM é um tipo de EVM que opera como um contrato inteligente e pode ser implantado em qualquer cadeia SVM. A própria mainnet do Eclipse usa SVM como ambiente de execução, mas traz total compatibilidade com EVM (incluindo suporte a bytecode EVM e Ethereum JSON-RPC) através do Neon EVM, e maior taxa de transferência do que o EVM single-threaded. Além disso, cada instância Neon EVM tem seu próprio mercado de taxas local, ou seja, há um limite superior (1/4 da unidade de computação de bloco) relacionado à interação de uma única conta de contrato em uma altura de bloco, de modo que os usuários só precisam pagar taxas de prioridade quando uma interação ou bloco de contrato quente específico estiver cheio. Nesse sentido, um aplicativo implanta seu próprio contrato para obter uma vantagem semelhante à de uma cadeia de aplicativos, reduzindo assim a interrupção da experiência do usuário, segurança ou liquidez de toda a rede quando um determinado contrato interage com o congestionamento tx.
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-663a3c3002-dd1a6f-69ad2a.webp)
Recursos:
"Kakarot: Explorando o Caminho da Starknet para a Compatibilidade EVM", por Cynic & Starknet Astro
"BitVM é muito debatido, a rede Bitcoin pode alcançar a completude de Turing?" ",por Haotian
"Starkware Technology Architecture and Ecosystem", por Maxlion
"Project Research丨Modular High-Speed Execution Layer Fuel Research Report", da Web3 CN
"Análise da Primeira Vulnerabilidade Crítica do Aptos Move VM", por Numen Cyber Labs
11."O que é SVM - A Máquina Virtual Solana", por Squads
12."Apresentando o Eclipse Mainnet: O Ethereum SVM L2", por Eclipse
15."Os diferentes tipos de ZK-EVMs", por Vitalik Buterin
"Cipholio Research Report: A Discussion on ZkVM's Approach and Future", por YOLO SHEN, Cipholio Ventures
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.
PSE Trading: Sob a onda de rollups, as VMs ainda têm uma história para contar
Originalmente escrito por PSE Trading Analyst @cryptohawk
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-5a402ab8f9-dd1a6f-69ad2a.webp)
TL; DR
O zkVM descarta a equivalência/compatibilidade do EVM e aumenta a prioridade da compatibilidade com o zk.
privacy zkVM sobrepõe recursos de privacidade nativos no zkVM;
SVM, FuelVM e MoveVM têm a semelhança de buscar o desempenho final por meio da execução paralela, mas têm suas próprias características em detalhes de design.
ESC VM e BitVM realizaram alguns experimentos inovadores de camada de computação em cadeias ETH e BTC, respectivamente, mas a demanda por implementação real no ambiente atual é baixa. 3. O enorme ecossistema de usuários do EVM determina que qualquer rede blockchain que a abandone será difícil competir com ela no curto prazo, de modo que o ecossistema não-EVM pode introduzir usuários do ecossistema EVM através de transpilers/compiladores/interpretadores de bytecode ou até mesmo camadas de compatibilidade VM, e usar os recursos de máquina virtual não-EVM para construir uma nova narrativa ecológica, ou um caminho necessário para o sucesso.
1.1 O que é uma VM?
Uma máquina virtual (VM) é o bloco de construção de recursos de computação virtualizados que tem quase as mesmas funções que um computador, incluindo a execução de aplicativos e sistemas operacionais. O conceito de máquinas virtuais não é novo, e a tecnologia é amplamente utilizada em muitos ecossistemas de tecnologia.
No contexto do blockchain, uma máquina virtual (VM) é um software que executa programas, muitas vezes referido como um ambiente de tempo de execução que executa contratos inteligentes de blockchain. As máquinas virtuais normalmente fornecem um ambiente de computador virtual emulando diferentes dispositivos de hardware. Máquinas virtuais diferentes podem emular diferentes dispositivos de hardware, mas normalmente incluem CPU, memória, discos rígidos, interfaces de rede e assim por diante. Quando uma transação on-chain é enviada, a máquina virtual é responsável por processar a transação e atualizar o estado do blockchain (o estado global atual de toda a rede) que é afetado pela execução dessa transação. As regras específicas que alteram o estado da rede são definidas pela VM. Ao processar uma transação, a VM converte o código do contrato inteligente em um formato que pode ser executado pelo hardware do nó/validador.
O kernel mais importante em uma VM é LLVM (low-level-virtual-machine), que pode ser considerado o kernel mais importante do compilador. A figura mostra o esquema de operação do EVM original, e o contrato inteligente é convertido em Bytecode através do código intermediário do LLVM IR. Esses bytecodes são armazenados no blockchain e, quando o contrato inteligente é chamado, o bytecode é convertido no Opcode correspondente, que é então executado pelo EVM e pelo hardware do nó.
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-e6504cde98-dd1a6f-69ad2a.webp)
1.2 VMs principais
1.2.1 EVM - O blockchain VM tem um total de uma pedra, o EVM é exclusivo para oito buckets, e o resto é dividido em dois buckets
Projetos Representativos: Otimismo, Arbitrum
Como o ecossistema blockchain com a maior atividade de desenvolvedor e usuário na indústria, o Ethereum Virtual Machine EVM é uma máquina virtual baseada em pilha que fornece um ambiente de computador virtual emulando dispositivos de hardware como CPU, memória, memória e pilhas, de modo a executar instruções de contrato inteligente e armazenar o estado e os dados do contrato inteligente. O conjunto de instruções do EVM inclui vários opcode opcodes, como operações aritméticas, operações lógicas, operações de armazenamento, operações de salto e assim por diante.
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-b215612938-dd1a6f-69ad2a.webp)
A memória emulada pelo EVM são dispositivos usados para armazenar o estado e os dados do contrato inteligente. O EVM trata memória e memória como duas áreas distintas que podem acessar o estado e os dados de um contrato inteligente lendo e gravando na memória e na memória.
A pilha de simulações EVM é usada para armazenar os operandos e resultados de instruções. A maioria das instruções no conjunto de instruções do EVM são baseadas em pilha, eles leem operandos da pilha e empurram os resultados de volta para a pilha.
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-74a85b3f36-dd1a6f-69ad2a.webp)
O processo de design do EVM é obviamente bottom-up, primeiro finalizando o ambiente de hardware simulado (pilha, memória) e, em seguida, projetando seu próprio conjunto de conjuntos de instruções de montagem (Opcode) e bytecode (Bytecode) de acordo com o ambiente correspondente. A comunidade Ethereum projetou duas linguagens compiladas de alto nível - Solidity e Vyper - para a eficiência da execução do EVM. Escusado será dizer que o Vyper é a linguagem EVM de alto nível da Vitalik projetada para resolver algumas das falhas do Solidity, mas não recebeu muita adoção na comunidade, por isso gradualmente desapareceu na obscuridade.
1.2.2 zkEVM - Eu quero tudo: compatível com o ambiente EVM + suporte para conversão de raiz de estado global para gerar zk-proof
Projetos Representativos: Taiko, Scroll, Polygon zkEVM
Como o EVM não é construído com computação à prova de zk em mente, ele não é amigável para circuitos de prova, especialmente em termos de opcodes especiais, arquiteturas baseadas em pilha, sobrecarga de armazenamento e custos de prova. zkEVM é uma máquina virtual que executa contratos inteligentes de uma forma compatível com a computação à prova de zk, para que o processo de execução do EVM possa ser verificado de forma mais eficiente e económica através da prova de zk/validade. Em comparação com o OP Rollup, a camada de execução só precisa copiar o EVM, e a construção amigável ao ZK do EVM é um desafio adicional para o ZK Rollup.
Os rollups ZK não são facilmente compatíveis com a Máquina Virtual Ethereum (EVM). Provar uma computação EVM de uso geral em um circuito é mais difícil e consome muitos recursos do que provar uma computação simples, como a transferência de token descrita anteriormente.
No entanto, os avanços na tecnologia de conhecimento zero (abre em uma nova aba) reacenderam o interesse em envolver a computação EVM em provas de conhecimento zero. Esses esforços visam criar uma implementação de EVM de conhecimento zero (zkEVM) que possa efetivamente verificar a correção da execução do programa.
Como o EVM, o zkEVM transita entre estados depois de realizar cálculos em determinadas entradas. A diferença é que o zkEVM também cria provas de conhecimento zero para verificar a correção de cada etapa na execução do programa. As provas de validade podem verificar a exatidão das operações que envolvem o estado da máquina virtual (memória, pilha, armazenamento) e o próprio cálculo (ou seja, a operação invocou os opcodes corretos e os executou corretamente?). )。
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-3885eea05b-dd1a6f-69ad2a.webp)
No momento, é difícil para o Rollup alcançar compatibilidade ZK e EVM amigável (ou mesmo equivalente), ou seja, replicar a camada de execução Ethereum L1 da forma mais completa possível, incluindo hashes, árvores de estado, árvores de transação, pré-compilação, etc., para que o cliente de execução Ethereum L1 possa ser usado como é para processar blocos de Rollup; Abandone a compatibilidade EVM e recrie o Opcode existente para prova/verificação no circuito, permitindo que contratos inteligentes sejam executados.
1.2.3 zkVM - Você não pode tê-lo nos dois sentidos: VMs não evm orientadas para a eficiência à prova de zk
Projetos representativos: Starknet, Zksync, RISC ZERO
Em vez de compatibilidade EVM, zkVM encontrou um divisor comum entre criptografia e linguagens de alto nível com provas de dados e atualizações de estado como seus objetivos principais, fornecendo uma estrutura comum para uma ampla gama de aplicações.
Starkware tem uma certa liderança tecnológica devido ao seu início precoce em todo o campo ZK e sua acumulação de tecnologia relativamente suficiente. Ele é o representante da arquitetura técnica centrada no ZK em torno da qual o Cairo VM e a linguagem do Cairo são construídos. A desvantagem é que o Cairo é mais caro para aprender.
A estrutura do ZKsync é compatível com EVM e ZK, e integra o Solidity com sua linguagem de circuito auto-desenvolvida Zinc, unificando os dois no nível IR dentro do compilador. A vantagem é que o LLVM do kernel do compilador é compatível com várias linguagens.
O RISC Zero usa a arquitetura RISC-V para construir simuladores que permitem aos programadores escrever programas para zkVM em linguagens de uso geral, como Rust, C/C++ e Go, o que significa que a lógica do aplicativo não precisa ser limitada ao que pode ser expresso em Solidity, permitindo que código agnóstico em cadeia seja escrito.
1.2.4 Privacidade zkVM - zk friendly + suporte de privacidade nativa, tentando acender uma nova faísca no ecossistema
Projetos Representativos: Aleo, Ola, Polygon Miden
Blockchain é um sistema de contabilidade pública onde todas as transações são realizadas on-chain, o que significa que as mudanças de estado contendo informações de ativos relacionadas a endereços ou contas são abertas e transparentes. Como resultado, além de trabalhar em soluções de escala, algumas equipes de blockchain acreditam que o próximo recurso chave a ser implementado é a privacidade.
Além do suporte zk-friendly para escala, o Privacy zkVM permite que seus desenvolvedores de aplicativos de camada superior abram dapps relacionados à privacidade devido aos recursos de privacidade suportados nativamente por sua própria linguagem de programação, o que trará novos cenários de aplicativos e grandes narrativas, como resolver completamente o problema MEV e garantir a propriedade dos dados do usuário. É claro que a complexidade do design do Privacy zkVM exigirá uma equipe técnica muito maior para implementar, e isso pode levar vários anos para ser alcançado.
1.2.5 SVM - Após a maré vazante, ainda existem brasas: um ambiente de execução que foi projetado ao extremo do desempenho
Projetos representativos: Eclipse Mainnet, Nitro, MakerDAO Chain (talvez)
SVM, ou Solana Virtual Machine, concentra-se em um ambiente de execução de alto desempenho, e os contratos inteligentes são escritos principalmente em Rust. Em contraste com os ambientes de execução de computação de thread único EVM e EOS WASM, os SVMs permitem transações não sobrepostas e execução simultânea de transações que apenas leem o mesmo estado, exigindo que as transações Solana descrevam todos os estados que serão lidos ou gravados neles no momento da execução.
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-5c07390761-dd1a6f-69ad2a.webp)
Além disso, a fim de permitir a rápida validação/transmissão de grandes blocos de transações, o processo de verificação de transações na rede Solana faz uso extensivo de otimizações de pipeline que são comuns no projeto de CPU. Para atender à situação em que uma série de etapas processam o fluxo de dados de entrada, e cada etapa tem uma responsabilidade de hardware diferente. Uma analogia típica é uma máquina de lavar e secar roupa, que lava/seca/dobra vários lotes de roupa em sequência. A lavagem deve ser realizada antes da secagem, e a dobragem deve ser realizada antes da secagem, mas cada uma destas três operações é realizada por uma unidade separada.
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-c9b316a16d-dd1a6f-69ad2a.webp)
Além disso, os SVMs são baseados em registro e têm um conjunto de instruções muito menor do que os EVMs, tornando a execução de SVMs mais fácil de provar no ZK. Para rollups otimistas, os designs baseados em registro facilitam a definição de pontos de verificação.
1.2.6 Fuel VM - Buff Stacking: Máquina virtual paralela sob a estrutura UTXO
Projeto Representativo: Combustível
Fuel VM é baseado na estrutura de tecnologia EVM, Solana, WASM, BTC & Cosmos, e tem as seguintes características em comparação com EVM:
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-dc84c420c7-dd1a6f-69ad2a.webp)
A coisa mais original é que o Fuel não só tem a capacidade de executar transações em paralelo com transações não sobrepostas, definindo listas de acesso como SVMs, mas também adota o modelo UTXO, que é dividido em token UTXO e UTXO de contrato, o que melhora ainda mais a eficiência de acesso e a taxa de transferência de computação.
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-54817c581d-dd1a6f-69ad2a.webp)
Além disso, o Fuel VM fornece uma experiência de desenvolvedor poderosa e fluida por meio de sua própria linguagem específica de domínio, Sway, e da cadeia de ferramentas de suporte Fort, com um ambiente de desenvolvimento que mantém os benefícios de linguagens de contratos inteligentes como Solidity enquanto adota paradigmas introduzidos no ecossistema de ferramentas Rust.
No futuro, o Fuel VM também implementará atualizações da linguagem Sway, incluindo otimizações do compilador em termos de tamanho de bytecode, o Sway suportará mais backends (backends EVM já estão em desenvolvimento), as abstrações serão mais econômicas, mais aplicativos serão migrados do Solidity/Vyper para o Sway, análise de reentrância no nível do compilador aprimorada e muito mais.
1.2.7 ESC VM - Sucessor do Ordinal/Smartweave: A camada de computação no topo do Ethereum
Projeto Representativo: Protocolo Ethions
ESC VM, ou Ethions Virtual Machine, é uma solução de contrato inteligente proposta pelo Ethions Protocol. O próprio Ethions Protocol é um protocolo semelhante ao BTC Ordinal na cadeia Ethereum, com foco na exploração de alternativas de baixo custo para contratos inteligentes e L2.
O Ethions permite que os usuários ignorem o armazenamento e a execução de contratos inteligentes por uma fração do custo e apliquem dados de chamada em Tx para calcular por meio de regras de protocolo pré-acordadas. Para simplificar, desde que uma transação Ethereum bem-sucedida tenha um calldata que atenda à especificação de dados válida especificada & o endereço "para" não é 0, pode ser considerado que criou legalmente um Ethion, com o endereço "de" sendo o criador e o endereço "para" sendo o proprietário.
No início do design, cada Ethion é mais inclinado para a forma de NFT, como NFT de imagem, e grava diretamente o conteúdo da imagem nos dados de chamada através do formato Base 64:
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-59364b934a-dd1a6f-69ad2a.webp)
O eths mais popular recentemente é o Ethion, que foi criado com referência à especificação do protocolo BRC-20:
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-8b1cde6b8b-dd1a6f-69ad2a.webp)
O contrato inteligente introduzido pela ESC VM, conhecido como "contrato mudo", é anunciado como um contrato lógico, mas não interage on-chain na forma de um EVM. Além disso, a ESC VM também adiciona um formato especial "machine command", que será reconhecido pela ESC VM para interagir com contratos burros, como Deploy - deploy - deploy - call dumb contract.
Existem algumas limitações a este esquema, uma é que a função do "contrato mudo" não é pagável, ou seja, se você quiser enviar ETH através de um contrato mudo, você deve passar por um "contrato ponte", e o próprio "contrato ponte" tem o risco de abuso de controle ou roubo de ativos; Em segundo lugar, há um limiar de entrada no ecossistema, que não permite a criação arbitrária de contratos burros, e seu código precisa ser definido por meio da proposta de governança do Protocolo Ethions.
Resumindo, ESC VM é uma camada de computação construída sobre o Ethereum L1 como a camada de armazenamento de dados, que é implementada colocando lógica de contrato, chamadas de contrato, chamadas de contrato e outro conteúdo de dados nos calldata do Ethereum tx, e o consenso de estado global do ESC VM é o consenso dos clientes ESC VM, que é semelhante à lógica de implementação SmartWeave do Arweave, mas a camada de armazenamento de dados do SmartWeave é Arweave.
1.2.8 Bit VM - Um interessante experimento de pesquisa: um canal de execução peer-to-peer em cima do BTC
Projeto representativo: ZeroSync
O fundador da ZeroSync, Robin Linus, lançou um white paper em 9 de outubro, "BitVM: Compute Anything On Bitcoin", que não é uma VM para ser preciso, mas uma tentativa de criar um espaço de computação Turing-completo com contratos armazenados na cadeia Bitcoin, mas a lógica dos contratos é executada off-chain. Se você acredita que a outra parte está inadimplente, você pode lançar um desafio na cadeia, e se a outra parte não puder responder corretamente, você pode receber todos os fundos do contrato.
A vantagem é que ele pode dar integridade ao Bitcoin Turing sem modificações no protocolo Bitcoin, sem novos opcodes, sem soft forks e pronto para ser aplicado.
Suas deficiências também são óbvias, uma é que ele só suporta transações entre duas partes (uma prova e outra verifica), e a outra é que criar um contrato requer a criação de uma grande quantidade de dados e pré-assinatura de um grande número de transações, e o custo do armazenamento de informações off-chain é enorme.
Aqui está uma breve introdução à lógica técnica:
(1) Compromisso de entrada pontual
O compromisso de entrada pontual permite que o provador defina um valor de entrada de 0 ou 1 para a porta lógica, e nesta promessa há dois valores de hash H(A 0) e H(A 1), e o provador precisa revelar um hash precursor, por exemplo, A 0, em seguida, defina o valor de entrada como 0, se A 1 for revelado, então defina o valor de entrada como 1 .
(2) Compromisso da porta lógica
Depois de ter os valores de entrada, você pode combinar qualquer porta lógica no Bitcoin Script combinando os opcodes amp e NAND do Bitcoin.
(3) Compromisso de Circuito Binário
A completude de Turing pode ser alcançada combinando centenas de milhões de portas lógicas em um circuito binário. A fim de comprometer este circuito binário para a rede Bitcoin, todas as portas lógicas precisam ser colocadas em um nó folha com um endereço Taproot.
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-2adb7ce547-dd1a6f-69ad2a.webp)
(4) Ligação desafio-resposta
Não basta comprometer o circuito on-chain, ambos os lados da transação precisam de uma maneira eficiente de verificar se os cálculos do contrato estão corretos. Idealmente, o contrato corre fora da cadeia, e ambas as partes ficam felizes quando são cooperativas e indiscutíveis. No entanto, se houver uma disputa entre as duas partes da transação, você precisa entrar em uma etapa de desafio-resposta para verificar os resultados do cálculo e forçar a distribuição do saldo do canal através do Bitcoin Script.
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-51632a6382-dd1a6f-69ad2a.webp)
Como tal, o BitVM está longe de ser algum tipo de Bitcoin Rollup ou L2 e não tem um ambiente de execução de máquina virtual completo, estado global, uma linguagem de alto nível para publicar contratos inteligentes complexos e não pode permitir que qualquer número de usuários interaja facilmente com esses contratos. Para ilustrar isso com um exemplo leigo, BitVM é como construir um computador gigante maior do que uma sala na era em que todos podem usar dispositivos móveis.
1.2.9 MoveVM - um produto dos genes Web2 do Facebook
Projetos Representativos: Aptos, Sui
Move é uma linguagem de programação para escrever contratos inteligentes seguros, que foi originalmente desenvolvida pelo Facebook para suportar o blockchain Diem, e depois que o projeto de blockchain Diem foi descontinuado, projetos como Aptos e Sui continuaram o uso da linguagem Move. A maior característica do blockchain Move é que o armazenamento de dados adota o armazenamento global, que consiste em uma árvore com o endereço da conta como raiz, e cada endereço pode armazenar dados de recursos e código do módulo.
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-4bc57a20bb-dd1a6f-69ad2a.webp)
Existem dois tipos diferentes de programas para o Move: módulos e scripts. Um módulo é uma biblioteca que define tipos de estrutura e funções que operam nesses tipos. O tipo de estrutura define o modo de armazenamento global para o Move e a função de módulo define as regras para atualizar o armazenamento. Os próprios módulos também são armazenados em armazenamento global. Os scripts, por outro lado, são o ponto de entrada para o executável, semelhante à função principal em linguagens tradicionais, e são trechos temporários de código que não são publicados no repositório global.
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-8a301faa9e-dd1a6f-69ad2a.webp)
Em resumo, o módulo Move é semelhante ao módulo de biblioteca dinâmica que é carregado quando o tempo de execução executável do sistema, enquanto o script é semelhante ao programa principal. Os usuários podem escrever seus próprios scripts para acessar o armazenamento global, incluindo módulos de chamada, enquanto a publicação de módulos ou a execução de scripts podem ser manipulados por meio da VM Move.
1.3 Tendências de Desenvolvimento Ecológico
Agora que o efeito de rede EVM é tão forte, a migração de usuários EVM para ecossistemas de cadeia não-EVM tornou-se o maior ponto de crescimento para projetos emergentes de blockchain, o que trará mais compatibilidade Dapp, e maior conectividade pode levar a um crescimento mais rápido do usuário nos próximos anos.
1.3.1 Carteira compatível com front-end
Apresentar os usuários de EVM a cadeias não-EVM tem sido historicamente um grande obstáculo, mas o recente lançamento do Metamask Snap quebrará essa barreira. Os utilizadores EVM podem continuar a utilizar o MetaMask sem terem de mudar de carteira. Graças às contribuições de código aberto do Drift, que criam uma ótima implementação do MetaMask Snap, o UX é o equivalente a interagir com qualquer cadeia EVM. Os usuários da mainnet do Eclipse poderão interagir com aplicativos nativos no MetaMask ou usar carteiras nativas do Solana, como o Salmon.
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-238b0558fb-dd1a6f-69ad2a.webp)
1.3.2 VM compatível com back-end
1.3.2.1 Transpilador/Compilador
Projeto representativo: Wrap
Warp é um transpiler Solidity-Cairo que foi desenvolvido pela Nethermind, uma equipe de infraestrutura bem conhecida no Ethereum. Warp pode traduzir o código Solidity para o Cairo, mas o programa traduzido Cairo muitas vezes precisa modificar e adicionar recursos do Cairo (como chamar funções integradas, otimizar a memória, etc.) para maximizar a eficiência de execução.
1.3.2.2 Interpretador de bytecode/camada de compatibilidade de VM
Projetos Representativos: Kakarot, Neon EVM
Kakarot é um interpretador de bytecode EVM implementado na forma de um contrato inteligente escrito no Cairo na Starknet, que simula a pilha, memória, execução e outros aspetos do EVM na forma de um contrato inteligente do Cairo. Em comparação com a tradução de código, o Kakarot implementa a implementação item a item do Opcode e da Pré-compilação por trás do EVM, e cria componentes como o Registro de Conta e o Registro Blockhash para fornecer processamento adicional para mapeamento de endereço de conta e aquisição de informações de bloco, para que o kakarot tenha maior compatibilidade nativa.
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-7049ae3417-dd1a6f-69ad2a.webp)
Neon EVM é um tipo de EVM que opera como um contrato inteligente e pode ser implantado em qualquer cadeia SVM. A própria mainnet do Eclipse usa SVM como ambiente de execução, mas traz total compatibilidade com EVM (incluindo suporte a bytecode EVM e Ethereum JSON-RPC) através do Neon EVM, e maior taxa de transferência do que o EVM single-threaded. Além disso, cada instância Neon EVM tem seu próprio mercado de taxas local, ou seja, há um limite superior (1/4 da unidade de computação de bloco) relacionado à interação de uma única conta de contrato em uma altura de bloco, de modo que os usuários só precisam pagar taxas de prioridade quando uma interação ou bloco de contrato quente específico estiver cheio. Nesse sentido, um aplicativo implanta seu próprio contrato para obter uma vantagem semelhante à de uma cadeia de aplicativos, reduzindo assim a interrupção da experiência do usuário, segurança ou liquidez de toda a rede quando um determinado contrato interage com o congestionamento tx.
! [PSE Trading: Sob a onda do rollup, VM ainda tem uma história para contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-663a3c3002-dd1a6f-69ad2a.webp)
Recursos:
"Kakarot: Explorando o Caminho da Starknet para a Compatibilidade EVM", por Cynic & Starknet Astro
"BitVM é muito debatido, a rede Bitcoin pode alcançar a completude de Turing?" ",por Haotian
"Starkware Technology Architecture and Ecosystem", por Maxlion
"Project Research丨Modular High-Speed Execution Layer Fuel Research Report", da Web3 CN
"Análise da Primeira Vulnerabilidade Crítica do Aptos Move VM", por Numen Cyber Labs
11."O que é SVM - A Máquina Virtual Solana", por Squads
12."Apresentando o Eclipse Mainnet: O Ethereum SVM L2", por Eclipse
15."Os diferentes tipos de ZK-EVMs", por Vitalik Buterin