Qué es el Zero-Knowledge Proof y por qué puede ser el próximo paso a la privacidad en blockchain
blockchain

Qué es el Zero-Knowledge Proof y por qué puede ser el próximo paso a la privacidad en blockchain

Santiago Di Paolo
Santiago Di Paolo

Si bien la transparencia de blockchain brinda una ventaja en muchas situaciones, también hay una serie de casos de uso de contratos inteligentes, o smart contracts, que requieren privacidad debido a diversas necesidades legales o comerciales. Una forma cada vez más común de lograr dicha privacidad es a través de prueba de conocimiento cero, o zero-knowledge proof.

Zero-Knowledge Proof

¿Qué es zero-knowledge proof?

Zero-Knowledge Proof (ZKP), o prueba de conocimiento cero, es un método que permite que una parte (el probador) demuestre criptográficamente a otra parte (el verificador) que posee “X” conocimiento, sin revelar la información subyacente. En otras palabras, en una prueba de conocimiento cero lo que hago es convencerte de que tengo un conocimiento sobre algo pero sin revelar dicho conocimiento, ni cómo llegué a este.

Desde una perspectiva más técnica, los protocolos de conocimiento cero son evaluaciones probabilísticas, esto significa que no prueban algo con una certeza completa. En cambio, proporcionan fragmentos chiquitos de información que no se pueden vincular y que pueden acumularse para mostrar que la validez de una afirmación es probable.

Zero-Knowledge Proof puede fomentar una nueva ola de adopción pública de blockchain con una privacidad mejorada para usuarios e instituciones por igual.

Pero, ¿cómo es posible, por ejemplo, demostrar que tenemos la contraseña correcta sin decírsela a los administradores?

La contraseña "privada" del verificador y la contraseña "pública" que conoce el verificador están vinculadas matemáticamente. De esta manera, el verificador puede verificar si pertenecen juntos, pero sigue siendo privada ya que el verificador no puede rastrear o generar la contraseña privada utilizando solo ese conocimiento.

Tipos de Zero-Knowledge proof:

Hay dos tipos principales de pruebas de conocimiento cero: interactivas y no interactivas.

  • Los ZKP interactivos implican una serie de tareas o acciones que el probador debe completar para convencer al verificador de que tiene “X” información particular. La mayoría de las tareas requeridas realizadas en ZKP interactivos generalmente involucran conceptos de probabilidad matemática.
  • Los ZKP no interactivos no requieren interacción entre el probador y el verificador, o mismo la verificación puede tener lugar en una etapa posterior. Estos tipos de ZKP requieren computadoras o software adicionales.

Las pruebas de conocimiento cero tienen que cumplir con los siguientes criterios:

  • Integridad: si el probador proporciona la contraseña correcta, el verificador va a estar convencido de que es efectivamente la contraseña correcta.
  • Solidez: el verificador está convencido si y solo si el probador está ingresando la contraseña correcta.
  • Conocimiento cero: el verificador no tiene que aprender la contraseña para realizar su trabajo.

Zero-knowledge proof y blockchain:

Blockchain y Zero-Knowledge Proof

Blockchain, o cadena de bloques, es un libro de contabilidad digital que registra las transacciones de forma pública o privada y de forma secuencial, que puede facilitar las transacciones de igual a igual, eliminando o reduciendo la necesidad de intermediarios.

Las cadenas de bloques permiten que todas las partes vean todas las transacciones. Las pruebas de conocimiento cero permiten que las transacciones confidenciales que priorizan la privacidad se publiquen en la blockchain, sin dejar de lado este último. ¿Cómo? Al proporcionar un medio para probar que la transacción se realizó correctamente, sin revelar la información secreta que se utilizó en la transacción (ya sean direcciones, montos, etc.).

¿Cuales son las aplicaciones de uso de ZKP?

Las posibles aplicaciones de uso de las pruebas de conocimiento cero incluyen:

  1. Transacciones confidenciales en blockchains: los datos de la transacción se cifran criptográficamente y se publica una prueba para demostrar que se calculó correctamente.
  2. Documentación compleja: la combinación de ZKP y blockchain permite a los usuarios compartir documentos complejos con seguridad. Los ZKP tienen el potencial de encriptar datos en partes, lo que le permite a los usuarios controlar ciertos bloques y la visibilidad de la información contenida dentro de ellos, permitiendo así el acceso de algunos usuarios mientras restringe el acceso de otros.
  3. Verificación de preservación de la privacidad: un probador presenta una prueba de conocimiento cero a un verificador sin proporcionar acceso a registros financieros privados.
  4. Aplicaciones de mensajería: las aplicaciones de mensajería tradicionales requieren que los usuarios verifiquen su identidad en un servidor. Con ZKP una persona puede probar su identidad sin revelar información personal adicional.

Ventajas y desventajas:

Ventajas y Desventajas de Zero-Knowledge Proof

Ventajas:

  1. Privacidad: aumenta la privacidad de los usuarios al evitar la revelación de información personal en blockchains públicas.
  2. Seguridad: refuerza la seguridad de la información al reemplazar métodos de autenticación ineficaces.
  3. Escalabilidad: aumenta el rendimiento y la escalabilidad de la blockchain.

Desventajas:

  1. Limitado: los protocolos para ZKP generalmente se basan en ecuaciones matemáticas y respuestas numéricas.
  2. Requiere una gran cantidad de poder de cómputo: hay alrededor de 2000 cálculos por transacción ZKP y cada uno requiere una cierta cantidad de tiempo para procesarse.
  3. Restringido: si el autor de una transacción olvida su información, todos los datos asociados con ella se pierden.


Join the conversation.