ZK

From TON Wiki (Es)

ZK (Zero-knowledge proof) es un método de cifrado criptográfico que permite a una parte verificar la exactitud de cualquier afirmación sin utilizar información adicional de la otra parte. En una operación de verificación, generalmente hay dos partes: la parte verificadora «The verifier» y la parte que proporciona la prueba «The prover».

El alcance del protocolo ZK se puede visualizar con el ejemplo de un préstamo. El prestamista quiere prestar dinero con intereses y asegurarse de que el prestatario sea confiable. Por otro lado, el prestatario quiere permanecer en el anonimato y no desea revelar sus datos.

La prueba ZK podría resolver este problema: el prestamista obtendría una garantía de la solvencia del prestatario, pero no conocería su identidad ni con qué exactamente se respalda el préstamo. Tal garantía no requeriría pruebas adicionales y funcionaría incondicionalmente.

¿Cómo funciona zk-SNARK?

Historia de origen

En 1985, Silvio Micali, Avi Wigderson y Oded Goldreich publicaron un artículo de investigación titulado «Knowledge Complexity of Interactive Proof Systems». En él se introduce el término prueba de conocimiento cero y se describe una aplicación de esta tecnología criptográfica. En este trabajo, la prueba no revela datos privados, pero introduce una comunicación obligatoria entre dos partes: la parte que prueba y la parte que verifica.

Categorías de evidencia ZK

zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) es un protocolo criptográfico que permite que la primera parte demuestre que posee información sin tener que revelarla a la parte opuesta. Tal manipulación solo es posible con el uso de una clave secreta creada antes de la interacción-transacción.

Zcash, un token de privacidad, es también la primera aplicación ampliamente disponible basada en zk-SNARKs. Utiliza el protocolo criptográfico zk-SNARK para proporcionar privacidad en la blockchain y dar a los usuarios acceso a información sobre sus transacciones. Por ejemplo, cuando un primer usuario envía tokens a un segundo usuario, la confirmación de su transacción privada se produce sin revelar ninguna información. Un tercer observador no podría encontrar información adicional oculta sobre el tipo de transacción, las partes involucradas o los montos de la transacción.

zk-STARKs (Zero-Knowledge Scalable Transparent Arguments of Knowledge) es un protocolo criptográfico que utiliza pruebas abiertas y analizadas aleatoriamente con privacidad. Esta tecnología permite a los usuarios intercambiar información confidencial auténtica o liquidar cuentas con un tercero. zk-STARK es un protocolo básico que no requiere una configuración inicial ni la divulgación de información confidencial a un tercero (este tipo de protocolo también se conoce como protocolos Arthur-Merlin).

Propiedades de ZK

  • Precisión: establece que la parte que confirma es capaz de certificar la validez de la afirmación ante la parte verificadora sin necesidad de pruebas adicionales.
  • Autenticidad: en caso de que la afirmación sea incorrecta, la parte que prueba no podrá argumentar lo contrario ante la parte verificadora.
  • Confidencialidad total: significa que no es posible conocer nada más sobre la afirmación aparte de su autenticidad.

Uso de ZK

ZK está diseñado para una amplia gama de tecnologías e industrias debido a su capacidad para proteger los datos.

  • En blockchain, ZK permite a los usuarios confirmar transacciones sin revelar datos personales, lo que aumenta el nivel de privacidad.
  • En el sector financiero, las técnicas criptográficas ZK ayudan a proteger los datos de los clientes y a garantizar el cumplimiento de la normativa.
  • Además, las tecnologías ZK están encontrando aplicaciones en los sistemas de identificación y autenticación, permitiendo a los usuarios confirmar su identidad sin necesidad de compartir información privada.
  • En el ámbito de los datos médicos, ZK garantiza la privacidad al permitir que los investigadores accedan a los datos de los pacientes sin comprometer su confidencialidad.

Funciones de ZK en la blockchain de TON

  • Identificación: posibilidad de verificar sin revelar información personal.
  • Ciberseguridad: uso de pruebas de conocimiento cero para verificar la validez de los datos sin necesidad de divulgar claves de cifrado.
  • Protocolos de intercambio de información: ZK se usa en aplicaciones donde es necesario demostrar que se cumplen ciertas condiciones sin revelar los datos subyacentes.

Enlaces

  1. Fuente de la ilustración
  2. Qué son los ZK-Snarks
  3. ZK. Información básica
  4. ZK-Snark. Información
  5. Explicación de zk-SNARKs y zk-STARKs