WhiteBIT Spain
Published in

WhiteBIT Spain

¿Qué es la Prueba de conocimiento cero (ZKP — Zero-Knowledge Proof) en la blockchain?

La transparencia de las blockchains públicas constituye la mayor parte de su éxito. Sin embargo, ¿cómo mantener la transparencia y garantizar la privacidad al mismo tiempo? Es posible gracias al método de Prueba de conocimiento cero (ZKP — zero-knowledge proof), cada vez más utilizado en las blockchains públicas.

La Prueba de conocimiento cero (ZKP) es un método que permite comprobar la exactitud de una declaración sin revelar información adicional sobre el propio mensaje. El concepto de prueba ZK fue introducido por primera vez en 1985 por los investigadores Shafi Goldwasser, Silvio Micali y Charles Rakoff, y desde entonces se ha desarrollado y aplicado en varios proyectos de criptografía y tecnología blockchain.

En el marco del protocolo, el probador demuestra la validez de la declaración al verificador sin proporcionar ningún dato adicional. Las tres características principales de la Prueba ZK son la integridad, la precisión y el conocimiento cero.

Existen dos tipos principales de pruebas de conocimiento-cero: interactivas y no interactivas.

Las pruebas interactivas implican interacciones repetitivas entre el probador y el verificador. El verificador le “exige” al probador que demuestre repetidamente su conocimiento del hecho. El proceso se repite hasta que el verificador esté seguro de que el verificador no miente.

La prueba no interactiva implica que ambas partes no necesitan comunicarse y que la autenticidad de la declaración puede probarse a posteriori.

Los ejemplos más famosos de pruebas ZK son las zk-SNARK y las zk-STARK.

Un excelente ejemplo de la aplicación con éxito de la Prueba ZK es la criptomoneda Zcash, que utiliza zk-SNARK para garantizar la confidencialidad y el anonimato de las transacciones. Otro proyecto que utiliza la prueba ZK es la bolsa de derivados descentralizada dYdX. El proyecto utiliza zk-STARK para ejecutar contratos inteligentes.

El cofundador de Ethereum, Vitalik Buterin, calificó la prueba ZK como “la tecnología más importante” para escalar las plataformas de blockchain.

¿Cómo funciona la prueba de conocimiento-cero en la blockchain? En términos sencillos

Imaginemos que dos partes desean intercambiar información. Una parte debe confirmar la integridad de la declaración de la otra sin saber lo suficiente sobre ella. En este caso, es necesario desarrollar la mecánica de algunas acciones para que la primera parte pueda probar la declaración. De esta forma, la segunda parte (el verificador) podrá confirmar su autenticidad.

Para ilustrar cómo funciona la ZKP, imaginemos una situación. Tú y tu amigo estáis en la entrada de la casa. Al entrar en ella verás un pasillo a la izquierda (A) y otro a la derecha (B). El camino que elijas es opcional, pero debes recordar que estos pasillos están conectados en un punto por una puerta con cerradura. Sólo tú tienes la contraseña secreta de la puerta, pero un amigo lo pone en duda. Tu tarea consiste en demostrar que posees el código secreto sin nombrarlo. Para realizar la tarea, tu amigo entra en casa en el momento en que tú ya estás en la puerta. Él te llama y tienes que volver a él por el pasillo: ya sea el pasillo A o el pasillo B. O podràs volver por el mismo pasillo por el que llegaste a la puerta o bien abres la cerradura con el código secreto y entras en el pasillo deseado. Al repetir el experimento varias veces, confirmarás la veracidad de tu afirmación sin aportar datos reales, es decir, el código secreto de la puerta.

¿Cuáles son los pros y los contras de las pruebas de conocimiento-cero?

Las ventajas de las pruebas de conocimiento-cero son:

Los inconvenientes de las pruebas de conocimiento-cero son:

¿Qué es zk-SNARK y zk-STARK?

Zk-SNARK (Zero-knowledge Succinct Non-interactive Argument of Knowledge — Conocimiento cero Argumento sucinto no interactivo del conocimiento) es una ZKP no interactiva que requiere confianza entre el verificador y el probador. La creación de pruebas para transacciones privadas implica un conjunto de parámetros públicos o “reglas” que se escriben en el código del protocolo.

Uno de los ejemplos más claros de zk-SNARK es la criptomoneda Zcash. El proyecto utiliza el protocolo zk-SNARK para garantizar la confidencialidad y el anonimato de las transacciones. Estos últimos se cifran en la red y se validan mediante pruebas de conocimiento cero. Siguiendo las reglas de consenso, los verificadores no necesitan conocer toda la información sobre una transacción para verificarla.

Una alternativa a zk-SNARK es zk-STARK, una versión más rápida y barata de la tecnología. Un rasgo característico de zk-STARK es la ausencia de una estructura fiduciaria. En su lugar, zk-STARK utiliza una criptografía simétrica más sencilla que son funciones hash resistentes a las colisiones. Otro rasgo distintivo de zk-STARK es su velocidad de ejecución. Debido al mismo número de ciclos de comprobación, zk-STARK opera con una menor cantidad de datos, lo que evita una carga excesiva en el sistema y mejora la escalabilidad. Por lo tanto, los zk-STARKs se utilizan en ZK-Rollups, soluciones para las blockchains de segundo nivel (L2).

--

--

WhiteBIT is a crypto exchange platform. We guarantee security, reliability and lower fees for our users. Trade your way with us! https://whitebit.com/

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
WhiteBIT

WhiteBIT is a crypto exchange platform. We guarantee security, reliability and lower fees for our users. Trade your way with us! https://whitebit.com/