¿Qué es una prueba zk-SNARK?

| Última modificación: 14 de octubre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Sabes qué es una prueba zk-SNARK y para qué se utiliza en el desarrollo de criptomonedas? Las pruebas de conocimiento cero forman parte de una tecnología de blockchain nueva y posterior al surgimiento de Bitcoin. El conocimiento de este concepto existe desde hace casi cuatro décadas, cuando fue descrito por primera vez por Goldwasser, Micali y Rackoff, en el artículo de 1985 titulado The knowledge complexity of interactive proof systems.

En este post, te explicaremos en qué consiste un protocolo de conocimiento cero y qué es una prueba zk-SNARK.

¿Qué es una prueba de conocimiento cero?

Antes de hablar sobre qué es una prueba zk-SNARK, es importante definir en qué consiste una prueba de conocimiento cero o zero knowledge proof (ZKP).

Imagina que quieres comunicarle a alguien que tienes cierto conocimiento, pero no quieres tener que revelar el conocimiento como tal. En este caso, necesitarías un protocolo de conocimiento cero, que es deseable cuando se trata de un intercambio de información sensible o confidencial. Por ejemplo, este tipo de protocolos sirven para demostrar que tienes más de cierta cantidad de dinero en tu cuenta, sin necesidad de revelar cuál es tu saldo exacto.

Existen dos tipos te pruebas de conocimiento cero: interactivas y no interactivas. Te las detallamos a continuación:

Pruebas de conocimiento cero interactivas

Las pruebas interactivas se pueden definir por medio de un ejemplo con colores.

🔴 ¿Quieres entrar de lleno a la Ciberseguridad? 🔴

Descubre el Ciberseguridad Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en Ciberseguridad por una semana

Supón que tienes dos pelotas de diferente color (una amarilla y una roja). Ahora, deseas comprobar ante alguien que no puede diferenciar los colores (una persona daltónica, por ejemplo), que tú sí puedes distinguir entre ambos. Entonces, la solución a este problema es hacer una prueba de conocimiento cero interactiva.

La ZKP interactiva consiste en entregarle a la otra persona las dos pelotas de colores en un orden determinado. Luego, esta persona decidirá si cambiar o no el orden de las mismas. Ahora, volverá a mostrártelas y tú deberás saber si ha cambiado el orden o si las ha dejado igual.

Es probable que aciertes por suerte las primeras veces, pero al cabo de cientos de pruebas, si sigues acertando siempre, seguro que puedes distinguir entre ambos colores.

Pruebas de conocimiento cero no interactivas

Las ZKP interactivas, para ejecutarse en un entorno virtual, requieren de que ambas partes de la transacción estén conectadas, lo cual limita el uso y la escalabilidad de la tecnología. Por ello, se desarrollaron ZKP no interactivas, las cuáles explicaremos por medio del ejemplo de qué es una prueba zk-SNARK.

¿Qué es una prueba zk-SNARK?

Una prueba zk-SNARK es un protocolo que permite hacer ZKP por medio de pruebas automatizadas. Dichas pruebas deben cumplir con las siguientes tres características:

  1. La otra parte debe estar 100% convencida de la validez de la prueba.
  2. Debe ser imposible mentir o engañar en la prueba.
  3. No se debe revelar la información, solo que la otra parte cuenta con ella.

El nombre zk-SNARK significa Zero Knowledge Succint Non Interactive Argument of Knowledge y el análisis de dicho término nos lleva a comprender su funcionamiento:

  • Conocimiento cero: nunca se revela la información que se protege, solo el hecho de que se tiene.
  • Sucinto: la prueba debe ser breve para ser eficiente.
  • No interactivo: porque no requiere que ambas partes se conecten para una serie de pruebas.
  • Argumento: la prueba satisface los tres requerimientos descritos anteriormente, es decir, verifica que sea imposible engañar sobre la información que se tiene.
  • Conocimiento: la prueba criptográfica no se podría construir si no se tuviese acceso a la información clave para generarla.

¿Cómo aprender más?

Ahora sabes qué es una prueba zk-SNARK y cómo permite ejecutar protocolos de conocimiento cero sin interacción. Si quieres aprender más y convertirte en un experto en ciberseguridad, ha llegado la hora de acceder al Ciberseguridad Full Stack Bootcamp y especializarte en criptografía, hacking ético y mucho más. ¡Inscríbete ya!

Carlos Cilleruelo

CEO and co-founder of Byron Labs & Coordinador del Bootcamp en Ciberseguridad.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Ciberseguridad

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado