zkEVM para la verificación de bloques de la L1
zkEVM es una tecnología que utiliza pruebas de conocimiento cero para verificar la ejecución de bloques de Ethereum. En lugar de requerir que cada vuelva a ejecutar todas las transacciones en un bloque, un único actor especializado (llamado "probador" o "prover") ejecuta el bloque y genera una prueba criptográfica de que la ejecución fue correcta. Cualquier nodo puede entonces verificar esta prueba, un proceso que es órdenes de magnitud más barato que volver a ejecutar todas las transacciones.
No debe confundirse con los rollups de zkEVM
El problema de la reejecución
Hoy en día, Ethereum utiliza un modelo de verificación "N de N": cada validador debe volver a ejecutar de forma independiente cada transacción en cada bloque para verificar que los cambios de estado propuestos sean correctos. Si bien este enfoque no requiere confianza en absoluto (trustless), crea un cuello de botella fundamental.
El problema es que el rendimiento de Ethereum está limitado por lo que el validador promedio puede procesar. Aumentar el permitiría más transacciones por bloque, pero también aumentaría los requisitos de hardware para los validadores. Esto amenaza la descentralización: si ejecutar un validador requiere hardware costoso, menos personas pueden participar en la seguridad de la red.
zkEVM ofrece una salida a esta compensación. Al pasar de "todos vuelven a ejecutar" a "uno prueba, todos verifican", Ethereum puede aumentar de manera segura el límite de gas sin aumentar los requisitos de hardware del validador.
Cómo funciona la verificación de la L1 con zkEVM
La verificación con zkEVM transforma la validación de bloques en un modelo "1 de N":
- Ejecución: Un probador ejecuta todas las transacciones en un bloque, rastreando cada cambio de estado
- Prueba: El probador genera una prueba criptográfica (un SNARK o STARK) que atestigua la exactitud de la ejecución
- Verificación: Los validadores verifican la prueba en lugar de volver a ejecutar las transacciones; esto es drásticamente más barato que la reejecución completa
La garantía de seguridad sigue siendo la misma: si la ejecución fue incorrecta, no se puede generar una prueba válida. Pero ahora, en lugar de que cada nodo realice cálculos costosos, solo lo hace el probador, y la verificación es lo suficientemente barata como para no limitar el límite de gas.
zkEVMs de Tipo 1
Las zkEVMs se clasifican en tipos según su compatibilidad con Ethereum:
- Tipo 1: Totalmente equivalentes a Ethereum. Sin modificaciones en la EVM, por lo que cualquier bloque de Ethereum se puede probar exactamente como es
- Tipos 2-4: Realizan varias compensaciones, modificando el comportamiento de la EVM para facilitar la prueba
Para la verificación de la L1, el Tipo 1 es esencial. La zkEVM debe ser capaz de probar cualquier bloque válido de Ethereum, incluidos los casos extremos y los bloques históricos. Cualquier desviación del comportamiento exacto de Ethereum crearía problemas de consenso.
La investigación sobre zkEVM de la Ethereum Foundation se centra en implementaciones de Tipo 1 que son totalmente compatibles con la ejecución existente de Ethereum.
Beneficios para Ethereum
Mayor rendimiento
Cuando la verificación es barata, el límite de gas puede aumentar de forma segura. Esto amplía la capacidad de la red y ayuda a estabilizar las tarifas durante los períodos de alta demanda. El límite de gas actual está parcialmente restringido por el hardware del validador; zkEVM elimina esta restricción.
Mayor descentralización
Con la verificación de zkEVM, los validadores solo necesitan verificar pruebas en lugar de ejecutar transacciones. Esto reduce drásticamente los requisitos de hardware para ejecutar un validador, lo que permite que más personas participen en la seguridad de la red. Una mayor diversidad de validadores fortalece la resistencia a la censura y la resiliencia de Ethereum.
Tenga en cuenta que la prueba en sí requiere recursos computacionales significativos, mayores que los del hardware actual del validador. Sin embargo, a diferencia de la validación, la prueba no necesita estar descentralizada de la misma manera: solo se necesita una prueba correcta por bloque, y cualquiera puede verificarla rápidamente. La investigación sobre los mercados de probadores, la agregación de pruebas y la aceleración de hardware tiene como objetivo garantizar que la prueba siga siendo competitiva y accesible en lugar de concentrarse entre unos pocos grandes operadores.
Finalidad predecible
La verificación de pruebas opera en tiempo constante independientemente de la complejidad del bloque. Esto hace que el tiempo de atestación sea más predecible y reduce las atestaciones perdidas que pueden ocurrir cuando los validadores tienen dificultades para procesar bloques complejos a tiempo.
Desafíos de las pruebas en tiempo real
El principal desafío para la verificación de la L1 con zkEVM es la velocidad. Los bloques de Ethereum se producen cada 12 segundos, lo que significa que las pruebas deben generarse en un período de tiempo similar para ser útiles para el consenso.
Las implementaciones actuales de zkEVM pueden tardar de minutos a horas en probar un solo bloque. La investigación se centra en cerrar esta brecha a través de:
- Paralelización: Distribución del trabajo de prueba en múltiples máquinas
- Hardware especializado: Diseño de circuitos y hardware optimizados para pruebas ZK
- Mejoras algorítmicas: Sistemas de prueba y diseños de circuitos más eficientes
- Prueba incremental: Generación de pruebas a medida que se ejecutan las transacciones, en lugar de después
Investigación e implementaciones actuales
La Ethereum Foundation financia la investigación de zkEVM a través del equipo Privacy Stewards of Ethereum (PSE) (opens in a new tab). Las principales líneas de investigación incluyen:
- Pruebas en tiempo real: Generación de pruebas de bloques completos en ranuras de 12 segundos
- Integración de clientes: Estandarización de interfaces entre clientes de ejecución y probadores
- Incentivos económicos: Diseño de mercados de probadores sostenibles y estructuras de tarifas
Estado de la implementación
Se están desarrollando y probando varias implementaciones de zkVM para la prueba de bloques de Ethereum:
| Implementación | Arquitectura |
|---|---|
| OpenVM (opens in a new tab) | rv32im |
| RISC Zero (opens in a new tab) | rv32im |
| Airbender (opens in a new tab) | rv32im |
| Jolt (opens in a new tab) | rv32im |
| Zisk (opens in a new tab) | rv64ima |
Estas utilizan máquinas virtuales basadas en RISC-V para ejecutar el código de bytes de la EVM y luego generan pruebas ZK de la ejecución correcta. Los resultados de las pruebas actualizados y el progreso se rastrean en el rastreador de zkVM de la Ethereum Foundation (opens in a new tab).
Cómo encaja zkEVM con otras actualizaciones
La verificación de la L1 con zkEVM se conecta con varios otros elementos de la hoja de ruta de Ethereum:
- Árboles Verkle: Permiten testigos más pequeños para la verificación sin estado, reduciendo los datos con los que los probadores necesitan trabajar
- Falta de estado: zkEVM es un habilitador clave: con las pruebas ZK de ejecución, los nodos no necesitan el estado completo para verificar los bloques
- PBS: Los constructores de bloques podrían integrar potencialmente la generación de pruebas, o podría surgir un mercado de probadores separado
- Finalidad de ranura única: Una generación de pruebas más rápida podría permitir la finalidad de ranura única con garantías criptográficas
Más información
- Fundación zkEVM (opens in a new tab): centro oficial de investigación de zkEVM de la Ethereum Foundation
- Ethproofs (opens in a new tab): siga la carrera para probar Ethereum en tiempo real
- zkevm.fyi (opens in a new tab): libro técnico sobre zkEVM para la L1
- Especificaciones de zkEVM de PSE (opens in a new tab): especificaciones técnicas
- The Verge (opens in a new tab): descripción general de Vitalik sobre las mejoras de verificación
- Blog de zkEVM de la EF (opens in a new tab): análisis de rendimiento del equipo de la EF