Este artículo es un envío de la comunidad. El autor es Kenny Li, cofundador de Manta Network, un protocolo de privacidad programable de Capa 1 impulsado por tecnología a prueba de conocimiento cero.

Las opiniones de este artículo pertenecen al colaborador/autor y no reflejan necesariamente las de Binance Academy.

TL;DR

  • Una máquina virtual Ethereum de conocimiento cero (zkEVM) es una máquina de estado de Ethereum que puede ejecutar contratos inteligentes de manera compatible con la tecnología de prueba de conocimiento cero (ZKP).

  • Los zkEVM amplían las capacidades de los paquetes acumulativos de conocimiento cero (zk-rollups) en Ethereum para admitir aplicaciones descentralizadas (DApps).

  • Los zkEVM facilitan la implementación de proyectos Ethereum nuevos y existentes utilizando ZKP para mejorar el ecosistema Ethereum.

Introducción

Los desarrolladores originales de Ethereum no consideraron la tecnología ZKP cuando propusieron la red por primera vez en 2014. Sin embargo, en los últimos años, ZKP ha ganado atención y se espera que desempeñe un papel mucho más destacado en el espacio blockchain. Como tal, se han intensificado los esfuerzos para combinar la tecnología ZKP y la máquina virtual de Ethereum.

Para comprender qué es zkEVM, primero revisemos brevemente sus dos conceptos subyacentes: zk-rollups y EVM.

¿Qué son los Zk-Rollups?

Un rollup es una solución escalable que compila numerosas ejecuciones de transacciones fuera de la cadena principal y envía los datos de regreso a la red principal como una sola transacción. Este proceso aumenta el rendimiento al tiempo que reduce el costo de ejecutar estas transacciones.

En Ethereum, las transacciones dentro de un paquete acumulativo se comprimen y se envían a la red principal de Ethereum por el costo de verificar una sola transacción. La red principal de Ethereum proporciona liquidación y verifica los datos de las transacciones contenidos en el paquete acumulativo.

Un zk-rollup es un tipo de rollup que utiliza tecnología ZKP, una tecnología criptográfica que permite verificar la validez de una información sin revelar la información en sí. zk-rollups no necesita publicar todos los datos de las transacciones en la red principal de Ethereum; solo necesitan diferencias estatales (como cambios en el estado de la cuenta de usuario) y prueba de validez, lo que reduce las tarifas del gas en el proceso.

La seguridad de los zk-rollups proviene de la criptografía ZKP, donde se utilizan medios criptográficos para verificar las pruebas y lograr la falta de confianza. Esto es diferente de otros rollups, como los optimistas, cuya seguridad proviene de la teoría de juegos económicos, donde los malos actores son desincentivados por pérdidas potenciales y los retadores están motivados por incentivos.

¿Qué es la EVM?

El EVM es una máquina de estado en la que se ejecutan el sistema de cuentas de Ethereum y los contratos inteligentes. Cada ejecución de contrato inteligente hace que el EVM pase de un estado antiguo a un estado nuevo. El EVM define la regla para calcular estados nuevos y válidos de un bloque a otro.

El estado es un concepto importante en Ethereum. Es una estructura de datos de Merkle Patricia Trie que representa el estado actual de Ethereum y permite a cualquiera rastrear la información de la transacción desde el bloque actual hasta el bloque génesis.

Todos los nodos involucrados en el mantenimiento de Ethereum existen para garantizar la continuidad y el consenso, lo que permite a cada nodo ver el estado actual exacto. EVM juega un papel fundamental en el mantenimiento de esta coherencia.

¿Cómo funciona un ZkEVM?

EVM no admite ZKP de forma predeterminada. zkEVM tiene como objetivo garantizar la continuidad del estado de Ethereum y al mismo tiempo proporcionar pruebas de que toda la información es correcta. De esta forma se verifican los distintos factores que intervienen en el cómputo de estos procesos manteniendo la seguridad y privacidad.

zkEVM hace esto replicando el entorno Ethereum como zk-rollups. Toma el estado inicial, calcula todas las transacciones y luego genera un estado nuevo y actualizado junto con un ZKP adjunto. Esta prueba se envía a un contrato inteligente verificador que verifica la exactitud de la salida del estado inicial y del nuevo sin tener que verificar todas las transacciones individualmente.

Debido a que los zkEVM se basan en EVM, los desarrolladores pueden portar fácilmente DApps de Ethereum y contratos inteligentes a zkEVM sin tener que realizar el trabajo de desarrollo de ZKP. En otras palabras, los zkEVM permiten que los zk-rollups ejecuten contratos inteligentes, además de los intercambios de tokens y los pagos que antes se admitían sin los zkEVM.

Gracias a la función de compatibilidad de EVM, los desarrolladores pueden crear nuevos productos utilizando las herramientas EVM y el lenguaje de programación existentes, Solidity, mientras disfrutan de la seguridad mejorada que viene con zkEVM. Los mismos beneficios también se aplican a los usuarios: pueden seguir usando las mismas DApps y herramientas familiares, pero con mayor seguridad y privacidad.

Compatibilidad EVM versus equivalencia EVM

Cuando se hace referencia a una cadena de bloques como compatible con EVM, significa que ofrece un entorno que puede implementar DApps escritas en el lenguaje de programación Solidity. Solidity está diseñado para desarrollar contratos inteligentes que se ejecutan en la red Ethereum.

De hecho, los desarrolladores de Ethereum pueden copiar y pegar el código de las DApps existentes de Ethereum e implementarlo en otras cadenas compatibles con EVM con modificaciones mínimas. Para los usuarios, cualquier dirección de cadena compatible con EVM es la misma que su dirección Ethereum.

Esto significa que las direcciones son compatibles con carteras convencionales como Metamask y Trust Wallet. Actualmente, las principales cadenas compatibles con EVM incluyen BNB Chain, Avalanche C-Chain y Polygon.

La compatibilidad de EVM no debe confundirse con la equivalencia de EVM, lo que significa que desde la perspectiva del desarrollador de DApp, los paquetes acumulativos de Capa 2 son casi idénticos a los de Capa 1 de Ethereum.

Para usar una analogía con el sistema operativo, la equivalencia de EVM es similar a restaurar archivos y configuraciones a través de Apple Cloud si la computadora anterior y la nueva de un usuario ejecutan el sistema operativo de Apple.

Por el contrario, la compatibilidad con EVM significa que si una computadora nueva cambia a un sistema Windows, los archivos originales deben descargarse a través del almacenamiento en la nube y convertirse para recuperar la configuración preferida y los archivos antiguos.

Diferentes tipos de ZkEVM

Generar y verificar ZKP directamente usando EVM es extremadamente lento porque Ethereum no fue diseñado originalmente para admitir la tecnología ZKP. En algunos casos, podría tardar hasta varias horas. Sin embargo, es imperativo lograr un equilibrio entre la compatibilidad con EVM y la eficiencia de ZKP.

El fundador de Ethereum, Vitalik Buterin, clasificó los zkEVM en los siguientes cuatro tipos. Al igual que el trilema de blockchain, cada uno tiene diferentes compensaciones entre la eficiencia del rendimiento de ZKP y la compatibilidad con EVM.

Tipo 1: Equivalencia a nivel de consenso: zkEVM que es completamente equivalente a Ethereum

A nivel de consenso, un zkEVM Tipo 1, también conocido como paquete acumulativo consagrado, es equivalente a Ethereum, y el estado de la cadena zkEVM y las transacciones son idénticos a los de Ethereum. Pueden verificar bloques mutuamente y usarse directamente con clientes de ejecución de Ethereum.

Los zkEVM tipo 1 hacen que Ethereum sea más escalable y pueden introducirse directamente en la red principal de Ethereum. La desventaja es que la eficiencia de ZKP es extremadamente pobre y requiere una gran cantidad de cálculos para verificarla. La solución es utilizar validadores paralelos a gran escala o circuitos integrados especializados para zk-SNARK en el futuro.

Los zkEVM tipo 1 con alta eficiencia ZK serían la forma más ideal de zkEVM. Actualmente, hay muchos proyectos que construyen o exploran este tipo de zkEVM.

Tipo 2: Equivalencia a nivel de código de bytes: completamente equivalente a EVM

El tipo 2 es completamente equivalente a EVM pero no a Ethereum. Se diferencia de Ethereum en términos de estructuras de datos (como la estructura de bloques y el árbol de estado) y elimina algunas operaciones de pila que no son compatibles con ZK.

Es totalmente compatible con las DApps, las herramientas de depuración y la infraestructura de desarrollador existentes de Ethereum. La equivalencia a nivel de código de bytes puede acelerar los tiempos del probador, aunque no de manera significativa. Una clara desventaja del Tipo 2 es que es caro, no sinérgico con ZK y con una eficiencia baja y costosa.

Tipo 2.5: Similar al Tipo 2 pero con modificaciones en las tarifas del gas

El tipo 2.5 comparte las ventajas y desventajas del tipo 2, pero tiene tarifas de gas ligeramente más bajas.

Tipo 3: Equivalencia a nivel de código de bytes: casi equivalente a EVM

Basado en el Tipo 2, el Tipo 3 sacrifica aún más la compatibilidad para mejorar la eficiencia de ZK. Elimina funciones que son difíciles de implementar en zkEVM, como las precompilaciones, por lo que se debe reescribir parte de la codificación utilizada en DApps que requieren esta función.

Tipo 4: Equivalencia a nivel de lenguaje de desarrollo: lenguaje de alto nivel equivalente a EVM

Los EVM tipo 4 tienen el rendimiento ZK más alto pero una compatibilidad relativamente deficiente.

Pensamientos finales

El objetivo principal de la implementación de zkEVM es extender el soporte del cálculo ZKP a la ejecución de contratos inteligentes y, al hacerlo, extender las DApps a todos los protocolos compatibles con EVM. Pero las aplicaciones de las ZKP no terminan aquí.

La tecnología ZKP puede ser potencialmente compatible con los casos de uso de Web2. La combinación de varios casos de uso de Web2 con ZKP podría hacer que las aplicaciones Web3 sean más fluidas y fáciles de usar. También otorgaría a los usuarios que ya están acostumbrados a los navegadores de Internet tradicionales acceso a Web3 y, a su vez, impulsaría la adopción de Web3.

Otras lecturas

Descargo de responsabilidad y advertencia de riesgo: este contenido se le presenta "tal cual" para información general y fines educativos únicamente, sin representación ni garantía de ningún tipo. No debe interpretarse como asesoramiento financiero, legal o profesional, ni pretende recomendar la compra de ningún producto o servicio específico. Debe buscar su propio consejo de asesores profesionales adecuados. Cuando el artículo sea aportado por un colaborador externo, tenga en cuenta que las opiniones expresadas pertenecen al colaborador externo y no reflejan necesariamente las de Binance Academy. Lea nuestro descargo de responsabilidad completo aquí para obtener más detalles. Los precios de los activos digitales pueden ser volátiles. El valor de su inversión puede subir o bajar y es posible que no recupere el monto invertido. Usted es el único responsable de sus decisiones de inversión y Binance Academy no es responsable de las pérdidas en las que pueda incurrir. Este material no debe interpretarse como asesoramiento financiero, legal o de otro tipo. Para obtener más información, consulte nuestros Términos de uso y Advertencia de riesgos.