Exploration du Protocole Zero Knowledge Secret Santa
Les chercheurs d’Ethereum explorent des moyens de déployer un protocole qu’ils ont présenté pour la première fois plus tôt cette année, visant à améliorer la confidentialité grâce aux preuves à divulgation nulle de connaissance. Le développeur d’Ethereum, Artem Chystiakov, a partagé ses recherches sur le forum de la communauté Ethereum lundi, dans un document intitulé « Zero Knowledge Secret Santa (ZKSS) ». Ce protocole propose un algorithme « Secret Santa » en trois étapes. Le concept a été introduit pour la première fois en janvier sur arXiv.
Défis liés au jeu sur Ethereum
Chystiakov a souligné trois principaux obstacles à la mise en œuvre de Secret Santa sur Ethereum, que ce protocole pourrait résoudre :
- Visibilité des transactions : Tout sur Ethereum est visible par tous, ce qui nécessite un moyen de cacher qui donne à qui, afin de préserver la confidentialité.
- Manque de véritable aléatoire : Les blockchains manquent de véritable aléatoire, ce qui oblige les participants à fournir leurs propres choix aléatoires.
- Prévention de la tricherie : Le jeu doit être conçu pour empêcher toute personne de participer plusieurs fois ou de se faire un cadeau à elle-même.
Cas d’utilisation potentiels pour Ethereum
La question de la confidentialité sur la blockchain est devenue un sujet brûlant récemment, alors que la cryptomonnaie s’intègre de plus en plus à la finance traditionnelle. Les protocoles de confidentialité pourraient être appliqués à des scénarios tels que :
- Vote anonyme et gouvernance : Notamment dans les DAO (organisations autonomes décentralisées), où les utilisateurs doivent prouver leur appartenance et voter une fois, tout en gardant leur choix secret.
- Systèmes de lanceurs d’alerte : Où les utilisateurs doivent prouver qu’ils sont des employés autorisés tout en soumettant des informations de manière anonyme.
- Airdrops et allocations privés : Où les tokens doivent être distribués sans révéler qui a reçu quoi.
Lorsqu’on lui a demandé des mises en œuvre ou déploiements open-source, Chystiakov a répondu :
« Nous y travaillons. »
Comment fonctionne Zero Knowledge Secret Santa
Le protocole de preuve de concept en Solidity utilise des preuves à divulgation nulle de connaissance pour établir des relations entre l’expéditeur et le destinataire du cadeau, tout en préservant la confidentialité de l’expéditeur. Les ZK-proofs sont une méthode cryptographique permettant de prouver des connaissances sans révéler d’informations spécifiques.
Le protocole ZKSS utilise également un relayer de transaction, qui agit comme un intermédiaire soumettant des transactions, ce qui permet de garder l’identité de l’expéditeur cachée.
Pour participer, les utilisateurs enregistrent leurs adresses Ethereum dans un contrat intelligent, créant ainsi une liste de tous les participants. Chaque participant s’engage ensuite à utiliser une signature numérique spécifique, empêchant ainsi toute tentative de tricherie où une personne pourrait participer plusieurs fois en créant différentes signatures. Chaque participant ajoute secrètement son numéro aléatoire à une liste partagée via le relayer, de sorte que personne ne sache qui a ajouté quoi. Cela permet aux destinataires de chiffrer leur adresse de livraison, de manière à ce que seul leur « Santa » assigné puisse la lire. Enfin, chaque participant sélectionne le numéro aléatoire d’une autre personne dans la liste partagée, après quoi l’identité du destinataire est révélée.