Cómo la Prueba de Conocimiento Nulo (ZKP por sus siglas en inglés, Zero Knowledge Proof) Puede Garantizar la Privacidad de los Datos

(-2 nL)
9 min read

Probablemente, te hayas topado con las expresiones “si es gratis, tú eres el producto” o “los datos son el nuevo petróleo”, y te hayas reído como un tonto. La verdad es que los datos son la fuerza que impulsa casi todos los negocios y servicios. Por ejemplo, las experiencias y los servicios personalizados, el marketing y una serie de otros conocimientos y servicios dependen del volumen y la calidad de los datos que se les proporcionan. La mayoría de las empresas están ansiosas por acceder a los datos para ayudar a comprender mejor a sus clientes, predecir los patrones de comportamiento de los clientes y mejorar la calidad de sus servicios.

El espacio tradicional siempre ha estado sujeto a preocupaciones en torno a los datos y la privacidad. Los defensores de la privacidad han señalado durante mucho tiempo sus preocupaciones sobre cómo se almacenan los datos, cómo se accede a ellos y quién tiene acceso a ellos. Con el crecimiento del ecosistema de criptomonedas y blockchain, también han surgido preocupaciones similares en este sector. La naturaleza pública de las cadenas de bloques ha introducido varias preocupaciones de privacidad para los usuarios con respecto a la protección de su información personal. En este artículo analizaremos más de cerca el problema de la privacidad en las cadenas de bloques y cómo las pruebas de Conocimiento Nulo – (Zero Knowledge – ZK) pueden mitigarlos.

¿Qué es la privacidad de datos?

El aumento en el uso de Internet le ha dado gran importancia al tema de la privacidad de datos, ya qué casi todos los sitios web, aplicaciones y plataformas de redes sociales recopilan y almacenan información personal de los usuarios para proporcionar ciertos servicios. Sin embargo, estas plataformas y sitios web a menudo no cuentan con las medidas de seguridad adecuadas para proteger los datos recopilados, lo que da lugar a numerosas filtraciones de datos.

Con el crecimiento de la tecnología blockchain y el ecosistema cripto, ha habido una creciente preocupación por la privacidad de los usuarios minoristas e institucionales. Estas preocupaciones se deben principalmente a la naturaleza pública de las cadenas de bloques, ya que la mayoría de las soluciones de Capa 1 y Capa 2 no abordan estos problemas. La privacidad de los datos se refiere a la capacidad de los usuarios para determinar, por su parte, cuándo y cómo se comparte su información con otros. También abarca la capacidad de los usuarios de dictar hasta qué punto se comparten sus datos. Esta información puede incluir sus nombres, ubicación, información de contacto, comportamiento en línea, gustos, disgustos, detalles de transacciones y más.

Confianza, privacidad y la cadena de bloques

En la actualidad, el ecosistema de las criptomonedas está experimentando una conmoción considerable tras el colapso de grandes proyectos como FTX. Sin embargo, la tecnología subyacente que respalda las criptomonedas tiene el potencial de revolucionar la privacidad, la confianza y cómo se aprovecha la confianza. Esto es fundamental en la era de Internet, cuando millones navegan y comparten grandes cantidades de su información personal para acceder a servicios y productos.

La tecnología Blockchain viene inherentemente con problemas relacionados con la privacidad, gracias a su diseño. La naturaleza descentralizada de las cadenas de bloques significa que los nodos que procesan las transacciones o la información tienen acceso a los datos de la cadena de bloques. Por ejemplo, la cadena de bloques de Bitcoin está disponible públicamente y cualquier persona que desee consultar su historial de transacciones hasta su bloque de génesis puede acceder a ella. Ahora, recuerde, Bitcoin es pseudo-anónimo, lo que significa “puntos de datos que no están directamente asociados con un individuo específico [pero donde] se pueden vincular múltiples apariencias de [una] persona”.

Suficientes datos pseudo-anónimos permiten identificar a las personas detrás de las transacciones, lo cual es preocupante para los usuarios de blockchain, y hay varias razones para ello. A diferencia de los datos que utilizan las aplicaciones normales, a los que solo unos pocos pueden acceder, los datos de la cadena de bloques pueden ser examinados por todos, lo que también incluye actores maliciosos y entidades que pueden explotar la información de la cadena de bloques para su beneficio. Además, la naturaleza inmutable de la cadena de bloques significa que las transacciones y los datos estarán permanentemente vinculados a la persona. Esto se puede hacer monitoreando la comunicación entre los nodos. Además, las billeteras cripto también se pueden analizar sin acceso a claves privadas, lo que complica aún más las cosas.

Un ejemplo de alto perfil del uso de datos de blockchain para rastrear a una persona fue la investigación y el arresto de Ross Ulbricht, el individuo detrás del infame sitio web darknet “Silk Road”, que se utilizó para diversas actividades ilegales. Las agencias de aplicación de la ley identificaron a Ulbricht como el individuo detrás de Silk Road, gracias a los datos de la cadena de bloques. Además, podrían rastrear las transacciones de Bitcoin y determinar que un agente de la Administración de Control de Drogas (DEA) de EE. UU. estaba lavando BTC conectado a Silk Road. En este caso, los organismos encargados de hacer cumplir la ley pudieron rastrear los datos disponibles en la cadena de bloques para identificar a un individuo notorio. Pero imagine si las entidades malintencionadas pudieran rastrear sus datos con tanta facilidad gracias a la naturaleza pública de la cadena de bloques. Los resultados serían devastadores.

Introducción a las pruebas de conocimiento cero o nulo

Silvio Micali, Shafi Goldwasser, y Charles Rackoff hablaron por primera vez sobre las Pruebas de Conocimiento Cero (o Nulo) en un artículo titulado “La complejidad del conocimiento de los sistemas de prueba interactivos” (“The Knowledge Complexity of Interactive Proof Systems”), y se consideran una innovación fascinante de la criptografía que se puede utilizar en varios escenarios. En el caso de la cadena de bloques, puede ayudar a permitir transacciones seguras y anónimas. El Zero Knowledge Proof (Prueba de Conocimiento Nulo), también conocido como Zero Knowledge Protocol (Protocolo de Conocimiento Cero), permite que una parte (el probador) demuestre a la otra parte (verificador) que conoce un valor o información específica (x) sin revelar ninguna información aparte del hecho de que conoce el valor o información en cuestión (x). El desafío cuando se trata de Prueba de conocimiento cero es justificar la posesión de la información sin revelarla ni revelar ninguna otra información adicional. Una prueba de conocimiento cero debe satisfacer los siguientes criterios.

  • Completitud – supongamos que la declaración es verdadera. Un verificador honesto, siguiendo correcta y fielmente el protocolo, será convencido por la información dada por el probador que está siguiendo correctamente el protocolo.
  • Solvencia – la solvencia significa que no debe haber forma de que el probador falsifique ninguna información o convenza falsamente al verificador. La falsificación debe ser imposible.
  • Conocimiento Cero – si la declaración del probador es verdadera, el verificador no sabe nada más que el hecho de que la información es verdadera.

Los dos primeros se consideran propiedades de sistemas de prueba interactivos más generales, con la adición de conocimiento cero que transforma el proceso de verificación en una prueba de conocimiento cero. Debido a una pequeña posibilidad (error de solvencia) de que un probador malicioso pueda convencer al verificador de una declaración falsa, las pruebas de conocimiento cero se consideran pruebas probabilísticas en lugar de pruebas deterministas. Sin embargo, el error de solidez se puede mitigar a un valor insignificante.

¿Qué criterios debe satisfacer una Prueba de Conocimiento Cero?

Correct! Wrong!

¿Cómo funciona ZKP (PCC/N)?

Pasted image 0

Créditos de la imagen

Una Prueba de Conocimiento Cero consiste en tres acciones que ocurren secuencialmente entre los participantes. Estas acciones se denominan testigo, desafío y respuesta. Profundicemos un poco más para comprender mejor el papel de cada acción, suponiendo que hay dos participantes, A y B.

Testigo – Supongamos que A conoce un valor o información específica, que también determina un conjunto de preguntas. Estas preguntas siempre pueden ser respondidas correctamente por A. Inicialmente, A puede elegir cualquier pregunta aleatoria del conjunto, calcular la prueba y enviársela a B.

Desafío – Después del paso de testigo viene la fase de desafío, donde B elige una pregunta del conjunto y le pide a A que la responda.

Respuesta – Luego A calcula la respuesta y se la envía de regreso a B. Esto le permite a B determinar si A realmente sabe la respuesta.

El proceso descrito anteriormente se puede repetir tantas veces como sea necesario hasta que se establezca que A sabe la respuesta correcta y la probabilidad de adivinar se vuelve lo suficientemente baja.

El documento "La complejidad del conocimiento de los sistemas de prueba interactivos" fue escrito por

Correct! Wrong!

Casos de uso de ZKP (PCC/N)

ZKP se puede aplicar en varios escenarios.

Sistemas de autenticación

Los sistemas de autenticación han jugado un papel crucial en el fomento de la investigación en Pruebas de Conocimiento Cero. En estos sistemas, una parte desea demostrar su identidad a una segunda parte a través de alguna información secreta. Sin embargo, no desea que la segunda parte obtenga ningún conocimiento sobre esta información secreta.

Confidencialidad

Uno de los casos de uso más importantes de ZKP se presenta en transacciones que requieren total confidencialidad. Veamos cómo: Considere una cadena de bloques como la cadena de bloques de Bitcoin. Generalmente, cuando ocurre una transacción en esta cadena de bloques, los datos relacionados con la transacción se registran en la cadena de bloques. Esto significa que cualquiera puede reunir cierta cantidad de información sobre la transacción analizando los datos en la cadena de bloques. Por el bien de la privacidad, es fundamental ocultar algunos detalles para transacciones específicas. ZKP permite ocultar detalles al tiempo que garantiza la validez de la transacción al agregarlos a un nuevo bloque.

Información Personal

Digamos que deseas tomar un préstamo de un banco. Para solicitar el préstamo, deberás aportar una gran cantidad de documentación qué consiste en una cantidad considerable de información personal, poniéndola a disposición de terceros. En el caso de obtener un préstamo de un banco, la única información requerida por el banco es saber si un individuo gana una cantidad específica suficiente para pagar el préstamo. ZKP puede ayudar a los bancos a verificar si una persona gana una cantidad mínima predefinida sin revelar ninguna información confidencial al banco o a un tercero.

ZKP (PCC/N) y Blockchain: el camino a seguir

Varios proyectos y criptomonedas utilizan ZKP, como ZCash, SmartCash, Zerocash y ZeroVert. ZKP se ha implementado principalmente a través de zk-SNARKS y zk-STARKS. zk-SNARKS fue desarrollado originalmente por ZCash. La mayoría de las cadenas de bloques son pseudo-anónimas, lo que significa que la identidad de un usuario se puede rastrear hasta sus transacciones mediante el estudio de los datos de la cadena de bloques. Esta información está disponible para todos los que tienen acceso a la cadena de bloques y cualquier entidad malintencionada podría explotarla.

A pesar de la reputación de blockchain como el pináculo de la ciberseguridad, esta deficiencia en particular es bien conocida por los usuarios. Sin embargo, ZKP podría ayudar a reparar esta vulnerabilidad y garantizar una total privacidad cuando se trata de información personal. Si bien ZKP todavía tiene algunos desafíos que superar, brinda a los usuarios el control de sus datos y privacidad, limita el acceso a terceros y desempeñará un papel crucial en la mejora de la privacidad cuando se trata de las cadenas de bloques.

Los ZKP son utilizados por

Correct! Wrong!

1 comentario en “Cómo la Prueba de Conocimiento Nulo (ZKP por sus siglas en inglés, Zero Knowledge Proof) Puede Garantizar la Privacidad de los Datos”

Deja un comentario


To leave a comment you should to:


Ir arriba