¿Qué es Zero Knowledge Proof (ZKP)?
Zero Knowledge Proof (ZKP) es una forma de demostrar que algo es cierto sin revelar lo que hay detrás. Piensa en mostrar que conoces una contraseña sin escribirla, o en confirmar que tienes más de 21 años sin mostrar tu fecha de nacimiento. Parece magia, con bases matemáticas.
Los ZKP ocultan todo, por lo que sirven para comportamientos sigilosos. No exactamente. Un ZKP demuestra una afirmación concreta que defines, y el verificador aún puede comprobarla rigurosamente sin ver tus secretos.
Cómo funciona Zero Knowledge Proof (ZKP)
Breve recorrido con un ejemplo sencillo. Quieres demostrar que tienes fondos suficientes para una operación sin revelar tu saldo.
- Paso 1: Eliges una afirmación como «mi saldo es al menos X» y comprometes tus datos ocultos usando aleatoriedad.
- Paso 2: Creas una prueba a partir de esos datos ocultos más información pública, diseñada para que las matemáticas cuadren.
- Paso 3: Envías la prueba a un verificador, no el secreto.
- Paso 4: El verificador ejecuta una comprobación que acepta o rechaza. Sin mirar tu saldo.
- Paso 5: Si se acepta, cualquiera puede volver a verificar esa misma prueba más tarde sin contactarte de nuevo.
Internamente se apoya en criptografía seria. Sí, las matemáticas guardan las pruebas.
Por qué Zero Knowledge Proof (ZKP) importa
Entonces, ¿por qué debería interesarte? Tres razones breves.
- Beneficio: Demuestra lo necesario y guarda el resto para ti. Menos filtraciones, menos riesgo.
- Perspectiva: Las aplicaciones que minimizan datos resultan modernas, como Rolex con hilos de Reddit. Comparte solo lo necesario.
- Relevancia: Verás ZK en rollups, transferencias privadas y verificaciones de identidad en cualquier cadena de bloques seria.
Cuando oigas que esta app usa ZK, pregunta dos cosas: qué se está demostrando exactamente y si fue necesaria una configuración de confianza. Además, si te importa el control de datos, ZK funciona bien con buenas prácticas de privacidad fuera de la prueba.
Características clave de Zero Knowledge Proof (ZKP)
Qué lo hace especial, en palabras sencillas.
- Privado: Los verificadores saben que la afirmación es verdadera sin conocer tu secreto.
- Conciso: Las pruebas pueden ser pequeñas y rápidas de verificar, incluso en cadena.
- Rápido: La verificación requiere menos recursos que recalcular todo el proceso.
- Componible: Puedes encadenar pruebas o agrupar varias comprobaciones en una sola.
- Escalable: Esto ayuda a la escalabilidad al mover el trabajo pesado fuera de los verificadores mientras se mantiene la corrección.
Variantes
Diferentes variantes se adaptan a diferentes tareas.
- SNARKs: Pruebas cortas, verificación rápida, suelen requerir una configuración de confianza.
- STARKs: Sin configuración de confianza, pruebas más grandes, aptas para investigación poscuántica.
- Bulletproofs: Ideales para comprobaciones de rango, comunes en cantidades privadas.
- Sigma: Estilo interactivo clásico, enseñado en muchos cursos.
Un ZKP no asegura tu aplicación por sí solo. Si tu afirmación es demasiado débil o tu configuración es descuidada, la prueba puede ser correcta pero poco útil. Diseña la afirmación con cuidado.
Ejemplo
Una ciudad organiza una votación donde los votantes demuestran que son elegibles y que no han votado aún, mientras sus identidades permanecen ocultas del recuento público.
Dato curioso
El truco clásico para explicar ZK usa dos bolas del mismo color y una prueba a ciegas para mostrar que puedes diferenciarlas sin revelar cuál es cuál. Parece de frikis, pero funciona.
Resumen
En una línea, Zero Knowledge Proof (ZKP) es prueba sin exceso de información, así que puedes decir «puedo probarlo sin mostrarlo».
