Ser conscientes y darle importancia al uso de nuestros datos

Hace una década, teníamos control de nuestra identidad, los datos que revelamos y el contenido que consumimos todo dependía netamente de nosotros. Cada persona podía gestionar su identidad eligiendo a quién mostrar o no tu ID; decidir si firmar o no documentos físicos, y el contenido o música que se consumía era decisión y gusto de cada persona. Se podría decir que éramos más reservados con nuestros datos y privacidad, tal vez inconsciente, pero teníamos cierto “control”.

Hoy en día, se podría decir que todos los días vendemos nuestros datos para consumir contenido en nuestras aplicaciones favoritas, al navegar por internet o por necesidad de comunicación. Esto de cierta forma podemos verlo como un servicio gratuito, pero que lo pagamos brindando nuestros datos para su uso. Un ejemplo claro de ello, pocas personas se detienen a leer sobre los términos y condiciones antes de usar una aplicación.

Aunque hoy en día es esencial posicionarse en la red para hacer crecer nuestra marca personal, compartir contenido, conseguir oportunidades o desarrollar proyectos, no todo es desalentador. Los invito a ponerse los “nougles” y no ver la protección de datos como un problema, sino como una actividad consciente. Con los “nougles”, podemos tomar decisiones informadas sobre el uso de nuestros datos, optando por crear perfiles con seudónimos o apodos en lugar de nuestros nombres reales y evitando compartir información sensible como nuestro rostro o lugar de residencia. De esta manera, es posible compartir contenido, conseguir oportunidades y desarrollar proyectos sin revelar datos sensibles ni ser víctimas de estafas o ataques informáticos. Aún hay formas de crecer en la red sin necesidad de exponer la totalidad de nuestros datos personales.

¿Puede blockchain mantener la privacidad necesaria?

La forma de acceder a servicios siempre es depender de un ente central, pero que capaz si está colapsa todo el sistema. El ejemplo más sencillo, es acceder a una cuenta bancaria en una entidad, se debe brindar una cantidad de datos absurda para acceder a su servicio. Pero que sucede, si esta identidad desaparece o sufre un colapso, lo perdemos todo, no tenemos un control “real” sobre nuestros datos y activos en esa entidad.

Servicio centralizado (entidad bancaria)

Si bien Blockchain nos ha brindado un escudo contra esta centralización y brindado una capa de transparencia, es decir, cada persona posee su wallet o portafolio donde si llegase a ser víctima de una estafa o ataque, esa persona es la única que lo pierde todo mientras la red sigue operando sin problema.

Blockchain - Red descentralizada

Aún existe mucho por mejorar en el campo de la seguridad, a pesar de que nuestra identidad ahora es un número de wallet o números y letras.

Nombres e IP se transforman en una dirección de Wallet (Créditos: Dadelion)

Estas direcciones de wallet se encuentran conectadas a un correo o aún dispositivo que tiene información y acceso a Internet. ¿Qué sucede si alguien logra acceder a nuestra wallet? De alguna forma logrará obtener la persona que tiene acceso a esa wallet, con estos descubrir la IP, la nacionalidad, la ubicación, la cantidad de activos, los movimientos y actuar de manera maliciosa con esos datos.

Nodo interceptado por atacante y obtiene información sensible sobre el propietario de dicha wallet. (Créditos: Dadelion)

Por eso aún falta una cosa extra de seguridad en la Blockchain, sin embargo, que sucede si las transacciones no son públicas, la Blockchain pierde ese poder de validación y respaldo de las personas. Si llegase a cifra las transacciones dentro de la blockchain, nadie en la cadena puede usar el activo de manera segura y pierde valor. El escenario actual es tener direcciones de wallet en lugar de nombres, no ayuda a preservar la privacidad de la red y que la blockchain sacrifica la privacidad por la validación de sus transacciones, se puede llegar a averiguar las conexiones entre dos usuarios y averiguar sus direcciones.

Pero tal vez te has preguntado si existe alguna forma de interactuar en blockchain sin tener ese miedo a ser vulnerado o dar información sensible. ¿Tal vez existe algo ahí afuera? Algún proyecto o protocolo que nos permita ocultar información sensible, nos permita expresar nuestra opinión sin miedo a la censura, que nos permita navegar en internet sin vender o que usen nuestros datos. ¿En algún momento tendremos un mundo digital privado? ¿Dónde cada persona elija qué información dar o no dar? Parece algo utópica, porque algo que hemos perdido con la era digital: es la privacidad de nuestra información.

Al final del túnel descubrí el concepto de ZKP (Pruebas de conocimiento cero) en el 2023 (algo tarde), al principio me sonaba como un cuento o concepto inventado, pero que puede sentar las bases de nuestra privacidad en los próximos años.

Conceptos técnicos pero sencillos de entender.

Primero debemos definir ciertos términos antes de adentrarnos a conceptos más técnicos, que se van a explicar de la manera más simple posible. Empezando por el más importante: Criptografía.

  • La criptografía es el método de convertir información en un código secreto para que solo las personas autorizadas puedan entenderla. Utiliza matemáticas, específicamente algoritmos complejos, para transformar los datos en códigos y luego devolverlos a su forma original. Esto ayuda a proteger datos relevantes y mantener la privacidad en las comunicaciones.
  • Un smart contract (o contrato inteligente) es un programa que se ejecuta en una blockchain y automáticamente cumple con los términos de un acuerdo cuando se cumplen ciertas condiciones. Funciona sin intermediarios, es seguro y no se puede cambiar una vez creado.
  • Prover (Probador) es la persona o sistema que tiene la información secreta y quiere demostrar que posee ese conocimiento sin revelar la información misma.
  • Verifier (Verificador) es la persona o sistema que quiere verificar que el prover realmente tiene el conocimiento o información secreta sin que se le revele dicha información.

¿Qué son las pruebas de conocimiento-cero (ZKP)?

Técnica criptográfica que permite a una parte (Prover - probador) demostrarle a otra parte (Verifier - verificador) que una afirmación es verdadera sin revelar ninguna información adicional. En otras palabras, usar un ZKP es una forma de demostrar que sabes algo sin revelar realmente qué es lo que sabes.

ZKP aplicativo al sector inmobiliario (Créditos: Horizen)

Por ejemplo, demostrar a alguien que eres ciudadano de un país, sin darle tu nombre ni tu número de pasaporte. Con una solución de identidad basada en ZKP, podría demostrar que es ciudadano sin revelar su identidad. En este caso, un ejemplo es el sector inmobiliario, un sistema basado en ZKP podría facilitar a los usuarios la posibilidad de demostrar que sus ingresos son suficientes para comprar una casa sin necesidad de compartir con el vendedor ningún dato privado.

Estas prueba criptográficas tienen principios o características que sé sustentan estas pruebas, entrando a conceptos matemáticos, sé fundamental en probabilidades y aproximaciones, únicamente vamos a conocer en que se basa cada uno de los principios de manera sencilla.

Tres principios/propiedades de ZKP (Créditos: Horizen)

¿Cuáles son los principios de solidez, integridad y conocimiento-cero?

Un algoritmo de prueba de conocimiento cero debe contener las siguientes 3 propiedades:

ZKP llevado a la definición formal.
  • Integridad: Si lo que se está probando es verdadero y ambas partes siguen las reglas (protocolo), el verificador aceptará la prueba como verdadera.

Ejemplo: Si realmente sabes la contraseña y sigues un proceso adecuado (por ejemplo, abrir una caja fuerte al frente a ellos), el verificador aceptará que sabes la contraseña.

Integridad llevada a la definición formal.
  • Solidez: Si lo que se está probando es falso, la prueba no engañará al verificador, incluso si se siguen las reglas. La probabilidad de que el verificador sea engañado es extremadamente baja.

Ejemplo: Si no sabes la contraseña, no importa cuánto lo intentes, no podrás convencer al verificador de que la sabes siguiendo el proceso correcto (intentar abrir la caja y fallar)

Solidez llevada a la definición formal.
  • Conocimiento cero: Si el probador sigue las reglas y la declaración es verdadera, el verificador quedará convencido de que es verdadera sin aprender ninguna otra información adicional aparte de la prueba misma.

Ejemplo: Puedes abrir la caja delante del verificador y cerrarla de nuevo sin decirles la contraseña. El verificador sabe que sabes la contraseña porque abriste la caja, pero no aprende cuál es la contraseña.

Conocimiento cero llevado a la definición formal.

La Cueva de Alí Babá: Una forma sencilla de aprender sobre ZKP

Contexto: Alice conoce la palabra secreta que abre una puerta mágica en una cueva en forma de anillo. La cueva tiene dos caminos, A y B, y una puerta mágica al final que conecta ambos caminos. Bob quiere saber si Alice realmente conoce la palabra secreta, pero Alice no quiere revelarla.

Procedimiento:

  1. Entrada a la Cueva: Alice entra a la cueva y toma uno de los dos caminos, A o B, sin que Tom vea cuál.
  2. Elección de Tom: Tom, que espera fuera, entra y elige al azar un camino (A o B) por el que quiere que Alice salga.
  3. Salida de Alice: Si Tom realmente conoce la palabra secreta, puede abrir la puerta mágica y salir por el camino que Alice haya pedido.
Ejemplo práctico de ZKP con la cueva de Alibaba
Cueva de Alibaba (animación)

Casos:

  • Alice sabe la palabra: Siempre puede salir por el camino que Tom elija, demostrando que conoce la palabra sin revelarla.
  • Alice no sabe la palabra: Solo podría salir por el camino correcto la mitad de las veces (50%) porque tendría que adivinar qué camino elegiría Tom.

Repetición para Confirmación:

  • Si se realiza una prueba, Alice tiene 50% probabilidad de adivinar el camino que elige Tom.
  • A medida que se repite la prueba, la probabilidad que Alice está adivinando se reduce drásticamente.
  • Si este proceso se repite muchas veces (por ejemplo, 1 millón de veces) y Alice siempre sale por el camino correcto, la probabilidad de que esté adivinando correctamente todas las veces es prácticamente nula. Por lo tanto, Tom puede estar muy seguro de que Alice realmente conoce la palabra secreta.

Protección contra Observadores Externos:

  • Aunque un observador externo viera o grabara el experimento, solo vería a Tom pidiendo un camino y a Alice saliendo por ese camino, lo que podría ser fácil de falsificar. Nadie externo puede conocer la palabra secreta ni estar seguro de que Alice realmente la conoce. Solo Tom y Alice pueden estar seguros de la autenticidad de la prueba.

Puntos Clave

  1. Integridad: Si Alice sabe la palabra secreta y sigue el protocolo, Tom puede confiar en que ella realmente la conoce.
  2. Solidez: Si Alice no sabe la palabra secreta, no puede engañar a Tom consistentemente.
  3. Conocimiento Cero: Tom puede estar seguro de que Alice conoce la palabra secreta sin aprender cuál es la palabra.

Este método permite a Alice demostrar su conocimiento sin revelar la información secreta, asegurando tanto la privacidad como la confianza en la veracidad de su afirmación. Aunque solo se trata de un ejemplo conceptual, las ZKP emplean esta estrategia utilizando criptografía para demostrar el conocimiento de datos sin revelarlos.

Tipos de ZKP - Interactivas y No Interactivas.

ZKP - Interactivas

Se necesita una interacción directa entre el verificador y el probador, es decir, tiene que estar presentes. Al momento realizar transacción es complicado y a nivel computacional eleva los costos.

ZKP - Interactiva

En una prueba de conocimiento cero (ZKP) interactiva, el probador (Prover) declara conocer que un objeto es una bicicleta y el verificador (Verifier) solicita pruebas. El probador argumenta que el objeto tiene dos ruedas y se pedalea para moverse. El verificador acepta estos argumentos y concluye que el probador sabe que es una bicicleta. Este proceso demuestra el conocimiento sin revelar información subyacente, ejemplificando el funcionamiento de las ZKP interactivas.

ZKP - No Interactivas

El probador deja una prueba y puede ser verificada por cualquier persona. Ninguno debe estar presente. Prueba la puede dejar en un smart contract y luego cualquier verificador lo puede validar. El costo es computacional, es menor, es lo que permite que proyectos que usan ZKP estén funcionando hoy en día.

ZKP - No Interactiva

En una prueba de conocimiento cero (ZKP) no interactiva, el probador (Prover) declara conocer que algo es una bicicleta y proporciona una imagen como prueba. El verificador (Verifier) evalúa esta prueba y concluye que el probador sabe que es una bicicleta. A diferencia de las pruebas interactivas, no hay intercambio continuo de argumentos; la prueba se presenta una vez y el verificador la evalúa independientemente, demostrando el conocimiento sin revelar detalles adicionales.

Aplicaciones de Pruebas de Conocimiento Cero (ZKP)

Pagos Anónimos: Las pruebas de conocimiento cero permiten realizar pagos anónimos, protegiendo la privacidad del usuario. Monedas de privacidad como Zcash y Monero utilizan esta tecnología para ocultar detalles de las transacciones, como las direcciones de remitente y receptor y las cantidades transferidas. Esto asegura que las transacciones se validen sin revelar información personal, a diferencia de las criptomonedas tradicionales que son visibles públicamente.

Protección de Identidad: Las ZKP ayudan a proteger la identidad en sistemas descentralizados. Por ejemplo, alguien puede demostrar que es ciudadano de un país sin tener que revelar su número de identificación fiscal o detalles del pasaporte. Esto permite que las personas controlen su información personal y compartan solo lo necesario para la verificación.

Autenticación: En lugar de proporcionar información personal y recordar contraseñas largas, las ZKP permiten a los usuarios autenticarse de manera segura y sencilla. Una vez que se genera una prueba ZK con datos públicos y privados, el usuario solo necesita presentarla para acceder a los servicios en línea. Esto mejora la seguridad y la experiencia del usuario, y reduce la necesidad de almacenar grandes cantidades de información en las plataformas.

La clave: Adopción de ZKP llevado a la blockchain para aumentar la privacidad

Una adopción e interiorización de los conceptos clave de las pruebas de conocimiento cero (ZKP) permitirá a los usuarios mantener su privacidad, protegerse contra el robo de identidad y el fraude, y reducir la dependencia de contraseñas vulnerables a ataques como phishing y relleno de credenciales. También libera a las organizaciones de la responsabilidad de proteger los datos valiosos de los usuarios, disminuyendo el riesgo de ser blanco de ataques cibernéticos y la necesidad de cumplir con estrictas leyes de privacidad.

Las ZKP redefinirán la gestión de datos, permitiendo a los usuarios cumplir requisitos de cumplimiento o verificar información sin exponer datos personales o secretos comerciales. Dentro del espacio blockchain, las soluciones de ZKP ya están siendo adoptadas para escalar el ecosistema y mejorar la privacidad del usuario.

Las pruebas de conocimiento cero permiten validar transacciones en blockchain sin acceder a los datos de las transacciones, protegiendo la privacidad de los usuarios. Publican pruebas de la validez de las transacciones sin revelar detalles como las direcciones del remitente y destinatario, los montos y el código del contrato inteligente, ocultando esta información tanto de los nodos validadores como del libro mayor público. Así, ni terceros ni el par con el que un usuario realiza transacciones verán los detalles completos de una transacción.

ZKP más “nounish”

La filosofía "nounish" y el potencial de las pruebas de conocimiento cero (ZKP) pueden converger de manera armoniosa para crear un ecosistema digital más seguro y confiable. Al igual que la comunidad Nouns DAO promueve la creatividad, la innovación y la colaboración para un impacto positivo, las ZKP permiten que las personas mantengan el control sobre su información personal mientras interactúan en línea.

Imagina un mundo "nounish" donde cada individuo puede disfrutar de las ventajas de la tecnología y la conectividad digital sin sacrificar su privacidad. Las ZKP ofrecen una solución poderosa a la paradoja de la privacidad en línea, permitiendo validar información sin revelar detalles sensibles. Este enfoque no solo protege la privacidad de los usuarios, sino que también fomenta un entorno de confianza y seguridad.

A medida que más personas y comunidades adopten las ZKP, veremos un aumento en la capacidad de los individuos para proteger su privacidad digital. Esto es similar a cómo los valores "nounish" impulsan a las personas a colaborar y compartir libremente sus ideas y proyectos sin preocuparse por las restricciones tradicionales. Al combinar estos conceptos, podemos imaginar un futuro donde la privacidad y la colaboración abierta coexisten, creando un mundo digital más seguro y colaborativo.

Debemos ser conscientes de la seguridad de nuestros datos y de nuestra privacidad en línea. En un mundo cada vez más digital, es fundamental que tomemos medidas para proteger nuestra información personal. Las ZKP representan una herramienta poderosa en este sentido, pero también es necesario educarnos y estar atentos a las mejores prácticas de seguridad. Al hacerlo, no solo nos protegemos a nosotros mismos, sino que también contribuimos a un entorno digital más seguro y confiable para todos.