¿Sabes qué es zero knowledge proof y para qué se utiliza este protocolo criptográfico en ciberseguridad? Actualmente, estamos acostumbrados a realizar transacciones financieras por medios electrónicos. No obstante, el funcionamiento adecuado de estas transacciones depende de un sistema de seguridad que ha sido diseñado especialmente por expertos para ofrecer un servicio autenticado y confidencial.
Dichos sistemas de seguridad se basan, sobre todo, en protocolos de cifrado que protegen la información sensible de los clientes, como sus contraseñas, saldos, movimientos, etc. En este post, hablaremos sobre un protocolo criptográfico que se utiliza en ámbitos como las criptomonedas o sistemas de votación, entre otros. A continuación, te explicaremos qué es zero knowledge proof.
¿Qué es zero knowledge proof?
Para entender qué es zero knowledge proof (ZKP), supón que quieres dar a conocer que tienes una pieza de información sin necesidad de revelarla. Esto puede ser útil en los casos en los que se aprecie la confidencialidad, como en una transferencia de dinero, la petición de un préstamo o, incluso, un sistema de votación anónima. Por ejemplo, imagina que deseas demostrar que tienes más de 2.000 euros en tu cuenta, sin revelar cuál es tu saldo. Para ello, se utilizan las pruebas de conocimiento cero o zero knowledge proof.
Zero knowledge proof interactivo
Ahora que hemos explicado qué es zero knowledge proof, pasaremos a ver los dos tipos de protocolos que existen para aplicar el concepto. El primero es el zero knowledge proof de prueba interactiva.
El mejor ejemplo para aprender qué es zero knowledge proof interactivo es el siguiente. Imagina que tienes dos pelotas de diferente color: una amarilla y una roja. No obstante, quieres darle a conocer a una persona que identifica estos colores (un daltónico, por ejemplo) que tú sí eres capaz de diferenciarlas.
Para ello, podrías entregarle las dos pelotas a la otra persona en un orden en específico. Luego, ella decidirá si cambiar el orden en el que las recibió o no. Finalmente, tendrás que decirle a la persona si ha cambiado el orden de las pelotas o no.
🔴 ¿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 semanaLa primera, la segunda y, quizás, las primeras tres veces podrías acertar por suerte. Pero al cabo de cien repeticiones, si siempre eres capaz de acertar, seguro que puedes diferenciar ambos colores.
Zero knowledge proof no interactivo
En realidad, son muy pocas las aplicaciones que utilizan el ZPK interactivo; el no interactivo es más común y se utiliza, por ejemplo, en criptomonedas anónimas como Monero, Zcash y muchas más. Veamos cómo funciona.
Un protocolo ZPK no interactivo es un sistema de prueba que permite verificar ante cualquier usuario que se conoce una determinada información. El método más común para llevar a cabo este proceso es zn-SNARK y se utiliza, sobre todo, para el desarrollo de criptomonedas anónimas, como las que acabamos de mencionar.
Ahora bien, el protocolo de conocimiento cero no interactivo se basa en realizar una serie de pruebas con funciones hash que demuestran que estas no habrían podido generarse si no se tuviese una cadena de datos original. No obstante, lo anterior se logra sin necesidad de revelar la cadena de datos.
Así, es posible generar una cadena de bloques o blockchain para hacer transferencias de dinero sin revelar el saldo ni las transacciones que se han hecho anteriormente. Esto hace que dichas transferencias sean imposibles de rastrear y que estas criptomonedas tengan un carácter verdaderamente anónimo.
Diferencia con el bitcoin
Ya hemos explicado qué es zero knowledge proof y cuáles son los dos tipos de protocolo que existen. Ahora hablaremos sobre la diferencia entre criptomonedas que usan este sistema y otras que no.
Bitcoin, por ejemplo, funciona por medio de un sistema de transferencias en las que los usuarios le demuestran al siguiente las transacciones que han recibido antes. De esta forma, se puede convencer al verificador de que se cuenta con el saldo suficiente.
Criptomonedas como Zcash o Monero no cuentan con este problema de privacidad, ya que implementan algoritmos de zero knowledge proof no interactivos para la verificación de saldos. Por eso, se dice que el desarrollo de estos protocolos tiene mucho potencial en el futuro.
¿Cómo aprender más?
Ahora sabes qué es zero knowledge proof y cómo se aplica este protocolo criptográfico en diferentes sistemas. ¿Te gustaría aprender más para convertirte en un experto en ciberseguridad? ¡En KeepCoding tenemos la formación íntegra e intensiva ideal para ti! Entra en nuestro Ciberseguridad Full Stack Bootcamp y especialízate en hacking ético, criptografía y mucho más en muy pocos meses. ¿A qué estás esperando para apuntarte y destacar en el sector tecnológico? ¡Inscríbete ya!