Crypto
Prueba de Cero Conocimiento (ZKP)
Definition
Una prueba de conocimiento cero (ZKP) es un método criptográfico que demuestra que una afirmación es verdadera sin revelar los datos secretos subyacentes.
¿Qué es la Prueba de Conocimiento Cero (ZKP)?
Una prueba de conocimiento cero (ZKP) es una forma en que una parte (el prover) puede convencer a otra parte (el verifier) de que una afirmación es verdadera, sin exponer la información privada que la hace verdadera. En otras palabras, el verificador solo aprende una cosa: la declaración es correcta.
Esto es especialmente útil en criptografía porque las blockchains están diseñadas para ser transparentes, sin embargo, muchas transacciones y aplicaciones del mundo real requieren privacidad, divulgación selectiva o confidencialidad.
¿Cómo Funciona la Prueba de Conocimiento Cero (ZKP)?
A un alto nivel, una ZKP convierte “confía en mí” en “verifícame.” El prover tiene un secreto (como una contraseña, un saldo de cuenta o una firma válida) y quiere probar que cumple con alguna condición (como “se me permite retirar” o “esta transacción sigue las reglas”) sin revelar el secreto en sí.
La mayoría de los sistemas ZKP se construyen en torno a tres garantías fundamentales:
1. Completitud: Si la afirmación es verdadera y el probador sigue el protocolo, el verificador aceptará la prueba. 2. Solidez: Si la afirmación es falsa, un probador tramposo no debería poder engañar consistentemente al verificador. 3. Cero conocimiento: La prueba no revela el secreto—solo la verdad de la afirmación.
Una forma simple y paso a paso de pensarlo en términos de criptografía se ve así:
1. Define la declaración: Por ejemplo, “Conozco una clave secreta que controla esta dirección,” o “esta transferencia no crea monedas de la nada.” 2. Codifica las reglas: La declaración se expresa como un conjunto de restricciones matemáticas (a menudo descritas como un “circuito” en sistemas ZK). 3.
Genera una prueba: El probador utiliza sus entradas privadas (el secreto) y las entradas públicas (lo que todos pueden ver) para calcular una prueba compacta. 4. Verifica la prueba: El verificador comprueba la prueba utilizando información pública. Si se verifica, el verificador está convencido de que se siguieron las reglas, sin aprender las entradas privadas.
Una analogía útil: imagina demostrar que tienes la edad suficiente para entrar a un lugar sin mostrar tu fecha de nacimiento. En lugar de entregar tu identificación (que revela detalles adicionales), presentas una prueba criptográfica de "sí/no" que demuestra que tu edad es al menos el umbral requerido. El portero solo se entera de que cumples con los requisitos, no de tu edad exacta o detalles de identidad.
En los sistemas de blockchain, las ZKP suelen aparecer en dos patrones amplios:
- Pruebas de privacidad: Ocultar detalles de la transacción (como montos o participantes) mientras se demuestra que la transacción es válida.
- Pruebas de validez: Demostrar que un lote de cálculos o transacciones se ejecutó correctamente, permitiendo que otros confíen en el resultado sin rehacer todo el trabajo.
Prueba de Conocimiento Cero (ZKP) en la Práctica
Las ZKP ya se utilizan en múltiples partes de la pila cripto.
- ZK rollups (escalado): Muchas redes de Capa 2 utilizan ZKPs para demostrar que grandes lotes de transacciones se procesaron correctamente fuera de la cadena, y luego publican una prueba sucinta en una blockchain de Capa 1. Esto reduce costos y aumenta el rendimiento mientras hereda la seguridad de la cadena base.
- Transacciones privadas y datos protegidos: Los protocolos enfocados en la privacidad utilizan ZKPs para mantener ocultos los detalles sensibles de las transacciones mientras siguen aplicando las reglas básicas (sin doble gasto, los saldos se suman, gasto autorizado, etc.).
- Identidad y cumplimiento con divulgación selectiva: Los ZKPs pueden soportar flujos de trabajo de “probar una propiedad, no los datos”, como demostrar que no estás en una lista de sanciones, o que tienes más de cierta edad, sin revelar tu identidad completa. Esta idea es cada vez más relevante para la identidad en cadena, el control de acceso y los casos de uso regulados.
- [Oráculos](internal:glossaryEntry:yS625NFNj2jCznNNnSYETH) y atestaciones de datos fuera de la cadena: Algunos diseños de oráculos utilizan técnicas criptográficas relacionadas con el conocimiento cero para probar que los datos provienen de una fuente específica o cumplen ciertas condiciones, mientras mantienen los datos subyacentes privados. Esto puede ser importante cuando los contratos inteligentes necesitan reaccionar a información propietaria o sensible.
Por qué importa la Prueba de Conocimiento Cero (ZKP)
Las pruebas de conocimiento cero son importantes porque ayudan a reconciliar una tensión central en la criptografía: verificabilidad pública vs. privacidad.Las blockchains son poderosas precisamente porque cualquiera puede verificar que se siguieron las reglas, pero esa misma transparencia puede exponer el comportamiento del usuario, las relaciones comerciales y datos financieros sensibles.
Las ZKPs ofrecen un camino intermedio práctico:
- Los usuariosse benefician de una mejor privacidad y una autenticación más segura (menos datos personales compartidos significa menos datos que filtrar).
- Los desarrolladorespueden construir aplicaciones que requieren confidencialidad, como votaciones privadas, posiciones privadas de DeFi o flujos de trabajo empresariales, sin renunciar a la verificabilidad.
- Las redes puede escalar de manera más eficiente cuando se utilizan ZKPs como pruebas de validez, porque una pequeña prueba puede representar una gran cantidad de computación.
Sin ZKPs, muchos sistemas deben elegir entre (a) revelar demasiada información para probar la corrección o (b) confiar en intermediarios de confianza y bases de datos privadas. Los ZKPs reducen esa compensación al hacer que la “privacidad sin confianza” y la “computación verificable” sean más alcanzables en infraestructura pública.
Frequently Asked Questions
¿Qué es una prueba de conocimiento cero (ZKP) en términos simples?
Una prueba de conocimiento cero te permite demostrar que algo es verdadero sin mostrar los detalles secretos que lo hacen verdadero. El verificador solo aprende que tu afirmación es válida, no los datos subyacentes.
¿Cómo funciona una prueba de conocimiento cero en una blockchain?
Un usuario genera una prueba criptográfica de que una transacción o cálculo sigue las reglas, luego la red verifica esa prueba utilizando información pública. La cadena puede aceptar el resultado sin ver entradas privadas como montos, identidades o pasos intermedios.
¿Cuáles son las tres propiedades de las pruebas de conocimiento cero?
Son completitud (se pueden probar declaraciones verdaderas), solidez (no se pueden probar declaraciones falsas por tramposos) y conocimiento cero (la prueba no revela información secreta más allá de la validez). Estas propiedades definen lo que hace que una prueba sea tanto confiable como privada.
¿Son las ZKP solo para privacidad?
No, las ZKP también se utilizan ampliamente para escalabilidad y eficiencia. Las pruebas de validez pueden confirmar que muchas transacciones se procesaron correctamente sin obligar a cada verificador a volver a ejecutar todos los cálculos.
¿Cuál es la diferencia entre conocimiento cero y cero confianza?
El conocimiento cero es una técnica criptográfica para probar declaraciones sin revelar secretos. Cero confianza es un modelo de seguridad que asume que ningún usuario o dispositivo debe ser confiable por defecto y requiere verificación continua; las ZKP pueden ser una herramienta utilizada dentro de un sistema de cero confianza.