En la búsqueda de soluciones para la escalabilidad y la eficiencia computacional de blockchain, la tecnología de prueba de conocimiento cero (ZKP) es particularmente importante. zkVM (Zero-Knowledge Virtual Machine) es una de las aplicaciones específicas de esta tecnología. Como plataforma informática general basada en ZKP, zkVM puede verificar la exactitud de los cálculos sin revelar detalles de ejecución. También admite el procesamiento de tareas computacionalmente pesadas fuera de la cadena y solo envía los resultados de la verificación a la cadena de bloques, lo que mejora en gran medida la escalabilidad de la cadena de bloques. Actualmente, múltiples proyectos en el mercado como a16z, Taiko, ZKM, etc. están desarrollando soluciones zkVM.
Introducción a zkVM
zkVM es una plataforma informática general basada en prueba de conocimiento cero que puede realizar diversas tareas informáticas, incluida la ejecución de contratos inteligentes, procesamiento de datos y operaciones de algoritmos complejos. Su función principal es generar pruebas de conocimiento cero que verifiquen la exactitud de los cálculos sin revelar detalles de ejecución. A través de la tecnología SNARK, estas pruebas se pueden verificar fuera de la cadena y el verificador no necesita volver a ejecutar todo el proceso de cálculo en la cadena de bloques e incurrir en costosos costos de cálculo.
Además, el diseño de zkVM no se limita a las transacciones de criptomonedas. Su versatilidad le permite implementarse en una variedad de escenarios de aplicaciones, como procesamiento de datos médicos, gestión de la cadena de suministro, sistemas de votación secreta, etc. Todas estas aplicaciones deben garantizar. seguridad de los datos. Al mismo tiempo, verificar la corrección de la lógica de procesamiento.
zkVM comparado con otras máquinas virtuales
Una máquina virtual (VM) tradicional generalmente se refiere a la virtualización de un entorno informático completo en hardware físico. Su función principal es simular el entorno de hardware y permitir que se ejecuten múltiples sistemas operativos o aplicaciones en el mismo hardware físico. Estas máquinas virtuales implementan sus funciones principalmente a través de tecnología de virtualización de hardware y aislamiento a nivel del sistema operativo. Por lo general, no implican el proceso de autenticación criptográfica de las aplicaciones o los datos que se ejecutan en ellas.
La máquina virtual de conocimiento cero (zkVM) utiliza tecnología de prueba de conocimiento cero para garantizar la exactitud de la ejecución del programa. Esta tecnología es aplicable a cualquier programa que pueda compilarse y ejecutarse en una máquina virtual. El diseño de zkVM se centra en proporcionar una plataforma de verificación informática general que sea adecuada para diversos escenarios de aplicaciones y admita múltiples lenguajes de programación, como Rust, C/C++ y Go. Los desarrolladores pueden utilizar los lenguajes con los que están familiarizados para crear aplicaciones. El proceso de cálculo y verificación tiende a consumir más tiempo que las máquinas virtuales tradicionales porque generar pruebas de conocimiento cero es un proceso computacional intensivo que requiere una gran cantidad de recursos informáticos, lo que limita en gran medida la velocidad de procesamiento de transacciones (TPS). Aunque la tecnología ZK actual ha logrado avances significativos en la generación de pruebas únicas, todavía tiene una capacidad limitada para manejar transacciones a gran escala en condiciones de carga alta. La generación de cada prueba puede tardar desde segundos hasta minutos, lo que supone una limitación para las aplicaciones que requieren un alto rendimiento, como los sistemas de procesamiento de pagos a gran escala.
zkEVM es una implementación específica de zkVM diseñada específicamente para el ecosistema Ethereum y tiene como objetivo mejorar la escalabilidad de Ethereum a través de pruebas de conocimiento cero. Es totalmente compatible con los contratos inteligentes y las herramientas de desarrollo de Ethereum, como Solidity y Vyper, y las aplicaciones de Ethereum existentes se pueden migrar sin problemas a zkEVM sin ninguna modificación. Por lo tanto, zkEVM se parece más a una versión específicamente optimizada de Ethereum.
proyectos relacionados con zkVM
A pesar de los desafíos de la tecnología zk, todavía hay algunos proyectos en el mercado que han demostrado destreza técnica en el desarrollo de soluciones zkVM.
Jolt: Excelente rendimiento
El 9 de abril, a16z lanzó la implementación inicial de la solución zkVM Jolt. Jolt es un nuevo tipo de zkVM cuyas características principales son una velocidad de ejecución rápida y una expansión y auditoría de código más sencillas para los desarrolladores.
A diferencia de otros zkVM basados en el marco STARK, Jolt aprovecha los parámetros de búsqueda de Lasso y las técnicas basadas en sumas. Este enfoque innovador no sólo simplifica la implementación de nuevas instrucciones de máquinas virtuales, sino que también aumenta la velocidad general del sistema. El diseño de Jolt enfatiza la facilidad de uso y la eficiencia. Su base de código es muy optimizada. Cada instrucción de CPU en Jolt solo requiere 50 líneas de código Rust para implementarse. Además, el rendimiento de Jolt también es muy bueno en las pruebas comparativas preliminares, puede realizar pruebas de conocimiento cero más de 5 veces más rápido que RISC Zero y 2 veces más rápido que SP1.
RISC Zero: Maneje eficientemente cálculos complejos
RISC Zero es un zkVM con una estructura SNARK recursiva, que presenta un enfoque recursivo que admite el anidamiento de pruebas. En la tecnología de SNARK, la recursividad puede dividir pruebas complejas en pruebas más pequeñas y manejables. Estas pequeñas pruebas se pueden verificar de forma independiente y eventualmente combinarse en una prueba grande y completa, un proceso que no afecta la validez de la prueba. RISC Zero es único en su enfoque de recursividad, integrando perfectamente múltiples capas de pruebas en una única cadena de pruebas, lo que no solo reduce la carga computacional y la cantidad de datos que deben procesarse, sino que también mantiene la verificación en múltiples pasos computacionales. seguridad e integridad.
Otro aspecto único de RISC Zero es el uso del conjunto de instrucciones RISC-V, un estándar abierto ISA (Arquitectura de conjunto de instrucciones) diseñado para escalabilidad y extensibilidad. Esta elección garantiza que RISC Zero pueda aprovechar un amplio ecosistema de herramientas y soporte, lo que facilita el acceso y la integración en sistemas existentes que otros zkVM que pueden utilizar arquitecturas propietarias o de propósito menos general.
El año pasado completaron con éxito una ronda de financiación Serie A de 40 millones de dólares. Esta ronda de financiación fue liderada por Blockchain Capital, con la participación de otros inversores conocidos, incluidos Bain Capital Crypto, Galaxy Digital, IOSG Ventures, RockawayX, Maven 11, Fenbushi Capital, Delphi Digital, etc.
Sucinto: amigable para desarrolladores
Succinct desarrolló zkVM SP1, que está personalizado para ejecutar código escrito en Rust o cualquier otro lenguaje que pueda compilarse con LLVM, con mayor flexibilidad y facilidad de uso. SP1 admite una arquitectura modular, lo que permite a los desarrolladores personalizar y ampliar su funcionalidad mediante la "precompilación". La precompilación se refiere a módulos específicos que los desarrolladores pueden agregar o modificar. Estos módulos mejoran la funcionalidad de la máquina virtual central para que pueda manejar tareas u operaciones específicas de manera más eficiente.
Además, SP1 crea una red de prueba descentralizada que simplifica la implementación y ejecución de pruebas, reduciendo así el umbral para el uso de métodos de cifrado avanzados. La red proporciona un enfoque simplificado al permitir a los desarrolladores generar pruebas de manera eficiente con un solo clic.
En marzo, Succinct cerró una ronda de financiación de 55 millones de dólares. La financiación fue liderada por Paradigm, con la participación de inversores como Robot Ventures, Bankless Ventures, Geometry y los inversores ángeles Sreeram Kannan de Eigenlayer y el cofundador de Polygon, Sandeep Nailwal. El 13 de mayo, Succinct anunció el lanzamiento de la red de prueba SP1.
Taiko: sistema de pruebas múltiples
Taiko ha comenzado a pasar del uso de zkEVM al uso de zkVM. Lo que hace único a zkVM es el uso de sistemas de prueba múltiple. El concepto de prueba múltiple fue propuesto por Vitalik. Taiko afirmó que es el primer proyecto que implementa este concepto y respaldará directamente este sistema de prueba múltiple cuando se lance la red principal a fines de mayo. Este sistema permite que zkVM de Taiko genere múltiples tipos de pruebas, aumentando así la seguridad y robustez del sistema. Incluso si hay un problema con uno de los tipos de prueba, los otros tipos de pruebas pueden continuar garantizando el funcionamiento normal del sistema y detectar cualquier transición de estado errónea de manera oportuna. Además, se adopta el sistema de prueba Halo2-KZG para mantener la eficiencia y el bajo costo al procesar cálculos complejos y transacciones a gran escala.
En marzo, Taiko completó una ronda de financiación Serie A de 15 millones de dólares, codirigida por Lightspeed Faction, Hashed, Generative Ventures y Token Bay Capital, con la participación de Wintermute Ventures, Flow Traders, Amber Group, OKX Ventures y GSR.
ZKM: la arquitectura MIPS es simple y estable
ZKM es un proyecto zkVM incubado por la Fundación Metis. Adopta la arquitectura MIPS y la combina con tecnología a prueba de conocimiento cero para crear una máquina virtual zk. Este diseño hace que ZKP esté más alineado con el procesamiento computacional dentro del sistema, acelerando las operaciones y reduciendo la sobrecarga computacional asociada con la implementación del protocolo ZKP únicamente. Y actualmente la mayoría de los zkVM utilizan el lenguaje Rust, mientras que ZKM proporciona soporte nativo para Golang.
MIPS (Microprocesador sin etapas de tubería entrelazadas) es la primera generación de arquitectura informática con conjunto de instrucciones reducido. El conjunto de instrucciones MIPS es relativamente simple y estable y puede usarse ampliamente en varios dispositivos informáticos y sistemas integrados. Tiene buena versatilidad y adaptabilidad. Los sistemas ZKM basados en la arquitectura MIPS se pueden desarrollar e implementar más fácilmente.
zkMIPS divide todo el programa MIPS en segmentos. Las instrucciones de cada segmento se dividen luego en cuatro tipos y se clasifican en las tablas de cuatro módulos correspondientes. zkMIPS utiliza el método de prueba STARK para verificar de forma independiente las instrucciones en cada tabla de módulo, asegurando que cada operación en la tabla sea correcta y que cada instrucción en el segmento del programa esté contenida en su tabla de módulo correspondiente. Luego verifique que la secuencia de ejecución de cada segmento del programa coincida con la ejecución de todo el programa. De esta manera, incluso los programas ejecutados fuera de la cadena se pueden verificar en la cadena, lo que mejora la transparencia y la confianza en la ejecución del programa.
ZKM lanzó recientemente Entangled Rollups, una nueva infraestructura de interoperabilidad multicadena de confianza minimizada, que utiliza zkMIPS para construir un marco de interoperabilidad multicadena descentralizado y sin confianza. A diferencia de los puentes zk de terceros que solo verifican las transferencias de activos a través de instantáneas, todos los cálculos se pueden verificar, por lo que es muy seguro. La clave de esta interoperabilidad es la existencia de un mecanismo de prueba común que pueda generar pruebas en una cadena de bloques y luego verificarlas en otra cadena de bloques. Una de las diferencias entre ZKM y otros zkVM es que puede generar una prueba de conocimiento cero que se aplica a todas las operaciones. ZKM incorpora seguridad en la capa inferior de la arquitectura CPU/MIPS, de modo que todo el software situado en la parte superior de la arquitectura pueda disfrutar de la misma seguridad sin la necesidad de que cada software se someta a un proceso de prueba de conocimiento cero por separado.
Además, ZKM presenta:
Compatible con todas las máquinas virtuales: ZKM se encuentra debajo de cada máquina virtual, lo que la hace compatible con varias máquinas virtuales con motores de contratos inteligentes de blockchain, como MoveVM (zkMVM), WASM (zkWASM) y RustVM (zkRVM), entre otras.
Plug and Play: los desarrolladores pueden adoptar ZKM sin cambiar su base de código existente. Proporciona una adopción de bajo costo y permite el uso de diferentes lenguajes de contratos inteligentes e incluso lenguajes de programación tradicionales.
Estabilidad a largo plazo: el conjunto de instrucciones MIPS es estable y no es necesario cambiarlo con el EVM en constante cambio, lo que proporciona un entorno más estable para el desarrollo.
El futuro de zkVM
A medida que la tecnología blockchain continúa madurando y las empresas de vanguardia continúan explorando, el rendimiento de zkVM continúa mejorando. Podemos prever que zkVM desempeñará un papel cada vez más importante en el mundo del cifrado y se convertirá en parte de la tecnología clave. Especialmente en un momento en el que la sensibilidad de los datos y la necesidad de seguridad entre cadenas aumentan, las capacidades proporcionadas por zkVM se adaptan a las necesidades del mercado. Esperamos superar diversas dificultades técnicas, como la optimización de circuitos y la optimización del propio sistema de prueba, lanzar zkVM que se adapta perfectamente a varios lenguajes de programación y atraer más desarrolladores a la nueva era de Web3.