¿Qué es un zkEVM?
Basics
Al habilitar la compatibilidad con la tecnología de prueba de conocimiento cero (ZKP), la máquina virtual de Ethereum de conocimiento cero (zkEVM) funciona como una máquina de estados de Ethereum, facilitando la ejecución de contratos inteligentes. La integración de los zkEVM amplía el alcance de los zk-rollups en la red Ethereum para incluir aplicaciones descentralizadas (DApps). Este avance simplifica el despliegue de proyectos en Ethereum, tanto existentes como nuevos, al aprovechar las ZKP para potenciar las capacidades del ecosistema Ethereum.
Cuando la red Ethereum se propuso inicialmente en 2014, el concepto de tecnología de prueba de conocimiento cero no fue considerado por los desarrolladores originales. No obstante, en los últimos años, las ZKP han atraído una atención significativa y se espera que desempeñen un papel más importante en el dominio blockchain. En consecuencia, ha habido un aumento de esfuerzos para integrar la tecnología ZKP con la máquina virtual de Ethereum.
Para comprender la esencia de un zkEVM, es necesario ofrecer una visión concisa de sus dos principios fundamentales: zk-rollups y EVM.
What Are Zk-Rollups?
Los rollups actúan como una solución de escalado que mejora el rendimiento y reduce los costes de transacción al compilar múltiples ejecuciones de transacciones fuera de la cadena principal y transmitir los datos como una sola transacción a la red principal.
Dentro del ecosistema Ethereum, las transacciones de rollup se comprimen y posteriormente se transmiten al mainnet de Ethereum para su verificación al coste de una única transacción. El mainnet de Ethereum sirve como capa de liquidación y verifica los datos de transacción incluidos en el rollup.
Una variante específica de rollups, conocida como zk-rollups, aprovecha la tecnología de prueba de conocimiento cero. La ZKP permite verificar la validez de la información sin revelar la información en sí. En el caso de los zk-rollups, no es necesario publicar todos los datos de las transacciones en el mainnet de Ethereum; en su lugar, se requieren solo las diferencias de estado, como cambios en el estado de las cuentas de los usuarios, junto con pruebas de validez. Este enfoque reduce sustancialmente las tarifas de gas.
La seguridad de los zk-rollups se fundamenta en la criptografía de ZKP, que emplea mecanismos criptográficos para verificar pruebas y establecer confianza sin confianza (trustlessness). Esto contrasta con otras implementaciones de rollups, como los optimistic rollups, que dependen de la teoría de juegos económica para la seguridad. En los optimistic rollups, los actores maliciosos se disuaden por posibles pérdidas, mientras que los retadores se motivan mediante incentivos.
What Is EVM?
Dentro de Ethereum, la Ethereum Virtual Machine (EVM) funciona como una máquina de estados que facilita el funcionamiento del sistema de cuentas de Ethereum y la ejecución de contratos inteligentes. Cada ejecución de un contrato inteligente provoca que la EVM pase de un estado antiguo a un estado nuevo, siguiendo las reglas predefinidas para calcular estados válidos entre bloques.
La noción de estado tiene una importancia significativa en el ecosistema Ethereum. Está representada por una estructura de datos Merkle Patricia Trie, que sirve como una instantánea del estado actual de Ethereum. Esta estructura permite rastrear los detalles de las transacciones desde el bloque presente hasta el bloque génesis.
El esfuerzo colectivo de todos los nodos participantes en el mantenimiento de Ethereum garantiza continuidad y consenso, otorgando a cada nodo visibilidad del estado actual exacto. La EVM asume un papel fundamental en mantener esta consistencia, protegiendo la integridad de la red Ethereum.
How Does a ZkEVM Functionate?
Al asegurar la continuidad del estado de Ethereum y proporcionar corrección verificable, el zkEVM surge como una solución a la ausencia de soporte nativo para pruebas de conocimiento cero en la EVM. Este enfoque garantiza la validación de todos los factores de cálculo implicados, manteniendo la seguridad y la privacidad al mismo tiempo.
En el ámbito del zkEVM, el entorno de Ethereum se replica de forma similar a los zk-rollups. Partiendo del estado inicial, se procesan todas las transacciones, resultando en un estado actualizado acompañado de una ZKP asociada. Esta prueba se somete posteriormente a un contrato inteligente verificador encargado de validar la exactitud tanto de las salidas del estado inicial como del estado actualizado, eliminando la necesidad de verificar transacción por transacción.
Los zkEVM, construidos sobre la base de la EVM, ofrecen a los desarrolladores la comodidad de portar sin problemas DApps y contratos inteligentes de Ethereum a zkEVM sin emprender tareas de desarrollo en ZKP. En esencia, los zkEVM amplían la funcionalidad de los zk-rollups para abarcar la ejecución de contratos inteligentes, además de los intercambios de tokens y pagos que anteriormente eran compatibles sin integración zkEVM.
Gracias a la compatibilidad heredada de la EVM, los desarrolladores pueden construir productos nuevos utilizando las herramientas existentes de EVM y el lenguaje Solidity, al tiempo que se benefician de la mayor seguridad que proporciona el zkEVM. Los usuarios también experimentan las mismas ventajas al continuar utilizando DApps y herramientas familiares, ahora reforzadas con medidas mejoradas de seguridad y privacidad.
Distinguishing EVM Compatibility and EVM Equivalence
Cuando una blockchain se etiqueta como compatible con EVM, significa que proporciona un entorno capaz de alojar DApps escritas en el lenguaje Solidity, específicamente diseñado para el desarrollo de contratos inteligentes en Ethereum.
De hecho, los desarrolladores de Ethereum pueden transferir sin problemas el código de DApps existentes desde Ethereum a otras cadenas compatibles con EVM con ajustes mínimos. Para los usuarios, la dirección en una cadena compatible con EVM es indistinguible de su dirección Ethereum.
En consecuencia, estas direcciones son compatibles con wallets populares como Metamask y Trust Wallet. Entre las cadenas compatibles con EVM más destacadas actualmente se encuentran BNB Chain, Avalanche C-Chain y Polygon.
Es esencial no confundir la compatibilidad con EVM con la equivalencia a la EVM. La equivalencia a la EVM denota que, desde la perspectiva de un desarrollador de DApps, los rollups de Capa 2 se parecen mucho a la Capa 1 de Ethereum. Para ilustrarlo con una analogía de sistema operativo, la equivalencia a la EVM es comparable a restaurar archivos y configuraciones mediante Apple Cloud al pasar de un ordenador antiguo a uno nuevo que ejecuta el sistema de Apple.
En contraste, la compatibilidad con EVM significa que, si uno cambia a un sistema Windows en un ordenador nuevo, los archivos originales deben recuperarse a través del almacenamiento en la nube y convertirse para restaurar las configuraciones y archivos antiguos preferidos.
Categorizing zkEVMs: Balancing Efficiency and Compatibility
Generar y verificar ZKP de manera eficiente usando la EVM es un desafío debido a la falta de soporte inherente a la tecnología ZKP en Ethereum. El proceso puede ser extremadamente lento, con duraciones potenciales de varias horas. No obstante, sigue siendo crucial encontrar un equilibrio entre la compatibilidad con EVM y la eficiencia de ZKP.
Vitalik Buterin, el fundador de Ethereum, ha clasificado los zkEVM en cuatro tipos distintos, cada uno con compromisos únicos en cuanto a la eficiencia del rendimiento de ZKP y la compatibilidad con la EVM. Estas clasificaciones son paralelas al concepto del trilema blockchain, que destaca los compromisos inherentes entre descentralización, seguridad y escalabilidad.
Type 1: Consensus-Level Equivalence
El zkEVM de Tipo 1, también conocido como enshrined rollup, logra equivalencia completa con Ethereum a nivel de consenso. El estado de la cadena zkEVM y las transacciones reflejan los de Ethereum, permitiendo la verificación mutua de bloques e integración directa con clientes de ejecución de Ethereum. Aunque este tipo mejora la escalabilidad de Ethereum, la eficiencia de ZKP sigue siendo una desventaja significativa, requiriendo recursos computacionales sustanciales para la verificación. Las soluciones potenciales incluyen el empleo de validadores paralelos a gran escala o circuitos integrados especializados para zk-SNARKs.
Type 2: Bytecode-Level Equivalence
Los zkEVM de Tipo 2 poseen equivalencia completa con la EVM, pero no con Ethereum en sí. Si bien mantienen la compatibilidad con las DApps existentes de Ethereum, las herramientas de depuración y la infraestructura para desarrolladores, los zkEVM de Tipo 2 optimizan en cierta medida los tiempos del provador. Sin embargo, su eficiencia sigue siendo limitada y costosa, careciendo de sinergia con las metodologías ZK.
Type 2.5: Modified Gas Fees
Los zkEVM de Tipo 2.5 comparten las ventajas y desventajas del Tipo 2, pero ofrecen tarifas de gas ligeramente reducidas.
Type 3: Bytecode-Level Equivalence With Improved Efficiency
Basándose en el Tipo 2, los zkEVM de Tipo 3 priorizan una mayor eficiencia ZK sobre la compatibilidad completa. Para lograr esto, se omiten ciertas funciones, como los precompiles, lo que requiere reescribir las DApps que dependen de estas funcionalidades.
Type 4: Development Language-Level Equivalence
Los zkEVM de Tipo 4 exhiben un rendimiento ZK óptimo, pero sacrifican la compatibilidad a nivel de lenguaje de alto nivel. Aunque proporcionan una eficiencia superior, su compatibilidad con sistemas existentes puede ser deficiente.
Conclusion
La implementación del zkEVM tiene como objetivo principal habilitar el soporte de cálculo ZKP para la ejecución de contratos inteligentes, ampliando así las DApps para abarcar todos los protocolos compatibles con EVM. Sin embargo, las aplicaciones de la tecnología ZKP van más allá de este dominio.
La tecnología ZKP tiene el potencial de ser compatible con casos de uso Web2. Al combinar ZKP con diversas aplicaciones Web2, la integración de aplicaciones Web3 puede mejorarse sin problemas, ofreciendo a los usuarios una experiencia más fluida y amigable. Este enfoque permite que personas familiarizadas con los navegadores tradicionales accedan a los beneficios de Web3, impulsando en última instancia la adopción generalizada del paradigma Web3.