Lección 2

Cómo funcionan los coprocesadores ZK

Profundizando más, este módulo desglosa la arquitectura de los coprocesadores ZK, incluyendo motores de prueba, zkVMs y contratos de verificación. También compara herramientas clave de desarrollo como Circom, Noir, Risc Zero y SP1, utilizando ejemplos del mundo real como Axiom y Bonsai para explicar la generación de pruebas y la ejecución sin confianza.

Arquitectura central: motor de demostración, contrato de verificación, zkVM

Un coprocesador ZK está diseñado para descargar computación de la blockchain mientras mantiene la verificabilidad. En su núcleo, la arquitectura consta de tres componentes principales: el motor de prueba, el contrato de verificación y la máquina virtual (zkVM o tiempo de ejecución de circuito).

El motor de prueba es responsable de ejecutar el cálculo fuera de la cadena y generar una prueba criptográfica de que el cálculo se realizó correctamente. Este motor toma datos de entrada, los procesa a través de una lógica o programa definido, y produce una prueba de conocimiento cero breve. El proceso de prueba suele ser intensivo, requiriendo recursos computacionales como CPUs o GPUs, dependiendo del tipo de sistema de prueba que se esté utilizando.

El contrato de verificación está desplegado en la cadena y es ligero por diseño. Su único propósito es validar la corrección de la prueba presentada. Mantiene la clave de verificación, que se deriva matemáticamente de la misma lógica utilizada por el probador. Cuando el contrato inteligente recibe una prueba, la verifica contra la clave y confirma si el resultado es válido. Este proceso es rápido y económico en comparación con la ejecución del cálculo completo en la cadena.

El zkVM o circuito aritmético define la lógica del programa. Actúa como el entorno de ejecución para el probador. En algunos sistemas, este es un circuito personalizado escrito en un DSL de bajo nivel, mientras que otros utilizan máquinas virtuales completas que pueden interpretar código en lenguajes de alto nivel. Juntos, estos componentes permiten la ejecución sin confianza fuera de la cadena y la verificación sucinta en la cadena.

Circom, Noir, Risc Zero, SP1: Lenguajes y máquinas virtuales

Han surgido varias herramientas y marcos para apoyar el desarrollo de coprocesadores ZK. Circom es uno de los lenguajes de circuito más antiguos y ampliamente utilizados. Permite a los desarrolladores definir circuitos aritméticos utilizando una sintaxis declarativa. Estos circuitos se compilan en sistemas de prueba como Groth16 o PLONK. Circom es conocido por su flexibilidad, pero tiene una curva de aprendizaje empinada y requiere diseño manual de circuitos.

Noir es un lenguaje más reciente diseñado para hacer que el desarrollo de ZK sea accesible. Desarrollado por Aztec, Noir es un lenguaje similar a Rust que abstrae gran parte de la complejidad de los sistemas de restricciones. Se compila automáticamente en circuitos de conocimiento cero, lo que facilita la escritura de programas privados con una sintaxis legible.

Más allá de los lenguajes, los zkVM están ganando atención por su capacidad de ejecutar código de propósito general en un entorno amigable con ZK. Risc Zero ofrece una de las implementaciones de zkVM más avanzadas. Emula el conjunto de instrucciones RISC-V y permite a los desarrolladores ejecutar cualquier programa escrito en Rust o C como una prueba de conocimiento cero. SP1, desarrollado por Succinct, adopta un enfoque similar pero busca optimizar el rendimiento y la portabilidad a través de sistemas de prueba.

Estos entornos son cruciales porque determinan cuán expresivos, eficientes y componibles pueden ser los coprocesadores ZK. Si bien los circuitos de bajo nivel siguen siendo útiles para aplicaciones críticas de rendimiento, los zkVM están permitiendo una adopción más amplia por parte de los desarrolladores y una iteración más rápida.

Flujo de ejemplo: Cómo Axiom o Bonsai ejecutan la lógica ZK

Para entender cómo funciona en la práctica un coprocesador ZK, considera el flujo de ejecución de un sistema como Axiom o Bonsai de Risc Zero.

En el modelo de Axiom, un desarrollador define una consulta sobre datos históricos de Ethereum, por ejemplo, verificando si un usuario tenía un saldo específico en un bloque pasado. Esta consulta se envía al coprocessador fuera de cadena de Axiom. El coprocessador recupera los datos relevantes en cadena, procesa la consulta y ejecuta la lógica utilizando un zkVM. Una vez que la computación se completa, el coprocessador genera una prueba de conocimiento cero que atestigua la corrección del resultado. Esta prueba se presenta en cadena a un contrato verificador, que la valida y permite que un contrato inteligente utilice el resultado con plena confianza.

Bonsai de Risc Zero sigue una estructura similar pero generaliza el proceso. Los desarrolladores escriben la lógica de su aplicación en un lenguaje de alto nivel como Rust. Este código se compila en una imagen zkVM y se ejecuta fuera de la cadena utilizando la infraestructura de Bonsai. Después de la ejecución, se genera una prueba que puede ser publicada de nuevo en cualquier blockchain a través de un verificador en cadena.

Esta arquitectura permite a los desarrolladores construir lógica poderosa y minimizada en confianza sin sobrecargar la blockchain. También permite pruebas reutilizables y componibles que pueden servir a múltiples contratos o aplicaciones.

Qué hace que las pruebas sean confiables y verificables

La fortaleza de un coprocesador ZK radica en el modelo de confianza que permite. A diferencia de oráculos centralizados o proveedores de computación fuera de la cadena, los coprocesadores ZK no requieren que los usuarios confíen en la entidad que realiza la computación. En cambio, la confianza se transfiere a las matemáticas.

El núcleo de esta confianza proviene de la estructura de las pruebas de conocimiento cero. Estas pruebas están diseñadas de tal manera que cualquier cálculo inválido, incluso un solo bit incorrecto, resultará en una verificación fallida. El contrato de verificación no puede ser engañado para aceptar un resultado falso, suponiendo que las suposiciones criptográficas se mantengan.

Además, dado que el verificador solo necesita las entradas públicas, la prueba y la clave de verificación, no hay dependencia de la identidad o el comportamiento del probador. Cualquier tercera parte puede generar la prueba, y mientras pase la verificación, será aceptada. Esto significa que los probadores pueden ser descentralizados, sin permisos e incluso incentivados, lo cual es una característica que se explora más a fondo en las redes de prueba.

Al combinar garantías criptográficas con la finalización de blockchain, los coprocesadores ZK permiten una nueva capa de ejecución sin confianza que no depende de servicios centralizados, reputación o consenso multisig.

Rol en DeFi, cross-chain y ecosistemas L2

Los coprocessadores ZK están ganando tracción real en áreas donde la computación necesita ser minimizada en confianza, eficiente en costos o privada. En DeFi, pueden calcular precios promedio ponderados por tiempo, tenencias de activos a lo largo del tiempo, o modelos de riesgo personalizados sin almacenar todos los datos en la cadena. Esto permite contratos financieros más inteligentes sin aumentar los costos de gas o inflar la blockchain.

En aplicaciones de cadena cruzada, los coprocesadores ZK pueden funcionar como clientes livianos. En lugar de ejecutar nodos completos para cada cadena, las aplicaciones pueden verificar una prueba sucinta del estado de otra cadena. Esto simplifica drásticamente los puentes y los protocolos de mensajería, mejorando tanto la seguridad como la interoperabilidad.

Los ecosistemas de Capa 2 también están adoptando coprocesadores ZK como una forma de optimizar la lógica de rollup. En lugar de ejecutar cada interacción dentro del circuito de rollup, los rollups pueden delegar tareas específicas, como la detección de fraudes, la verificación de oráculos o la lógica definida por el usuario, a coprocesadores ZK externos. Esto reduce los costos de prueba y hace que los rollups sean más modulares.

Los coprocessadores ZK están surgiendo así como componentes de infraestructura esenciales. Amplían lo que las blockchains pueden hacer sin comprometer la descentralización o el rendimiento. A medida que las herramientas y entornos de ejecución maduran, es probable que se conviertan en opciones predeterminadas en la pila de desarrollo para cualquier aplicación descentralizada avanzada.

Descargo de responsabilidad
* La inversión en criptomonedas implica riesgos significativos. Proceda con precaución. El curso no pretende ser un asesoramiento de inversión.
* El curso ha sido creado por el autor que se ha unido a Gate Learn. Cualquier opinión compartida por el autor no representa a Gate Learn.