I. Zéro-Connaissance (ZK) | par Bits d'apprentissage

Nov 30 2022
Londres Et si vous pouviez démontrer à un ami que vous avez plus de 5 pantalons dans votre garde-robe, sans lui dire le nombre exact ni montrer de photo ? Eh bien, imaginez un monde où les gens peuvent prouver des faits les uns aux autres sans rien savoir d'autre que le fait réel. Bien qu'utopique, nous sommes dans une époque qui penche heureusement vers un tel scénario.

Londres

Et si vous pouviez démontrer à un ami que vous avez plus de 5 pantalons dans votre garde-robe, sans lui dire le nombre exact ni montrer de photo ? Eh bien, imaginez un monde où les gens peuvent prouver des faits les uns aux autres sans rien savoir d'autre que le fait réel. Bien qu'utopique, nous sommes dans une époque qui penche heureusement vers un tel scénario.

Le concept permettant la situation ci-dessus s'appelle Zero-Knowledge (ZK) - parce que vous ne pouvez partager aucun attribut sur vous-même au-delà de ce que vous avez déjà déclaré. Exemple : si vous souhaitez acheter du vin, vous pouvez créer une preuve de connaissance zéro (ZKP) indiquant que vous avez plus de 18 ans. Vous envoyez cette preuve à l'entreprise viticole et, grâce à des calculs et à la magie, l'entreprise vérifie la preuve et vous vend le vin. Vous n'aviez pas à partager votre nom, votre citoyenneté, pas même votre date de naissance. Ça a l'air cool, non ?

Amusez-vous à lire!

ALORS… que sont les ZKP ?

À la base, les ZKP sont une méthode par laquelle une personne (le prouveur) peut démontrer à une autre personne (le vérificateur) qu'une affirmation particulière est vraie sans fournir d'informations supplémentaires au-delà du fait que l'affirmation est vraie. La génération et la vérification de la preuve proprement dite impliquent des algorithmes cryptographiques.

En d'autres termes, les ZKP sont un moyen très élégant de partager le moins d'informations possible de A (le prouveur) à B (le vérificateur)¹.

Ou, encore plus simple, différentes parties peuvent vérifier la véracité d'une déclaration que vous avez faite sans qu'elles aient réellement accès aux données qui composent votre déclaration.

Saviez-vous que ..?

Un facteur essentiel pour que les ZKP fonctionnent est la présence d'une autorité/source de confiance. Une source fiable est un mot clé car, afin de créer les preuves, vous avez besoin d'un endroit fiable pour vérifier la véracité de vos déclarations.

Par exemple , si vous voulez prouver à vos amis que vous avez plus de 1 000 abonnés sur Twitter, l'étape suivante consiste à créer un ZKP sur le nombre total d'abonnés de votre compte et à le partager avec vos amis. Vos amis sauront que le résultat est correct car la preuve est générée sur une information qui est indéniablement vraie comme

  1. Vous ne pouvez pas falsifier/inventer le nombre de followers que vous avez sur Twitter,
  2. Les informations proviennent d'une source fiable (par exemple, Twitter) et pas seulement de l'esprit de quelqu'un.

Plus de cas d'utilisation

Voici quelques façons d'utiliser Zero Knowledge Proofs dans la vie réelle :

Giphy.com

✔️ Finance : ING Bank³ souhaite utiliser les ZKP pour permettre à ses clients de prouver certains faits les concernant sans révéler leurs données réelles. Par exemple, si quelqu'un souhaite contracter un prêt, il peut le faire en prouvant que ses revenus se situent dans une fourchette acceptée par la banque.

✔️ Vote en ligne : Vous pouvez voter de manière anonyme et vérifier si votre vote a été inclus dans le décompte final.

✔️ Sécurisez Internet. En utilisant ZKP combiné à la vérification d'identité, les utilisateurs peuvent prouver qu'ils sont des êtres humains uniques sur les sites Web qu'ils visitent, sans leur envoyer aucune information personnelle. Cela peut contribuer grandement à lutter contre la désinformation, les bots dans les médias sociaux (vous pouvez prendre Twitter comme exemple⁴), les campagnes parrainées par l'État et autres.

✔️ Vérification des informations personnelles . Si nous suivons l'exemple de vin ci-dessus, imaginons maintenant que vous vouliez aller dans un club et qu'il y ait une limite d'âge - personne de moins de 25 ans n'entre. Normalement, vous iriez voir le garde du corps et lui montreriez votre carte d'identité qui contient plus que votre âge, mais aussi votre photo, votre année de naissance, probablement votre adresse où vous habitez, etc. Au lieu de cela, en utilisant les ZKP, vous pouvez créer la preuve que vous avez un document qui vous appartient et que votre âge dépasse 25 ans. Vous montrez cette preuve, qui peut être un code QR par exemple, la personne chargée de la sécurité scanne le code et l'écran s'affiche en vert si vous remplissez la condition d'âge. C'est ça.

En un mot, voici quelques exemples supplémentaires de ce que vous pouvez et ne pouvez pas faire avec les ZKP :

Dépassé

Comment OutDID utilise les ZKP

L'exemple ci-dessus peut refléter notre solution comme suit : nous utilisons des passeports (sources authentifiées telles que Twitter), qui fournissent des données telles que la date de naissance, la nationalité, etc. (comme le nombre d'abonnés sur Twitter), sur la base desquelles vous peut créer des preuves telles que le fait d'avoir plus de 18 ans, un citoyen américain, etc. (ou d'avoir plus de 1 000 abonnés sur Twitter).

De manière plus concrète, notre application utilise les ZKP pour démontrer que vous répondez aux exigences des utilisateurs d'un projet Web3 particulier sans donner plus de détails. Par exemple, si vous souhaitez vous inscrire à un largage aérien, vous devez prouver que vous n'êtes pas citoyen américain. Avec OutDID, vous pouvez créer une preuve dans notre application (comme ce code QR dans l'exemple avec le gars de la sécurité) que vous avez une autre nationalité. Après cela, vous pouvez l'envoyer à la dApp. Le projet peut vérifier que la preuve que vous avez envoyée est correcte et vous pouvez recevoir le largage.

Petit défi

Maintenant que vous savez ce que sont les ZKP, dites-nous dans les commentaires pourquoi nous ne pouvons pas appliquer cette technologie dans l'exemple avec un pantalon de l'intro. :)

Et n'oubliez pas…

Le slogan de Bitcoin

Restons en contact

Une fois privé, toujours privé. Êtes-vous dedans?

Site Web | Télégramme | Linkedin | Gazouillement | Moyen ❤

Giphy.com

Ressources:

  1. https://link.springer.com/content/pdf/10.1007/BF02351717.pdf
  2. https://www.blockchain-council.org/blockchain/zero-knowledge-proof-protocol/
  3. https://www.ingwb.com/en/insights/distributed-ledger-technology/ing-launches-major-addition-to-blockchain-technology
  4. 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