Lección 3

Redes de Prueba: Conectando Coprocesadores a Cadenas de bloques

Este módulo explica cómo las redes de prueba actúan como middleware que conecta coprocesadores ZK con contratos inteligentes a través de cadenas de bloques. Cubre los roles de demostradores, verificadores, retransmisores y coordinadores, y explora implementaciones del mundo real como Succinct, ZeroGravity y Lagrange.

¿Qué es una red de prueba?

Una red de prueba es una capa de infraestructura fuera de la cadena que coordina la generación, verificación y entrega de pruebas de conocimiento cero a través de aplicaciones de cadena de bloques. Sirve como el tejido conectivo entre los coprocesadores ZK y la capa de cadena de bloques, asegurando que las pruebas generadas fuera de la cadena puedan validarse de manera eficiente en la cadena de bloques de manera escalable y descentralizada.

Los coprocessadores ZK son capaces de producir pruebas criptográficas para cálculos arbitrarios. Sin embargo, estos sistemas necesitan una forma de enrutar las pruebas a los entornos en cadena correctos, gestionar las dependencias de datos y garantizar que las pruebas se generen a tiempo y con integridad. Las redes de prueba abordan estas necesidades actuando como capas descentralizadas o semi-descentralizadas que gestionan los proveedores, verificadores y componentes de orquestación relacionados.

En lugar de que cada contrato inteligente, rollup o aplicación configure su propia infraestructura de probadores aislada, las redes de prueba permiten que múltiples entidades accedan a un ecosistema compartido de probadores. Esto reduce la duplicación, baja costos y crea un ecosistema más modular y componible para aplicaciones de conocimiento cero.

Cómo conectan coprocesadores y contratos inteligentes

El papel de una red de prueba es tomar una prueba generada por un coprocesador ZK y entregarla a un verificador en la cadena en un formato que pueda ser consumido por contratos inteligentes. Este proceso implica varios pasos, a menudo abstractos para el usuario final.

Primero, el usuario o contrato envía una solicitud a un coprocesador ZK a través de un frontend o API. El coprocesador ejecuta la lógica requerida y genera una prueba. En lugar de publicar la prueba directamente en la cadena, se envía a un coordinador de red de pruebas, que asegura que la prueba sea válida, esté asociada con el cálculo correcto y no esté duplicada.

Una vez validada, la red de pruebas publica la prueba en la cadena de bloques o la devuelve al usuario o relayer, quien luego la incluye en una transacción. El contrato inteligente recibe la prueba y la verifica utilizando una clave de verificación precargada. Si la verificación es exitosa, el contrato continúa su lógica basada en el resultado confiable.

Esta arquitectura hace que la infraestructura ZK sea escalable y composable. En lugar de codificar circuitos específicos o sistemas de prueba en cada contrato inteligente, los desarrolladores pueden confiar en una red de pruebas para que sirva como la capa de middleware, conectando la computación fuera de la cadena con las transiciones de estado en la cadena.

Partes clave: expertos, verificadores, retransmisores, coordinadores

Una red de prueba típica incluye varios roles funcionales. Los probadores son responsables de generar las pruebas criptográficas. Ellos ejecutan la computación definida por la aplicación y utilizan bibliotecas criptográficas para crear una prueba de que la computación se realizó correctamente. Los probadores pueden ser nodos especializados, trabajadores de GPU o entornos de ejecución confiables, dependiendo del diseño de la red.

Los verificadores son contratos inteligentes en la cadena de bloques que verifican la validez de las pruebas presentadas. Son ligeros, deterministas y seguros. Una vez que una prueba pasa la verificación, la computación asociada se acepta como válida por la cadena de bloques.

Los relays son actores fuera de la cadena que manejan la comunicación entre la infraestructura del probador y la cadena de bloques. Presentan pruebas al contrato apropiado, incluyen los metadatos necesarios y aseguran la entrega oportuna. En algunas redes, los relays son opcionales; en otras, son participantes incentivados.

Los coordinadores gestionan la coincidencia de solicitudes con los proveedores. Reciben consultas de usuarios o solicitudes de computación y las asignan a proveedores disponibles. Los coordinadores también pueden agregar resultados, eliminar duplicados de computaciones idénticas y proporcionar garantías de disponibilidad. En redes descentralizadas, esta capa de coordinación se puede implementar a través de mecanismos de staking y slashing para garantizar la integridad.

La separación de estos roles permite una arquitectura flexible. Un solo actor puede desempeñar múltiples roles en redes más pequeñas, o los roles pueden dividirse entre muchos participantes en un sistema más grande. Esta modularidad es clave para escalar los sistemas de prueba a través de diferentes cadenas de bloques y casos de uso.

Ejemplos del mundo real: Succinct, ZeroGravity, Lagrange

Varios proyectos están construyendo redes de prueba en entornos de producción. La Red de Proveedores de Succinct permite a los desarrolladores generar pruebas ZK bajo demanda y enviarlas a cualquier cadena compatible con EVM. Soporta la prueba descentralizada y tiene como objetivo hacer que cualquier aplicación en la cadena sea verificable con pruebas concisas. Succinct también ha pilotado su infraestructura en World Chain, un experimento de rollup de Tools for Humanity.

ZeroGravity está construyendo una capa de prueba completamente descentralizada que soporta múltiples backends de prueba. Se centra en la interoperabilidad y tiene como objetivo conectar coprocesadores ZK con Ethereum, rollups y cadenas de bloques modulares como Celestia. Al abstraer la generación y verificación de pruebas, permite que las aplicaciones se conecten a una capa ZK unificada.

La Red Lagrange se especializa en la disponibilidad de datos verificables y consultas de estado. Permite a las aplicaciones solicitar respuestas respaldadas por pruebas a consultas entre cadenas, como verificar saldos de tokens o la propiedad de NFT en otras cadenas. Lagrange utiliza un enfoque modular, lo que permite a los desarrolladores elegir sistemas de prueba y fuentes de datos según las necesidades de su aplicación.

Cada una de estas redes aborda una capa diferente del problema. Algunas se centran en la computación, otras en el acceso a datos y otras en la infraestructura a nivel de protocolo. Juntas, están formando un ecosistema en el que la computación de conocimiento cero puede convertirse en una capa estandarizada y reutilizable en el diseño de la cadena de bloques.

Verificación nativa vs. modular

Existen dos modelos principales sobre cómo las redes de prueba interactúan con las cadenas de bloques: verificación nativa y verificación modular.

La verificación nativa significa que la cadena de bloques en sí, a menudo a nivel de protocolo, admite la verificación de pruebas de conocimiento cero. Este es el caso de Ethereum, que incluye contratos precompilados para verificar pruebas de Groth16 y PLONK. El soporte nativo garantiza una verificación más rápida y menores costos de gas, pero requiere estandarización y limita los tipos de pruebas que se pueden utilizar.

La verificación modular adopta un enfoque diferente. Trata las redes de prueba como servicios externos que pueden conectarse a cualquier cadena utilizando contratos o puentes. El contrato de verificación en cadena podría ser desplegado por la propia aplicación, y el formato de prueba se define fuera de la cadena. Este modelo es más flexible, permitiendo a los desarrolladores utilizar nuevos sistemas de prueba y lógica personalizada. Sin embargo, conlleva costos y complejidad más altos.

Elegir entre verificación nativa y modular depende de las necesidades de la aplicación. La verificación nativa es adecuada para aplicaciones de alto volumen con formatos de prueba predecibles. La verificación modular es mejor para investigaciones, lógica personalizada o sistemas en evolución rápida. Las redes de prueba están diseñadas cada vez más para soportar ambos modelos, proporcionando rutas de respaldo y capas de compatibilidad.

A medida que la tecnología ZK sigue evolucionando, las redes de prueba están surgiendo como la infraestructura clave para una computación escalable y sin confianza. Permiten a los desarrolladores construir sistemas potentes fuera de la cadena y conectarlos de manera segura a entornos de cadena de bloques. Al hacerlo, convierten las pruebas de conocimiento cero de un concepto criptográfico en una pila tecnológica lista para la producción.

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.