El uso combinado de la tecnología Blockchain y los sistemas Zero Knowledge Proof rompe la dicotomía entre confidencialidad y verificabilidad, perfilando un amplísimo abanico de aplicaciones muy valiosas como pueden ser erigir sistemas de votación electrónica más robustos, mejorar el tratamiento de historiales médicos en beneficio de los pacientes, anonimizar adecuadamente los datos de los usuarios en las Apps de mensajería, o suscribir acuerdos complejos entre empresas sin exponer información a la competencia.
Blockchain ofrece unas conocidas virtualidades en cuanto a capacidad de registro, inmutabilidad y transparencia, que hacen que podamos vaticinar que la generalización de esta tecnología puede redimensionar completamente ámbitos tan importantes como la administración pública, la propia naturaleza de la actividad económica (para avanzar hacia modelos más colaborativos), las transacciones financieras, la gestión de redes de suministro energético, el tratamiento de historiales médicos, el campo de los seguros, la idiosincrasia de los procedimientos notariales y un amplísimo etcétera.
Además, el hecho de que sea una tecnología transparente (en el sentido de que la información registrada a lo largo de toda la cadena de bloques es pública y verificable) no tiene que comportar una pérdida de privacidad, gracias a la combinación de Blockchain con sistemas basados en la Zero Knowledge Proof (ZKP), un protocolo que permite comprobar y certificar datos concretos conservando la confidencialidad del resto de la información.
Los orígenes de Zero Knowledge Proof anteceden varias décadas a los de Blockchain.
Los orígenes de ZKP se retrotraen a los años 80, mucho antes de que surgiese Blockchain, cuando Shafi Goldwasser, Silvio Micali y Charles Rackoff, tres investigadores del Instituto Tecnológico de Massachusetts, crearon su base metodológica, que fundamentalmente consiste en un esquema de cifrado que posibilita a un verificador comprobar la veracidad de unos datos específicos ofrecidos por un probador, sin que este le tenga que proporcionar ninguna información suplementaria.
Los métodos de verificación pueden ser interactivos o no interactivos, en el sentido de implicar la interrelación entre el verificador y el probador, debiendo en cualquier caso para ser considerado un protocolo fiable de Prueba de Conocimiento Cero cumplir una serie de requerimientos en cuanto a integridad, exhaustividad y robustez, con el objetivo de que las posibilidades de engaño sean nulas pese a la hipotética concurrencia de un probador fraudulento.
La gran ventaja de la combinación de esta tecnología con la de Blockchain es que permite preservar la privacidad de los usuarios en cadenas de bloques o libros mayores públicos, enriqueciendo tanto las funcionalidades de estos como su escalabilidad con un método criptográfico sencillo pero altamente eficaz, que solo puede verse comprometido por recursos de la computación cuántica que no resultan aplicables a día de hoy.
Aplicaciones de la combinación de Blockchain con tecnologías Zero Knowledge Proof.
Así, las potencialidades de conjugar Blockchain con ZKP dejan vislumbrar un vastísimo horizonte de aplicaciones, empezando por los propios Smart Contracts, o contratos inteligentes autoejecutables que se van activando automáticamente cuando verifican el cumplimiento de condiciones por la otra parte.
Zero Knowledge Proof aporta como importante valor añadido la oportunidad de que para conocer un determinado aspecto concreto no sea necesario más que comprobar ese dato específico, sin acceder al resto de información, con la ventaja adicional además de que esa prueba de verificación pueda ser respondida con un mero «sí» o «no«.
Igualmente, los protocolos Zero Knowledge Proof en conjunción con Blockchain tienen una aplicación muy útil para el tratamiento de historiales médicos, al propiciar un acceso acotado de antemano, limitado por ejemplo a poder habilitar la interoperabilidad de distintas administraciones, o la comprobación de datos concretos por parte de aseguradoras, pero sin acceder a datos sensibles de los pacientes.
La UE estudia utilizar tecnologías ZKP para el Covid Green Pass.
De hecho, la propia Unión Europea está barajando implementar la tecnología ZKP en un documento tan sensible como el certificado digital Covid, mientras que otros organismos oficiales como la Agencia Española para la Protección de Datos (AEPD) valoran muy positivamente los beneficios de los sistemas basados en protocolos Zero Knowledge Proof.
Asimismo, ZKP puede usarse para el encriptado en aplicaciones de mensajería, al posibilitar la verificación de identidad sin cesión de datos personales adicionales al proveedor del servicio, un asunto muy sensible y que ha sido objeto de polémica, particularmente en Apps que forman parte de un ecosistema de negocio en el que toda información del usuario es susceptible de ser rentabilizada.
También, se han explorado en lugares como Nápoles las potencialidades del uso combinado de Blockchain y ZKP para garantizar la integridad, confidencialidad y transparencia de los sistemas de votación electrónica, ya que la unión de ambas tecnologías concilia el anonimato de la información relativa al voto con la necesidad de verificar todos los requisitos precisos para dar el sufragio como válido.
Transacciones y contratos inteligentes confidenciales en cadenas de bloques públicas.
Como ya anticipábamos, si hay un campo en el que estén aflorando ya las virtualidades de la alianza entre las tecnologías de Blockchain y ZKP ese es sin duda el de los contratos privados de formato Smart Contract.
De hecho, consultoras como EY han lanzado un protocolo Zero Knowledge Proof que da a las empresas la oportunidad de realizar transacciones privadas con total seguridad y confidencialidad en cadenas de bloques públicas, así como de suscribir acuerdos complejos que requieren un alto nivel de verificación de información entre partes sin exponer la misma, por ejemplo, al radar de la competencia.
Blockchain no solo aporta las evidentes ventajas por la que es conocida, sino que además en combinación con otras tecnologías como las basadas en protocolos ZKP es capaz de escalar exponencialmente sus funcionalidades.