Saltar al contenido

Qué es la prueba de conocimiento cero (2KP)

Qué es la prueba de conocimiento cero (ZKP).

¿Qué es la prueba de conocimiento cero (2KP)?

En criptografía, un protocolo de conocimiento cero o prueba de conocimiento cero, también conocido por el acrónimo ZKP (English Zero Knowledge Proof) es un protocolo criptográfico que proporciona una forma para que una parte intente que no sea una declaración (normalmente matemática) es verdadera, sin revelar nada más que la veracidad de la declaración.

Propiedades de la prueba de conocimiento cero (2KP)

Una prueba de conocimiento cero debe satisfacer tres propiedades:

Totalidad:

Suponga que la declaración es verdadera y usted quiere probarlo. Si tenemos un verificador y un probador honesto (siga el protocolo correctamente), el protocolo del testador convence abrumadoramente al verificador de que la declaración es verdadera. La definición de probabilidad abrumadora depende de la aplicación, pero generalmente implica que la probabilidad de fracaso no es significativa en la práctica.

Solvencia:

Supongamos que la declaración es falsa. No hay ningún probador engañoso que pueda convencer al probador honesto de que la declaración es verdadera, excepto con una pequeña probabilidad.

Conocimiento Cero:

Si la declaración es verdadera, un probador engañoso no aprende nada más que este hecho. Esto se formaliza mostrando que cada probador engañoso tiene algún simulador, teniendo en cuenta sólo la declaración que se va a demostrar (sin acceso al probador), puede producir una transcripción que “parece” una interacción entre el probador y el tramposo honesto probador. Esta es la condición que lo distingue dentro del conjunto de pruebas de conocimiento.

Qué es la prueba de conocimiento cero (ZKP).

Clasificación de la prueba de conocimiento cero (2KP)

  1. Las pruebas de conocimiento cero pueden ser interactivas o no interactivas.
  2. Pruebas interactivas de conocimiento cero.
  3. En las pruebas interactivas de conocimiento cero, también conocidas con el acrónimo IZKP (English interactive zero-knowledge tests), no es necesario que tanto los probadores como los verificadores estén presentes durante la ejecución del protocolo. Las pruebas interactivas de conocimiento cero generalmente tienen el siguiente formato:
  4. El probador genera un mensaje de compromiso indicando que conoce el secreto.
  5. El probador devuelve un desafío al probador. El reto suele ser aleatorio.
  6. El probador envía una respuesta al probador. El cálculo de la respuesta debe tener en cuenta el compromiso que tienes con el secreto, el reto y el secreto.
  7. Este proceso puede repetirse varias veces para asegurar la verificación.

Ejemplos de este tipo de algoritmo son:

  • Algoritmo de identificación de Schnorr
  • Protocolo Chaum-Pedersen
  • Protocolo Cramer-Damgard-Schoenmakers
  • Pruebas no interactivas de conocimiento cero
  • testing the non-interactive zero knowledge, también conocido por el acrónimo NIZKP (Proof English Non-Zero-Knowledge Interactive) son pruebas de conocimiento cero que no requieren que el probador y el probador estén presentes durante la ejecución del protocolo. En estos protocolos, el probador genera una transcripción del protocolo para que el probador pueda comprobarlo más tarde.
  • Para convertir una prueba interactiva en una prueba no interactiva, la heurística de Fiat-Shamir se utiliza comúnmente.
  • Pruebas no interactivas de conocimiento cero

Qué es la prueba de conocimiento cero (ZKP).

Este protocolo también sirve para “pruebas secretas”, es decir, pruebas en las que no es necesaria la interacción entre el probador y el verificador. Este protocolo es la base sobre la que se construye “zkSNARKS” (Short Zero-Knowledge Non-Interested Knowledge Argument). zKSNARKS es la columna vertebral del protocolo ZCash (un proyecto de cadena de bloques basado en Zero Knowledge Proof) y una de las características de la próxima versión de Ethereum Metropolis.