Criptografía y privacidad: explorando el mundo de las pruebas de conocimiento cero

Agustin Garassino
Eryx
Published in
6 min readNov 24, 2023

En Eryx uno de los campos que nos apasiona es la criptografía. En este rubro se entremezclan la matemática, las ciencias de la computación y la seguridad informática, áreas en las que somos especialistas.

En este post nos centraremos en una tecnología llamada “Pruebas de conocimiento cero”: uno de los avances más recientes de la criptografía moderna, destacando su importancia en aplicaciones como transacciones en blockchain, autenticación digital y sistemas de votación segura.

Las Pruebas de Conocimiento Cero (ZKP por sus siglas en inglés) son una técnica criptográfica que permite a una parte probar a otra la posesión de un conocimiento sin revelar ese conocimiento en sí, garantizando la privacidad y seguridad de los datos más sensibles. Es decir, estas pruebas permiten demostrar que se posee un cierto conocimiento sin revelar nada más allá de la validez de esa afirmación.

Se basan en tres principios fundamentales:

  • Completitud: si la afirmación que se quiere probar es verdadera, un verificador honesto quedará convencido.
  • Fiabilidad (o soundness): si la afirmación es falsa, el verificador rechazará la prueba.
  • Conocimiento cero: el verificador no aprende nada aparte de la veracidad de la afirmación.

Estos principios ayudan, como dijimos, a garantizar transacciones seguras y privadas en plataformas digitales como la blockchain entre otras cosas.

Buscando a Wally

Estos conceptos son difíciles de comprender al principio. Veamos un ejemplo para entender mejor qué significa que alguien nos convenza de una afirmación, sin revelar nada más allá de su validez.

Un caso ilustrativo es el de “Buscando a Wally”, se pueden encontrar videos en internet explicándolo en detalle. Imagina que estás jugando con un amigo a “Buscando a Wally”. En un arrebato de inspiración encontrás al personaje. Entonces le afirmás a tu contrincante “Sé dónde está”. ¿Cómo podríamos convencerlo de esto sin revelarle la ubicación, para no arruinarle el juego?

Para ello podés colocar la página del libro debajo de una pedazo grande de cartón con un pequeño agujero en el centro, asegurándote de que la hoja de cartón sea bastante más grande que la del libro, y que el agujero sea del tamaño de la cara de Wally.

Nuestro amigo se convence de que conocemos la ubicación de Wally, sin saber la disposición del libro debajo del cartón.

Luego podés posicionar la hoja de cartón de manera que sólo a través del círculo se vea a Wally, ocultando el resto de la página. Así tu amigo puede confirmar que efectivamente lo encontraste, pero gracias al cartón opaco que oculta el contexto no puede determinar la ubicación exacta en la página.

Esta dinámica ilustra cómo las ZKP permiten validar la posesión de un conocimiento sin revelar la información subyacente. En este caso mostramos la afirmación “sé dónde está Wally”, pero sin revelar su ubicación en el libro.

Otro ejemplo ilustrador es el que da el periodista y divulgador Adrian Paenza en su nota de página 12. Esto da cuenta también de la popularidad que está cobrando esta área de las matemáticas.

La revolución del conocimiento cero

En los años 80 surgieron muchas ideas novedosas en el área de la criptografía. Entre ellas se destaca la noción de clave asimétrica introducida por Diffie y Hellman. Hoy en día, esta es una herramienta clave para la comunicación segura a través de internet, como pagos electrónicos, mensajería instantánea encriptada y muchos otros casos de uso cotidianos. En esta época también se introdujo por primera vez la noción de pruebas de conocimiento cero. Sin embargo, tuvieron que esperar varios años antes de que sus aplicaciones prácticas viesen la luz.

Así como las propuestas de Diffie y Hellman revolucionaron durante los años 80 y 90 la forma en la que nos comunicamos a través de internet, hoy las ZKP son un nuevo punto de inflexión que promete abrir un universo de posibilidades dentro de la verificación de información. Esto se debe a su capacidad de preservar la privacidad y la seguridad de una manera nunca antes posible. A continuación, vamos a mencionar algunas aplicaciones que nos permitirán entender mejor el impacto que esta tecnología podría tener en nuestro uso diario.

Mayor privacidad en transacciones

Uno de los primeros ejemplos de la aplicación de pruebas de conocimiento cero en ambientes productivos es Zcash. Una criptomoneda enfocada en la privacidad, diseñada para ofrecer completo anonimato a sus usuarios, a diferencia de otras monedas digitales como Bitcoin.

A través de las pruebas de conocimiento cero, Zcash permite que las transacciones se verifiquen sin necesidad de revelar el remitente, el receptor o el monto transferido. Esto proporciona una capa de privacidad que no permite la trazabilidad de las operaciones y otorga un nivel total de anonimato. Todavía no está claro cuál será el rol de las criptomonedas en el futuro, pero esta tecnología habilitó nuevos caminos dentro de este rubro.

Combatiendo la desinformación

Otra aplicación potencial, a nuestro criterio más interesante, es que las ZKPs podrían disminuir las fake news. En este post Dan Boneh, especialista en pruebas de conocimiento cero, lo explica en detalle.

En conflictos como la guerra en Rusia y Ucrania, se han publicado múltiples fotos falsas. En este contexto, la Coalición para la Procedencia y Autenticidad del Contenido (C2PA), propone un estándar para atacar este problema. La idea es que las cámaras firmen digitalmente cada foto capturada con datos como la ubicación, la hora y la organización a la que pertenece. El problema es que las fotos rara vez se usan “crudas” en los sitios web. En muchos casos los medios digitales las comprimen o reescalan para que su página funcione más rápido. Después de este procesamiento, como la imagen fue modificada, la firma digital original deja de servir y no podemos verificar a qué organización pertenecía.

El estándar de C2PA permitiría que cada sitio pueda realizar ediciones que no atenten contra la veracidad de la imagen, pero permitiendo la flexibilidad de modificaciones menores, que se ajusten a la necesidad de cada medio. Una de las formas de lograr esto sería utilizando pruebas de conocimiento cero. Estas podrían demostrar que una imagen fue capturada por una cámara perteneciente a una organización confiable y que las únicas modificaciones realizadas a la imagen han sido transformaciones aceptadas por el estándar. En este caso no interesa ocultar información sino sólo verificar que se ejecutaron modificaciones permitidas.

Si bien esto no es estrictamente conocimiento cero, es algo que no era posible antes del desarrollo de esta tecnología y que permitiría la distribución segura de imágenes verificadas. En el futuro, esta tecnología podría ser una herramienta poderosa contra la manipulación de imágenes y quizás todos nuestros navegadores de internet la usen en el futuro, como ya utilizan las ideas anteriormente planteadas de Diffie y Hellman.

Votación segura y anónima

Hoy en día existen sistemas de votación electrónica que han generado controversias y opiniones dispares respecto a su seguridad. Las pruebas de conocimiento cero abren la posibilidad de incorporar características de transparencia y seguridad a estos sistemas más tradicionales.

El objetivo es garantizar la integridad y el anonimato de los votos. Una de las formas de lograr esto sería generando una prueba criptográfica cada vez que un votante emite su decisión. La prueba serviría para verificar que el voto es válido y conforme a las reglas de la elección, sin revelar el candidato elegido. Además, cada votante o auditor independiente tendría herramientas para comprobar que su voto fue contado en el escrutinio final.

Es muy difícil lograr un procedimiento tan confiable como el voto físico dado que su fiscalización es más simple. Sin embargo, hay sistemas como Helios que se construyen en base a ZKPs y que habilitan nuevas opciones en caso de que el voto físico no sea la mejor opción. Este puede ser el caso de una comunidad online o de sistemas actuales de votación electrónica usados en el mundo.

Conclusión

Las pruebas de conocimiento cero son una herramienta prometedora de la criptografía moderna, con un potencial para revolucionar la protección y verificación de la información. Actualmente hay desafíos que la comunidad científica y las empresas están resolviendo con optimismo, y que prometen hacer más robusta esta tecnología.

Como miembros de una cooperativa tecnológica que apunta a utilizar la ciencia básica para resolver problemas relevantes de nuestra comunidad, nos encanta descubrir cada vez más aplicaciones donde la matemática tiene un rol protagónico.

--

--