Inicio
Glosario
Zero-Knowledge Proofs

Zero-Knowledge Proofs

Avanzado

Una zero-knowledge proof, también conocida como protocolo zk, es un método de verificación que se realiza entre un probador y un verificador. En un sistema de zero-knowledge proof, el probador puede demostrar al verificador que tiene el conocimiento sobre una pieza de información específica (como la solución a una ecuación matemática) sin revelar la propia información. Los usuarios de criptografía modernos pueden utilizar estos sistemas de prueba para garantizar mayores niveles de privacidad y seguridad.

El concepto de zero-knowledge proof fue descrito por primera vez en 1985 en un artículo del MIT, publicado por Shafi Goldwasser y Silvio Micali. Ellos demostraron que era posible comprobar algunas propiedades de un número sin revelar el número en sí o información adicional sobre este. El artículo también introdujo un importante descubrimiento matemático: que las interacciones entre un probador y un verificador podrían reducir la cantidad de información requerida para comprobar un teorema dado. 

Una prueba zk debe cumplir con dos requisitos básicos: integridad y solidez. La integridad se refiere a la capacidad del probador de demostrar su conocimiento de la información relevante con un alto grado de precisión probable. Para que la prueba sea sólida, el verificador debe ser capaz de determinar de forma confiable si el probador está realmente en posesión de dicha información. Finalmente, para que realmente sea zero-knowledge, la prueba debe lograr tanto la integridad como la solidez sin que dicha información sea comunicada entre el probador y el verificador.

Las zero-knowledge proofs se utilizan comúnmente para aplicaciones en las que la privacidad y la seguridad son esenciales. Por ejemplo, los sistemas de autenticación pueden emplear pruebas zk para verificar credenciales o identidades sin divulgarlas directamente. Un ejemplo sencillo es que se puede usar para verificar que una persona tenga la contraseña de un sistema informático sin la necesidad de revelar la propia contraseña. 

Un caso destacado de uso de las zero-knowledge proofs en el mundo real se da en el ámbito de las criptomonedas y la tecnología blockchain. Al utilizar un tipo de prueba conocido como zero-knowledge Succinct Non-interactive Argument of Knowledge (zk-SNARK), las criptomonedas enfocadas en la privacidad, como (Zcash) , pueden ofrecer transacciones de blockchain con mayores niveles de privacidad a sus usuarios. Desde su actualización Byzantium de 2017, Ethereum también utiliza las pruebas zk-SNARK.