Skip to main content

Qué es ZK (zero-knowledge)

Nota: Este documento es una traducción automática del original en inglés.

Qué es ZK (zero-knowledge)

Las pruebas de conocimiento cero (pruebas ZK) son una técnica criptográfica que permite a una parte (el probador) convencer a otra parte (el verificador) de que una afirmación es verdadera — sin revelar ninguna información más allá de la veracidad de la afirmación misma. En blockchain, las pruebas ZK se usan para tres propósitos principales: privacidad (ocultar los detalles de una transacción mientras se demuestra que es válida), escalado (comprimir muchas transacciones en una única prueba que se verifica on-chain) y cómputo verificable (demostrar que un cómputo off-chain se realizó correctamente).

En resumen: las pruebas ZK te permiten demostrar que algo es verdadero sin mostrar cómo ni por qué. En cripto, habilitan transacciones privadas, rollups escalables e inferencia de IA verificable — todo ello sin requerir confianza en el probador.

La idea central

El concepto es contraintuitivo: ¿cómo puedes demostrar que sabes algo sin revelarlo? Una analogía clásica ayuda.

Imagina una cueva con dos caminos (izquierda y derecha) que se encuentran en una puerta cerrada al fondo. Afirmas conocer la contraseña de la puerta. Para demostrarlo sin revelar la contraseña, un verificador se sitúa a la entrada de la cueva, y tú entras por un camino aleatorio. El verificador entonces grita por qué lado quiere que salgas. Si conoces la contraseña, siempre puedes salir por el lado solicitado — atraviesas la puerta si es necesario. Si no conoces la contraseña, solo puedes salir por el lado por el que entraste. Tras muchas rondas, el verificador queda convencido de que conoces la contraseña, pero nunca llega a saber cuál es.

Las pruebas ZK formalizan matemáticamente esta intuición. Satisfacen tres propiedades:

  • Completitud. Si la afirmación es verdadera y ambas partes siguen el protocolo, el verificador quedará convencido.
  • Solidez (soundness). Si la afirmación es falsa, ningún probador tramposo puede convencer al verificador (excepto con probabilidad insignificante).
  • Conocimiento cero. El verificador no aprende nada más allá del hecho de que la afirmación es verdadera.

Cómo funcionan las pruebas ZK (simplificado)

Un sistema de pruebas ZK implica estos pasos:

  1. Formulación de la afirmación. La afirmación a demostrar se expresa como una declaración matemática — normalmente como un circuito (una serie de operaciones aritméticas) o un conjunto de ecuaciones polinómicas.
  2. Testigo (witness). El probador tiene información privada (el "testigo") que hace verdadera la afirmación. Por ejemplo, el testigo podría ser las entradas de un cómputo que produce una salida conocida.
  3. Generación de la prueba. El probador usa el testigo y la afirmación para generar una prueba — un objeto matemático compacto. Esto es computacionalmente caro para el probador.
  4. Verificación de la prueba. El verificador comprueba la prueba contra la afirmación. La verificación es rápida y no requiere el testigo. Si la prueba es válida, el verificador queda convencido de que la afirmación es verdadera sin aprender el testigo.

La prueba es normalmente mucho más pequeña que el testigo, y la verificación es mucho más barata que volver a ejecutar el cómputo. Esta asimetría es lo que hace útiles a las pruebas ZK para el escalado y la verificación de blockchain.

zk-SNARKs y zk-STARKs

Dos familias principales de sistemas de pruebas ZK dominan el espacio blockchain:

zk-SNARKs

Succinct Non-interactive Arguments of Knowledge. Los SNARKs producen pruebas muy pequeñas (unos pocos cientos de bytes) que son baratas de verificar. Son "no interactivos" — el probador genera la prueba en un solo paso sin ida y vuelta con el verificador. La mayoría de las construcciones de SNARK requieren una configuración de confianza (trusted setup) — una ceremonia única que genera parámetros públicos. Si la configuración se ve comprometida, la garantía de solidez se rompe. Los SNARKs modernos (como PLONK y sus variantes) usan una configuración de confianza universal que funciona para cualquier circuito, reduciendo pero no eliminando esta preocupación.

zk-STARKs

Scalable Transparent Arguments of Knowledge. Los STARKs no requieren una configuración de confianza — son "transparentes". También ofrecen seguridad poscuántica (resistente a ataques de computadoras cuánticas). La compensación es que las pruebas STARK son más grandes que las pruebas SNARK y la verificación es algo más cara. Los STARKs son particularmente adecuados para cómputos grandes porque su tiempo de probador escala de forma casi lineal con el tamaño del cómputo.

Comparación

Propiedad zk-SNARKs zk-STARKs
Tamaño de la prueba Pequeño (cientos de bytes) Mayor (de decenas a cientos de kilobytes)
Costo de verificación Bajo Moderado
Configuración de confianza Requerida (la mayoría de las construcciones) No requerida (transparente)
Seguridad poscuántica No (la mayoría de las construcciones) Sí
Costo del probador Moderado Mayor, pero escala mejor para circuitos grandes

En la práctica, muchos proyectos usan sistemas basados en SNARK por sus pequeños tamaños de prueba y bajos costos de verificación, mientras que los STARKs están ganando adopción donde la transparencia y la seguridad poscuántica son prioridades.

ZK en blockchain: aplicaciones principales

Privacidad

Las pruebas ZK habilitan transacciones privadas en blockchains públicas. Un usuario puede demostrar que su transacción es válida (saldos correctos, sin doble gasto) sin revelar el remitente, el destinatario o el monto. Los protocolos centrados en la privacidad usan esto para crear transferencias confidenciales en cadenas que de otro modo son transparentes.

Escalado (zk-rollups)

Los zk-rollups son soluciones de escalado de Layer 2 que ejecutan transacciones off-chain, las agrupan y generan una prueba ZK de que todo el lote se procesó correctamente. Solo la prueba y un resumen de los cambios de estado se publican en la capa base (Layer 1). El contrato inteligente de L1 verifica la prueba y acepta la actualización de estado. Esto comprime miles de transacciones en una única verificación de prueba, aumentando drásticamente el rendimiento mientras hereda la seguridad de la capa base. Las principales implementaciones de zk-rollup incluyen zkSync, StarkNet, Polygon zkEVM, Scroll y Linea.

Para más información sobre el escalado de Layer 2, consulta L2.

Cómputo verificable y zkML

Las pruebas ZK pueden verificar que cualquier cómputo se realizó correctamente. Esto se extiende a la IA: zkML usa pruebas ZK para verificar que un modelo de aprendizaje automático produjo una salida específica a partir de una entrada específica, sin revelar los pesos del modelo ni los datos de entrada. Un contrato inteligente puede verificar la prueba on-chain, creando una garantía trustless de que la inferencia de IA se computó correctamente.

zkML representa una de las aplicaciones técnicamente más ambiciosas de ZK en la IA cripto. Proporciona una garantía matemática (trustless) de inferencia correcta pero actualmente está limitada a modelos pequeños debido al costo computacional de la generación de pruebas.

Por qué importa ZK para la IA cripto

Las pruebas ZK abordan dos necesidades críticas en la IA descentralizada:

  • IA verificable. Cuando la inferencia de IA se ejecuta en hardware de terceros no confiable, las pruebas ZK pueden garantizar que el resultado es correcto sin volver a ejecutar el cómputo. Esto es esencial para las aplicaciones on-chain donde las salidas de IA desencadenan acciones de contratos inteligentes.
  • Privacidad. Las pruebas ZK habilitan cómputos de IA donde el modelo, la entrada o ambos permanecen privados. Un usuario puede obtener un resultado generado por IA sin que el proveedor de cómputo vea la consulta, y un propietario de modelo puede demostrar que se usó su modelo sin revelar los pesos.

En el marco de evaluación de DecAIHub, la verificación basada en ZK sirve como indicador de una integración genuina de IA on-chain — crea un vínculo matemáticamente verificable entre el cómputo de IA off-chain y el estado on-chain.

Dónde aparece en las fichas de proyecto de DecAIHub

Las características relacionadas con ZK surgen en varios lugares:

  • AI component — valores como "inferencia zkML", "cómputo verificado con ZK" o "prueba de conocimiento cero de inferencia" indican una verificación de IA basada en ZK.
  • Category — los proyectos que usan ZK para IA pueden aparecer en las categorías AI/Inference o AI/Compute con ZK como mecanismo de verificación.
  • Tabla de evidencia — la evidencia Tier-1 para ZK incluye contratos verificadores desplegados, benchmarks de pruebas publicados, implementaciones de circuitos y transacciones de verificación on-chain.
  • Artefactos on-chain — los contratos verificadores de ZK on-chain son evidencia concreta de una integración real de ZK, contribuyendo a la dimensión de Onchain necessity.

Lo que ZK no demuestra

  • ZK demuestra que un cómputo se ejecutó correctamente — no demuestra que el cómputo sea útil, que el modelo sea bueno o que los datos sean precisos. La basura verificada sigue siendo basura.
  • ZK no demuestra que un token sea necesario. Las pruebas ZK funcionan sin una blockchain; la decisión de poner la verificación on-chain es una elección arquitectónica.
  • ZK no demuestra descentralización. Un proveedor centralizado puede generar pruebas ZK para sus propios cómputos.
  • ZK no demuestra que el modelo sea el que se afirma, a menos que el compromiso del modelo (un hash de los pesos) esté públicamente anclado y la prueba esté ligada a ese compromiso.
  • Que un proyecto mencione ZK en su whitepaper no significa que ZK esté implementado. Busca contratos verificadores desplegados, benchmarks de pruebas y código de circuitos como evidencia.

No confundir con

  • Privacidad — la privacidad es el objetivo más amplio. ZK es una herramienta para lograrlo. Otros mecanismos de privacidad incluyen TEE, MPC y el cifrado homomórfico.
  • TEE (Trusted Execution Environment) — el TEE proporciona confidencialidad basada en hardware. ZK proporciona pruebas matemáticas. Ambos pueden usarse para la IA verificable, con diferentes supuestos de confianza y compensaciones de rendimiento.
  • zkML — la aplicación específica de las pruebas ZK a la inferencia de aprendizaje automático. ZK es la técnica criptográfica general; zkML es el caso de uso especializado.
  • Cifrado — el cifrado oculta datos. Las pruebas ZK demuestran afirmaciones sobre los datos sin revelarlos. Son operaciones diferentes: el cifrado transforma los datos en una forma ilegible, mientras que las pruebas ZK generan evidencia matemática sobre los datos sin exponerlos.
  • Verificación optimista — asume que los resultados son correctos y usa pruebas de fraude solo cuando se impugnan. ZK demuestra proactivamente la corrección por adelantado. Estos son enfoques complementarios usados en diferentes diseños de L2 (rollups optimistas frente a zk-rollups).

Preguntas frecuentes

¿Cuál es la diferencia entre zk-SNARKs y zk-STARKs?

Ambas son familias de sistemas de pruebas de conocimiento cero, pero difieren en propiedades clave. Los zk-SNARKs producen pruebas más pequeñas y tienen costos de verificación más bajos, pero normalmente requieren una configuración de confianza — una ceremonia única para generar los parámetros del sistema. Los zk-STARKs no requieren una configuración de confianza (son transparentes) y ofrecen seguridad poscuántica, pero sus pruebas son más grandes y más caras de verificar. La elección depende de la aplicación: los SNARKs se prefieren cuando el tamaño de la prueba y el costo de verificación son críticos (p. ej., la verificación on-chain), mientras que los STARKs se prefieren cuando la transparencia y la seguridad a largo plazo son prioridades.

¿Cómo se usan las pruebas ZK para el escalado de blockchain?

Los zk-rollups ejecutan transacciones off-chain en lotes, y luego generan una única prueba ZK de que todo el lote se procesó correctamente. Esta prueba se envía a la blockchain de Layer 1 junto con un resumen comprimido de los cambios de estado. El contrato inteligente de L1 verifica la prueba — lo que es mucho más barato que volver a ejecutar todas las transacciones — y acepta la actualización de estado. Esto permite que la L1 procese el efecto de miles de transacciones verificando una sola prueba, aumentando drásticamente el rendimiento.

¿Cuál es la conexión entre ZK e IA?

Las pruebas ZK pueden verificar que la inferencia de un modelo de IA se realizó correctamente sin revelar el modelo ni los datos de entrada. Esta aplicación, llamada zkML, habilita la verificación de IA trustless on-chain: un contrato inteligente puede confirmar que un modelo específico produjo una salida específica. Actualmente, zkML es práctico solo para modelos pequeños debido al costo computacional de convertir las operaciones del modelo en circuitos ZK y generar pruebas. A medida que los sistemas de pruebas mejoren, el rango de modelos de IA verificables se expandirá.

¿Son las pruebas ZK computacionalmente caras?

La generación de pruebas es cara — significativamente más que el cómputo subyacente. Generar una prueba ZK para un cómputo puede tardar de diez a mil veces más que simplemente ejecutar el cómputo. Sin embargo, la verificación de la prueba es barata y rápida. Esta asimetría es por diseño: el probador hace el trabajo pesado una vez, y cualquier número de verificadores puede comprobar el resultado de forma eficiente. Para las aplicaciones blockchain, esto significa que la costosa generación de pruebas ocurre off-chain mientras que la barata verificación ocurre on-chain.

Referencias externas

Véase también