Glosario

Prueba de Conocimiento Cero (ZKP)

17/4/2026

Una prueba de conocimiento cero (ZKP) es un protocolo criptográfico en el cual una parte (el probador) convence a otra (el verificador) de que una declaración es verdadera, sin revelar ninguna información adicional más allá del hecho de que es verdadera. Las pruebas de conocimiento cero fueron introducidas por Shafi Goldwasser, Silvio Micali y Charles Rackoff en su artículo de 1985 "La Complejidad del Conocimiento de los Sistemas de Prueba Interactivos" — un resultado que ganó el Premio Gödel (1993) y contribuyó al Premio Turing de Goldwasser y Micali (2012).

Las tres propiedades

Todo sistema de prueba de conocimiento cero satisface:

  • Completitud — si la declaración es verdadera, un probador honesto puede convencer a un verificador honesto
  • Solidez — si la declaración es falsa, ningún probador tramposo puede convencer al verificador (excepto con una probabilidad insignificante)
  • Conocimiento cero — el verificador no aprende nada más allá de la verdad de la declaración; no se filtra información sobre por qué la declaración es verdadera

La intuición canónica: demostrar que conoces una contraseña sin revelar la contraseña.

Sistemas de prueba modernos

  • zk-SNARK (Argumento de Conocimiento No Interactivo Sucinto) — pruebas muy pequeñas (cientos de bytes), verificación en tiempo constante. Las construcciones clásicas (Groth16, PGHR13) requieren una configuración confiable específica del circuito; PLONK y Marlin usan una configuración actualizable universal; Halo 2 (desarrollado por Electric Coin Company para Zcash) utiliza un compromiso polinómico sin configuración confiable.
  • zk-STARK (Argumento de Conocimiento Transparente y Escalable) — introducido por Ben-Sasson et al. (2018). Transparente (sin configuración confiable), se basan solo en funciones hash y son plausiblemente seguros post-cuánticos. Las pruebas son más grandes (decenas a cientos de KB). Usado por StarkWare en Starknet y StarkEx.
  • Bulletproofs — pruebas de rango cortas sin configuración confiable. Usado por Monero para cantidades confidenciales desde 2018.
  • Nova / HyperNova, Plonky2 / Plonky3 — sistemas modernos de esquema de plegado y SNARK recursivos, optimizados para computación incremental.

Usos en criptomonedas

Privacidad

  • Zcash — transacciones protegidas usando zk-SNARKs (Groth16 → Halo 2)
  • Aztec Network, Aleo, Namada — contratos inteligentes enfocados en la privacidad
  • Monero — Bulletproofs para pruebas de rango
  • Tornado Cash — mezcla zk-SNARK (sanciones del Tesoro de EE.UU. parcialmente revocadas por el 5º Circuito en 2024)

Escalabilidad — ZK-rollups

  • zkSync Era, Starknet, Polygon zkEVM, Scroll, Linea — comprimen miles de transacciones L2 en una sola prueba de validez publicada en Ethereum. Estos rollups usan ZK para sucintez, no para ocultar datos.

Identidad y credenciales

  • Worldcoin — prueba de identidad a partir de escaneos de iris sin revelar el escaneo en sí
  • zk-email — demostración de recibos de correo electrónico sin revelar el contenido del correo
  • Polygon ID, Semaphore — identidad en cadena sin historial de billetera vinculable

Computación verificable

  • zkML (EZKL, Modulus Labs) — demostración de que un modelo de IA se ejecutó correctamente en entradas específicas
  • Coprocesadores en cadena (Axiom, Herodotus) — demostración de resultados de computación fuera de cadena

Concepto erróneo común — "ZK" ≠ "privado"

Un zk-rollup anuncia "ZK" en su nombre pero típicamente no proporciona privacidad al usuario. La propiedad de conocimiento cero aquí se usa para sucintez — una pequeña prueba atestigua muchas transacciones — no para ocultar datos. Todas las transacciones permanecen públicas en el rollup. Para la privacidad del usuario, se requiere un diseño adicional (Aztec, Aleo).

Ver también