ZK Rollup, como una forma de escalar Ethereum, permite que las transacciones se procesen fuera de la cadena y se fusionen en la cadena principal como una sola transacción comprimida. Este proceso mejora el rendimiento de las transacciones, reduce los costos de transacción, garantiza la validez del estado a través de la prueba de conocimiento cero y mejora la privacidad y la seguridad de la cadena principal. Por lo tanto, se considera que ZK Rollup es la solución definitiva para la expansión de Ethereum.
Sin embargo, en la actualidad, la generación de prueba de conocimiento cero requiere una gran cantidad de potencia informática y la dificultad técnica también es mayor.Al mismo tiempo, debido a que la máquina virtual Ethereum (EVM) no está diseñada para admitir circuitos ZK, no puede ejecutar contratos inteligentes directamente. Para resolver este problema, muchos desarrolladores han intentado desarrollar zkEVM, que puede ejecutar contratos inteligentes de manera compatible con cálculos de prueba de conocimiento cero. Para muchos ZK Rollups, lograr la equivalencia de EVM significa lograr una compatibilidad completa a nivel de código de bytes. En la actualidad, zkEVM es la clave para la expansión de Ethereum.
Este artículo estudiará cinco tipos comunes de zkEVM y el progreso de cada tipo de proyecto, y señalará los desafíos de diseño de cada tipo de zkEVM.
¿Qué es zkEVM?
zkEVM es una máquina virtual compatible con EVM que admite la computación a prueba de conocimiento cero y es una plataforma de desarrollo de aplicaciones basada en la tecnología blockchain de Ethereum. El contrato EVM se puede implementar y ejecutar directamente sin modificaciones, y la operación del programa puede probar la validez de su cálculo a través del conocimiento cero.
Ventajas de zkEVM
zkEVM mejora la compatibilidad. zkEVM es altamente compatible con los contratos inteligentes escritos para ejecutarse en EVM y puede integrarse perfectamente con la infraestructura de EVM. Los desarrolladores pueden migrar las aplicaciones Ethereum existentes a L2 sin volver a desarrollar aplicaciones. Al mismo tiempo, zk proof hereda la seguridad de la red Ethereum.
zkEVM mejora la escalabilidad. zkEVM utiliza pruebas no interactivas, lo que mejora el rendimiento y reduce la latencia porque es más rápido verificar pruebas para bloques L2 que volver a ejecutar cada transacción en un bloque recién propuesto.
zkEVM reduce los costes de almacenamiento. Un paquete acumulativo de zkEVM puede optar por publicar solo los compromisos en su estado final en Ethereum L1, lo que reduce los costos de almacenamiento en cadena. Las pruebas de validez garantizan la corrección del nuevo estado del zkEVM, por lo que el ordenante no tiene que publicar todos los datos necesarios para volver a ejecutar el cambio de transición de estado.
Es con la mejora continua de zkEVM que se resuelven las limitaciones de ZK Rollup. Utilizando la seguridad y la eficiencia de ZK Rollup, junto con la compatibilidad de EVM, las aplicaciones pueden interactuar con contratos inteligentes para mejorar la experiencia de la aplicación.
Cinco tipos diferentes de zkEVM y proyectos relacionados
Al comienzo del diseño de EVM, no se consideró que admitiera pruebas de conocimiento cero, lo que dificultó la creación de una máquina virtual zk compatible con EVM. Sin embargo, a medida que avanza la investigación, los cálculos de EVM pueden incluirse en pruebas de conocimiento cero. Diferentes proyectos de zkEVM utilizan diferentes enfoques que combinan la ejecución de EVM con el cálculo de prueba de conocimiento cero.
Vitalik Buterin, el fundador de Ethereum, también publicó un artículo que explica las compensaciones entre los diferentes tipos de zkEVM.V God cree que los objetivos principales de estos proyectos son los mismos: utilizar la tecnología ZK-SNARK para proporcionar pruebas cifradas para la ejecución de transacciones similares a Ethereum, por lo que es más fácil verificar la propia cadena de Ethereum o crear ZK Rollups equivalentes a lo que ofrece Ethereum, pero más escalable que Ethereum.
Tipo 1 (equivalencia de nivel de consenso - completamente equivalente a Ethereum)
El tipo 1 zkEVM se esfuerza por ser completamente equivalente a Ethereum. No cambia ninguna parte del sistema Ethereum para facilitar la generación de pruebas, no reemplaza hashes, árboles de estado, árboles de transacciones, precompilaciones ni ninguna otra lógica de consenso.
La ventaja de Type 1 zkEVM es que es perfectamente compatible con Ethereum. A la larga, las modificaciones de Ethereum probadas en ZK-EVM tipo 2 o tipo 3 pueden introducirse en Ethereum mismo, pero esta nueva arquitectura tiene sus propias complejidades, por lo que el tipo 1 es lo que se requiere en última instancia para hacer que Ethereum Square L1 sea algo más escalable. Al mismo tiempo, los zkEVM de tipo 1 son ideales para acumulaciones porque permiten que las acumulaciones reutilicen una gran cantidad de infraestructura.
La desventaja de Tipo 1 zkEVM es el problema del tiempo de verificación. Ethereum no se diseñó originalmente en torno a la compatibilidad con ZK, por lo que muchas partes del protocolo Ethereum requieren muchos cálculos para realizar pruebas ZK. El zkEVM Tipo 1 está diseñado para replicar Ethereum exactamente, por lo que no puede mitigar estas ineficiencias. El zkEVM de tipo 1 es el zkEVM más ideal, y hay muchos proyectos que construyen o exploran este tipo.
Actualmente, los proyectos relacionados con zkEVM Tipo 1 incluyen Taiko y Kakarot.
El zkEVM Tipo 1 construido por Taiko permite a los desarrolladores y usuarios experimentar Ethereum de manera segura, con tarifas de transacción más bajas y sin tener que considerar ningún cambio. Recaudó $ 22 millones en dos rondas iniciales, la primera ronda fue de $ 10 millones liderada por Sequoia China, y la segunda ronda fue de $ 12 millones liderada por Generative Ventures. El 7 de junio, Taiko lanzó Alpha-3 Incentive Testnet. Según la presentación oficial de Taiko, la red de prueba se centra en la parte descentralizada ZK-EVM equivalente a Ethereum.
Kakarot zkEVM es un EVM implementado con el lenguaje Cario, que amplía la confiabilidad del ecosistema Starknet al mejorar la compatibilidad con EVM. Kakarot zkEVM puede existir en diferentes formas, en la primera etapa para llevar EVM a Starknet, en la segunda etapa, Kakarot y Madara se fusionarán en una pila unificada para admitir L3 zkEVM, en la tercera etapa, Kakarot y Madara también se pueden combinar juntos , Tipo 1 zkEVM está habilitado. El 2 de junio, Kakarot zkEVM completó la ronda de financiación previa a la semilla. StarkWare, LambdaClass y otras instituciones e inversores ángeles como Vitalik Buterin, Nicolas Bacca y Rand Hindi participaron en la inversión.
Tipo 2 (equivalencia a nivel de bytecode - totalmente equivalente a EVM)
Type2 zkEVM se esfuerza por ser completamente equivalente a EVM, pero no a Ethereum. Es decir, se ven idénticos a Ethereum internamente, pero tienen algunas diferencias externamente, especialmente en términos de estructuras de datos, como estructuras de bloques y árboles de estado. El objetivo es ser totalmente compatible con las aplicaciones existentes, pero con algunas modificaciones menores a Ethereum para facilitar el desarrollo y acelerar la generación de pruebas.
La ventaja de Tipo 2 zkEVM es la equivalencia perfecta a nivel de VM. El tipo 2 zkEVM realiza cambios en las estructuras de datos que contienen cosas como el estado de Ethereum. Estas son estructuras a las que el propio EVM no tiene acceso directo, por lo que las aplicaciones que se ejecutan en Ethereum casi siempre se ejecutarán en acumulaciones de tipo 2 zkEVM. Este tipo no puede usar los clientes de ejecución de Ethereum tal cual, pero con algunas modificaciones se pueden usar, y aún se pueden usar las herramientas de depuración de EVM y otra infraestructura.
La desventaja de Type 2 zkEVM es que el tiempo de verificación aún es lento. El zkEVM de tipo 2 proporciona tiempos de verificación más rápidos que el zkEVM de tipo 1, principalmente al eliminar la criptografía que se basa en partes innecesariamente complejas y hostiles a ZK de la pila de Ethereum. Por ejemplo, pueden cambiar los árboles Merkle-Patricia basados en RLP y Keccak de Ethereum, y también pueden cambiar la estructura de bloques y recibos. Estas modificaciones mejoran significativamente el tiempo de fermentación, pero no resuelven todos los problemas. Con todas las ineficiencias y la incompatibilidad con ZK inherentes a la EVM, lo que demuestra que la EVM sigue siendo lenta.
Actualmente, los proyectos relacionados con Type 2 zkEVM incluyen Linea y Polygon.
Linea es un zkEVM de tipo 2 con tecnología de Consensys. Al integrar ZKP con compatibilidad total con EVM, los desarrolladores pueden crear DApps escalables o transferir DApps existentes a nuevas plataformas sin cambiar el código ni reescribir contratos inteligentes. La red de prueba pública se lanzó el 28 de marzo de este año y se agregó a las opciones de red predeterminadas de la extensión Metamask. Linea lanzó Alpha v0.2 a las 12:00 el 13 de junio. Esta versión se enfoca en probar actualizaciones sustanciales de la arquitectura y prepararse para el lanzamiento de la red principal.
Polygon zkEVM es de código abierto y utiliza Type 2 zkEVM. Emplea pruebas ZK para reducir las tarifas de transacción y aumentar el rendimiento mientras mantiene la seguridad de Ethereum L1. Polygon declaró el 14 de febrero de este año que Polygon zkEVM ha superado el 100% de los vectores de prueba de Ethereum adecuados para zkEVM. Los desarrolladores no necesitan modificar ni reescribir ningún código, y todas las herramientas de Ethereum pueden funcionar sin problemas con Polygon zkEVM. Significa que EVM La compatibilidad de ZK Rollup ha dado otro gran paso y ha alcanzado el nivel de Tipo 2, que es completamente equivalente a EVM. La versión beta de la red principal Polygon zkEVM se lanzó oficialmente el 27 de marzo de 2023.
Tipo 2.5 (equivalente a EVM, excepto costo de gas)
Una forma de mejorar el tiempo de verificación es aumentar considerablemente el costo del gas de ciertas operaciones en el EVM que son difíciles de probar ZK. Esto puede implicar precompilación, códigos de operación keccak y posiblemente patrones específicos de invocación de contratos o acceso a la memoria, almacenamiento o restauración.
Cambiar el costo del gas puede reducir la compatibilidad de la herramienta del desarrollador y romper algunas aplicaciones, pero generalmente se considera menos riesgoso que los cambios de EVM "más profundos". Los desarrolladores deben tener cuidado de no pedir más de un bloque de gas en una transacción y nunca hacer llamadas con cantidades de gas codificadas.
En la actualidad no existe un proyecto específico para hacer EVM Tipo 2.5, recién entró en una etapa de Tipo 2.
Tipo 3 (equivalencia a nivel de bytecode - casi equivalente a EVM)
El zkEVM tipo 3 es casi equivalente a EVM, pero se hacen algunos sacrificios por la equivalencia exacta para reducir aún más el tiempo de prueba y hacer que EVM sea más fácil de desarrollar.
Las ventajas de Type 3 zkEVM son más fácil de construir y un tiempo de verificación más rápido. El zkEVM de tipo 3 puede eliminar algunas características que son particularmente difíciles de implementar en las implementaciones de zkEVM. Además, los zkEVM de tipo 3 a veces tienen diferencias sutiles en la forma en que manejan el código de contrato, la memoria o la pila.
La desventaja de Type 3 zkEVM es que es menos compatible. El tipo 3 zkEVM tiene como objetivo ser compatible con la mayoría de las aplicaciones y requiere un esfuerzo mínimo de reescritura para el resto. Dicho esto, habrá algunas aplicaciones que deberán reescribirse porque usan precompilaciones eliminadas por Type 3 zkEVM, o debido a dependencias sutiles en casos extremos que la VM maneja de manera diferente.
Actualmente, los proyectos relacionados con Type 3 zkEVM incluyen Scroll.
Scroll es un zk-rollup equivalente a EVM desarrollado por el equipo de Scroll en cooperación con el grupo PSE (Privacy and Scaling Explorations) de la Fundación Ethereum. Actualmente se encuentra en la etapa de prueba Pre-Alpha y pretende ser totalmente compatible con EVM en el nivel de código de bytes. Esto significa que los desarrolladores pueden usar cualquier lenguaje compatible con EVM para crear contratos inteligentes e implementarlos en Scroll. Si bien Scroll actualmente está construyendo un EVM Tipo 2, muchas de las precompilaciones más complejas aún no se han implementado y, por lo tanto, se consideran un EVM Tipo 3. Según Scroll, se espera que lance la red principal en julio y agosto de este año, y dijo que podría lanzar un programa de socios para estimular el desarrollo ecológico.
Actualmente, el EVM Tipo 3 es solo una etapa de transición hasta que se completa el complejo trabajo de agregar la precompilación, y luego los proyectos pueden pasar al Tipo 2.5 zkEVM. Pero en el futuro, los EVM Tipo 1 y Tipo 3 pueden agregar una nueva precompilación compatible con ZK-SNARK, lo que brinda a los desarrolladores un tiempo de verificación bajo y funciones de bajo costo de gas.
Tipo 4 (equivalencia de nivel de lenguaje de desarrollo - lenguaje de alto nivel equivalente a EVM)
El EVM Tipo 4 funciona compilando el código fuente del contrato inteligente escrito en un lenguaje de alto nivel (como Solidity, Vyper o un lenguaje intermedio) en algún lenguaje diseñado explícitamente para ser compatible con ZK-SNARK.
La ventaja de Type 4 zkEVM es una mayor velocidad de prueba. Debido a que este tipo no prueba zk todas las diferentes partes de cada paso de ejecución de EVM, sino que comienza directamente desde el código de alto nivel, se pueden evitar muchos costos.
La desventaja de Type 4 zkEVM es que es menos compatible. Una es que las direcciones de los contratos en el sistema Tipo 4 pueden ser diferentes de sus direcciones en el EVM; la otra es que muchas aplicaciones usan códigos de bytes EVM escritos a mano en algunas partes para mejorar la eficiencia, lo que el sistema Tipo 4 puede no admitir. Las instalaciones tampoco se pueden heredar.
Actualmente, los proyectos relacionados con Type 4 zkEVM incluyen zkSync Era y StarkNet.
zkSync Era fue creado por Matters Lab. zkSync Era es el primer EVM que se lanza en la red principal y tiene acceso completo al público para conectar sus fondos al sistema o implementar su código en la red. zkSync Era utiliza un formato de código de bytes diferente para admitir Solidity al proporcionar un compilador. Admite Solidity, pero no el código de bytes EVM en sí. Las herramientas como Hardhat no se pueden usar directamente, aunque hay disponible un complemento para zkSync.
Creado por StarkWare, StarkNet es un L2 zk-rollup que utiliza pruebas de conocimiento cero para crear una capa de ejecución fuera de la cadena para Ethereum. De hecho, EVM no es una función nativa de Starknet. Starknet usa un convertidor Warp (proporcionado por Nethermind) para convertir el código de Solidity a Cairo para admitir la implementación de contratos inteligentes.
Los retos y el futuro de zkEVM
Dado que el EVM no está diseñado teniendo en cuenta el cálculo a prueba de zk, tiene características que no son compatibles con los circuitos de prueba, especialmente en términos de códigos de operación especiales, sobrecarga de almacenamiento arquitectónico basado en pilas y costos de prueba. Pero varios avances en la tecnología de conocimiento cero han hecho posible paliar estos problemas.
Los cinco tipos de zkEVM no tienen claro quién es bueno y quién es malo. El tipo con el número más bajo es más compatible con la infraestructura existente pero más lento, mientras que el tipo con el número más alto es menos compatible con la infraestructura existente pero más rápido. En general, diferentes proyectos que exploran diferentes tipos son beneficiosos para el desarrollo de zkEVM y Ethereum.
En el futuro, habrá múltiples implementaciones de zkEVM que se pueden usar tanto para ZK Rollup como para validar la propia cadena Ethereum. En teoría, Ethereum no necesita usar un único zkEVM estándar para L1, y diferentes clientes pueden usar diferentes pruebas. Sin embargo, pasará bastante tiempo antes de que ese futuro se haga realidad. Al mismo tiempo, veremos más innovaciones en las diferentes formas de escalar Ethereum y ZK-rollup basado en Ethereum.
Ver originales
El contenido es solo de referencia, no una solicitud u oferta. No se proporciona asesoramiento fiscal, legal ni de inversión. Consulte el Descargo de responsabilidad para obtener más información sobre los riesgos.
Cinco tipos comunes de zkEVM y proyectos representativos
Autor | Callum@Web3CN.Pro
ZK Rollup, como una forma de escalar Ethereum, permite que las transacciones se procesen fuera de la cadena y se fusionen en la cadena principal como una sola transacción comprimida. Este proceso mejora el rendimiento de las transacciones, reduce los costos de transacción, garantiza la validez del estado a través de la prueba de conocimiento cero y mejora la privacidad y la seguridad de la cadena principal. Por lo tanto, se considera que ZK Rollup es la solución definitiva para la expansión de Ethereum.
Sin embargo, en la actualidad, la generación de prueba de conocimiento cero requiere una gran cantidad de potencia informática y la dificultad técnica también es mayor.Al mismo tiempo, debido a que la máquina virtual Ethereum (EVM) no está diseñada para admitir circuitos ZK, no puede ejecutar contratos inteligentes directamente. Para resolver este problema, muchos desarrolladores han intentado desarrollar zkEVM, que puede ejecutar contratos inteligentes de manera compatible con cálculos de prueba de conocimiento cero. Para muchos ZK Rollups, lograr la equivalencia de EVM significa lograr una compatibilidad completa a nivel de código de bytes. En la actualidad, zkEVM es la clave para la expansión de Ethereum.
Este artículo estudiará cinco tipos comunes de zkEVM y el progreso de cada tipo de proyecto, y señalará los desafíos de diseño de cada tipo de zkEVM.
¿Qué es zkEVM?
zkEVM es una máquina virtual compatible con EVM que admite la computación a prueba de conocimiento cero y es una plataforma de desarrollo de aplicaciones basada en la tecnología blockchain de Ethereum. El contrato EVM se puede implementar y ejecutar directamente sin modificaciones, y la operación del programa puede probar la validez de su cálculo a través del conocimiento cero.
Ventajas de zkEVM
zkEVM mejora la compatibilidad. zkEVM es altamente compatible con los contratos inteligentes escritos para ejecutarse en EVM y puede integrarse perfectamente con la infraestructura de EVM. Los desarrolladores pueden migrar las aplicaciones Ethereum existentes a L2 sin volver a desarrollar aplicaciones. Al mismo tiempo, zk proof hereda la seguridad de la red Ethereum.
zkEVM mejora la escalabilidad. zkEVM utiliza pruebas no interactivas, lo que mejora el rendimiento y reduce la latencia porque es más rápido verificar pruebas para bloques L2 que volver a ejecutar cada transacción en un bloque recién propuesto.
zkEVM reduce los costes de almacenamiento. Un paquete acumulativo de zkEVM puede optar por publicar solo los compromisos en su estado final en Ethereum L1, lo que reduce los costos de almacenamiento en cadena. Las pruebas de validez garantizan la corrección del nuevo estado del zkEVM, por lo que el ordenante no tiene que publicar todos los datos necesarios para volver a ejecutar el cambio de transición de estado.
Es con la mejora continua de zkEVM que se resuelven las limitaciones de ZK Rollup. Utilizando la seguridad y la eficiencia de ZK Rollup, junto con la compatibilidad de EVM, las aplicaciones pueden interactuar con contratos inteligentes para mejorar la experiencia de la aplicación.
Cinco tipos diferentes de zkEVM y proyectos relacionados
Al comienzo del diseño de EVM, no se consideró que admitiera pruebas de conocimiento cero, lo que dificultó la creación de una máquina virtual zk compatible con EVM. Sin embargo, a medida que avanza la investigación, los cálculos de EVM pueden incluirse en pruebas de conocimiento cero. Diferentes proyectos de zkEVM utilizan diferentes enfoques que combinan la ejecución de EVM con el cálculo de prueba de conocimiento cero.
Vitalik Buterin, el fundador de Ethereum, también publicó un artículo que explica las compensaciones entre los diferentes tipos de zkEVM.V God cree que los objetivos principales de estos proyectos son los mismos: utilizar la tecnología ZK-SNARK para proporcionar pruebas cifradas para la ejecución de transacciones similares a Ethereum, por lo que es más fácil verificar la propia cadena de Ethereum o crear ZK Rollups equivalentes a lo que ofrece Ethereum, pero más escalable que Ethereum.
Tipo 1 (equivalencia de nivel de consenso - completamente equivalente a Ethereum)
El tipo 1 zkEVM se esfuerza por ser completamente equivalente a Ethereum. No cambia ninguna parte del sistema Ethereum para facilitar la generación de pruebas, no reemplaza hashes, árboles de estado, árboles de transacciones, precompilaciones ni ninguna otra lógica de consenso.
La ventaja de Type 1 zkEVM es que es perfectamente compatible con Ethereum. A la larga, las modificaciones de Ethereum probadas en ZK-EVM tipo 2 o tipo 3 pueden introducirse en Ethereum mismo, pero esta nueva arquitectura tiene sus propias complejidades, por lo que el tipo 1 es lo que se requiere en última instancia para hacer que Ethereum Square L1 sea algo más escalable. Al mismo tiempo, los zkEVM de tipo 1 son ideales para acumulaciones porque permiten que las acumulaciones reutilicen una gran cantidad de infraestructura.
La desventaja de Tipo 1 zkEVM es el problema del tiempo de verificación. Ethereum no se diseñó originalmente en torno a la compatibilidad con ZK, por lo que muchas partes del protocolo Ethereum requieren muchos cálculos para realizar pruebas ZK. El zkEVM Tipo 1 está diseñado para replicar Ethereum exactamente, por lo que no puede mitigar estas ineficiencias. El zkEVM de tipo 1 es el zkEVM más ideal, y hay muchos proyectos que construyen o exploran este tipo.
Actualmente, los proyectos relacionados con zkEVM Tipo 1 incluyen Taiko y Kakarot.
El zkEVM Tipo 1 construido por Taiko permite a los desarrolladores y usuarios experimentar Ethereum de manera segura, con tarifas de transacción más bajas y sin tener que considerar ningún cambio. Recaudó $ 22 millones en dos rondas iniciales, la primera ronda fue de $ 10 millones liderada por Sequoia China, y la segunda ronda fue de $ 12 millones liderada por Generative Ventures. El 7 de junio, Taiko lanzó Alpha-3 Incentive Testnet. Según la presentación oficial de Taiko, la red de prueba se centra en la parte descentralizada ZK-EVM equivalente a Ethereum.
Kakarot zkEVM es un EVM implementado con el lenguaje Cario, que amplía la confiabilidad del ecosistema Starknet al mejorar la compatibilidad con EVM. Kakarot zkEVM puede existir en diferentes formas, en la primera etapa para llevar EVM a Starknet, en la segunda etapa, Kakarot y Madara se fusionarán en una pila unificada para admitir L3 zkEVM, en la tercera etapa, Kakarot y Madara también se pueden combinar juntos , Tipo 1 zkEVM está habilitado. El 2 de junio, Kakarot zkEVM completó la ronda de financiación previa a la semilla. StarkWare, LambdaClass y otras instituciones e inversores ángeles como Vitalik Buterin, Nicolas Bacca y Rand Hindi participaron en la inversión.
Tipo 2 (equivalencia a nivel de bytecode - totalmente equivalente a EVM)
Type2 zkEVM se esfuerza por ser completamente equivalente a EVM, pero no a Ethereum. Es decir, se ven idénticos a Ethereum internamente, pero tienen algunas diferencias externamente, especialmente en términos de estructuras de datos, como estructuras de bloques y árboles de estado. El objetivo es ser totalmente compatible con las aplicaciones existentes, pero con algunas modificaciones menores a Ethereum para facilitar el desarrollo y acelerar la generación de pruebas.
La ventaja de Tipo 2 zkEVM es la equivalencia perfecta a nivel de VM. El tipo 2 zkEVM realiza cambios en las estructuras de datos que contienen cosas como el estado de Ethereum. Estas son estructuras a las que el propio EVM no tiene acceso directo, por lo que las aplicaciones que se ejecutan en Ethereum casi siempre se ejecutarán en acumulaciones de tipo 2 zkEVM. Este tipo no puede usar los clientes de ejecución de Ethereum tal cual, pero con algunas modificaciones se pueden usar, y aún se pueden usar las herramientas de depuración de EVM y otra infraestructura.
La desventaja de Type 2 zkEVM es que el tiempo de verificación aún es lento. El zkEVM de tipo 2 proporciona tiempos de verificación más rápidos que el zkEVM de tipo 1, principalmente al eliminar la criptografía que se basa en partes innecesariamente complejas y hostiles a ZK de la pila de Ethereum. Por ejemplo, pueden cambiar los árboles Merkle-Patricia basados en RLP y Keccak de Ethereum, y también pueden cambiar la estructura de bloques y recibos. Estas modificaciones mejoran significativamente el tiempo de fermentación, pero no resuelven todos los problemas. Con todas las ineficiencias y la incompatibilidad con ZK inherentes a la EVM, lo que demuestra que la EVM sigue siendo lenta.
Actualmente, los proyectos relacionados con Type 2 zkEVM incluyen Linea y Polygon.
Linea es un zkEVM de tipo 2 con tecnología de Consensys. Al integrar ZKP con compatibilidad total con EVM, los desarrolladores pueden crear DApps escalables o transferir DApps existentes a nuevas plataformas sin cambiar el código ni reescribir contratos inteligentes. La red de prueba pública se lanzó el 28 de marzo de este año y se agregó a las opciones de red predeterminadas de la extensión Metamask. Linea lanzó Alpha v0.2 a las 12:00 el 13 de junio. Esta versión se enfoca en probar actualizaciones sustanciales de la arquitectura y prepararse para el lanzamiento de la red principal.
Polygon zkEVM es de código abierto y utiliza Type 2 zkEVM. Emplea pruebas ZK para reducir las tarifas de transacción y aumentar el rendimiento mientras mantiene la seguridad de Ethereum L1. Polygon declaró el 14 de febrero de este año que Polygon zkEVM ha superado el 100% de los vectores de prueba de Ethereum adecuados para zkEVM. Los desarrolladores no necesitan modificar ni reescribir ningún código, y todas las herramientas de Ethereum pueden funcionar sin problemas con Polygon zkEVM. Significa que EVM La compatibilidad de ZK Rollup ha dado otro gran paso y ha alcanzado el nivel de Tipo 2, que es completamente equivalente a EVM. La versión beta de la red principal Polygon zkEVM se lanzó oficialmente el 27 de marzo de 2023.
Tipo 2.5 (equivalente a EVM, excepto costo de gas)
Una forma de mejorar el tiempo de verificación es aumentar considerablemente el costo del gas de ciertas operaciones en el EVM que son difíciles de probar ZK. Esto puede implicar precompilación, códigos de operación keccak y posiblemente patrones específicos de invocación de contratos o acceso a la memoria, almacenamiento o restauración.
Cambiar el costo del gas puede reducir la compatibilidad de la herramienta del desarrollador y romper algunas aplicaciones, pero generalmente se considera menos riesgoso que los cambios de EVM "más profundos". Los desarrolladores deben tener cuidado de no pedir más de un bloque de gas en una transacción y nunca hacer llamadas con cantidades de gas codificadas.
En la actualidad no existe un proyecto específico para hacer EVM Tipo 2.5, recién entró en una etapa de Tipo 2.
Tipo 3 (equivalencia a nivel de bytecode - casi equivalente a EVM)
El zkEVM tipo 3 es casi equivalente a EVM, pero se hacen algunos sacrificios por la equivalencia exacta para reducir aún más el tiempo de prueba y hacer que EVM sea más fácil de desarrollar.
Las ventajas de Type 3 zkEVM son más fácil de construir y un tiempo de verificación más rápido. El zkEVM de tipo 3 puede eliminar algunas características que son particularmente difíciles de implementar en las implementaciones de zkEVM. Además, los zkEVM de tipo 3 a veces tienen diferencias sutiles en la forma en que manejan el código de contrato, la memoria o la pila.
La desventaja de Type 3 zkEVM es que es menos compatible. El tipo 3 zkEVM tiene como objetivo ser compatible con la mayoría de las aplicaciones y requiere un esfuerzo mínimo de reescritura para el resto. Dicho esto, habrá algunas aplicaciones que deberán reescribirse porque usan precompilaciones eliminadas por Type 3 zkEVM, o debido a dependencias sutiles en casos extremos que la VM maneja de manera diferente.
Actualmente, los proyectos relacionados con Type 3 zkEVM incluyen Scroll.
Scroll es un zk-rollup equivalente a EVM desarrollado por el equipo de Scroll en cooperación con el grupo PSE (Privacy and Scaling Explorations) de la Fundación Ethereum. Actualmente se encuentra en la etapa de prueba Pre-Alpha y pretende ser totalmente compatible con EVM en el nivel de código de bytes. Esto significa que los desarrolladores pueden usar cualquier lenguaje compatible con EVM para crear contratos inteligentes e implementarlos en Scroll. Si bien Scroll actualmente está construyendo un EVM Tipo 2, muchas de las precompilaciones más complejas aún no se han implementado y, por lo tanto, se consideran un EVM Tipo 3. Según Scroll, se espera que lance la red principal en julio y agosto de este año, y dijo que podría lanzar un programa de socios para estimular el desarrollo ecológico.
Actualmente, el EVM Tipo 3 es solo una etapa de transición hasta que se completa el complejo trabajo de agregar la precompilación, y luego los proyectos pueden pasar al Tipo 2.5 zkEVM. Pero en el futuro, los EVM Tipo 1 y Tipo 3 pueden agregar una nueva precompilación compatible con ZK-SNARK, lo que brinda a los desarrolladores un tiempo de verificación bajo y funciones de bajo costo de gas.
Tipo 4 (equivalencia de nivel de lenguaje de desarrollo - lenguaje de alto nivel equivalente a EVM)
El EVM Tipo 4 funciona compilando el código fuente del contrato inteligente escrito en un lenguaje de alto nivel (como Solidity, Vyper o un lenguaje intermedio) en algún lenguaje diseñado explícitamente para ser compatible con ZK-SNARK.
La ventaja de Type 4 zkEVM es una mayor velocidad de prueba. Debido a que este tipo no prueba zk todas las diferentes partes de cada paso de ejecución de EVM, sino que comienza directamente desde el código de alto nivel, se pueden evitar muchos costos.
La desventaja de Type 4 zkEVM es que es menos compatible. Una es que las direcciones de los contratos en el sistema Tipo 4 pueden ser diferentes de sus direcciones en el EVM; la otra es que muchas aplicaciones usan códigos de bytes EVM escritos a mano en algunas partes para mejorar la eficiencia, lo que el sistema Tipo 4 puede no admitir. Las instalaciones tampoco se pueden heredar.
Actualmente, los proyectos relacionados con Type 4 zkEVM incluyen zkSync Era y StarkNet.
zkSync Era fue creado por Matters Lab. zkSync Era es el primer EVM que se lanza en la red principal y tiene acceso completo al público para conectar sus fondos al sistema o implementar su código en la red. zkSync Era utiliza un formato de código de bytes diferente para admitir Solidity al proporcionar un compilador. Admite Solidity, pero no el código de bytes EVM en sí. Las herramientas como Hardhat no se pueden usar directamente, aunque hay disponible un complemento para zkSync.
Creado por StarkWare, StarkNet es un L2 zk-rollup que utiliza pruebas de conocimiento cero para crear una capa de ejecución fuera de la cadena para Ethereum. De hecho, EVM no es una función nativa de Starknet. Starknet usa un convertidor Warp (proporcionado por Nethermind) para convertir el código de Solidity a Cairo para admitir la implementación de contratos inteligentes.
Los retos y el futuro de zkEVM
Dado que el EVM no está diseñado teniendo en cuenta el cálculo a prueba de zk, tiene características que no son compatibles con los circuitos de prueba, especialmente en términos de códigos de operación especiales, sobrecarga de almacenamiento arquitectónico basado en pilas y costos de prueba. Pero varios avances en la tecnología de conocimiento cero han hecho posible paliar estos problemas.
Los cinco tipos de zkEVM no tienen claro quién es bueno y quién es malo. El tipo con el número más bajo es más compatible con la infraestructura existente pero más lento, mientras que el tipo con el número más alto es menos compatible con la infraestructura existente pero más rápido. En general, diferentes proyectos que exploran diferentes tipos son beneficiosos para el desarrollo de zkEVM y Ethereum.
En el futuro, habrá múltiples implementaciones de zkEVM que se pueden usar tanto para ZK Rollup como para validar la propia cadena Ethereum. En teoría, Ethereum no necesita usar un único zkEVM estándar para L1, y diferentes clientes pueden usar diferentes pruebas. Sin embargo, pasará bastante tiempo antes de que ese futuro se haga realidad. Al mismo tiempo, veremos más innovaciones en las diferentes formas de escalar Ethereum y ZK-rollup basado en Ethereum.