Cómo compartir secretos sin revelarlos: Las pruebas de conocimiento cero
Un día de estos en casa de unos conocidos, tenían unos de esos rompecabezas de clavo torcido como este,
Soy bastante bueno con este tipo de rompecabezas, y por lo general, no me resultan muy complicados. En cuestión de segundos, ya lo había resuelto. Mi amiga, sorprendida, exclamó: "¿Cómo lo hiciste tan rápido? Yo aún no he podido resolverlo, ¿cómo lo lograste?". Sin perder un momento, le respondí: "¿Quieres que te explique cómo resolverlo o prefieres que simplemente demuestre que puedo hacerlo?".
En otras palabras, tengo dos caminos a elegir: puedo resolver el rompecabezas, lo que inevitablemente revelaría cómo hacerlo, quitándole el desafío a mi amiga, o puedo simplemente demostrar que es posible resolverlo sin mostrar el método. Optando por la segunda opción, ocultaría mis movimientos mientras lo resuelvo. Así, mi amiga podría ver que el rompecabezas se ha resuelto, pero no obtendría ninguna pista sobre cómo logré hacerlo. Si prefiero no divulgar ningún detalle, quien desee saber si es posible resolverlo solo necesita observar dos cosas: 1. Los clavos unidos al inicio, y 2. Los clavos separados al final. Nada más.
Este tipo de demostraciones se conocen como pruebas de cero conocimiento, o ZKP por sus siglas en inglés (Zero Knowledge Proof). Esto significa que es posible realizar demostraciones que verifiquen la validez de una afirmación sin necesidad de revelar ningún secreto.
Para ilustrar, volvamos al ejemplo del rompecabezas de clavos, pero esta vez como un método para verificar la membresía a un club. Imaginemos un club llamado "El club de la felicidad", cuyos miembros son capaces de resolver el rompecabezas. Cuando deciden reunirse y necesitan asegurarse de que solo ingresen miembros, contratan a alguien para que haga de verificador. Dado que es un club secreto, no podemos mostrar al verificador cómo se resuelve el rompecabezas. En otras palabras, no debemos revelar información sobre el método al verificador. Sin embargo, para determinar si alguien es miembro del club, al verificador solo le hace falta conocer los dos posibles estados del rompecabezas que mencioné antes.
Al llegar una persona que pertenece al club (demostrador), el verificador solo pide que se resuelva el rompecabezas,
El miembro del club, de manera oculta, resuelve el rompecabezas,
Una vez resuelto, se lo muestra al Verificador,
Así, el verificador puede determinar si la persona realmente pertenece al club. Si surgieran dudas, podría solicitar que se repita la acción de unir los clavos, aumentando su confianza en que el individuo es, de hecho, un miembro. Es clave destacar que el verificador no sabe, ni necesita saber, cómo se resuelve el rompecabezas; esta información permanece exclusiva del miembro del club.
Si alguien intentara observar a distancia para aprender cómo se resuelve el rompecabezas y así infiltrarse en el club sin autorización, no obtendría información útil, ya que el método de solución nunca se hace público, ni siquiera durante la demostración al verificador.
¿Por qué funciona esto? Para que un sistema de verificación que no revela información funcione es esencial:
- La honestidad y cumplimiento de las reglas por ambas partes; cualquier engaño invalida la autenticación.
- La solidez de la prueba; debe ser imposible demostrar algo falso. Por ejemplo, que no haya otra manera de separar los clavos.
- Que el verificador no adquiera nueva información durante el proceso de verificación.
El principio de ZKP es simple en concepto, una demostración sin revelar información, pero matemáticamente robusto, permitiendo desarrollar mecanismos sofisticados que se pueden aplicar en sistemas digitales para proteger información que debe permanecer privada, a la vez que se verifica su autenticidad. Es, en esencia, una forma de demostrar la realización de un acto sin revelar los detalles de cómo se llevó a cabo.
Uno de los métodos más avanzados de ZKP es conocido como ZK-SNARKs, un protocolo que facilita una verificación precisa sin necesidad de interacción directa entre el demostrador y el verificador. Aunque su explicación es compleja y escapa al alcance de esta columna, lo estoy considerando para una columna futura.
¿Aplicación en "Deepfakes"?
Los deepfakes son vídeos, audios o imágenes creados o alterados mediante inteligencia artificial, con la finalidad de imitar o recrear a una persona o situación real. Aunque esta tecnología tiene aplicaciones legítimas, como en el cine para reemplazar o rejuvenecer a actores, el verdadero problema surge cuando se usa para engañar o manipular a las personas. Por ejemplo, he aquí una ocasión en la que coloqué mi rostro en una foto de Hugh Jackman,
Lo hice en unos minutos sin mayor complicación, con alguna aplicación disponible en línea.
La estrategia de ZKP podría facilitar la autenticación de identidades, permitiendo verificar atributos personales únicos sin necesidad de exponer dicha información. Por ejemplo, en situaciones donde alguien recibe una llamada sospechosa de una voz que pretende ser un familiar, podrían realizarse preguntas específicas que sólo la persona real sería capaz de responder, sin revelar información sensible en el proceso.
Asimismo, ZKP ofrece la posibilidad de comparar patrones de comportamiento sin divulgar la información subyacente. Esta comparación se efectuaría de manera que, aun accediendo a datos personales para la verificación, dichos datos nunca se exponen directamente.
Además, ZKP se puede aplicar para confirmar la autenticidad de metadatos y certificados digitales que acompañan a videos e imágenes, garantizando que son originales y no han sido alterados. Esto incluye la verificación de la fuente de los datos, asegurándose de que no derivan de una creación artificial.
Otras aplicaciones
- ZKP se puede utilizar para garantizar votación segura. Imagina votar en unas elecciones sin tener que preocuparte por que tu voto se haga público o pueda ser manipulado. ZKP puede hacer esto posible, asegurando que tu voto sea contado sin revelar por quién votaste.
- Se podrían hacer verificaciones de identidad al acceder a servicios bancarios o cualquier sistema que requiera pruebas de identidad. ZKP permite demostrar que eres tú sin tener que mostrar tu ID o compartir datos personales sensibles.
- ZKP es útil en Blockchain y criptomonedas, pues ayuda a realizar transacciones de manera privada. Esto significa que puedes enviar o recibir dinero sin que los detalles de la transacción (como la cantidad o tu identidad) sean visibles para todos.
- ¿Necesitas acceder a un edificio o a datos en línea protegidos? Con ZKP, puedes probar que tienes derecho a acceder sin necesidad de revelar tu código de acceso o cualquier otra información privada, muy similar al ejemplo del rompecabezas que expuse.
- Las empresas pueden demostrar que cumplen con las regulaciones (como las financieras o de privacidad de datos) sin tener que exponer la información subyacente que podría ser sensible o confidencial.
- En los juegos donde la honestidad es clave, como el póker en línea, ZKP puede asegurar que los jugadores jueguen limpio sin necesidad de mostrar sus cartas a los demás.
- Al negociar activos digitales, como tokens o arte digital, ZKP permite a las partes implicadas verificar la autenticidad y la propiedad de estos activos sin revelar información adicional.
- Las instituciones financieras pueden demostrar que son solventes (es decir, que tienen suficiente dinero para cubrir sus obligaciones) sin revelar información detallada sobre sus activos o balances.
Comentario final
Las pruebas de conocimiento cero no sólo son extremadamente interesantes; también poseen un gran valor didáctico para la enseñanza de la criptografía, matemáticas y estadística. Este campo representa una área rica en oportunidades para la investigación y el desarrollo, especialmente en lugares como Costa Rica, donde abunda el talento y la capacidad. La naturaleza innovadora de ZKP ofrece un vasto terreno para que investigadores y estudiantes exploren nuevos horizontes y contribuyan al avance del conocimiento en estas disciplinas críticas.
Director Escuela de Sistemas Inteligentes
Universidad CENFOTEC





