Zero-Knowledge Proof o ZKP es una de las mejores características de la criptografía en la industria del blockchain que refuerza su seguridad, privacidad y anonimato. La industria del blockchain llegó con la promesa de ofrecer la mejor experiencia para aquellos que buscan un mundo más seguro y privado. Gracias a la criptografía, la promesa se convirtió en un paso más, y las blockchain pueden ofrecer métodos seguros de autenticación como ZKP.
Utilizando ZKP, las blockchain y los servicios en ellas pueden ofrecer métodos de autenticación sin necesidad de revelar información sensible. Este protocolo se encuentra entre los productos más famosos de la ciencia de la criptografía. Después de todo, la seguridad, el anonimato y la privacidad se pueden conseguir con la combinación de estas características en la industria del blockchain.
Prueba de conocimiento cero (ZKP)
Como se ha mencionado anteriormente, el protocolo Zero-Knowledge Proof o ZKP es una característica criptográfica. Según la Wikipedia
«La prueba de conocimiento cero o protocolo de conocimiento cero es un método por el cual una parte (el prover) puede probar a otra parte (el verificador) que una declaración dada es verdadera mientras el prover evita transmitir cualquier información adicional. Aparte del hecho de que la afirmación es efectivamente verdadera».
El concepto fue introducido en 1985 por Shafi Goldwasser, Silvio Micali y Charles Rackoff en su artículo «The Knowledge Complexity of Interactive Proof-Systems«.
Algunas fuentes llaman a ZKP, Zero Knowledge Password Proof. Ayuda a los servicios a comprobar y verificar la contraseña de los usuarios sin necesidad de ver la contraseña. ZKP puede provocar muchos cambios revolucionarios en los servicios. Utilizando este protocolo, se cambiará el método de almacenar, proporcionar y adquirir los datos.
¿Qué es ZKP?
Zero-Knowledge Proof o Zero-Knowledge Password Proof en la industria del blockchain se refiere a un método de proporcionar y verificar datos – contraseñas, por ejemplo. En esta forma de autenticación, no se comparten datos reales entre los participantes de la blockchain.
La integridad y la solidez son dos conceptos principales de ZKP que deben cumplirse en cada transacción. La integridad es una tarea que debe realizar el prober. El prover debe mostrar el conocimiento de la información de forma completa o con un alto nivel de probabilidad.
En la parte de solidez, el verificador tiene algunas tareas. Este nodo debe ser consciente de que el prover tiene la custodia completa de la información proporcionada. Todas estas operaciones deben ocurrir sin revelar la información real de la transacción.
Como se sabe, en las blockchain, los datos se comparten entre los usuarios que dirigen nodos o han apostado en la red. Esto disminuye de alguna manera el nivel de anonimato en la blockchain. Protocolos como ZKP ofrecen nuevas formas de compartir datos que en realidad no necesitan revelar los datos reales. En términos sencillos, las transacciones pueden confirmarse utilizando ZKP sin necesidad de que todos los participantes de la blockchain vean la información secreta de las transacciones.
Utilizando ZKP, se resolverán muchos retos de seguridad y privacidad en el mundo del blockchain. Las grandes empresas siempre han estado preocupadas por el uso de blockchain debido a la falta de privacidad de los protocolos tradicionales. A veces necesitaban un canal de transacción privado mientras se beneficiaban de un blockchain público robusto. Ahora, ZKP les ayuda a preservar su confidencialidad al tiempo que realizan transacciones seguras y rápidas.
¿Cómo funciona?
El ZKP debe proporcionar una combinación de operaciones para poder procesar los datos sin necesidad de revelarlos. En las blockchains que utilizan este protocolo, el código de la aplicación se ejecuta fuera de la cadena. En algunos ejemplos, el código es ejecutado por un nodo específico (único) en la red blockchain.
Para confirmar las transacciones, sólo se proporciona a la blockchain una confirmación de la correcta ejecución. En otras palabras, otros nodos no ven el código de la aplicación y sólo confirman su ejecución.
Las dos formas principales de pruebas de conocimiento cero son interactivas y no interactivas. Para persuadir al verificador de que tiene un conocimiento específico, las ZKP interactivas necesitan algunas actividades o acciones por parte del verificador. Los principios matemáticos de probabilidad son las principales acciones necesarias en las ZKP interactivas.
En la forma no interactiva de ZKP, no se necesita ninguna interacción entre el prover y el verificador. Los procesos de verificación pueden ayudar después de que se produzca la transacción de datos. Este tipo necesita una potencia de cálculo adicional y un software intermedio.
Ventajas y desventajas
En cuanto a las ventajas de ZKP, la simplicidad y la no necesidad de revelar información sensible son algunas de las principales. Además, en estos protocolos no es necesario un cifrado complicado. La privacidad es la otra ventaja que asegura a las personas que sus datos e información sensible están a salvo. Además, las autenticaciones basadas en ZKP son mucho más seguras que los métodos tradicionales y aumentan la seguridad de la blockchain.
Estos métodos también tienen algunas ventajas. El método se limita a cálculos matemáticos, y otros métodos no son tan aceptados en ZKP. El cálculo necesario para desplegar este tipo de autenticación es también enorme. Pero puede haber algunos métodos que disminuyan la potencia de cálculo necesaria. Como muchas otras soluciones criptográficas, la Prueba de Conocimiento Cero es vulnerable a ordenadores potentes como los cuánticos. Pero no puede ser una desventaja real, al menos por ahora.
Aplicaciones
Todas las aplicaciones que se preocupan por la seguridad y la privacidad a alto nivel pueden utilizar ZKP. Los sistemas de autenticación de varios servicios pueden desplegar este método y verificar a los usuarios sin necesidad de conocer su información sensible, como las contraseñas. Imagínese que sólo tiene que demostrar que tiene la contraseña de una cuenta sin tener que escribirla realmente para entrar en ella.
Un tipo de Prueba de Conocimiento Cero llamado Argumento de Conocimiento No Interactivo Sucinto (zk-SNARK) está siendo utilizado en algunas criptomonedas blockchain que ofrecen privacidad más que nada. Zcash es la criptomoneda más famosa que lo utiliza. Tron y Ethereum también utilizan algún tipo de este protocolo.
Las aplicaciones de mensajería son otros ejemplos de uso de ZKP para asegurar los datos. El cifrado de extremo a extremo puede aplicarse a las aplicaciones de mensajería sin necesidad de que los usuarios muestren su información a los servidores de la aplicación.
Protocolo de Conocimiento Cero
Zero-Knowledge Protocol es otro nombre utilizado para Zero-Knowledge Proof. de hecho, ZKP es un protocolo y a veces se llama Zero-Knowledge Protocol con características únicas. Para tener un protocolo ZKP, hay que ver algunas características:
Características
La veracidad es el aspecto más importante de ZPK y se refiere a que la información proporcionada (pensemos en la contraseña) es verdadera y concisa. Cuando ambas partes de la transacción se adhieren a las reglas, el verificador conoce la veracidad de la información sin necesidad de acciones adicionales por parte del usuario.
La confirmación en ZKP es obligatoria en las transacciones. Los verificadores no aceptarán datos falsos en ninguna circunstancia.
La última pero no menos importante característica de una prueba de conocimiento cero viene de su nombre. El verificador no debe tener ninguna información de los datos reales mientras verifica la transacción.
Conclusión
ZKP no es un concepto nuevo en el mundo de la criptografía y las matemáticas. Pero con la llegada y el auge de las blockchain con numerosas criptomonedas, el protocolo ha mostrado sus habilidades muy claramente. Zero-Knowledge Proof puede aplicarse a las blockchain y resolver muchos de sus problemas de seguridad y privacidad. No hay necesidad de mostrar información sensible a los probadores cuando se utiliza ZKP. Como resultado, la autenticación con más privacidad y seguridad es posible con este protocolo.