CONSIDERACIONES PREVIAS


  • Las pruebas de conocimiento cero, también conocidas por las siglas ZKP (del inglés Zero Knowledge Proof), son unos protocolos criptográficos que establecen un método para que una parte (persona, institución, etc) demuestre a otra que está en posesión de una información determinada, sin necesidad de revelar dicha información.
  • Los ZKP funcionan en base a un modelo probabilístico en el que el verificador pregunta al probador una cuestión con difícil aleatoriedad. Si este ofrece la respuesta correcta quiere decir que existe una alta probabilidad de que cuente con el conocimiento en cuestión.
  • La importancia de este avance tecnológico radica en que la privacidad de los datos es uno de los asuntos más importantes en nuestros días, y esta importancia va a seguir creciendo en los próximos años.

Las grandes compañías tecnológicas, como Google o Facebook, han basado los cimientos de su negocio en el aprovechamiento de los datos que los consumidores vuelcan en la red. De esta forma han conseguido convertirse en los gigantes que dominan el mundo digital de nuestros días. Sin embargo, la protección de estos datos personales, y la identidad de los consumidores en la red, es una barrera cada vez más importante para el crecimiento de los modelos de negocio asociados a estas “big tech”. Recientes avances en criptografía y blockchain podrían ofrecer una forma de ayudar a proteger estos datos e identidad.

Por ejemplo, las pruebas de conocimiento cero (ZKP) podrían ser una de las respuestas, ya que se ha convertido en uno de los conceptos más interesantes de los que se puede hablar en el mundo de las criptomonedas, en lo que respecta al apartado técnico.

El protocolo ZKP (Zero Knowledge Proof) básico es interactivo y requiere que el verificador (“verifier”) haga constantemente una serie de preguntas sobre el “conocimiento” que posee el  probador (“prover). El siguiente gráfico nos muestra el esquema de funcionamiento de un intercambio de datos basado en un protocolo ZKP:

“Ser capaz de responder a una pregunta como: ¿tiene un usuario dinero suficiente para enviar a otro usuario? sin saber quién es el usuario, o exactamente cuánto dinero tiene, es uno de los casos de uso principales para las pruebas de conocimiento cero en blockchain”. – Demiro Massessi, experto en blockchain de Medium.com

APLICACIONES DE LOS ZKP


Sus principales aplicaciones son: Blockchain privadas, compras privadas, sistemas de autenticación, transacciones seguras con criptomonedas y pruebas de conocimiento. Las desarrollaremos más extensamente a continuación.

Blockchain Privadas

Los ZKPs pueden usarse para garantizar la validez de una transacción online a pesar de que los detalles personales del emisor y el receptor, así como otros datos relacionados con la transacción, permanezcan ocultos. Uno de los proyectos blockchain más conocidos que ha implementado un sistema de pruebas ZKPs es el de ZCash. Esta criptomoneda ha implementado un sistema ZKP denominado zk-SNARKS que permite validar la viabilidad de una transacción sin necesidad de revelar ninguna información crucial sobre los implicados. Es decir, permite garantizar a los usuarios un absoluto anonimato en las transacciones.

Hasta el momento, ninguna otra criptomoneda, incluida Bitcoin, lo había hecho posible y las transacciones que se realizan con ellas son visibles para todos los usuarios de la red. Teóricamente, las criptomonedas podrían calificarse como anónimas, ya que no es posible asignar una identidad real al identificador de la transacción que se realiza con ellas, pero, en realidad, lo cierto es que pueden cruzarse los identificadores públicos con otros datos para lograr una completa trazabilidad.

En la siguiente vídeo-presentación, miembros de la Ethereum Foundation realizan una buena explicación para entender detalle cómo y por qué funciona el método zkSNARK:

Vitalik Buterin, creador de Ethereum, la segunda criptomoneda más popular del mundo, ha asegurado que zk-SNARK es “una tecnología realmente revolucionaria“. Y es que permitirá asegurar la privacidad no solo en el intercambio de criptodivisas, sino en los propios sistemas de las entidades financieras tradicionales.

Compras privadas

Imaginemos ir al supermercado y comprar productos con la tarjeta de crédito sin revelar la información de la misma al comerciante. Una tarjeta inteligente con prueba de conocimiento cero puede ser capaz de identificar el titular de la tarjeta sin darle al comerciante dicha información, es decir, el número de la tarjeta, impidiéndole realizar compras ilícitas o falsificaciones.

Sistemas de autenticación

Otra aplicación importante es la de los sistemas de autenticación, que pueden servir para identificarse en aplicaciones o sitios web sin necesidad de introducir nombres de usuario y contraseñas, etc.

Es decir, con ella podemos proveer de una información secreta como lo son las contraseñas sin siquiera tener que revelarlas.

Actualmente, las pruebas de conocimiento cero son demasiadas complicadas para ser utilizadas solo para contraseñas, pero con el tiempo podrían ser más sencillas y proteger las contraseñas que utilizamos a diario en internet.

Transacciones seguras con criptomonedas

La mayor aplicación para lo que respecta a las criptomonedas en es el anonimato en las transacciones. Algunas de las soluciones en este espacio que ya utilizan las pruebas de conocimiento cero son Zcash, Monero, PIVX y Zerocoin.

Estas criptomonedas utilizan el protocolo para ofuscar los detalles de las transacciones dentro del blockchain público. Dentro de ellos encontramos la información del emisor, del receptor y la cantidad de monedas que se hayan transferido.

En una transacción con Bitcoin, por ejemplo, pueden utilizarse para establecer que la pre-imagen del hash sea una clave que desbloquea algunos datos requeridos. Esto lo convierte en una herramienta poderosa para realizar ciertas transacciones de riesgo. El desarrollador de Bitcoin Gregory Maxwell consiguió demostrar esta prestación, en el año 2016, al llevar a cabo el primer pago ZKP finalizado con éxito.

La utilización de las pruebas de conocimiento cero en una red pública descentralizada tiene un enorme valor, ya que permite anonimizar completamente las transacciones de la red, algo muy deseable para las persona que no quieren hacer públicos todos sus movimientos.

Pruebas de conocimiento 

Esto consiste en demostrar que se posee cualquier conocimiento sin necesidad de revelar la solución. Esta función podría aplicarse a infinidad de áreas, que van desde los juegos al terreno educativo o el de los negocios.

CASOS DE ÉXITO


Los bancos son conscientes de que esta nueva tecnología, a pesar de que está todavía en estado de investigación, podría establecerse como una de las grandes aplicaciones de blockchain en el terreno financiero, y saben que pueden adoptarla para resolver multitud de problemas relacionados con la seguridad, la protección de datos y el cumplimiento regulatorio en actividades financieras online.

ING Direct

ING Direct ha estado investigando con la aplicación para casos de la vida real de los llamados Bulletproofs, una versión de blockchain, desarrollada por expertos en criptografía de la Universidad de Stanford y el University College de Londres en colaboración con la startup Blocksteam, la cual que permite intercambiar información utilizando ZKPs.

En la entidad financiera consideran que la tecnología podría ser útil para los bancos a la hora de lidiar con ciertas preocupaciones relativas a la privacidad como el cumplimiento de la normativa GDPR.

JPMorgan y Zcash

La firma de desarrollo detrás de la Blockchain pública centrada en la privacidad Zcash ha anunciado la primera integración de su capa de seguridad de conocimiento cero (ZSL) en un Blockchain empresarial, con JPMorgan revelando que ha agregado la funcionalidad a su Blockchain de Quorum.

El cofundador de Zcash, Zooko Wilcox, dijo: “Lo que ahora hemos hecho a través de nuestra asociación con JPMorgan es usar la tecnología zcash anteriormente pionera en la criptomoneda abierta de zcash para crear una transferencia protegida y auditable de la propiedad de tokens en la Blockchain de JPMorgan”.

Para completar el proyecto, JPMorgan se asoció con Zcash Company (la empresa que administra el desarrollo de código abierto de zcash) y recurrió al apoyo de Microsoft.

“El anuncio es un excelente ejemplo de cómo los grandes bancos y la fintech pueden trabajar codo a codo para construir tecnología innovadora para los mercados financieros”, dijo en un comunicado Umar Farooq, jefe de iniciativas de Blockchain del JPMorgan.

Ernst and Young (E&Y)

Por su parte, la consultora Ernst and Young (E&Y) ha anunciado que va a lanzar próximamente su nueva tecnología ZKP para blockchain Ethereum. El proyecto, titulado Nightfall Protocol, utiliza las pruebas de conocimiento cero para permitir a las organizaciones realizar transacciones privadas en la misma red sin renunciar a la seguridad y la naturaleza distribuida de la cadena de bloques ETH.

BIBLIOGRAFÍA