Escrito originalmente por PSE Trading Analyst @cryptohawk
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-5a402ab8f9-dd1a6f-69ad2a.webp)
TL; DR
Una máquina virtual es un sistema informático que se simula mediante software y proporciona un entorno para la ejecución de un programa. Puede emular una variedad de dispositivos de hardware para permitir que los programas se ejecuten en un entorno controlado y compatible.
La Ethereum Virtual Machine (EVM) es una máquina virtual basada en pila que ejecuta contratos inteligentes de Ethereum; zkEVM ha realizado una cierta optimización de la eficiencia de generación a prueba de zk en la equivalencia/compatibilidad de EVM.
zkVM descarta la equivalencia/compatibilidad de EVM y aumenta la prioridad de compatibilidad con zk.
privacy zkVM superpone características de privacidad nativas en zkVM;
SVM, FuelVM y MoveVM tienen en común la búsqueda del máximo rendimiento a través de la ejecución paralela, pero tienen sus propias características en los detalles de diseño.
ESC VM y BitVM han llevado a cabo algunos experimentos innovadores de capas de computación en las cadenas ETH y BTC respectivamente, pero la demanda de implementación real en el entorno actual es baja.
3. El enorme ecosistema de usuarios de EVM determina que cualquier red blockchain que lo abandone será difícil competir con él a corto plazo, por lo que el ecosistema que no es EVM puede introducir usuarios del ecosistema EVM a través de transpiladores/compiladores/intérpretes de código de bytes o incluso capas de compatibilidad de VM, y utilizar las características de la máquina virtual que no es EVM para construir una nueva narrativa ecológica, o un camino necesario hacia el éxito.
1.1 ¿Qué es una máquina virtual?
Una máquina virtual (VM) es el componente básico de los recursos informáticos virtualizados que tiene casi las mismas funciones que un ordenador, incluida la ejecución de aplicaciones y sistemas operativos. El concepto de máquinas virtuales no es nuevo, y la tecnología se utiliza ampliamente en muchos ecosistemas tecnológicos.
En el contexto de la cadena de bloques, una máquina virtual (VM) es una pieza de software que ejecuta programas, a menudo denominada entorno de ejecución que ejecuta contratos inteligentes de cadena de bloques. Las máquinas virtuales suelen proporcionar un entorno de equipo virtual mediante la emulación de diferentes dispositivos de hardware. Diferentes máquinas virtuales pueden emular diferentes dispositivos de hardware, pero normalmente incluyen CPU, memoria, discos duros, interfaces de red, etc. Cuando se envía una transacción on-chain, la máquina virtual es responsable de procesar la transacción y actualizar el estado de la cadena de bloques (el estado global actual de toda la red) que se ve afectado por la ejecución de esa transacción. Las reglas específicas que cambian el estado de la red las define la máquina virtual. Al procesar una transacción, la máquina virtual convierte el código del contrato inteligente en un formato que puede ser ejecutado por el hardware del nodo/validador.
El kernel más importante de una VM es LLVM (low-level-virtual-machine), que puede considerarse el kernel más importante del compilador. La figura muestra el esquema de operación de la EVM original, y el contrato inteligente se convierte en código de bytes a través del código intermedio de LLVM IR. Estos códigos de bytes se almacenan en la cadena de bloques, y cuando se llama al contrato inteligente, el código de bytes se convierte en el código de operación correspondiente, que luego es ejecutado por la EVM y el hardware del nodo.
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-e6504cde98-dd1a6f-69ad2a.webp)
1.2 Máquinas virtuales convencionales
1.2.1 EVM: la máquina virtual de blockchain tiene un total de una piedra, la EVM es exclusiva de ocho cubos y el resto se divide en dos cubos
Proyectos representativos: Optimismo, Arbitrum
Como el ecosistema blockchain con la mayor actividad de desarrolladores y usuarios en la industria, la Ethereum Virtual Machine EVM es una máquina virtual basada en pilas que proporciona un entorno informático virtual mediante la emulación de dispositivos de hardware como CPU, memoria, memoria y pilas, para ejecutar instrucciones de contratos inteligentes y almacenar el estado y los datos de los contratos inteligentes. El conjunto de instrucciones de la EVM incluye varios códigos de operación de código de operación, como operaciones aritméticas, operaciones lógicas, operaciones de almacenamiento, operaciones de salto, etc.
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-b215612938-dd1a6f-69ad2a.webp)
La memoria y la memoria emulada por la EVM son dispositivos que se utilizan para almacenar el estado y los datos del contrato inteligente. La EVM trata la memoria y la memoria como dos áreas distintas que pueden acceder al estado y los datos de un contrato inteligente mediante la lectura y escritura en la memoria y la memoria.
La pila de simulaciones de EVM se utiliza para almacenar los operandos y los resultados de las instrucciones. La mayoría de las instrucciones en el conjunto de instrucciones de EVM se basan en la pila, leen operandos de la pila y envían los resultados de vuelta a la pila.
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-74a85b3f36-dd1a6f-69ad2a.webp)
El proceso de diseño de la EVM es obviamente de abajo hacia arriba, primero finalizando el entorno de hardware simulado (pila, memoria) y luego diseñando su propio conjunto de conjuntos de instrucciones de ensamblaje (Opcode) y código de bytes (Bytecode) de acuerdo con el entorno correspondiente. La comunidad de Ethereum ha diseñado dos lenguajes compilados de alto nivel, Solidity y Vyper, para la eficiencia de la ejecución de EVM. No hace falta decir que Vyper es el lenguaje de alto nivel EVM de Vitalik diseñado para abordar algunos de los defectos de Solidity, pero no ha recibido mucha adopción en la comunidad, por lo que se ha desvanecido gradualmente en la oscuridad.
1.2.2 zkEVM - Lo quiero todo: compatible con el entorno EVM + soporte para la conversión raíz de estado global para generar zk-proof
Debido a que la EVM no está construida teniendo en cuenta el cálculo a prueba de zk, no es amigable para probar circuitos, especialmente en términos de códigos de operación especiales, arquitecturas basadas en pilas, sobrecarga de almacenamiento y costos de prueba. zkEVM es una máquina virtual que ejecuta contratos inteligentes de una manera compatible con la computación a prueba de zk, de modo que el proceso de ejecución de EVM se puede verificar de manera más eficiente y rentable a través de zk-proof/validity-proof. En comparación con el OP Rollup, la capa de ejecución solo necesita copiar la EVM, y la construcción compatible con ZK de la EVM es un desafío adicional para ZK Rollup.
Los ZK-rollups no son fácilmente compatibles con la máquina virtual de Ethereum (EVM). Probar un cálculo EVM de propósito general en un circuito es más difícil y requiere más recursos que probar un cálculo simple como la transferencia de tokens descrita anteriormente.
Sin embargo, los avances en la tecnología de conocimiento cero(opens in a new tab) han reavivado el interés en envolver el cálculo de EVM en pruebas de conocimiento cero. Estos esfuerzos tienen como objetivo crear una implementación de EVM de conocimiento cero (zkEVM) que pueda verificar de manera efectiva la correcta ejecución del programa.
Al igual que la EVM, la zkEVM pasa de un estado a otro después de realizar cálculos en determinadas entradas. La diferencia es que zkEVM también crea pruebas de conocimiento cero para verificar la corrección de cada paso en la ejecución del programa. Las pruebas de validez pueden verificar la exactitud de las operaciones relacionadas con el estado de la máquina virtual (memoria, pila, almacenamiento) y el proceso en sí (es decir, ¿la operación invocó los códigos de operación correctos y los ejecutó correctamente?). )。
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-3885eea05b-dd1a6f-69ad2a.webp)
En la actualidad, es difícil para Rollup lograr la compatibilidad con ZK y EVM (o incluso equivalente), es decir, replicar la capa de ejecución de Ethereum L1 de la manera más completa posible, incluidos hashes, árboles de estado, árboles de transacciones, precompilación, etc., de modo que el cliente de ejecución de Ethereum L1 se pueda usar tal cual para procesar bloques de Rollup; Abandone la compatibilidad con EVM y vuelva a crear el código de operación existente para su prueba/verificación en el circuito, lo que permite que se ejecuten contratos inteligentes.
1.2.3 zkVM - No se puede tener las dos cosas: máquinas virtuales a prueba de zk, orientadas a la eficiencia y sin EVM
Proyectos representativos: Starknet, Zksync, RISC ZERO
En lugar de la compatibilidad con EVM, zkVM ha encontrado un divisor común entre la criptografía y los lenguajes de alto nivel con pruebas de datos y actualizaciones de estado como sus objetivos principales, proporcionando un marco común para una amplia gama de aplicaciones.
Starkware tiene un cierto liderazgo tecnológico debido a su inicio temprano en todo el campo de ZK y su acumulación de tecnología relativamente suficiente. Es la arquitectura técnica representativa centrada en ZK en torno a la cual se construyen Cairo VM y el lenguaje de Cairo. La desventaja es que El Cairo es más caro de aprender.
El framework de ZKsync es compatible tanto con EVM como con ZK, e integra Solidity con su lenguaje de circuitos de desarrollo propio Zinc, unificando los dos a nivel IR dentro del compilador. La ventaja es que el LLVM del kernel del compilador es compatible con varios lenguajes.
RISC Zero utiliza la arquitectura RISC-V para crear simuladores que permiten a los programadores escribir programas para zkVM en lenguajes de propósito general como Rust, C/C++ y Go, lo que significa que la lógica de la aplicación no necesita limitarse a lo que se puede expresar en Solidity, lo que permite escribir código independiente de la cadena.
1.2.4 Privacidad zkVM - zk friendly + soporte de privacidad nativo, tratando de encender una nueva chispa en el ecosistema
Blockchain es un sistema de contabilidad pública en el que todas las transacciones se llevan a cabo en cadena, lo que significa que los cambios de estado que contienen información de activos relacionada con direcciones o cuentas son abiertos y transparentes. Como resultado, además de trabajar en soluciones de escalado, algunos equipos de blockchain creen que la próxima característica clave que se implementará es la privacidad.
Además del soporte amigable con zk para el escalado, Privacy zkVM permite a sus desarrolladores de aplicaciones de capa superior abrir dapps relacionadas con la privacidad debido a las funciones de privacidad compatibles de forma nativa con su propio lenguaje de programación, lo que traerá nuevos escenarios de aplicación y grandes narrativas, como resolver completamente el problema de MEV y garantizar la propiedad de los datos del usuario. Por supuesto, la complejidad del diseño de Privacy zkVM requerirá un equipo técnico mucho más grande para implementarla, y puede llevar varios años lograrlo.
1.2.5 SVM - Después de la marea baja, todavía hay brasas: un entorno de ejecución que ha sido diseñado hasta el extremo del rendimiento
SVM, o Solana Virtual Machine, se centra en un entorno de ejecución de alto rendimiento, y los contratos inteligentes se escriben principalmente en Rust. A diferencia de los entornos de ejecución de EVM y EOS WASM de computación de un solo hilo, las SVM permiten transacciones no superpuestas y la ejecución simultánea de transacciones que solo leen el mismo estado al requerir que las transacciones de Solana describan todos los estados que se leerán o escribirán en ellas en el momento de la ejecución.
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-5c07390761-dd1a6f-69ad2a.webp)
Además, para permitir una rápida validación/difusión de grandes bloques de transacciones, el proceso de verificación de transacciones en la red Solana hace un uso extensivo de las optimizaciones de canalización que son comunes en el diseño de la CPU. Para cumplir con la situación en la que una serie de pasos procesan el flujo de datos de entrada y cada paso tiene una responsabilidad de hardware diferente. Una analogía típica es una lavadora y una secadora, que lava/seca/dobla varios lotes de ropa en secuencia. El lavado debe realizarse antes del secado y el plegado debe realizarse antes del secado, pero cada una de estas tres operaciones se realiza por una unidad separada.
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-c9b316a16d-dd1a6f-69ad2a.webp)
Además, las SVM se basan en registros y tienen un conjunto de instrucciones mucho más pequeño que las EVM, lo que hace que la ejecución de las SVM sea más fácil de probar en ZK. En el caso de los resúmenes optimistas, los diseños basados en registros facilitan el establecimiento de puntos de control.
1.2.6 Fuel VM - Buff Stacking: Máquina virtual paralela bajo el marco UTXO
Proyecto representativo: Combustible
Fuel VM se basa en el marco tecnológico EVM, Solana, WASM, BTC y Cosmos, y tiene las siguientes características en comparación con EVM:
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-dc84c420c7-dd1a6f-69ad2a.webp)
Lo más singular es que Fuel no solo tiene la capacidad de ejecutar transacciones en paralelo con transacciones no superpuestas mediante la configuración de listas de acceso como SVM, sino que también adopta el modelo UTXO, que se divide en UTXO de token y UTXO de contrato, lo que mejora aún más la eficiencia de acceso y el rendimiento informático.
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-54817c581d-dd1a6f-69ad2a.webp)
Además, Fuel VM proporciona una experiencia de desarrollador potente y fluida a través de su propio lenguaje específico de dominio, Sway, y la cadena de herramientas de soporte Fort, con un entorno de desarrollo que conserva los beneficios de los lenguajes de contratos inteligentes como Solidity, al tiempo que adopta paradigmas introducidos en el ecosistema de herramientas de Rust.
En el futuro, la máquina virtual de Fuel también implementará actualizaciones del lenguaje Sway, incluidas optimizaciones del compilador en términos de tamaño de código de bytes, Sway admitirá más backends (los backends de EVM ya están en desarrollo), las abstracciones serán más económicas, se migrarán más aplicaciones de Solidity/Vyper a Sway, análisis de reentrada a nivel de compilador mejorado y más.
1.2.7 ESC VM - Sucesor de Ordinal/Smartweave: La capa de cómputo sobre Ethereum
Proyecto representativo: Protocolo de Ethiones
ESC VM, o Ethions Virtual Machine, es una solución de contrato inteligente propuesta por Ethions Protocol. Ethions Protocol en sí es un protocolo similar a BTC Ordinal en la cadena Ethereum, que se centra en explorar alternativas de bajo costo a los contratos inteligentes y L2.
Ethions permite a los usuarios eludir el almacenamiento y la ejecución de contratos inteligentes a una fracción del costo, y aplicar datos de llamadas en Tx para calcular a través de reglas de protocolo previamente acordadas. En pocas palabras, siempre que una transacción exitosa de Ethereum tenga un calldata que cumpla con la especificación de datos válida especificada y la dirección única y "a" no sea 0, se puede considerar que ha creado legalmente un Ethion, siendo la dirección "de" el creador y la dirección "a" el propietario.
Al principio del diseño, cada Ethion se inclina más por la forma de NFT, como el NFT de imagen, y escribe directamente el contenido de la imagen en los datos de llamada a través del formato Base 64:
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-59364b934a-dd1a6f-69ad2a.webp)
El eths más popular recientemente es Ethion, que se creó con referencia a la especificación del protocolo BRC-20:
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-8b1cde6b8b-dd1a6f-69ad2a.webp)
El contrato inteligente introducido por ESC VM, conocido como "contrato tonto", se anuncia como un contrato lógico, pero no interactúa en la cadena en forma de EVM. Además, ESC VM también agrega un formato especial "machine command", que será reconocido por ESC VM para interactuar con contratos tontos, como Deploy - deploy - deploy - call dumb contract.
Hay algunas limitaciones a este esquema, una es que la función del "contrato tonto" no es pagadera, es decir, si desea enviar ETH a través de un contrato tonto, debe pasar por un "contrato puente", y el "contrato puente" en sí mismo tiene el riesgo de abuso de control y robo de activos; En segundo lugar, existe un umbral de entrada en el ecosistema, que no permite la creación arbitraria de contratos tontos, y su código debe definirse a través de la propuesta de gobernanza del Protocolo Ethions.
En resumen, ESC VM es una capa informática construida sobre Ethereum L1 como capa de almacenamiento de datos, que se implementa colocando la lógica de contrato, las llamadas de contrato, las llamadas de contrato y otro contenido de datos en los datos de llamada de Ethereum tx, y el consenso de estado global de ESC VM es el consenso de los clientes de ESC VM, que es similar a la lógica de implementación de SmartWeave de Arweave, pero la capa de almacenamiento de datos de SmartWeave es Arweave.
VM de 1.2.8 bits - Un interesante experimento de investigación: un canal de ejecución peer-to-peer sobre BTC
Proyecto representativo: ZeroSync
El fundador de ZeroSync, Robin Linus, publicó un libro blanco el 9 de octubre, "BitVM: Compute Anything On Bitcoin", que no es una VM para ser precisos, sino un intento de crear un espacio informático completo de Turing con contratos almacenados en la cadena de Bitcoin, pero la lógica de los contratos se ejecuta fuera de la cadena. Si cree que la otra parte está en mora, puede lanzar un desafío en la cadena, y si la otra parte no puede responder correctamente, puede tomar todos los fondos del contrato.
La ventaja es que puede dar a Bitcoin Turing integridad sin ninguna modificación en el protocolo de Bitcoin, sin nuevos códigos de operación, sin bifurcaciones suaves y listo para aplicar.
Sus deficiencias también son obvias, una es que solo admite transacciones entre dos partes (una prueba y la otra verifica), y la otra es que crear un contrato requiere crear una gran cantidad de datos y firmar previamente una gran cantidad de transacciones, y el costo del almacenamiento de información fuera de la cadena es enorme.
He aquí una breve introducción a la lógica técnica:
(1) Compromiso de entrada de puntos
El compromiso de entrada puntual permite al probador establecer un valor de entrada de 0 o 1 para la puerta lógica, y en esta promesa hay dos valores hash H(A 0) y H(A 1), y el probador debe revelar un hash precursor, por ejemplo, A 0, luego establecer el valor de entrada en 0, si se revela A 1, establecer el valor de entrada en 1 .
(2) Compromiso de puerta lógica
Una vez que tenga los valores de entrada, puede combinar cualquier puerta lógica en Bitcoin Script combinando los códigos de operación amp y NAND de Bitcoin.
(3) Compromiso de circuito binario
La completitud de Turing se puede lograr combinando cientos de millones de puertas lógicas en un circuito binario. Para confirmar este circuito binario en la red Bitcoin, todas las puertas lógicas deben colocarse en un nodo hoja con una dirección Taproot.
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-2adb7ce547-dd1a6f-69ad2a.webp)
(4) Relación desafío-respuesta
No basta con comprometer el circuito en la cadena, ambas partes de la transacción necesitan una forma eficiente de verificar que los cálculos del contrato son correctos. Lo ideal es que el contrato se ejecute fuera de la cadena y que ambas partes estén contentas cuando cooperen y no se discutan. Sin embargo, si hay una disputa entre las dos partes de la transacción, debe ingresar un paso de desafío-respuesta para verificar los resultados del cálculo y forzar la distribución del saldo del canal a través de Bitcoin Script.
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-51632a6382-dd1a6f-69ad2a.webp)
Como tal, BitVM está lejos de ser una especie de Bitcoin Rollup o L2 y no tiene un entorno de ejecución de máquina virtual completo, un estado global, un lenguaje de alto nivel para publicar contratos inteligentes complejos y no puede permitir que ningún número de usuarios interactúe fácilmente con estos contratos. Para ilustrar esto con un ejemplo sencillo, BitVM es como construir una computadora gigante más grande que una habitación en la era en que todos pueden usar dispositivos móviles.
1.2.9 MoveVM - un producto de los genes Web2 de Facebook
Proyectos representativos: Aptos, Sui
Move es un lenguaje de programación para escribir contratos inteligentes seguros, que fue desarrollado originalmente por Facebook para admitir la cadena de bloques Diem, y después de que se suspendiera el proyecto de la cadena de bloques Diem, proyectos como Aptos y Sui continuaron el uso del lenguaje Move. La característica más importante de la cadena de bloques Move es que el almacenamiento de datos adopta el almacenamiento global, que consiste en un árbol con la dirección de la cuenta como raíz, y cada dirección puede almacenar datos de recursos y código de módulo.
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-4bc57a20bb-dd1a6f-69ad2a.webp)
Hay dos tipos diferentes de programas para Move: módulos y scripts. Un módulo es una biblioteca que define los tipos de estructura y las funciones que operan en esos tipos. El tipo de estructura define el modo de almacenamiento global para Move y la función module define las reglas para actualizar el almacenamiento. Los módulos en sí también se almacenan en el almacenamiento global. Los scripts, por otro lado, son el punto de entrada al ejecutable, similar a la función principal en los lenguajes tradicionales, y son fragmentos temporales de código que no se publican en la tienda global.
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-8a301faa9e-dd1a6f-69ad2a.webp)
En resumen, el módulo Move es similar al módulo de biblioteca dinámica que se carga cuando se ejecuta el ejecutable del sistema, mientras que el script es similar al programa principal. Los usuarios pueden escribir sus propios scripts para acceder al almacenamiento global, incluidos los módulos de llamada, mientras que la publicación de módulos o la ejecución de scripts se pueden manipular a través de Move VM.
1.3 Tendencias de Desarrollo Ecológico
Ahora que el efecto de red de EVM es tan fuerte, la migración de los usuarios de EVM a ecosistemas de cadena que no son de EVM se ha convertido en el mayor punto de crecimiento para los proyectos emergentes de blockchain, lo que traerá más componibilidad de Dapp, y una mayor conectividad puede conducir a un crecimiento más rápido de los usuarios en los próximos años.
1.3.1 Compatible con front-end de billetera
Introducir a los usuarios de EVM en cadenas que no son EVM ha sido históricamente un obstáculo importante, pero el reciente lanzamiento de Metamask Snap romperá esa barrera. Los usuarios de EVM pueden seguir usando MetaMask sin tener que cambiar de billetera. Gracias a las contribuciones de código abierto de Drift, que construyen una gran implementación de MetaMask Snap, UX es el equivalente a interactuar con cualquier cadena EVM. Los usuarios de la red principal de Eclipse podrán interactuar con aplicaciones nativas en MetaMask o usar billeteras nativas de Solana como Salmon.
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-238b0558fb-dd1a6f-69ad2a.webp)
Compatible con backend de VM 1.3.2
1.3.2.1 Transpilador/Compilador
Proyecto representativo: Wrap
Warp es un transpilador de Solidity-Cairo que ha sido desarrollado por Nethermind, un conocido equipo de infraestructura en Ethereum. Warp puede traducir el código de Solidity a Cairo, pero el programa Cairo traducido a menudo necesita modificar y agregar características de Cairo (como llamar a funciones integradas, optimizar la memoria, etc.) para maximizar la eficiencia de la ejecución.
1.3.2.2 Intérprete de código de bytes/capa de compatibilidad de VM
Proyectos representativos: Kakarot, Neon EVM
Kakarot es un intérprete de código de bytes EVM implementado en forma de contrato inteligente escrito en El Cairo en Starknet, que simula la pila, la memoria, la ejecución y otros aspectos de la EVM en forma de un contrato inteligente de El Cairo. En comparación con la traducción de código, Kakarot implementa la implementación elemento por elemento de Opcode y Pre-compile detrás de la EVM, y crea componentes como Account Registry y Blockhash Registry para proporcionar un procesamiento adicional para el mapeo de direcciones de cuentas y la adquisición de información de bloques, de modo que kakarot tenga una mayor compatibilidad nativa.
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-7049ae3417-dd1a6f-69ad2a.webp)
Neon EVM es un tipo de EVM que funciona como un contrato inteligente y se puede implementar en cualquier cadena SVM. La propia red principal de Eclipse utiliza SVM como entorno de ejecución, pero ofrece una compatibilidad total con EVM (incluida la compatibilidad con el código de bytes de EVM y Ethereum JSON-RPC) a través de la EVM de Neon y un mayor rendimiento que la EVM de un solo hilo. Además, cada instancia de Neon EVM tiene su propio mercado de tarifas local, es decir, hay un límite superior (1/4 de la unidad de cálculo de bloques) relacionado con la interacción de una sola cuenta de contrato a una altura de bloque, por lo que los usuarios solo deben pagar tarifas de prioridad cuando una interacción o bloque de contrato caliente específico está lleno. En este sentido, una aplicación despliega su propio contrato para obtener una ventaja similar a la de una cadena de aplicaciones, reduciendo así la interrupción de la experiencia del usuario, la seguridad o la liquidez de toda la red cuando un contrato en particular interactúa con la congestión de tx.
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-663a3c3002-dd1a6f-69ad2a.webp)
Recursos:
"Kakarot: Explorando el camino de Starknet hacia la compatibilidad con EVM", por Cynic y Starknet Astro
"BitVM es objeto de un acalorado debate, ¿puede la red Bitcoin lograr la integridad de Turing?" ",por Haotian
"Arquitectura y ecosistema de la tecnología Starkware", por Maxlion
"Informe de investigación de investigación de proyectos 丨Informe de investigación de combustible de capa de ejecución modular de alta velocidad", de Web3 CN
"Análisis de la primera vulnerabilidad crítica de Aptos Move VM", por Numen Cyber Labs
11."Qué es SVM - La máquina virtual de Solana", por Squads
12."Presentación de la red principal de Eclipse: la SVM L2 de Ethereum", por Eclipse
15."Los diferentes tipos de ZK-EVMs", por Vitalik Buterin
"Informe de investigación de Cipholio: una discusión sobre el enfoque y el futuro de ZkVM", por YOLO SHEN, Cipholio Ventures
Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
PSE Trading: Bajo la ola de rollups, las VMs todavía tienen una historia que contar
Escrito originalmente por PSE Trading Analyst @cryptohawk
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-5a402ab8f9-dd1a6f-69ad2a.webp)
TL; DR
zkVM descarta la equivalencia/compatibilidad de EVM y aumenta la prioridad de compatibilidad con zk.
privacy zkVM superpone características de privacidad nativas en zkVM;
SVM, FuelVM y MoveVM tienen en común la búsqueda del máximo rendimiento a través de la ejecución paralela, pero tienen sus propias características en los detalles de diseño.
ESC VM y BitVM han llevado a cabo algunos experimentos innovadores de capas de computación en las cadenas ETH y BTC respectivamente, pero la demanda de implementación real en el entorno actual es baja. 3. El enorme ecosistema de usuarios de EVM determina que cualquier red blockchain que lo abandone será difícil competir con él a corto plazo, por lo que el ecosistema que no es EVM puede introducir usuarios del ecosistema EVM a través de transpiladores/compiladores/intérpretes de código de bytes o incluso capas de compatibilidad de VM, y utilizar las características de la máquina virtual que no es EVM para construir una nueva narrativa ecológica, o un camino necesario hacia el éxito.
1.1 ¿Qué es una máquina virtual?
Una máquina virtual (VM) es el componente básico de los recursos informáticos virtualizados que tiene casi las mismas funciones que un ordenador, incluida la ejecución de aplicaciones y sistemas operativos. El concepto de máquinas virtuales no es nuevo, y la tecnología se utiliza ampliamente en muchos ecosistemas tecnológicos.
En el contexto de la cadena de bloques, una máquina virtual (VM) es una pieza de software que ejecuta programas, a menudo denominada entorno de ejecución que ejecuta contratos inteligentes de cadena de bloques. Las máquinas virtuales suelen proporcionar un entorno de equipo virtual mediante la emulación de diferentes dispositivos de hardware. Diferentes máquinas virtuales pueden emular diferentes dispositivos de hardware, pero normalmente incluyen CPU, memoria, discos duros, interfaces de red, etc. Cuando se envía una transacción on-chain, la máquina virtual es responsable de procesar la transacción y actualizar el estado de la cadena de bloques (el estado global actual de toda la red) que se ve afectado por la ejecución de esa transacción. Las reglas específicas que cambian el estado de la red las define la máquina virtual. Al procesar una transacción, la máquina virtual convierte el código del contrato inteligente en un formato que puede ser ejecutado por el hardware del nodo/validador.
El kernel más importante de una VM es LLVM (low-level-virtual-machine), que puede considerarse el kernel más importante del compilador. La figura muestra el esquema de operación de la EVM original, y el contrato inteligente se convierte en código de bytes a través del código intermedio de LLVM IR. Estos códigos de bytes se almacenan en la cadena de bloques, y cuando se llama al contrato inteligente, el código de bytes se convierte en el código de operación correspondiente, que luego es ejecutado por la EVM y el hardware del nodo.
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-e6504cde98-dd1a6f-69ad2a.webp)
1.2 Máquinas virtuales convencionales
1.2.1 EVM: la máquina virtual de blockchain tiene un total de una piedra, la EVM es exclusiva de ocho cubos y el resto se divide en dos cubos
Proyectos representativos: Optimismo, Arbitrum
Como el ecosistema blockchain con la mayor actividad de desarrolladores y usuarios en la industria, la Ethereum Virtual Machine EVM es una máquina virtual basada en pilas que proporciona un entorno informático virtual mediante la emulación de dispositivos de hardware como CPU, memoria, memoria y pilas, para ejecutar instrucciones de contratos inteligentes y almacenar el estado y los datos de los contratos inteligentes. El conjunto de instrucciones de la EVM incluye varios códigos de operación de código de operación, como operaciones aritméticas, operaciones lógicas, operaciones de almacenamiento, operaciones de salto, etc.
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-b215612938-dd1a6f-69ad2a.webp)
La memoria y la memoria emulada por la EVM son dispositivos que se utilizan para almacenar el estado y los datos del contrato inteligente. La EVM trata la memoria y la memoria como dos áreas distintas que pueden acceder al estado y los datos de un contrato inteligente mediante la lectura y escritura en la memoria y la memoria.
La pila de simulaciones de EVM se utiliza para almacenar los operandos y los resultados de las instrucciones. La mayoría de las instrucciones en el conjunto de instrucciones de EVM se basan en la pila, leen operandos de la pila y envían los resultados de vuelta a la pila.
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-74a85b3f36-dd1a6f-69ad2a.webp)
El proceso de diseño de la EVM es obviamente de abajo hacia arriba, primero finalizando el entorno de hardware simulado (pila, memoria) y luego diseñando su propio conjunto de conjuntos de instrucciones de ensamblaje (Opcode) y código de bytes (Bytecode) de acuerdo con el entorno correspondiente. La comunidad de Ethereum ha diseñado dos lenguajes compilados de alto nivel, Solidity y Vyper, para la eficiencia de la ejecución de EVM. No hace falta decir que Vyper es el lenguaje de alto nivel EVM de Vitalik diseñado para abordar algunos de los defectos de Solidity, pero no ha recibido mucha adopción en la comunidad, por lo que se ha desvanecido gradualmente en la oscuridad.
1.2.2 zkEVM - Lo quiero todo: compatible con el entorno EVM + soporte para la conversión raíz de estado global para generar zk-proof
Proyectos representativos: Taiko, Scroll, Polygon zkEVM
Debido a que la EVM no está construida teniendo en cuenta el cálculo a prueba de zk, no es amigable para probar circuitos, especialmente en términos de códigos de operación especiales, arquitecturas basadas en pilas, sobrecarga de almacenamiento y costos de prueba. zkEVM es una máquina virtual que ejecuta contratos inteligentes de una manera compatible con la computación a prueba de zk, de modo que el proceso de ejecución de EVM se puede verificar de manera más eficiente y rentable a través de zk-proof/validity-proof. En comparación con el OP Rollup, la capa de ejecución solo necesita copiar la EVM, y la construcción compatible con ZK de la EVM es un desafío adicional para ZK Rollup.
Los ZK-rollups no son fácilmente compatibles con la máquina virtual de Ethereum (EVM). Probar un cálculo EVM de propósito general en un circuito es más difícil y requiere más recursos que probar un cálculo simple como la transferencia de tokens descrita anteriormente.
Sin embargo, los avances en la tecnología de conocimiento cero(opens in a new tab) han reavivado el interés en envolver el cálculo de EVM en pruebas de conocimiento cero. Estos esfuerzos tienen como objetivo crear una implementación de EVM de conocimiento cero (zkEVM) que pueda verificar de manera efectiva la correcta ejecución del programa.
Al igual que la EVM, la zkEVM pasa de un estado a otro después de realizar cálculos en determinadas entradas. La diferencia es que zkEVM también crea pruebas de conocimiento cero para verificar la corrección de cada paso en la ejecución del programa. Las pruebas de validez pueden verificar la exactitud de las operaciones relacionadas con el estado de la máquina virtual (memoria, pila, almacenamiento) y el proceso en sí (es decir, ¿la operación invocó los códigos de operación correctos y los ejecutó correctamente?). )。
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-3885eea05b-dd1a6f-69ad2a.webp)
En la actualidad, es difícil para Rollup lograr la compatibilidad con ZK y EVM (o incluso equivalente), es decir, replicar la capa de ejecución de Ethereum L1 de la manera más completa posible, incluidos hashes, árboles de estado, árboles de transacciones, precompilación, etc., de modo que el cliente de ejecución de Ethereum L1 se pueda usar tal cual para procesar bloques de Rollup; Abandone la compatibilidad con EVM y vuelva a crear el código de operación existente para su prueba/verificación en el circuito, lo que permite que se ejecuten contratos inteligentes.
1.2.3 zkVM - No se puede tener las dos cosas: máquinas virtuales a prueba de zk, orientadas a la eficiencia y sin EVM
Proyectos representativos: Starknet, Zksync, RISC ZERO
En lugar de la compatibilidad con EVM, zkVM ha encontrado un divisor común entre la criptografía y los lenguajes de alto nivel con pruebas de datos y actualizaciones de estado como sus objetivos principales, proporcionando un marco común para una amplia gama de aplicaciones.
Starkware tiene un cierto liderazgo tecnológico debido a su inicio temprano en todo el campo de ZK y su acumulación de tecnología relativamente suficiente. Es la arquitectura técnica representativa centrada en ZK en torno a la cual se construyen Cairo VM y el lenguaje de Cairo. La desventaja es que El Cairo es más caro de aprender.
El framework de ZKsync es compatible tanto con EVM como con ZK, e integra Solidity con su lenguaje de circuitos de desarrollo propio Zinc, unificando los dos a nivel IR dentro del compilador. La ventaja es que el LLVM del kernel del compilador es compatible con varios lenguajes.
RISC Zero utiliza la arquitectura RISC-V para crear simuladores que permiten a los programadores escribir programas para zkVM en lenguajes de propósito general como Rust, C/C++ y Go, lo que significa que la lógica de la aplicación no necesita limitarse a lo que se puede expresar en Solidity, lo que permite escribir código independiente de la cadena.
1.2.4 Privacidad zkVM - zk friendly + soporte de privacidad nativo, tratando de encender una nueva chispa en el ecosistema
Proyectos representativos: Aleo, Ola, Polygon Miden
Blockchain es un sistema de contabilidad pública en el que todas las transacciones se llevan a cabo en cadena, lo que significa que los cambios de estado que contienen información de activos relacionada con direcciones o cuentas son abiertos y transparentes. Como resultado, además de trabajar en soluciones de escalado, algunos equipos de blockchain creen que la próxima característica clave que se implementará es la privacidad.
Además del soporte amigable con zk para el escalado, Privacy zkVM permite a sus desarrolladores de aplicaciones de capa superior abrir dapps relacionadas con la privacidad debido a las funciones de privacidad compatibles de forma nativa con su propio lenguaje de programación, lo que traerá nuevos escenarios de aplicación y grandes narrativas, como resolver completamente el problema de MEV y garantizar la propiedad de los datos del usuario. Por supuesto, la complejidad del diseño de Privacy zkVM requerirá un equipo técnico mucho más grande para implementarla, y puede llevar varios años lograrlo.
1.2.5 SVM - Después de la marea baja, todavía hay brasas: un entorno de ejecución que ha sido diseñado hasta el extremo del rendimiento
Proyectos representativos: Eclipse Mainnet, Nitro, MakerDAO Chain (tal vez)
SVM, o Solana Virtual Machine, se centra en un entorno de ejecución de alto rendimiento, y los contratos inteligentes se escriben principalmente en Rust. A diferencia de los entornos de ejecución de EVM y EOS WASM de computación de un solo hilo, las SVM permiten transacciones no superpuestas y la ejecución simultánea de transacciones que solo leen el mismo estado al requerir que las transacciones de Solana describan todos los estados que se leerán o escribirán en ellas en el momento de la ejecución.
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-5c07390761-dd1a6f-69ad2a.webp)
Además, para permitir una rápida validación/difusión de grandes bloques de transacciones, el proceso de verificación de transacciones en la red Solana hace un uso extensivo de las optimizaciones de canalización que son comunes en el diseño de la CPU. Para cumplir con la situación en la que una serie de pasos procesan el flujo de datos de entrada y cada paso tiene una responsabilidad de hardware diferente. Una analogía típica es una lavadora y una secadora, que lava/seca/dobla varios lotes de ropa en secuencia. El lavado debe realizarse antes del secado y el plegado debe realizarse antes del secado, pero cada una de estas tres operaciones se realiza por una unidad separada.
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-c9b316a16d-dd1a6f-69ad2a.webp)
Además, las SVM se basan en registros y tienen un conjunto de instrucciones mucho más pequeño que las EVM, lo que hace que la ejecución de las SVM sea más fácil de probar en ZK. En el caso de los resúmenes optimistas, los diseños basados en registros facilitan el establecimiento de puntos de control.
1.2.6 Fuel VM - Buff Stacking: Máquina virtual paralela bajo el marco UTXO
Proyecto representativo: Combustible
Fuel VM se basa en el marco tecnológico EVM, Solana, WASM, BTC y Cosmos, y tiene las siguientes características en comparación con EVM:
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-dc84c420c7-dd1a6f-69ad2a.webp)
Lo más singular es que Fuel no solo tiene la capacidad de ejecutar transacciones en paralelo con transacciones no superpuestas mediante la configuración de listas de acceso como SVM, sino que también adopta el modelo UTXO, que se divide en UTXO de token y UTXO de contrato, lo que mejora aún más la eficiencia de acceso y el rendimiento informático.
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-54817c581d-dd1a6f-69ad2a.webp)
Además, Fuel VM proporciona una experiencia de desarrollador potente y fluida a través de su propio lenguaje específico de dominio, Sway, y la cadena de herramientas de soporte Fort, con un entorno de desarrollo que conserva los beneficios de los lenguajes de contratos inteligentes como Solidity, al tiempo que adopta paradigmas introducidos en el ecosistema de herramientas de Rust.
En el futuro, la máquina virtual de Fuel también implementará actualizaciones del lenguaje Sway, incluidas optimizaciones del compilador en términos de tamaño de código de bytes, Sway admitirá más backends (los backends de EVM ya están en desarrollo), las abstracciones serán más económicas, se migrarán más aplicaciones de Solidity/Vyper a Sway, análisis de reentrada a nivel de compilador mejorado y más.
1.2.7 ESC VM - Sucesor de Ordinal/Smartweave: La capa de cómputo sobre Ethereum
Proyecto representativo: Protocolo de Ethiones
ESC VM, o Ethions Virtual Machine, es una solución de contrato inteligente propuesta por Ethions Protocol. Ethions Protocol en sí es un protocolo similar a BTC Ordinal en la cadena Ethereum, que se centra en explorar alternativas de bajo costo a los contratos inteligentes y L2.
Ethions permite a los usuarios eludir el almacenamiento y la ejecución de contratos inteligentes a una fracción del costo, y aplicar datos de llamadas en Tx para calcular a través de reglas de protocolo previamente acordadas. En pocas palabras, siempre que una transacción exitosa de Ethereum tenga un calldata que cumpla con la especificación de datos válida especificada y la dirección única y "a" no sea 0, se puede considerar que ha creado legalmente un Ethion, siendo la dirección "de" el creador y la dirección "a" el propietario.
Al principio del diseño, cada Ethion se inclina más por la forma de NFT, como el NFT de imagen, y escribe directamente el contenido de la imagen en los datos de llamada a través del formato Base 64:
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-59364b934a-dd1a6f-69ad2a.webp)
El eths más popular recientemente es Ethion, que se creó con referencia a la especificación del protocolo BRC-20:
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-8b1cde6b8b-dd1a6f-69ad2a.webp)
El contrato inteligente introducido por ESC VM, conocido como "contrato tonto", se anuncia como un contrato lógico, pero no interactúa en la cadena en forma de EVM. Además, ESC VM también agrega un formato especial "machine command", que será reconocido por ESC VM para interactuar con contratos tontos, como Deploy - deploy - deploy - call dumb contract.
Hay algunas limitaciones a este esquema, una es que la función del "contrato tonto" no es pagadera, es decir, si desea enviar ETH a través de un contrato tonto, debe pasar por un "contrato puente", y el "contrato puente" en sí mismo tiene el riesgo de abuso de control y robo de activos; En segundo lugar, existe un umbral de entrada en el ecosistema, que no permite la creación arbitraria de contratos tontos, y su código debe definirse a través de la propuesta de gobernanza del Protocolo Ethions.
En resumen, ESC VM es una capa informática construida sobre Ethereum L1 como capa de almacenamiento de datos, que se implementa colocando la lógica de contrato, las llamadas de contrato, las llamadas de contrato y otro contenido de datos en los datos de llamada de Ethereum tx, y el consenso de estado global de ESC VM es el consenso de los clientes de ESC VM, que es similar a la lógica de implementación de SmartWeave de Arweave, pero la capa de almacenamiento de datos de SmartWeave es Arweave.
VM de 1.2.8 bits - Un interesante experimento de investigación: un canal de ejecución peer-to-peer sobre BTC
Proyecto representativo: ZeroSync
El fundador de ZeroSync, Robin Linus, publicó un libro blanco el 9 de octubre, "BitVM: Compute Anything On Bitcoin", que no es una VM para ser precisos, sino un intento de crear un espacio informático completo de Turing con contratos almacenados en la cadena de Bitcoin, pero la lógica de los contratos se ejecuta fuera de la cadena. Si cree que la otra parte está en mora, puede lanzar un desafío en la cadena, y si la otra parte no puede responder correctamente, puede tomar todos los fondos del contrato.
La ventaja es que puede dar a Bitcoin Turing integridad sin ninguna modificación en el protocolo de Bitcoin, sin nuevos códigos de operación, sin bifurcaciones suaves y listo para aplicar.
Sus deficiencias también son obvias, una es que solo admite transacciones entre dos partes (una prueba y la otra verifica), y la otra es que crear un contrato requiere crear una gran cantidad de datos y firmar previamente una gran cantidad de transacciones, y el costo del almacenamiento de información fuera de la cadena es enorme.
He aquí una breve introducción a la lógica técnica:
(1) Compromiso de entrada de puntos
El compromiso de entrada puntual permite al probador establecer un valor de entrada de 0 o 1 para la puerta lógica, y en esta promesa hay dos valores hash H(A 0) y H(A 1), y el probador debe revelar un hash precursor, por ejemplo, A 0, luego establecer el valor de entrada en 0, si se revela A 1, establecer el valor de entrada en 1 .
(2) Compromiso de puerta lógica
Una vez que tenga los valores de entrada, puede combinar cualquier puerta lógica en Bitcoin Script combinando los códigos de operación amp y NAND de Bitcoin.
(3) Compromiso de circuito binario
La completitud de Turing se puede lograr combinando cientos de millones de puertas lógicas en un circuito binario. Para confirmar este circuito binario en la red Bitcoin, todas las puertas lógicas deben colocarse en un nodo hoja con una dirección Taproot.
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-2adb7ce547-dd1a6f-69ad2a.webp)
(4) Relación desafío-respuesta
No basta con comprometer el circuito en la cadena, ambas partes de la transacción necesitan una forma eficiente de verificar que los cálculos del contrato son correctos. Lo ideal es que el contrato se ejecute fuera de la cadena y que ambas partes estén contentas cuando cooperen y no se discutan. Sin embargo, si hay una disputa entre las dos partes de la transacción, debe ingresar un paso de desafío-respuesta para verificar los resultados del cálculo y forzar la distribución del saldo del canal a través de Bitcoin Script.
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-51632a6382-dd1a6f-69ad2a.webp)
Como tal, BitVM está lejos de ser una especie de Bitcoin Rollup o L2 y no tiene un entorno de ejecución de máquina virtual completo, un estado global, un lenguaje de alto nivel para publicar contratos inteligentes complejos y no puede permitir que ningún número de usuarios interactúe fácilmente con estos contratos. Para ilustrar esto con un ejemplo sencillo, BitVM es como construir una computadora gigante más grande que una habitación en la era en que todos pueden usar dispositivos móviles.
1.2.9 MoveVM - un producto de los genes Web2 de Facebook
Proyectos representativos: Aptos, Sui
Move es un lenguaje de programación para escribir contratos inteligentes seguros, que fue desarrollado originalmente por Facebook para admitir la cadena de bloques Diem, y después de que se suspendiera el proyecto de la cadena de bloques Diem, proyectos como Aptos y Sui continuaron el uso del lenguaje Move. La característica más importante de la cadena de bloques Move es que el almacenamiento de datos adopta el almacenamiento global, que consiste en un árbol con la dirección de la cuenta como raíz, y cada dirección puede almacenar datos de recursos y código de módulo.
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-4bc57a20bb-dd1a6f-69ad2a.webp)
Hay dos tipos diferentes de programas para Move: módulos y scripts. Un módulo es una biblioteca que define los tipos de estructura y las funciones que operan en esos tipos. El tipo de estructura define el modo de almacenamiento global para Move y la función module define las reglas para actualizar el almacenamiento. Los módulos en sí también se almacenan en el almacenamiento global. Los scripts, por otro lado, son el punto de entrada al ejecutable, similar a la función principal en los lenguajes tradicionales, y son fragmentos temporales de código que no se publican en la tienda global.
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-8a301faa9e-dd1a6f-69ad2a.webp)
En resumen, el módulo Move es similar al módulo de biblioteca dinámica que se carga cuando se ejecuta el ejecutable del sistema, mientras que el script es similar al programa principal. Los usuarios pueden escribir sus propios scripts para acceder al almacenamiento global, incluidos los módulos de llamada, mientras que la publicación de módulos o la ejecución de scripts se pueden manipular a través de Move VM.
1.3 Tendencias de Desarrollo Ecológico
Ahora que el efecto de red de EVM es tan fuerte, la migración de los usuarios de EVM a ecosistemas de cadena que no son de EVM se ha convertido en el mayor punto de crecimiento para los proyectos emergentes de blockchain, lo que traerá más componibilidad de Dapp, y una mayor conectividad puede conducir a un crecimiento más rápido de los usuarios en los próximos años.
1.3.1 Compatible con front-end de billetera
Introducir a los usuarios de EVM en cadenas que no son EVM ha sido históricamente un obstáculo importante, pero el reciente lanzamiento de Metamask Snap romperá esa barrera. Los usuarios de EVM pueden seguir usando MetaMask sin tener que cambiar de billetera. Gracias a las contribuciones de código abierto de Drift, que construyen una gran implementación de MetaMask Snap, UX es el equivalente a interactuar con cualquier cadena EVM. Los usuarios de la red principal de Eclipse podrán interactuar con aplicaciones nativas en MetaMask o usar billeteras nativas de Solana como Salmon.
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-238b0558fb-dd1a6f-69ad2a.webp)
Compatible con backend de VM 1.3.2
1.3.2.1 Transpilador/Compilador
Proyecto representativo: Wrap
Warp es un transpilador de Solidity-Cairo que ha sido desarrollado por Nethermind, un conocido equipo de infraestructura en Ethereum. Warp puede traducir el código de Solidity a Cairo, pero el programa Cairo traducido a menudo necesita modificar y agregar características de Cairo (como llamar a funciones integradas, optimizar la memoria, etc.) para maximizar la eficiencia de la ejecución.
1.3.2.2 Intérprete de código de bytes/capa de compatibilidad de VM
Proyectos representativos: Kakarot, Neon EVM
Kakarot es un intérprete de código de bytes EVM implementado en forma de contrato inteligente escrito en El Cairo en Starknet, que simula la pila, la memoria, la ejecución y otros aspectos de la EVM en forma de un contrato inteligente de El Cairo. En comparación con la traducción de código, Kakarot implementa la implementación elemento por elemento de Opcode y Pre-compile detrás de la EVM, y crea componentes como Account Registry y Blockhash Registry para proporcionar un procesamiento adicional para el mapeo de direcciones de cuentas y la adquisición de información de bloques, de modo que kakarot tenga una mayor compatibilidad nativa.
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-7049ae3417-dd1a6f-69ad2a.webp)
Neon EVM es un tipo de EVM que funciona como un contrato inteligente y se puede implementar en cualquier cadena SVM. La propia red principal de Eclipse utiliza SVM como entorno de ejecución, pero ofrece una compatibilidad total con EVM (incluida la compatibilidad con el código de bytes de EVM y Ethereum JSON-RPC) a través de la EVM de Neon y un mayor rendimiento que la EVM de un solo hilo. Además, cada instancia de Neon EVM tiene su propio mercado de tarifas local, es decir, hay un límite superior (1/4 de la unidad de cálculo de bloques) relacionado con la interacción de una sola cuenta de contrato a una altura de bloque, por lo que los usuarios solo deben pagar tarifas de prioridad cuando una interacción o bloque de contrato caliente específico está lleno. En este sentido, una aplicación despliega su propio contrato para obtener una ventaja similar a la de una cadena de aplicaciones, reduciendo así la interrupción de la experiencia del usuario, la seguridad o la liquidez de toda la red cuando un contrato en particular interactúa con la congestión de tx.
! [PSE Trading: Bajo la ola de acumulación, VM todavía tiene una historia que contar] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-663a3c3002-dd1a6f-69ad2a.webp)
Recursos:
"Kakarot: Explorando el camino de Starknet hacia la compatibilidad con EVM", por Cynic y Starknet Astro
"BitVM es objeto de un acalorado debate, ¿puede la red Bitcoin lograr la integridad de Turing?" ",por Haotian
"Arquitectura y ecosistema de la tecnología Starkware", por Maxlion
"Informe de investigación de investigación de proyectos 丨Informe de investigación de combustible de capa de ejecución modular de alta velocidad", de Web3 CN
"Análisis de la primera vulnerabilidad crítica de Aptos Move VM", por Numen Cyber Labs
11."Qué es SVM - La máquina virtual de Solana", por Squads
12."Presentación de la red principal de Eclipse: la SVM L2 de Ethereum", por Eclipse
15."Los diferentes tipos de ZK-EVMs", por Vitalik Buterin