Pruebas de conocimiento cero, explicadas

Principiante12/3/2023, 6:41:00 PM
Este artículo aclara los principios fundamentales de las pruebas de conocimiento cero, sus amplias aplicaciones y la implementación específica de Zk-Proofs de una manera sencilla y fácil de entender.

1. ¿Qué es una prueba de conocimiento cero?

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:

  1. Integridad: el verificador aceptará la prueba con una alta probabilidad si la proposición es verdadera y tanto el probador como el verificador se adhieren al protocolo.
  2. Solidez: si la afirmación es falsa, ningún demostrador debería poder persuadir al verificador de lo contrario, salvo en circunstancias extremadamente improbables.
  3. Conocimiento cero: incluso después de interactuar con el probador, el verificador solo comprende la verdad de la afirmación y nada más sobre el secreto.

Existen diferentes tipos de pruebas ZK:

Pruebas ZK interactivas

Las pruebas interactivas de conocimiento cero requieren una comunicación de ida y vuelta entre el probador y el verificador.

Pruebas ZK no interactivas

Las pruebas de conocimiento cero no interactivas proporcionan una prueba compacta que se puede verificar en un solo paso.

Pruebas estadísticas ZK

Las pruebas estadísticas de conocimiento cero ofrecen solidez computacional con una pequeña probabilidad de error.

Prueba de conocimiento (PoK)

PoK es una subclase de pruebas ZK que muestra que el demostrador posee conocimientos específicos relacionados con la declaración.

Pruebas de reproducción aleatoria y rango.

Estas pruebas ZK se utilizan en la votación electrónica y en transacciones que preservan la privacidad.

protocolos sigma

Los protocolos Sigma son una clase de pruebas ZK que implican tres pasos: compromiso, desafío y respuesta.

A prueba de balas

Los Bulletproofs están diseñados para proporcionar pruebas de alcance eficientes para grandes conjuntos de valores.

2.¿Cómo funcionan las pruebas de conocimiento cero?

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.

El problema

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?

Solución utilizando el protocolo ZK-proofs.

Configuración

Tanto el probador como el verificador coinciden en las regiones y enlaces del gráfico (mapa).

Declaración

El demostrador afirma tener una combinación confiable de tres colores para el gráfico proporcionado.

Ronda 1: Compromiso

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.

Ronda 2: Desafío

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.

Ronda 3: Respuesta

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.

Iteración

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.

Conclusión

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.

3. ¿Cuáles son las aplicaciones de las pruebas de conocimiento cero?

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.

4. ¿Se pueden integrar las pruebas ZK en plataformas blockchain?

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:

Privacidad y confidencialidad

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.

Verificación y auditoría

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.

Escalabilidad

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.

Identidad y autenticación

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.

Interoperabilidad entre cadenas

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.

5. ¿Cuáles son las desventajas de las pruebas de conocimiento cero?

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.

Descargo de responsabilidad:

  1. Este artículo está reimpreso de [Cointelegraph]. Todos los derechos de autor pertenecen al autor original [SHIRAZ JAGATI]. Si hay objeciones a esta reimpresión, comuníquese con el equipo de Gate Learn y ellos lo manejarán de inmediato.
  2. Descargo de responsabilidad: los puntos de vista y opiniones expresados en este artículo son únicamente los del autor y no constituyen ningún consejo de inversión.
  3. Las traducciones del artículo a otros idiomas están a cargo del equipo de Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.

Pruebas de conocimiento cero, explicadas

Principiante12/3/2023, 6:41:00 PM
Este artículo aclara los principios fundamentales de las pruebas de conocimiento cero, sus amplias aplicaciones y la implementación específica de Zk-Proofs de una manera sencilla y fácil de entender.

1. ¿Qué es una prueba de conocimiento cero?

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:

  1. Integridad: el verificador aceptará la prueba con una alta probabilidad si la proposición es verdadera y tanto el probador como el verificador se adhieren al protocolo.
  2. Solidez: si la afirmación es falsa, ningún demostrador debería poder persuadir al verificador de lo contrario, salvo en circunstancias extremadamente improbables.
  3. Conocimiento cero: incluso después de interactuar con el probador, el verificador solo comprende la verdad de la afirmación y nada más sobre el secreto.

Existen diferentes tipos de pruebas ZK:

Pruebas ZK interactivas

Las pruebas interactivas de conocimiento cero requieren una comunicación de ida y vuelta entre el probador y el verificador.

Pruebas ZK no interactivas

Las pruebas de conocimiento cero no interactivas proporcionan una prueba compacta que se puede verificar en un solo paso.

Pruebas estadísticas ZK

Las pruebas estadísticas de conocimiento cero ofrecen solidez computacional con una pequeña probabilidad de error.

Prueba de conocimiento (PoK)

PoK es una subclase de pruebas ZK que muestra que el demostrador posee conocimientos específicos relacionados con la declaración.

Pruebas de reproducción aleatoria y rango.

Estas pruebas ZK se utilizan en la votación electrónica y en transacciones que preservan la privacidad.

protocolos sigma

Los protocolos Sigma son una clase de pruebas ZK que implican tres pasos: compromiso, desafío y respuesta.

A prueba de balas

Los Bulletproofs están diseñados para proporcionar pruebas de alcance eficientes para grandes conjuntos de valores.

2.¿Cómo funcionan las pruebas de conocimiento cero?

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.

El problema

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?

Solución utilizando el protocolo ZK-proofs.

Configuración

Tanto el probador como el verificador coinciden en las regiones y enlaces del gráfico (mapa).

Declaración

El demostrador afirma tener una combinación confiable de tres colores para el gráfico proporcionado.

Ronda 1: Compromiso

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.

Ronda 2: Desafío

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.

Ronda 3: Respuesta

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.

Iteración

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.

Conclusión

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.

3. ¿Cuáles son las aplicaciones de las pruebas de conocimiento cero?

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.

4. ¿Se pueden integrar las pruebas ZK en plataformas blockchain?

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:

Privacidad y confidencialidad

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.

Verificación y auditoría

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.

Escalabilidad

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.

Identidad y autenticación

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.

Interoperabilidad entre cadenas

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.

5. ¿Cuáles son las desventajas de las pruebas de conocimiento cero?

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.

Descargo de responsabilidad:

  1. Este artículo está reimpreso de [Cointelegraph]. Todos los derechos de autor pertenecen al autor original [SHIRAZ JAGATI]. Si hay objeciones a esta reimpresión, comuníquese con el equipo de Gate Learn y ellos lo manejarán de inmediato.
  2. Descargo de responsabilidad: los puntos de vista y opiniones expresados en este artículo son únicamente los del autor y no constituyen ningún consejo de inversión.
  3. Las traducciones del artículo a otros idiomas están a cargo del equipo de Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.
Empieza ahora
¡Regístrate y recibe un bono de
$100
!