Abstracto
Con una prueba de conocimiento cero (ZKP), una parte puede probar que una declaración es verdadera sin revelar ninguna información, excepto si es verdadera o no. El beneficio obvio es la privacidad, ya que el probador no necesita revelar ninguna información adicional, y el segundo beneficio es que puede reducir significativamente el costo de verificar la exactitud de una declaración. Los ZKP se adoptan cada vez más en aplicaciones de cadena de bloques, donde la privacidad y la eficiencia aún tienen mucho margen de mejora. Si bien se espera que la tecnología ZKP también se vuelva omnipresente en muchas otras áreas, el término sigue siendo críptico para muchas personas sin experiencia en informática. En este artículo de revisión, arrojamos luz sobre qué son los ZKP y cómo mejoran la privacidad y la eficiencia, y describimos aplicaciones para cadenas de bloques y otros casos de uso.
INTRODUCCIÓN
La eficiencia en economía significa que los recursos escasos no deben desperdiciarse. Esta afirmación es válida tanto para la fabricación como para los cálculos, ya que utilizan recursos reales como hardware, electricidad o cash humano. Hay varias aplicaciones en las que muchas otras partes deben verificar la corrección de un cálculo. Por ejemplo, en blockchains, la descentralización requiere que muchos participantes de la red vuelvan a calcular la corrección de cada bloque que se agrega a la cadena. Obviamente, volver a ejecutar los mismos cálculos es ineficiente porque implica el uso repetido de recursos computacionales.
Mediante el uso de una prueba de conocimiento cero (ZKP), una parte puede demostrar a otras partes que un cálculo se ejecutó correctamente. No hay necesidad de replicar el cálculo, solo se necesita verificar la prueba. Idealmente, verificar un ZKP necesita significativamente menos recursos que volver a ejecutar el cálculo. Este beneficio se ilustra en la Figura 1 tenga en cuenta que las ganancias de eficiencia de los ZKP aumentan linealmente en el número de validadores.
El segundo y más obvio beneficio de la tecnología ZKP es la privacidad. Mediante el uso de un ZKP, se puede probar la corrección de un cálculo sin revelar ninguna información adicional, excepto si es correcto o no. Por ejemplo, un usuario de blockchain puede demostrar que, de hecho, puede realizar un pago sin revelar su identidad a la red. Las aplicaciones existentes son la criptomoneda de protección de la privacidad Zcash y el protocolo de efectivo Tornado en Ethereum (ver Nadler y Schaer, 2023). La privacidad y confidencialidad de los datos también es importante fuera de las cadenas de bloques. Dos ejemplos son una persona que quiere probar que votó sin revelar su voto, o una empresa que quiere probar su solvencia sin revelar su harmony.
El concepto teórico de ZKP fue introducido a finales de los años 80 por Goldwasser, Micali y Rackoff, 1989. Conceptualmente, hay muchos casos de uso diferentes, pero ninguno de ellos se ha vuelto económicamente importante. Esto ha cambiado con la llegada de la tecnología blockchain, donde la tecnología ZKP se ha integrado en algunas aplicaciones. La investigación de ZKP se está expandiendo rápidamente, como lo demuestra el creciente número de artículos sobre la tecnología (consulte Burger et al., 2022 para obtener una descripción common).
La mayoría de las investigaciones sobre ZKP se dirigen a una audiencia con conocimientos de informática o matemáticas, y falta una introducción completa pero intuitiva al tema. Este artículo de revisión llena este vacío al proporcionar una introducción accesible pero extensa a las pruebas de conocimiento cero y sus aplicaciones. Además, en Berentsen, Lenzi y Nyffenegger, 2022 proporcionamos un ejemplo completo de un ZKP que incluye matemáticas más avanzadas y viene con un script de Python que lo acompaña.
Lee el artículo completo.