Descripción general
Una prueba de conocimiento cero (ZKP, por sus siglas en inglés) es un protocolo criptográfico en el que un probador puede convencer a un verificador de que un enunciado es verdadero sin revelar ninguna información más allá de la verdad del enunciado mismo. En el contexto de Bitcoin, las ZKPs ofrecen mejoras potenciales en privacidad, escalabilidad y verificación entre cadenas, aunque su integración en la capa de consenso de Bitcoin sigue siendo un área de investigación activa.
El concepto central
Una prueba de conocimiento cero debe satisfacer tres propiedades:
- Completitud: Si el enunciado es verdadero, un probador honesto siempre puede convencer al verificador.
- Solidez: Si el enunciado es falso, ningún probador deshonesto puede convencer al verificador (excepto con probabilidad insignificante).
- Conocimiento cero: El verificador no aprende nada más allá del hecho de que el enunciado es verdadero.
Analogía clásica: La cueva de Alí Babá
Entrada
|
┌────┴────┐
| |
Camino A Camino B
| |
└────┬────┘
Puerta
cerrada
(contraseña
secreta)
1. El probador entra a la cueva y elige un camino (desconocido para el verificador)
2. El verificador llega y grita desde qué camino debe regresar
3. El probador regresa desde el camino solicitado
- Si conoce la contraseña: siempre tiene éxito (puede pasar por la puerta)
- Si no: 50% de probabilidad de fallo en cada ronda
4. Después de muchas rondas: el verificador está convencido, pero nunca aprende la contraseña
Aplicaciones en Bitcoin
Privacidad
Las ZKPs podrían permitir a los usuarios demostrar que una transacción es válida (entradas >= salidas, sin inflación) sin revelar los montos, el emisor o el receptor. Esto mejoraría dramáticamente la privacidad de Bitcoin sin romper sus garantías de auditabilidad.
Escalabilidad
- Pruebas de validez para cadenas laterales: Una cadena lateral podría enviar una prueba de conocimiento cero a la cadena principal de Bitcoin demostrando que todas las transiciones de estado de la cadena lateral fueron válidas, permitiendo anclajes bidireccionales sin confianza.
- Pruebas del estado de la cadena: Las ZKPs podrían permitir a los nuevos nodos verificar el conjunto UTXO completo de Bitcoin sin descargar y reproducir el historial completo de la blockchain (a veces llamados "ZK rollups" o "rollups de validez").
Firmas digitales
Las firmas Schnorr existentes de Bitcoin son en realidad una forma de prueba de conocimiento cero — demuestran el conocimiento de una clave privada sin revelarla.
Tipos de ZKP relevantes para Bitcoin
- zk-SNARKs: Tamaño de prueba pequeño y verificación rápida, pero típicamente requieren una configuración de confianza.
- zk-STARKs: No requieren configuración de confianza, resistentes a la computación cuántica, pero con tamaños de prueba más grandes.
- Bulletproofs: Usados para pruebas de rango en transacciones confidenciales; sin configuración de confianza.
Estado actual en Bitcoin
Las pruebas de conocimiento cero aún no forman parte de las reglas de consenso de Bitcoin, pero hay una investigación significativa en curso. Proyectos como ZeroSync están explorando las pruebas ZK para la verificación del estado de la cadena de Bitcoin. Cualquier integración en la capa de consenso de Bitcoin requeriría una revisión cuidadosa y un soft fork para activar nuevos opcodes de verificación.
Conceptos erróneos comunes
Las pruebas de conocimiento cero no tratan sobre el "conocimiento cero" en un sentido general — el verificador aún aprende que el enunciado es verdadero. El "conocimiento cero" se refiere específicamente al hecho de que no se revela ninguna información sobre los datos subyacentes de la prueba (el "testigo") más allá de la validez del enunciado mismo.