I. Conocimiento Cero (ZK) | por Bits de aprendizaje
Londres
¿Qué pasa si puedes demostrarle a un amigo que tienes más de 5 pantalones en tu guardarropa, sin decirle el número exacto ni mostrar ninguna foto? Bueno, imagina un mundo en el que las personas puedan probarse los hechos unos a otros sin saber nada más que el hecho real. Aunque utópico, estamos en una era que se inclina hacia ese escenario, afortunadamente.
El concepto que permite la situación anterior se llama Conocimiento Cero (ZK), porque puede compartir cero atributos sobre usted más allá de lo que ya declaró. Ejemplo: si desea comprar vino, puede crear una prueba de conocimiento cero (ZKP) de que tiene más de 18 años. Envía esta prueba a la empresa de vinos y, a través de algunas matemáticas y magia, la empresa verifica la prueba y le vende el vino. No tenía que compartir su nombre, su ciudadanía, ni siquiera su fecha de nacimiento. Suena genial, ¿verdad?
¡Diviértete leyendo!
Entonces… ¿qué son los ZKP?
En esencia, ZKP es un método mediante el cual una persona (el probador) puede demostrar a otra persona (el verificador) que una afirmación en particular es verdadera sin proporcionar información adicional más allá del hecho de que la afirmación es verdadera. La generación y verificación de pruebas reales involucran algoritmos criptográficos.
En otras palabras, los ZKP son una forma muy elegante de compartir la menor cantidad de información posible de A (el probador) a B (el verificador)¹.
O, aún más simple, diferentes partes pueden verificar la veracidad de una declaración que usted dijo sin tener acceso a los datos que componen su declaración.
Sabía usted que..?
Un factor esencial para que los ZKP funcionen es la presencia de una autoridad/fuente de confianza. Una fuente confiable es una palabra clave porque, para crear las pruebas, necesita un lugar confiable para verificar la veracidad de sus declaraciones.
Por ejemplo , si quieres demostrar a tus amigos que tienes más de 1k seguidores en Twitter, el siguiente paso es crear un ZKP sobre el número total de seguidores de tu cuenta y compartirlo con tus amigos. Tus amigos sabrán que el resultado es correcto porque la prueba se genera sobre una información que es innegablemente cierta como
- No puedes falsificar/inventar el número de seguidores de Twitter que tienes,
- La información proviene de una fuente confiable (por ejemplo, Twitter) y no solo de la mente de alguien.
Más casos de uso
Aquí hay algunas formas en que las pruebas de conocimiento cero se pueden usar en la vida real:

✔️ Finanzas: ING Bank³ quiere usar ZKP para permitir que sus clientes prueben ciertos hechos sobre sí mismos sin revelar sus datos reales. Por ejemplo, si alguien quiere pedir un préstamo, puede hacerlo demostrando que sus ingresos se encuentran dentro de un rango aceptado por el banco.
✔️ Votación online: Puedes votar de forma anónima y comprobar si tu voto ha sido incluido en el recuento final.
✔️ Haz que Internet sea seguro. Usando ZKP combinado con la verificación de identidad, los usuarios pueden demostrar que son seres humanos únicos en los sitios web que visitan, sin enviarles ninguna información personal. Esto puede contribuir en gran medida a combatir la desinformación, los bots en las redes sociales (puede tomar Twitter como ejemplo⁴), las campañas patrocinadas por el estado y otros.
✔️ Verificación de información personal . Si seguimos con el ejemplo del vino anterior, imaginemos que ahora quiere ir a un club y hay una restricción de edad: nadie menor de 25 años entra. Normalmente, iría al guardaespaldas y le mostraría su identificación que contiene más además de tu edad, también tu foto, año de nacimiento, probablemente tu dirección donde vives, etc. En cambio, al usar ZKP, puede crear una prueba de que tiene un documento que es suyo y que su edad supera los 25 años. Muestra esta prueba, que puede ser un código QR, por ejemplo, la persona de seguridad escanea el código y la pantalla se muestra verde si cumple con el requisito de edad. Eso es todo.
En pocas palabras, aquí hay algunos ejemplos más de lo que puede y no puede hacer con los ZKP:

Cómo utiliza OutDID los ZKP
El ejemplo anterior puede reflejar nuestra solución de la siguiente manera: usamos pasaportes (fuentes autenticadas como Twitter), que proporcionan datos como fecha de nacimiento, ciudadanía, etc. (como el número de seguidores en Twitter), en base a los cuales usted puede crear evidencia como tener más de 18 años, ser ciudadano estadounidense, etc. (o tener más de 1,000 seguidores en Twitter).
De una manera más concreta, nuestra aplicación utiliza ZKP para demostrar que cumple con los requisitos de usuario de un proyecto Web3 en particular sin dar más detalles. Por ejemplo, si desea registrarse para un lanzamiento aéreo, debe demostrar que no es ciudadano estadounidense. Con OutDID, puede crear una prueba en nuestra aplicación (como ese código QR en el ejemplo con el tipo de seguridad) de que tiene otra ciudadanía. Después de esto, puede enviarlo a la dApp. El proyecto puede verificar que la prueba que enviaste es correcta y puedes recibir el airdrop.
Pequeño reto
Ahora que sabes qué son los ZKP, cuéntanos en los comentarios por qué no podemos aplicar esta tecnología en el ejemplo con pantalones de la introducción. :)
Y no olvides...

Sigamos en contacto
Una vez privado, privado para siempre. ¿Está usted en?
Sitio web | Telegrama | Linkedin | Gorjeo | Medio ❤

Recursos:
- https://link.springer.com/content/pdf/10.1007/BF02351717.pdf
- https://www.blockchain-council.org/blockchain/zero-knowledge-proof-protocol/
- https://www.ingwb.com/en/insights/distributed-ledger-technology/ing-launches-major-addition-to-blockchain-technology
- https://www.rand.org/blog/2022/09/elon-musk-may-have-a-point-about-bots-on-twitter.html
- https://www.youtube.com/watch?v=fOGdb1CTu5c
- https://ethereum.org/en/zero-knowledge-proofs/
- https://polygon.technology/blog/a-gentle-introduction-to-zero-knowledge-proofs