Les ZKPs, “Zero Knowledge Proof”, une nouvelle ère pour le partage des données
Les ventes de données personnelles sont en plein développement, font la fortune de quelques grandes entreprises du numérique, et nous n’avons que très peu de contrôle de l’utilisation qui est faite de ces données pourtant privées et confidentielles.
Par exemple, lorsque nous effectuons des achats en ligne, nous devons donner notre adresse afin de recevoir les produits, information ce que nous ne partageons généralement pas avec un vendeur dans un magasin. Même s’il n’est pas automatique que le site utilise notre adresse à d’autres fins que celle de la livraison, nous savons aujourd’hui que certaines entreprises vendent les données de leurs clients pour faire un profit et que ces acheteurs peuvent à leur tour revendre ces données et ainsi de suite.
Les entreprises en possession de ces informations confidentielles peuvent les utiliser pour créer de la valeur et parfois pour manipuler les propriétaires de ces mêmes données : en fonction de leur position géographique, leur sexe, leur âge et leurs centres d’intérêts, l’entreprise va pouvoir orienter les comportements futurs des utilisateurs via les réseaux sociaux ou par email. C’est précisément l’objet des accusations contre Cambridge Analytica, qui a utilisé les données de plusieurs millions d’américains et d’européens fournies par Facebook pour influencer le comportement des votants indécis lors des dernières élections présidentielles américaines et du referendum sur le Brexit en Grande Bretagne. La découverte de ces pratiques et le scandale qui a suivi ont conduit au dépôt de bilan de Cambridge Analytica en 2018.
C’est dans ce contexte de scandales à répétition que des organisations privées et publiques tentent de trouver des moyens de partager des données personnelles sans compromettre les renseignements personnels privés sensibles.
Une solution qui semble pertinente est le ZKP, un protocole informatique qui permet à un utilisateur de prouver qu’il est en possession d’une information (mot de passe, etc.) à une autre entité, une entreprise par exemple, sans toutefois ne rien révéler de l’information elle-même. Les principes de fonctionnement de ce protocole sont explicités dans l’article Les ZKPs, “Zero Knowledge Proof”, remplacer les données par des preuves.
A quoi servent les ZKPs ?
Quelques cas d’usages du protocole ZKP pour résoudre les problèmes de confidentialité :
Transaction : Un cas d’usage déployé du ZKP est celui des transactions via une blockchain publique nécessitant la confidentialité.
Prenons l’exemple d’une simple blockchain publique (comme Ethereum) liée à une cryptomonnaie ou à un token ; lorsque la transaction habituelle a lieu entre utilisateurs, la blockchain enregistre des informations de transfert détaillées : qui envoie, à qui reçoit, quand, et combien. Ainsi, il est simple de tirer des conclusions sur l’identité des porteurs des transactions. Or il est essentiel pour les entreprises aujourd’hui de cacher certains détails des transactions. Dans ce cas, un protocole ZKP permet de masquer les détails de la transaction, tout en pouvant en vérifier la validité et la reconnaître comme valable pour que la transaction soit ajoutée à la blockchain. Ce cas d’utilisation est celui de la cryptomonnaie Z-cash.
En effet, les blockchains publiques exposent les transactions entre deux portefeuilles. Non seulement c’est l’un des inconvénients de la blockchain, mais c’est aussi un frein à sa croissance. Un ZKP tel que Z-cash peut, au contraire, garantir une totale confidentialité des transactions. Son utilisation dans la blockchain semble prometteuse pour répondre à des exigences commerciales spécifiques axées sur la confidentialité des données.
Authentification : La recherche sur les ZKPs a été motivée par les systèmes d’authentification, où l’une des parties veut prouver sa majorité à une seconde partie, mais sans donner d’information sur son âge exact à la seconde partie.
Vote : Un autre cas d’usage est le vote électronique qui a été d’un grand intérêt pour de nombreuses raisons. Un avantage potentiel est qu’il pourrait permettre un dépouillement totalement transparent, où chaque citoyen pourrait vérifier que les votes ont été comptés correctement sans avoir à lier les votes à leur votant.
Sans surprise, l’utilisation des ZKPs fait émerger plusieurs enjeux dans les contextes d’utilisation évoqués ci-dessus :
- La conformité GDPR : La GDPR (General Data Protection Régulation) appliquée en Europe depuis mai 2018 prévoit la protection des « données personnelles » par les entreprises sous peine d’une amende conséquente. Avec l’utilisation du protocole ZKP, les données étant anonymisées, elles sortent du périmètre d’application de la GDPR car elles ne sont plus considérées comme des « données personnelles »
- Anonymisation : L’anonymisation totale des données pose un problème en cas de litige, de fraude ou d’usage illégal car il est alors impossible de lier l’information avec son propriétaire
Alors que les réglementations en matière de protection des données deviennent plus strictes, les entreprises doivent faire preuve d’une extrême prudence à l’égard des données privées, sensibles ou confidentielles. Et en même temps, elles doivent partager et travailler sur des données pour stimuler l’innovation et la découverte. Ces besoins conflictuels deviendront d’autant plus pressants que les organisations s’aventureront de plus en plus dans les applications d’intelligence artificielle gourmandes en données.
En effet, l’application des ZKPs pourrait permettre de constituer des bases de données anonymisées utile pour l’intelligence artificielle, ce qui contribuera au développement du machine learning et du deep learning. Cette technologie pourrait révolutionner les recherches dans tous les domaines, comme l’IA, qui tendent à tirer parti des données en les manipulant tout en respectant la vie privée des populations.
Quelles sont les entreprises qui aujourd’hui utilisent les protocoles ZKPs ?
Quelques acteurs précurseurs, tirent parti de l’essor des protocoles ZKPs :
Zcash : projet pionnier dans le domaine de la blockchain et basé sur la blockchain Bitcoin, Zcash utilise les ZKPs pour assurer l’anonymat des transactions financières dans les blockchains publiques. Zcash est célèbre pour l’introduction des zk-SNARKS : utiliser un consensus tiers qui produit la preuve de validité de la transaction qui est envoyée au mineur pour l’ajout de la transaction à la blockchain (au lieu de l’envoi des informations sur la transaction directement au mineur) ; cela permet de garder les informations liées à la transactions secrètes et privées des mineurs qui s’occupe de construire la blockchain et des utilisateurs de la blockchain publique.
JP Morgan : la banque américaine a développé des fonctionnalités de confidentialité sur leur projet de Blockchain Quorum (basé sur la blockchain Ethereum). Les développeurs de la blockchain Quorum ont mis au point une version modifiée de Zether, un système ZKP qui permet aux utilisateurs de dissimuler des montants de transactions sur Ethereum. L’ambition de JP Morgan est d’aller encore plus loin en permettant aux utilisateurs de cacher leur identité en plus des sommes traitées.
Coda : Coda offre une solution qui permet de vérifier efficacement l’ensemble des informations d’une blockchain tout en ne téléchargeant qu’une petite quantité de données en utilisant les zk-SNARKs.
Qed-IT : Qed-IT utilise des ZKPs pour permettre à des partenaires commerciaux de partager des informations sur leurs processus commerciaux sans révéler les données sous-jacentes.
Focus : Bluenote, une blockchain au service de l’énergie
Bluenote est une entreprise du secteur de l’énergie qui permet de collecter des informations anonymisées sur l’impact d’une décision quant à la consommation énergétique d’un bâtiment, grâce à la blockchain Bluenote.
Par exemple, Alice, propriétaire, a pris une décision stratégique quant à la consommation énergétique de ses immeubles. Grâce à Bluenote, elle va pouvoir partager les résultats de l’impact de cette décision stratégique. C’est alors que Bob, un autre propriétaire, va pouvoir apprendre de ces résultats pour influencer son choix de stratégie quant à la consommation énergétique de ses bâtiments. Néanmoins, Bob n’aura pas accès aux données sources sensibles liées aux immeubles d’Alice qui ont permis de calculer les résultats de l’impact de sa décision (adresses, nombre d’utilisateurs des immeubles, etc.). Autrement dit, Bob aura accès seulement aux informations nécessaires pour répondre à sa requête.
En ce sens, Bluenote met en avant le ZKP comme un outil de collaboration et d’aide à la prise de décision. C’est une solution destinée à servir les entreprises qui souhaitent réduire leur consommation en énergie de leurs bureaux (une des principales sources d’émission de carbone dans le monde), en apprenant des décisions de leurs pairs. L’utilisation de la technologie blockchain quant à elle garantit l’intégrité de ces résultats dès leur enregistrement sur la blockchain Bluenote.
***
Ainsi, nous pouvons anticiper qu’avec le temps l’utilisation des ZKPs va considérablement se répandre et que ce protocole deviendra une norme. En effet, les exigences de protection de la vie privée ne doivent pas constituer un frein à la recherche en Intelligence Artificielle et ni un obstacle au développent d’une économie et d’une société où les données s’échangent de façon fluide. Les ZKPs peuvent être une solution à cette contradiction.