Una prueba de conocimiento cero (ZK) es un protocolo criptográfico que permite a una persona (el probador) convencer a otra (el verificador) de que una afirmación particular es cierta sin revelar ningún detalle sobre la afirmación en sí.
Los investigadores Shafi Goldwasser, Silvio Micali y Charles Rackoff presentaron la idea por primera vez a principios de los años 80. El objetivo principal de una prueba ZK es persuadir al verificador de que una afirmación es verdadera sin revelar ninguna información que no sea la veracidad de la afirmación.
Una buena prueba de conocimiento cero debe cumplir los tres criterios siguientes:
Existen diferentes tipos de pruebas ZK:
Las pruebas interactivas de conocimiento cero requieren una comunicación de ida y vuelta entre el probador y el verificador.
Las pruebas de conocimiento cero no interactivas proporcionan una prueba compacta que se puede verificar en un solo paso.
Las pruebas estadísticas de conocimiento cero ofrecen solidez computacional con una pequeña probabilidad de error.
PoK es una subclase de pruebas ZK que muestra que el demostrador posee conocimientos específicos relacionados con la declaración.
Estas pruebas ZK se utilizan en la votación electrónica y en transacciones que preservan la privacidad.
Los protocolos Sigma son una clase de pruebas ZK que implican tres pasos: compromiso, desafío y respuesta.
Los Bulletproofs están diseñados para proporcionar pruebas de alcance eficientes para grandes conjuntos de valores.
Las pruebas ZK permiten a un demostrador persuadir a un verificador de la veracidad de una afirmación sin revelar ninguna información sobre la afirmación en sí. El probador y el verificador interactúan en múltiples rondas del protocolo y, en la conclusión, el verificador desarrolla confianza en la veracidad de la afirmación sin conocer ninguna información adicional sobre el secreto.
Utilicemos el “Problema de los tres colores”, también conocido como “Problema de coloración de gráficos”, como ilustración de cómo funcionan las pruebas ZK.
Imagina que tienes un mapa con múltiples áreas (vértices) conectadas por líneas (bordes), y ese es el problema. El objetivo es utilizar uno de los tres colores para colorear cada región de modo que no haya dos partes vecinas que tengan el mismo color. ¿Puedes convencer a alguien de que conoces el color correcto sin exponer los tonos reales asignados a cada región?
Tanto el probador como el verificador coinciden en las regiones y enlaces del gráfico (mapa).
El demostrador afirma tener una combinación confiable de tres colores para el gráfico proporcionado.
El probador elige los colores al azar para cada lugar en secreto sin revelarlos. En cambio, el probador proporciona al verificador una promesa cifrada para cada región. El verificador no puede ver qué colores hay dentro de los compromisos porque están cerrados como cajas.
El verificador elige una región aleatoria y solicita que el probador abra el compromiso para esa zona en particular. El probador debe revelar el tono del compromiso de esa área.
Después de comprometerse con los colores, el probador ahora debe demostrar que el color revelado es exacto. Esto implica mostrar las diferencias de color entre secciones adyacentes. El verificador examina la respuesta para asegurarse de que el probador haya seguido correctamente las reglas.
Las rondas 2 y 3 se repiten numerosas veces utilizando varias regiones elegidas al azar. Este procedimiento se repite tantas veces como sea necesario para establecer un alto grado de confianza en la veracidad de la afirmación del demostrador.
El verificador se vuelve seguro de que el probador realmente tiene un tricolor válido sin conocer los colores reales utilizados si el probador produce regularmente respuestas válidas para cada ronda.
El verificador aumenta gradualmente la capacidad del probador para reconocer tres colores válidos del gráfico repitiendo el procedimiento para varias regiones. Sin embargo, la propiedad de conocimiento cero se mantiene ya que el verificador nunca descubre los colores reales asignados a cada región durante el procedimiento.
La ilustración anterior muestra cómo se pueden utilizar las pruebas ZK para persuadir a alguien de que existe una solución manteniendo al mismo tiempo la identidad de la solución en secreto, ofreciendo una potente herramienta para aumentar la privacidad y la seguridad en una variedad de aplicaciones.
Las pruebas ZK son herramientas útiles que tienen muchos usos en una variedad de campos y abordan importantes cuestiones de privacidad y seguridad.
Las pruebas ZK son cruciales en el mundo de las criptomonedas para mejorar la privacidad y la escalabilidad de las transacciones. Permiten transacciones anónimas sin revelar los detalles de la transacción o la identidad de los usuarios, como es el caso de las criptomonedas centradas en la privacidad, como Zcash (ZEC).
Las pruebas ZK se pueden utilizar en los campos de autenticación y control de acceso para demostrar la comprensión de una contraseña o una clave criptográfica sin revelar la contraseña o la clave en sí. Esto da como resultado técnicas de autenticación más seguras y fáciles de usar.
Las pruebas ZK también se utilizan en sistemas de votación electrónica, donde permiten a los votantes demostrar la legitimidad de su voto sin revelar el voto real, protegiendo tanto la privacidad de los votantes como la integridad del proceso electoral.
Las pruebas ZK también tienen implicaciones para la verificación y transferencia segura de datos, ya que brindan a una de las partes la capacidad de demostrar la precisión de los cálculos sobre datos privados sin revelar los datos en sí.
Las pruebas de conocimiento cero pueden mejorar la privacidad de las transacciones en las monedas digitales de los bancos centrales (CBDC) al facilitar las transacciones privadas y mantener el anonimato del usuario. Al equilibrar la privacidad y la transparencia en las transacciones de CBDC, las pruebas ZK permiten la auditabilidad sin revelar los detalles de la transacción.
Sí, las pruebas ZK se pueden integrar en plataformas blockchain y, de hecho, se han implementado con éxito en varias redes blockchain. Las pruebas ZK proporcionan una técnica potente para aumentar la eficiencia, la seguridad y la privacidad en los sistemas blockchain.
Cuando se integran en plataformas blockchain, las pruebas ZK pueden cumplir múltiples propósitos:
Las pruebas ZK permiten transacciones privadas, lo que permite a los usuarios realizar transacciones sin revelar la información subyacente, como el monto de la transacción y las direcciones del remitente y del destinatario. De ello depende la mejora de la privacidad de los usuarios en las cadenas de bloques abiertas.
Sin revelar datos o información reales, las pruebas ZK se pueden utilizar para comprobar la exactitud de cálculos o declaraciones específicas. Esto garantiza la integridad de los datos y posibilita procedimientos de auditoría eficaces.
Las pruebas ZK pueden aumentar la escalabilidad de la plataforma al ofrecer pruebas concisas para cálculos complejos, lo que puede ayudar a minimizar la sobrecarga computacional y de almacenamiento en la cadena de bloques.
Al utilizar pruebas ZK para la verificación y autenticación de identidad seguras y al mismo tiempo proteger la privacidad del usuario, las aplicaciones basadas en blockchain serán más seguras.
Las pruebas ZK pueden ayudar con la comunicación entre cadenas y las transferencias de activos al tiempo que protegen la privacidad al facilitar la interoperabilidad entre varias redes blockchain.
Las pruebas ZK brindan beneficios de privacidad y seguridad, pero su implementación puede ser compleja desde el punto de vista computacional y compleja.
Desarrollar y verificar pruebas ZK puede requerir muchos recursos y cálculos, especialmente para pruebas más complicadas. Esto puede resultar en tiempos de procesamiento más largos para las transacciones y más trabajo computacional, lo que podría hacer que los sistemas blockchain sean más difíciles de escalar.
Además, las pruebas ZK podrían agregar una capa de complejidad que podría hacer que el protocolo sea más difícil de auditar y verificar, generando preocupaciones sobre posibles fallas o errores de seguridad. Además, si bien las pruebas ZK mejoran la privacidad al ocultar información, también pueden facilitar actividades ilegales en algunas situaciones, creando dificultades para el cumplimiento normativo.
Es posible que las pruebas ZK tampoco sean apropiadas para todos los casos de uso o sectores porque requieren capacitación y experiencia particulares para implementarse correctamente. Esto podría impedir que se utilicen y adopten ampliamente en muchos campos.
Aunque las pruebas ZK brindan características útiles de privacidad y seguridad, sus desventajas requieren un estudio y una evaluación cuidadosos de las compensaciones asociadas antes de su adopción en sistemas o aplicaciones particulares.
Compartir
Contenu
Una prueba de conocimiento cero (ZK) es un protocolo criptográfico que permite a una persona (el probador) convencer a otra (el verificador) de que una afirmación particular es cierta sin revelar ningún detalle sobre la afirmación en sí.
Los investigadores Shafi Goldwasser, Silvio Micali y Charles Rackoff presentaron la idea por primera vez a principios de los años 80. El objetivo principal de una prueba ZK es persuadir al verificador de que una afirmación es verdadera sin revelar ninguna información que no sea la veracidad de la afirmación.
Una buena prueba de conocimiento cero debe cumplir los tres criterios siguientes:
Existen diferentes tipos de pruebas ZK:
Las pruebas interactivas de conocimiento cero requieren una comunicación de ida y vuelta entre el probador y el verificador.
Las pruebas de conocimiento cero no interactivas proporcionan una prueba compacta que se puede verificar en un solo paso.
Las pruebas estadísticas de conocimiento cero ofrecen solidez computacional con una pequeña probabilidad de error.
PoK es una subclase de pruebas ZK que muestra que el demostrador posee conocimientos específicos relacionados con la declaración.
Estas pruebas ZK se utilizan en la votación electrónica y en transacciones que preservan la privacidad.
Los protocolos Sigma son una clase de pruebas ZK que implican tres pasos: compromiso, desafío y respuesta.
Los Bulletproofs están diseñados para proporcionar pruebas de alcance eficientes para grandes conjuntos de valores.
Las pruebas ZK permiten a un demostrador persuadir a un verificador de la veracidad de una afirmación sin revelar ninguna información sobre la afirmación en sí. El probador y el verificador interactúan en múltiples rondas del protocolo y, en la conclusión, el verificador desarrolla confianza en la veracidad de la afirmación sin conocer ninguna información adicional sobre el secreto.
Utilicemos el “Problema de los tres colores”, también conocido como “Problema de coloración de gráficos”, como ilustración de cómo funcionan las pruebas ZK.
Imagina que tienes un mapa con múltiples áreas (vértices) conectadas por líneas (bordes), y ese es el problema. El objetivo es utilizar uno de los tres colores para colorear cada región de modo que no haya dos partes vecinas que tengan el mismo color. ¿Puedes convencer a alguien de que conoces el color correcto sin exponer los tonos reales asignados a cada región?
Tanto el probador como el verificador coinciden en las regiones y enlaces del gráfico (mapa).
El demostrador afirma tener una combinación confiable de tres colores para el gráfico proporcionado.
El probador elige los colores al azar para cada lugar en secreto sin revelarlos. En cambio, el probador proporciona al verificador una promesa cifrada para cada región. El verificador no puede ver qué colores hay dentro de los compromisos porque están cerrados como cajas.
El verificador elige una región aleatoria y solicita que el probador abra el compromiso para esa zona en particular. El probador debe revelar el tono del compromiso de esa área.
Después de comprometerse con los colores, el probador ahora debe demostrar que el color revelado es exacto. Esto implica mostrar las diferencias de color entre secciones adyacentes. El verificador examina la respuesta para asegurarse de que el probador haya seguido correctamente las reglas.
Las rondas 2 y 3 se repiten numerosas veces utilizando varias regiones elegidas al azar. Este procedimiento se repite tantas veces como sea necesario para establecer un alto grado de confianza en la veracidad de la afirmación del demostrador.
El verificador se vuelve seguro de que el probador realmente tiene un tricolor válido sin conocer los colores reales utilizados si el probador produce regularmente respuestas válidas para cada ronda.
El verificador aumenta gradualmente la capacidad del probador para reconocer tres colores válidos del gráfico repitiendo el procedimiento para varias regiones. Sin embargo, la propiedad de conocimiento cero se mantiene ya que el verificador nunca descubre los colores reales asignados a cada región durante el procedimiento.
La ilustración anterior muestra cómo se pueden utilizar las pruebas ZK para persuadir a alguien de que existe una solución manteniendo al mismo tiempo la identidad de la solución en secreto, ofreciendo una potente herramienta para aumentar la privacidad y la seguridad en una variedad de aplicaciones.
Las pruebas ZK son herramientas útiles que tienen muchos usos en una variedad de campos y abordan importantes cuestiones de privacidad y seguridad.
Las pruebas ZK son cruciales en el mundo de las criptomonedas para mejorar la privacidad y la escalabilidad de las transacciones. Permiten transacciones anónimas sin revelar los detalles de la transacción o la identidad de los usuarios, como es el caso de las criptomonedas centradas en la privacidad, como Zcash (ZEC).
Las pruebas ZK se pueden utilizar en los campos de autenticación y control de acceso para demostrar la comprensión de una contraseña o una clave criptográfica sin revelar la contraseña o la clave en sí. Esto da como resultado técnicas de autenticación más seguras y fáciles de usar.
Las pruebas ZK también se utilizan en sistemas de votación electrónica, donde permiten a los votantes demostrar la legitimidad de su voto sin revelar el voto real, protegiendo tanto la privacidad de los votantes como la integridad del proceso electoral.
Las pruebas ZK también tienen implicaciones para la verificación y transferencia segura de datos, ya que brindan a una de las partes la capacidad de demostrar la precisión de los cálculos sobre datos privados sin revelar los datos en sí.
Las pruebas de conocimiento cero pueden mejorar la privacidad de las transacciones en las monedas digitales de los bancos centrales (CBDC) al facilitar las transacciones privadas y mantener el anonimato del usuario. Al equilibrar la privacidad y la transparencia en las transacciones de CBDC, las pruebas ZK permiten la auditabilidad sin revelar los detalles de la transacción.
Sí, las pruebas ZK se pueden integrar en plataformas blockchain y, de hecho, se han implementado con éxito en varias redes blockchain. Las pruebas ZK proporcionan una técnica potente para aumentar la eficiencia, la seguridad y la privacidad en los sistemas blockchain.
Cuando se integran en plataformas blockchain, las pruebas ZK pueden cumplir múltiples propósitos:
Las pruebas ZK permiten transacciones privadas, lo que permite a los usuarios realizar transacciones sin revelar la información subyacente, como el monto de la transacción y las direcciones del remitente y del destinatario. De ello depende la mejora de la privacidad de los usuarios en las cadenas de bloques abiertas.
Sin revelar datos o información reales, las pruebas ZK se pueden utilizar para comprobar la exactitud de cálculos o declaraciones específicas. Esto garantiza la integridad de los datos y posibilita procedimientos de auditoría eficaces.
Las pruebas ZK pueden aumentar la escalabilidad de la plataforma al ofrecer pruebas concisas para cálculos complejos, lo que puede ayudar a minimizar la sobrecarga computacional y de almacenamiento en la cadena de bloques.
Al utilizar pruebas ZK para la verificación y autenticación de identidad seguras y al mismo tiempo proteger la privacidad del usuario, las aplicaciones basadas en blockchain serán más seguras.
Las pruebas ZK pueden ayudar con la comunicación entre cadenas y las transferencias de activos al tiempo que protegen la privacidad al facilitar la interoperabilidad entre varias redes blockchain.
Las pruebas ZK brindan beneficios de privacidad y seguridad, pero su implementación puede ser compleja desde el punto de vista computacional y compleja.
Desarrollar y verificar pruebas ZK puede requerir muchos recursos y cálculos, especialmente para pruebas más complicadas. Esto puede resultar en tiempos de procesamiento más largos para las transacciones y más trabajo computacional, lo que podría hacer que los sistemas blockchain sean más difíciles de escalar.
Además, las pruebas ZK podrían agregar una capa de complejidad que podría hacer que el protocolo sea más difícil de auditar y verificar, generando preocupaciones sobre posibles fallas o errores de seguridad. Además, si bien las pruebas ZK mejoran la privacidad al ocultar información, también pueden facilitar actividades ilegales en algunas situaciones, creando dificultades para el cumplimiento normativo.
Es posible que las pruebas ZK tampoco sean apropiadas para todos los casos de uso o sectores porque requieren capacitación y experiencia particulares para implementarse correctamente. Esto podría impedir que se utilicen y adopten ampliamente en muchos campos.
Aunque las pruebas ZK brindan características útiles de privacidad y seguridad, sus desventajas requieren un estudio y una evaluación cuidadosos de las compensaciones asociadas antes de su adopción en sistemas o aplicaciones particulares.