Fuente: Escalar Ethereum de manera eficiente; Compilación: Comunidad china de Starknet
descripción general
Los rollups fueron un tema candente este año sobre la escala de Ethereum. Entre varios tipos de Rollup, creemos que Validity Proof Rollup (en adelante, VR o zk-rollup) es la solución de expansión más prometedora para aumentar el rendimiento de Ethereum de una manera segura y descentralizada. El núcleo de este esquema de expansión es el uso de pruebas de validez para cálculos verificables. Así es como funciona:
Resumen de prueba de validez
Tenga en cuenta: los paquetes acumulativos de prueba de validez a menudo se denominan erróneamente acumuladores de conocimiento cero (zkRollup), lo cual no es exacto. La mayoría de las acumulaciones de pruebas de validez no emplean pruebas de conocimiento cero ni se utilizan para garantizar la privacidad. Por lo tanto, el término “Acumulación de prueba de validez” es más preciso.
Antes de continuar, debemos responder la primera pregunta: ¿qué es una máquina virtual (VM)? En resumen, una máquina virtual es un entorno en el que se pueden ejecutar programas, como un sistema operativo Windows que se ejecuta en una Mac. La VM realiza transiciones entre estados después de realizar cálculos en alguna entrada. La máquina virtual de Ethereum (EVM) es la máquina virtual que ejecuta los contratos inteligentes de Ethereum.
Una máquina virtual de conocimiento cero (zkVM) es un entorno de ejecución de programas que, junto con la salida del programa, genera pruebas de validez fácilmente verificables. La prueba de validez se utiliza para demostrar que un programa se ha ejecutado correctamente. Cuando se usa el término “zkEVM”, generalmente se refiere a un paquete acumulativo que ejecuta la máquina virtual Ethereum (EVM) y puede dar fe de la ejecución de la EVM. Esta terminología puede ser engañosa porque el EVM por sí mismo no puede generar estas pruebas; en cambio, las pruebas son producidas por un mecanismo de prueba separado que toma el resultado de la ejecución del EVM como punto de partida. Además, las pruebas anteriores están todas relacionadas con la validez y no tienen nada que ver con la privacidad. Por lo tanto, no puede llamarse una prueba de conocimiento cero para ser precisos. Por consistencia, el término tradicional “zkEVM” todavía se usa en este artículo.
Si bien todos los paquetes acumulativos de prueba de validez tienen como objetivo escalar Ethereum con prueba de validez, los diferentes esquemas toman decisiones diferentes sobre cómo la máquina virtual ejecuta transacciones fuera de la cadena. Muchas pruebas de validez del paquete acumulativo eligieron replicar el diseño de EVM (de ahí el nombre “paquete acumulativo zkEVM”), intentando replicar Ethereum en un paquete acumulativo L2. Starknet utiliza Cairo VM (CVM), una nueva máquina virtual diseñada para optimizar la eficiencia de la prueba de validez.
Los dos métodos anteriores tienen sus propias ventajas y desventajas y compensaciones, pero zkEVM sacrifica el rendimiento por la compatibilidad con Ethereum, mientras que Cairo VM antepone el rendimiento a la compatibilidad y prioriza la escalabilidad.
zkEVM es un paquete acumulativo de prueba de validez diseñado para introducir completamente la experiencia Ethereum en la cadena de bloques L2. El propósito es replicar el entorno de desarrollo de Ethereum en Rollup. Con zkEVM, los desarrolladores no necesitan ajustar el código ni abandonar las herramientas EVM originales (y los contratos inteligentes) al escribir o transferir contratos inteligentes a soluciones de expansión.
Este enfoque tiene un defecto clave, que reduce la escalabilidad de las pruebas de validez. Debido al enfoque en ser compatible con Ethereum, zkEVM es más lento y consume más recursos. A diferencia de CVM, EVM no está diseñado teniendo en cuenta la eficiencia de las pruebas. Esto limita el uso de optimizaciones para mejorar la eficiencia y la escalabilidad, lo que en última instancia afecta el rendimiento general del sistema.
El principal desafío del enfoque zkEVM radica en el modelo original arraigado del EVM, que originalmente no fue diseñado para ejecutarse en un entorno de prueba de validez. Por lo tanto, si se pone todo el esfuerzo en realizar las funciones de Ethereum, no se puede liberar todo el potencial de la prueba de validez, lo que resulta en una eficiencia insatisfactoria. Esta ineficiencia en última instancia reduce el rendimiento general del sistema. La compatibilidad de EVM con las pruebas de validez se ve obstaculizada por:
Por lo tanto, varios tipos de zkEVM están diseñados para proporcionar diferentes niveles de soporte para las herramientas de Ethereum, pero cuanto mayor sea la compatibilidad de zkEVM con Ethereum, menor será el rendimiento. (consulte el final del artículo para obtener más tipos de zkEVM)
La solución zkEVM ha invertido mucho tiempo de desarrollo en “hacer que EVM sea adecuado para Validity Proof Rollup”, priorizando la compatibilidad sobre el rendimiento y la escalabilidad a largo plazo. Hay otra opción: adoptar una nueva máquina virtual dedicada y agregar una capa adicional para admitir las herramientas de Ethereum. Ese es el paso que está tomando Starknet, lanzando un paquete acumulativo de prueba de validez sin permiso en noviembre de 2021. Starknet es el primer paquete acumulativo de prueba de validez que implementa una plataforma de contrato inteligente de propósito general en una red totalmente componible.
Starknet adopta Cairo-VM (CVM) y crea el lenguaje de alto nivel Cairo del mismo nombre. Cairo-VM está diseñado para la generación eficiente de pruebas de validez de la ejecución del programa.
Con Cairo (VM y lenguaje de programación) es posible:
El desarrollo de un lenguaje completamente nuevo se puede adaptar a necesidades específicas, puede incluir características que no estaban disponibles antes y satisfacer nuevas necesidades.
Para crear una prueba de la validez de algún cálculo, ese cálculo primero debe expresarse como una serie de restricciones matemáticas que describen el cálculo. El proceso es complejo, la dificultad radica en optimizar los cálculos para la eficiencia y se requieren herramientas específicas.
El lenguaje Cairo fue diseñado para simplificar esta tarea para que StarkEx pueda agregar fácilmente funcionalidad y lógica comercial compleja. Los programas de Cairo se compilan en código de máquina algebraico, una secuencia de números, ejecutados por una única máquina virtual fija. Con Cairo, el complejo proceso de generar restricciones matemáticas que describen cálculos (muy complicado para las pruebas de validez) se abstrae y se expresa como un conjunto fijo de restricciones (menos de 50 restricciones en total). Esto permite a los desarrolladores ampliar las aplicaciones con pruebas de validez al escribir código en una sintaxis familiar sin comprender las matemáticas y la infraestructura subyacentes.
El compromiso de Starknet con la innovación es evidente en su enfoque de la pluralización del código. Cairo adopta la tecnología STARK para lograr funciones de extensión óptimas, sin limitarse a redactar contratos con el entorno local de Cairo. Los desarrolladores también pueden elegir el método más adecuado:
Aunque Cairo no existe desde hace mucho tiempo, según las clasificaciones de TVL, Cairo es el cuarto lenguaje de programación de contratos inteligentes más popular, con una valoración de más de 350 millones de dólares.
zkEVM tiene como objetivo replicar el entorno de desarrollo de Ethereum en Rollup y permitir que los desarrolladores utilicen herramientas familiares de Ethereum. Pero este enfoque limita el potencial de las pruebas de validez y requiere muchos recursos.
El Cairo VM, diseñado para pruebas de validez, no está sujeto a las limitaciones del EVM. Cairo VM es compatible con Cairo 1.0. Inspirado en el lenguaje Rust, Cairo 1.0 está más en línea con los hábitos de los desarrolladores y es más seguro, formando una poderosa herramienta diseñada para usar STARK para probar la expansión eficiente de Ethereum.
Es emocionante ver cómo se desarrolla Cairo cada semana, y las opciones para desarrolladores como Kakarot zkEVM y Warp están creciendo. Con Starknet dApps en producción, demostrando el poder de Cairo, creemos firmemente que en el futuro, Cairo generará proyectos sobresalientes que nunca antes se habían visto.
Anteriormente se han descrito tres caminos para la expansión de SATRK y, sin duda, habrá más innovaciones en los próximos meses. Los desarrolladores ahora tienen un control sin precedentes sobre el escalado de cadenas de bloques.
Vitalik divide zkEVM en cuatro tipos principales: