Introducción a las pruebas de conocimiento cero: Cómo funcionan y por qué son importantes
¿Por qué las pruebas de conocimiento-cero?
Según el reciente episodio de Bankless con Vitalik, él cree que uno de los saltos significativos en innovaciones tecnológicas en la industria de blockchain y criptomonedas en 2022 fue zkEVMs (que se basan en pruebas de conocimiento-cero). Esta serie de artículos profundizará en las pruebas de conocimiento-cero, los diferentes tipos y el futuro de esta innovadora tecnología.
Las zkEVM anuncian un futuro mejor para el blockchain y la industria de las criptomonedas en general. Serán los raíles subyacentes para manejar el aumento de tráfico que veremos durante la próxima carrera alcista de las criptomonedas y, posiblemente, cuando la industria se convierta en la corriente principal.
¿Qué son las pruebas de conocimiento-cero?
Las pruebas de conocimiento-cero (ZKP) son un tipo de método criptográfico que permite a una parte (el prover) demostrar a otra parte (el verificador) que posee cierta información sin revelarla. En otras palabras, el prover puede demostrar al verificador que sabe algo sin decirle de qué se trata.
Existen varios tipos de pruebas de conocimiento-cero, cada una con propiedades y usos específicos. Algunos de los tipos más comunes son
- Pruebas interactivas: Son el tipo más básico e implican a un prover y un verifier que interactúan entre sí para probar el conocimiento del prover.
- Pruebas no interactivas: Son más complejas que las pruebas interactivas e implican a un evaluador que crea una prueba sin interactuar con el verificador. Las pruebas no interactivas suelen utilizarse cuando el probador y el verificador no pueden comunicarse directamente o cuando el probador desea mantener su identidad en secreto.
- Argumentos sucintos de conocimiento no interactivos (SNARK): Se trata de un tipo de prueba de conocimiento cero especialmente eficaz que puede utilizarse para demostrar la autenticidad de grandes cantidades de datos sin revelar los datos en sí. Los SNARK se utilizan a menudo en la tecnología blockchain y en otras aplicaciones en las que es crucial verificar la autenticidad de los datos sin revelar los propios datos.
- ARgumento Transparente Escalable del Conocimiento (STARKs): Una de las principales ventajas de las ZK-STARK es que no requieren una configuración de confianza, lo que significa que pueden utilizarse en una amplia gama de aplicaciones sin necesidad de una autoridad central. Las STARK se han propuesto como solución a diversos problemas, como las transacciones privadas en redes blockchain, la computación segura entre varias partes, etc.
- Pruebas de conocimiento: Son un tipo de ZKP utilizadas para demostrar que un prover conoce un secreto concreto sin revelarlo él mismo. Las pruebas de conocimiento se utilizan a menudo en protocolos de autenticación, en los que los usuarios deben demostrar que conocen una contraseña u otro secreto para acceder a un sistema.
¿Cómo funcionan las pruebas de conocimiento-cero?
Para entender cómo funcionan las pruebas de conocimiento-cero, es útil considerar un ejemplo sencillo. Supongamos que Alicia quiere demostrar a Bob que conoce la contraseña secreta de un sitio web sin revelársela. Alice podría utilizar una prueba de conocimiento-cero para conseguirlo.
Así es como podría funcionar (en una implementación ingenua):
- Alice y Bob acuerdan un conjunto de reglas para la prueba de conocimiento-cero. Estas reglas pueden incluir la información específica que Alice necesita demostrar (en este caso, que conoce la contraseña secreta) y las acciones específicas que Alice necesita realizar para demostrar su conocimiento (por ejemplo, iniciar sesión en un sitio web).
- Alice crea una prueba que sigue las reglas acordadas. Esta prueba puede consistir en resolver un problema matemático o realizar cualquier otra acción que demuestre que conoce la contraseña secreta. (Por ejemplo, Alice puede entrar en una página web y hacer algunos cambios).
- Bob verifica la prueba. Esto implica comprobar que la prueba sigue las reglas acordadas y demuestra con exactitud que Alice conoce la contraseña secreta. (Por ejemplo, Bob puede comprobar la página web y verificar que Alice ha realizado algunos cambios).
Si Bob está convencido de que la prueba es válida, puede concluir que Alice conoce la contraseña secreta sin necesidad de conocerla.
¿Cuáles son las aplicaciones de las pruebas de conocimiento-cero?
Las pruebas de conocimiento-cero tienen una amplia gama de aplicaciones, entre las que se incluyen:
- Autenticación: Como se mencionó anteriormente, las ZKP se pueden utilizar para demostrar que un usuario conoce un secreto particular (como una contraseña) para acceder a un sistema o servicio.
- Transacciones de criptomoneda: Pueden utilizarse para verificar la autenticidad de las transacciones de criptodivisas sin revelar los detalles de la transacción en sí. Esto puede ayudar a proteger la privacidad de las partes en la transacción.
- Tecnología Blockchain: Las ZKP pueden utilizarse para verificar la autenticidad de los datos almacenados en la blockchain sin revelar los datos reales en sí.
- Votaciones electrónicas: Pueden verificar la autenticidad de los votos electrónicos sin revelar los votos concretos en sí. Esto puede ayudar a proteger la privacidad de los votantes y garantizar la integridad del proceso de votación.
- Análisis de datos para preservar la privacidad: Pueden utilizarse para analizar datos sin revelar los datos analizados. Esto puede ser útil cuando los datos contienen información sensible, o el propietario de los datos quiere mantener sus datos privados.
zkEVM
Aparte de las aplicaciones genéricas anteriores, vamos a profundizar en una de las aplicaciones más emocionantes e impactantes – zkEVMs. Esta aplicación está destinada a cambiar la industria blockchain para siempre.
zkEVM (abreviatura de “Zero-Knowledge EVM”) es una novedosa implementación de la máquina virtual de Ethereum (EVM) que permite la ejecución de contratos inteligentes en un entorno de conocimiento cero (ZK). Esto significa que la ZK-EVM permite la ejecución de contratos inteligentes sin revelar ninguna información sobre los datos de entrada o los resultados de salida a nadie más que a las partes involucradas en la transacción.
El zkEVM fue presentado por primera vez en un documento de investigación por investigadores de la Fundación Ethereum y Protocol Labs en 2018. Se basa en la arquitectura EVM existente y utiliza sistemas de prueba de conocimiento cero, como zkSNARKs, para permitir la ejecución privada y segura de contratos inteligentes.
Uno de los principales beneficios del zkEVM es que permite la ejecución de contratos inteligentes sin revelar ninguna información sobre los datos de entrada o los resultados de salida. Esto hace posible la ejecución de contratos que implican información sensible o confidencial, como contratos para transacciones financieras o contratos para el intercambio de historiales médicos.
Además de permitir la ejecución privada y segura de contratos inteligentes, zkEVM también tiene el potencial de mejorar la escalabilidad de la red Ethereum. Las transacciones EVM tradicionales requieren que cada nodo de la red valide la transacción, lo que puede dar lugar a tiempos de transacción lentos y comisiones elevadas. En cambio, zkEVM permite la validación de transacciones sin necesidad de que participen todos los nodos de la red, lo que puede reducir significativamente los tiempos de transacción y las comisiones.
A pesar de las ventajas potenciales del zkEVM, también hay que tener en cuenta algunos retos y limitaciones. Uno de ellos es que los sistemas ZKP, como los zkSNARK, pueden ser complejos y difíciles de implementar, lo que dificulta a los desarrolladores el uso de zkEVM. Además, el uso de sistemas ZKP también puede introducir sobrecargas y costes computacionales adicionales, lo que puede afectar a la escalabilidad del zkEVM en algunos casos.
Fuente: Medium
Libre Traducción: LBC