Prueba de conocimiento cero – Part 1

Zero Knowledge Proof (ZKP) es un esquema de cifrado propuesto originalmente por los investigadores del MIT Shafi Goldwasser, Silvio Micali y Charles Rackoff en la década de 1980

Los protocolos de conocimiento cero son evaluaciones probabilísticas, lo que significa que no prueban algo con tanta certeza como lo haría simplemente revelando toda la información. Proporcionan información no vinculable que, en conjunto, puede mostrar que la validez de la afirmación es probable. 

Actualmente, un sitio web toma la contraseña del usuario como entrada y luego compara su hash con el hash almacenado. De manera similar, un banco requiere su puntaje de crédito para proporcionarle el préstamo, dejando su privacidad y el riesgo de fuga de información a merced de los servidores host. Si se puede utilizar ZKP, la contraseña del cliente es desconocida para el verificador y aún se puede autenticar el inicio de sesión. Antes de ZKP, siempre cuestionamos la legitimidad del probador o la solidez del sistema de prueba, pero ZKP cuestiona la moralidad del verificador. ¿Qué pasa si el verificador intenta filtrar la información? 

Ejemplo-1: Un amigo daltónico y dos pelotas: 
Hay dos amigos, Sachin y Sanchita, de los cuales Sanchita es daltónico. Sachin tiene dos bolas y necesita demostrar que ambas bolas son de diferente color. Sanchita cambia las bolas al azar detrás de su espalda y se lo muestra a Sachin, quien tiene que decir si las bolas están cambiadas o no. Si las bolas son del mismo color y Sachin ha dado información falsa, la probabilidad de que responda correctamente es del 50%. Cuando la actividad se repite varias veces, la probabilidad de que Sachin dé la respuesta correcta con la información falsa es significativamente baja. Aquí Sachin es el “probador” y Sanchita es el “verificador”. El color es la información absoluta o el algoritmo a ejecutar, y se prueba su solidez sin revelar al verificador la información que es el color. 

Ejemplo-2: Finding Waldo: 
Finding Waldo es un juego en el que tienes que encontrar a una persona llamada Waldo a partir de una instantánea de una gran multitud tomada desde arriba. Sachin tiene un algoritmo para encontrar a Waldo pero no quiere revelárselo a Sanchita. Sanchita quiere comprar el algoritmo, pero necesitaría verificar si el algoritmo funciona. Sachin corta un pequeño agujero en un cartón y lo coloca sobre Waldo. Sachin es el “probador” y Sanchita es el “verificador”. El algoritmo se prueba con cero conocimiento al respecto. 

Propiedades de la prueba de conocimiento cero: 
 

  • Conocimiento cero: 
    si la declaración es verdadera, el verificador no sabrá que la declaración o lo fue. Aquí la declaración puede ser un valor absoluto o un algoritmo. 
     
  • Integridad: 
    si la declaración es verdadera, un verificador honesto puede convencerse eventualmente. 
     
  • Solidez: 
    si el probador es deshonesto, no puede convencer al verificador de la solidez de la prueba. 
     

Tipos de prueba de conocimiento cero: 
 

  1. Prueba interactiva de conocimiento cero: 
    requiere que el verificador haga constantemente una serie de preguntas sobre el «conocimiento» que posee el probador. El ejemplo anterior de encontrar a Waldo es interactivo ya que el «probador» realizó una serie de acciones para demostrar la solidez del conocimiento al verificador. 

     

  2. Prueba de conocimiento cero no interactiva: 
    para que la solución «interactiva» funcione, tanto el verificador como el probador deben estar en línea al mismo tiempo, lo que dificulta la ampliación en la aplicación del mundo real. La prueba de conocimiento cero no interactiva no requiere un proceso interactivo, lo que evita la posibilidad de colusión. Requiere elegir una función hash para elegir aleatoriamente el desafío por parte del verificador. En 1986, Fiat y Shamir inventaron la heurística Fiat-Shamir y cambiaron con éxito la prueba interactiva de conocimiento cero a una prueba no interactiva de conocimiento cero. 
     

Publicación traducida automáticamente

Artículo escrito por ciberexplosion y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *