Glosario de Pruebas de Conocimiento Cero (ZKP)

Términos Clave, Conceptos Fundamentales y Arquitecturas

1. Fundamentos y Propiedades

Prueba de Conocimiento Cero (ZKP)

Un protocolo criptográfico que permite a una parte (el "probador") demostrar a otra (el "verificador") la veracidad de una afirmación matemática sin revelar ninguna información subyacente más allá del hecho de que la afirmación es verdadera. Se cimienta en tres propiedades innegociables: completitud, solidez y cero conocimiento.

Los 3 Pilares de una ZKP
CompletitudUna prueba honesta siempre convencerá al verificador.
SolidezLa probabilidad de aceptar una afirmación falsa está acotada por el error de solidez.
Cero ConocimientoEl verificador no aprende nada sobre el secreto, solo que la afirmación es cierta.

Afirmación y entrada pública (Statement, x)

Información que el verificador recibe para especificar qué se demuestra: por ejemplo, un compromiso C o las raíces inicial y final de un estado. Las entradas públicas no quedan ocultas por usar una ZKP.

Testigo privado (Witness, w)

Datos que satisfacen una relación R(x,w)=1: una preimagen y su aleatoriedad, una credencial o la traza de ejecución de un circuito. El probador los utiliza para generar la prueba; el verificador no necesita recibirlos en claro.

Solidez de conocimiento (Knowledge soundness)

Garantía formal de que un probador capaz de producir pruebas aceptadas posee un testigo adecuado, expresada mediante un extractor. Es una exigencia adicional respecto de rechazar afirmaciones falsas.

Compromiso hash y apertura (Commit-reveal)

Un compromiso incorpora aleatoriedad privada para ocultar el valor antes de abrirlo y vincular al emisor con ese valor. La apertura entrega el valor y la aleatoriedad para verificar el compromiso. Por eso commit-reveal no es una ZKP, aunque sea útil como componente de otros protocolos.

Ocultación y vinculación (Hiding, binding)

Ocultación impide aprender el valor comprometido antes de su apertura. Vinculación impide abrir el mismo compromiso como dos valores diferentes. Dependen del esquema y sus supuestos; un hash de un mensaje predecible puede ser vulnerable a diccionario.

Error de solidez

Cota sobre la probabilidad de aceptación indebida bajo las reglas del protocolo. En la cueva ideal se reduce por repetición independiente. No equivale a una probabilidad posterior sobre la honestidad de una persona.

Prueba de validez frente a privacidad

Una prueba de validez certifica que las restricciones de un cálculo se cumplieron. Cero conocimiento protege el testigo respecto de la información pública. Un rollup puede utilizar pruebas de validez y publicar datos de transacciones; esas propiedades deben analizarse por separado.

Completitud

Garantiza la fiabilidad del sistema para afirmaciones verdaderas. Formalmente, si un probador actúa honestamente y posee el conocimiento que respalda su afirmación, el protocolo asegura que el verificador aceptará la prueba. En la analogía de la "Cueva de Alí Babá", el probador que conoce la palabra secreta siempre puede salir por el camino que el verificador le solicita.

Solidez (Soundness)

El pilar de seguridad que protege contra la falsificación. Dicta que si la afirmación es falsa, la probabilidad de engañar al verificador es probabilísticamente despreciable. En la cueva de Alí Babá, con desafíos binarios uniformes e independientes y una sesión de k rondas fijada de antemano, el error es (1/2)k. Esa fórmula no se aplica a cualquier sistema ZKP.

Cero Conocimiento

La propiedad de privacidad que asegura que la interacción no filtra información adicional sobre el secreto. El verificador aprende que el probador sabe algo, pero no aprende qué es ese algo.

NIZK (Non-Interactive Zero-Knowledge)

Una evolución que elimina la necesidad de un diálogo entre probador y verificador. El probador genera una única "prueba" que puede ser verificada por cualquiera, en cualquier momento. Es fundamental para sistemas asíncronos como las blockchains y los ZK-rollups.

Heurística de Fiat-Shamir

Una técnica que transforma un protocolo interactivo en uno no interactivo (NIZK) derivando los desafíos de un hash del contexto, la afirmación y el compromiso. Su seguridad exige las condiciones del protocolo y el modelo de oráculo aleatorio; no basta con agregar un hash arbitrario.

Argumento Sucinto (la "S" de SNARK)

Se refiere a que la prueba es muy pequeña en tamaño y extremadamente rápida de verificar. Esta brevedad es fundamental para la escalabilidad en blockchain, permitiendo que una L1 verifique rápidamente la integridad de un lote masivo de transacciones de una L2.

2. Sistemas y Primitivas Criptográficas

SNARK (Succinct Non-Interactive Argument of Knowledge)

Familia de sistemas ZK con pruebas muy pequeñas y verificación rápida (ej. Groth16, PLONK). Son la columna vertebral de muchos ZK-rollups, aunque a menudo requieren un "trusted setup".

STARK (Scalable Transparent ARguments of Knowledge)

Un sistema "transparente" que no requiere trusted setup. Son altamente escalables, resistentes a la computación cuántica, pero sus pruebas suelen ser de mayor tamaño.

PLONK / UltraPLONK

Una variante de SNARK con un setup "universal y actualizable", lo que significa que una única ceremonia inicial sirve para muchos programas diferentes, haciéndolo muy flexible.

Groth16

Un esquema SNARK con pruebas compactas y verificación eficiente basada en emparejamientos. Su desventaja es que requiere un trusted setup específico para cada circuito.

Bulletproofs

Pruebas de rango basadas en argumentos de producto interno, sin ceremonia de trusted setup. Su tamaño crece logarítmicamente con el rango; el costo de verificación también debe evaluarse.

Halo2

Biblioteca y arquitectura de circuitos cuyo setup depende del esquema de compromisos utilizado. Las variantes IPA pueden ser transparentes; las variantes KZG requieren parámetros adecuados. El nombre Halo2 no garantiza por sí solo ausencia de ceremonia.

R1CS / Arithmetización

El proceso de traducir un programa computacional en un sistema de ecuaciones algebraicas (restricciones) que una ZKP puede entender. Es un paso de compilación esencial para generar una prueba.

Trusted Setup

Una ceremonia criptográfica para generar parámetros públicos (CRS) necesarios para algunos SNARKs. La seguridad depende de que los datos secretos intermedios ("residuo tóxico") se destruyan. Alternativas como las ceremonias multipartitas (MPC) o esquemas transparentes (por ejemplo, STARKs o sistemas con compromisos IPA) mitigan este riesgo.

Compromiso (Commitment), Pruebas de Rango y Pertenencia

Primitivas criptográficas clave: Compromiso para "sellar" un valor; Pruebas de Rango para demostrar que un valor está en un intervalo sin revelarlo; y Pruebas de Pertenencia para demostrar que un elemento está en un conjunto sin revelar cuál es.

3. Componentes de un ZK-Rollup

L1 (Capa 1) y L2 (Capa 2)

La L1 (ej. Ethereum) es la capa de seguridad y consenso. La L2 es la capa de ejecución de alto rendimiento donde operan los ZK-rollups. La L2 hereda la seguridad de la L1.

Arquitectura de un ZK-Rollup
L2 (Capa de Ejecución)Recibe transacciones de usuarios, las ordena (Secuenciador) y ejecuta. Genera una prueba de validez (Prover).
L1 (Capa de Seguridad)Almacena el contrato Verificador, recibe las pruebas y los datos de L2, y finaliza el estado. Actúa como juez.

Secuenciador (Sequencer)

El componente de la L2 que recibe, ordena y empaqueta las transacciones en lotes. La descentralización de este rol es un objetivo clave para la resistencia a la censura.

Prover (Generador de pruebas)

Un servicio computacionalmente intensivo que toma un lote de transacciones y genera la ZK-proof correspondiente. Su costo se amortiza entre todas las transacciones del lote.

Verificador On-chain (Verifier)

Un contrato inteligente en la L1 diseñado para una tarea: verificar la validez de las pruebas ZK. Si es válida, actualiza la raíz de estado del rollup.

Disponibilidad de Datos (Data Availability, DA)

La garantía de que los datos para reconstruir el estado de la L2 están públicos. Hay dos modelos:

  • ZK-Rollup (DA on-chain): Los datos se publican en L1. Máxima seguridad y autocustodia.
  • Validium (DA off-chain): Los datos se mantienen fuera de L1. Más barato y escalable, pero con un supuesto de confianza adicional en un Comité (DAC).

Puente (Bridge) L1↔L2

El conjunto de contratos que gestiona el depósito y retiro seguro de activos entre la L1 y la L2. No se requiere el período de disputa propio de un optimistic rollup, pero los retiros dependen de la generación y publicación de pruebas, la inclusión y finalidad en L1, la disponibilidad de datos y las reglas del puente.

4. Flujo Operativo y Métricas

Lote (Batch)

Un conjunto de transacciones de L2 que se agrupan, ejecutan y prueban juntas. El procesamiento por lotes es la clave de la eficiencia de los rollups.

Finalidad (Finality) del Lote

La finalidad de una transición requiere la aceptación de su prueba, la inclusión en L1 y la finalidad de esa cadena. El tiempo hasta esa condición incluye espera del lote, generación y publicación de la prueba y las etapas de L1; no debe confundirse con una confirmación del secuenciador.

TPS Efectivo y Fee Amortizado

TPS (Transacciones por Segundo) es la medida del rendimiento. El Fee Amortizado es un costo medio del lote: costo total considerado dividido por número de transacciones. La comisión efectiva del usuario también puede incluir ejecución en L2, generación de pruebas, margen del operador y condiciones del mercado de datos.

Latencia vs. Throughput (Trade-off)

Un compromiso de diseño: lotes más grandes aumentan el throughput (TPS) y reducen el fee, pero pueden aumentar la latencia si la red tiene poco tráfico, ya que se debe esperar a que el lote se llene.

5. Diseño, Riesgos y Buenas Prácticas

Comparación con Optimistic Rollups

Los Optimistic Rollups asumen validez y usan "pruebas de fraude" con un período de disputa (retiros lentos). Los ZK-rollups usan pruebas de validez sin ese período de disputa; su liquidación y retiros dependen de pruebas, datos, contratos y finalidad en L1.

Rollups: Pruebas de Validez vs. Pruebas de Fraude
ZK-Rollups (Prueba de Validez)Proactivamente prueban que cada transición de estado es correcta. Rápidos y seguros por criptografía.
Optimistic Rollups (Prueba de Fraude)Asumen que las transiciones son correctas a menos que se demuestre lo contrario. Requieren un período de disputa (ej. 7 días).

Compatibilidad EVM / zkEVM

Un rollup que replica el entorno de ejecución de Ethereum (EVM) dentro de un circuito ZK, permitiendo portar dApps y herramientas de Ethereum a la L2 con mínimos cambios.

zk-ID / PoR / Anti-trampa

Aplicaciones avanzadas: zk-ID para probar atributos personales sin revelar datos; Proof of Reserves (PoR) para demostrar reservas bajo un alcance definido; afirmar solvencia exige además considerar pasivos, integridad de los datos y otros supuestos; y sistemas Anti-trampa en juegos para verificar acciones sin revelar la lógica interna.

Riesgo de Setup / Upgrades

En SNARKs con trusted setup, un fallo en la ceremonia inicial podría comprometer la seguridad. Además, las actualizaciones de los contratos deben ser manejadas con extrema cautela a través de una gobernanza robusta.

Disponibilidad de Datos (Riesgo Clave)

El principal riesgo de los sistemas Validium. Si el comité encargado de los datos se vuelve malicioso o falla, los usuarios podrían ser incapaces de acceder a sus fondos.

Auditoría y Monitoreo

Debido a su complejidad, todos los componentes de un sistema ZK deben ser sometidos a rigurosas auditorías y monitoreo continuo para proteger el sistema contra posibles ataques.

6. Herramientas y Stack (Referencia Rápida)

Lenguajes de Circuitos

Lenguajes especializados como Circom, Noir, o Cairo que permiten escribir la lógica computacional a probar y compilarla al formato que los sistemas ZKP entienden.

Librerías/Frameworks

Bibliotecas como snarkjs y los SDKs de plataformas como zkSync, Polygon zkEVM y Starknet, que facilitan la construcción de aplicaciones sobre estas L2.

Hashes ZK-Friendly

Funciones de hash como Poseidon o Rescue, diseñadas para ser representadas de manera muy eficiente dentro de un circuito ZK, minimizando el costo de generar una prueba.