Vitalik Buterin : ultra bullish sur les Privacy Pools
Récemment, Vitalik Buterin, a publié un nouvel article très encourageant sur une nouvelle technologie permettant de concilier protection de la vie privée, et écosystème réglementé : les privacy pools. Cet article est une simplification de son article scientifique.
Résumé de l’article
Dans cet article, nous étudions les Privacy Pools, un nouveau protocole d’amélioration de la vie privée basé sur un smart contract.
L’idée centrale de la proposition est de permettre aux utilisateurs de publier une preuve à divulgation nulle de connaissance, démontrant que leurs fonds ne proviennent pas de sources illégales connues, sans révéler publiquement l’ensemble de leur graphe de transactions.
Cette proposition pourrait constituer un premier pas vers un avenir où les gens pourraient prouver qu’ils respectent la réglementation sans avoir à révéler l’intégralité de leur historique de transactions
Tout se sait sur la blockchain
Les blockchains publiques sont transparentes de par leur conception. L’idée de base est que tout le monde devrait avoir la possibilité de valider les transactions sans avoir à s’en remettre à des tiers centralisés.
Cela réduit les dépendances et peut constituer une base neutre pour diverses applications, y compris, mais sans s’y limiter, la finance et les identités numériques. Toutefois, l’existence d’un ensemble de données publiques contenant chaque transaction de chaque adresse de la blockchain est problématique du point de vue de la protection de la vie privée.
Chaque fois qu’une personne transfère un actif vers une autre adresse ou interagit avec un smart contract, la transaction sera toujours visible sur la blockchain.
Prenons l’exemple suivant : Alice va au restaurant et utilise son portefeuille blockchain pour payer son dîner. Le destinataire connaît désormais l’adresse d’Alice et peut analyser toutes les activités passées et futures de cette adresse.
De même, Alice connaît désormais l’adresse du portefeuille du restaurant et pourrait utiliser cette information pour obtenir les adresses des portefeuilles d’autres clients ou examiner les recettes du restaurant.
Les tiers qui connaissent l’adresse du portefeuille du restaurant et savent qu’Alice y dîne (grâce aux réseaux sociaux, par exemple) peuvent facilement déduire l’adresse d’Alice et étudier ses transactions passées et futures.
Bien que l’exemple du restaurant puisse être considéré comme un scénario hypothétique, le concept fondamental s’applique à chaque transaction effectuée sur une blockchain publique.
Chaque action effectuée sur une blockchain publique est enregistrée publiquement et peut être consultée par n’importe qui, ce qui permet à des tiers d’analyser les transactions financières et les schémas comportementaux des utilisateurs.
Protéger la vie privée !
Ces problèmes ont conduit à l’essor de protocoles visant à renforcer la protection de la vie privée. Ils permettent aux utilisateurs de déposer des fonds dans le protocole à l’aide d’une adresse et de les retirer ultérieurement à l’aide d’une autre adresse.
Tous les dépôts et retraits sont toujours visibles sur la blockchain, mais le lien entre un dépôt spécifique et son équivalent en termes de retrait n’est plus public.
L’un des protocoles d’amélioration de la confidentialité les plus connus est Tornado Cash. Il a réussi à résoudre les problèmes susmentionnés, permettant aux utilisateurs de conserver une certaine confidentialité.
Tornado Cash
Cependant, outre les utilisateurs légitimes qui tentent de protéger leurs données, Tornado Cash a également été utilisé par divers acteurs malveillants.
Les données relatives aux dépôts suggèrent que des groupes de pirates informatiques ont transféré des fonds provenant de sources illicites par l’intermédiaire du protocole.
La preuve que le protocole a également été utilisé par un groupe de pirates nord-coréens a finalement conduit à placer les adresses des contrats intelligents du protocole sur la liste des Specially Designated Nationals and Blocked Persons (communément appelée liste SDN) tenue par l’Office of Foreign Assets Control (OFAC) aux États-Unis.
Le problème critique de Tornado Cash était essentiellement que les utilisateurs légitimes avaient peu d’options pour se dissocier de l’activité criminelle que le protocole attirait.
Les premières tentatives pour améliorer la privacy
Historiquement, les partisans de la blockchain ont fait valoir que les blockchains pouvaient préserver la vie privée malgré la transparence de toutes les transactions, parce qu’elles offrent un pseudonymat : il n’est pas nécessaire de révéler des informations sur son identité hors ligne pour utiliser une blockchain.
Au lieu de cela, les utilisateurs sont identifiés par des « adresses » numériques. Le livre blanc de Satoshi fait exactement la même affirmation, en soutenant que « la vie privée peut encore être maintenue en interrompant le flux d’informations à un autre endroit : en gardant les clés publiques anonymes ».
Le public peut voir que quelqu’un envoie un montant à quelqu’un d’autre, mais sans information liant la transaction à qui que ce soit. Malheureusement, ce niveau de confidentialité s’est avéré bien insuffisant face aux outils modernes de regroupement et d’analyse.
Les applications non financières rendent le respect de la vie privée encore plus difficile, car elles obligent souvent les utilisateurs à publier d’autres types d’informations les concernant sur la chaîne. Par exemple, l’enregistrement d’un nom sur des services de noms de domaine décentralisés tels que ENS implique d’effectuer une transaction sur la blockchain Ethereum, créant ainsi un lien public entre vos transactions et votre nom ENS.
Coinjoin
Pour cette raison, il y a eu un mouvement visant à améliorer la confidentialité sur les blockchains publiques en introduisant une technologie plus puissante.
La première solution de protection de la vie privée à avoir été adoptée de manière significative est CoinJoin.
CoinJoin impliquait que de petits groupes d’utilisateurs se réunissent et mélangent leurs pièces les uns avec les autres au cours d’une seule transaction. En regardant la chaîne, on ne pouvait voir que l’ensemble des entrées et des sorties d’un tour donné du protocole CoinJoin, et non pas quelle entrée correspond à quelle sortie.
La théorie était qu’un utilisateur pouvait participer à de nombreux tours du protocole CoinJoin avec différents groupes de personnes, cachant ainsi la source de ses actifs parmi de nombreuses entrées possibles.
Monero
Monero est allé plus loin, en utilisant un système de signature en anneau pour permettre aux utilisateurs de mélanger leurs pièces avec celles de quelques autres utilisateurs sans nécessiter d’interaction en dehors de la chaîne. Avec l’amélioration de la technologie, le nombre de participants à chaque mélange a augmenté, ce qui a accru l’ensemble d’anonymat de chaque transaction.
Toutefois, ces techniques de mixage répétées en petits groupes présentent inévitablement des risques de fuite de données.
Les ZK-knowledge proofs
L’avancée suivante dans la quête d’une plus grande confidentialité cryptographique a impliqué l’introduction de preuves à divulgation nulle de connaissance, telles qu’elles sont utilisées dans les blockchains comme Zcash et les systèmes de smart contracts sur la chaîne comme Tornado Cash.
Les preuves de zéro connaissance à usage général du type appliqué ici sont plus communément appelées « ZK-SNARKs » dans l’industrie et la communauté académique
ZK-SNARKs
Les ZK-SNARK sont une technologie qui permet à un prouveur de démontrer des affirmations mathématiques sur une combinaison de données publiques et de données privées que le prouveur détient, de manière à satisfaire deux propriétés essentielles :
- Connaissance nulle : aucune donnée privée n’est révélée, hormis le fait que les données privées satisfont l’affirmation qui est prouvée.
- Concision : la preuve est courte (en octets) et peut être vérifiée très rapidement, même si l’affirmation sous-jacente à prouver implique un calcul lourd qui prend beaucoup de temps à s’exécuter.
Les ZK-SNARK ont fait l’objet d’une grande attention de la part des communautés de la blockchain pour ces deux raisons.
L’aspect succinct est essentiel dans les cas d’utilisation des ZK-SNARK pour la scalabilité, notamment dans le cadre des ZK-rollups.
Les privacy pools
L’idée centrale des pools de confidentialité est la suivante : au lieu de simplement prouver que le retrait d’un utilisateur est lié à un dépôt effectué précédemment, un utilisateur prouve son appartenance à un ensemble d’associations plus restrictif.
L’ensemble d’associations peut être le sous-ensemble complet des dépôts effectués précédemment, un ensemble composé uniquement du propre dépôt de l’utilisateur, ou tout ce qui se trouve entre les deux.
L’utilisateur spécifie l’ensemble en fournissant une racine de Merkle de l’ensemble en tant qu’entrée publique.
Les cas d’utilisations des privacy pools
Après cette introduction technique, nous nous tournons maintenant vers l’application et analysons comment les protocoles d’amélioration de la vie privée pourraient être utilisés en pratique.
Pour illustrer la valeur de ce système, prenons un exemple simple. Supposons que nous ayons cinq utilisateurs : Alice, Bob, Carl, David et Eve.
Les quatre premiers sont des utilisateurs honnêtes et respectueux de la loi qui souhaitent néanmoins préserver leur vie privée, mais Eve est une voleuse.
Supposons également que cela soit connu du public. Le public ne connaît peut-être pas l’identité réelle d’Ève, mais il dispose de suffisamment d’éléments pour conclure que les pièces envoyées à l’adresse que nous appelons « Ève » sont volées.
C’est souvent le cas dans la pratique : la plupart des fonds illicites qui ont été identifiés comme alimentant Tornado Cash provenaient d’un hack de protocoles DeFi, un événement visible sur la blockchain publique.
Lorsque chacun des cinq utilisateurs effectue un retrait, il a le choix de l’ensemble d’associations qu’il spécifie. Leur jeu d’association doit inclure leur propre dépôt, mais ils peuvent choisir librement les autres adresses à inclure.
La théorie des jeux derrière les privacy pools
Examinons tout d’abord les motivations d’Alice, Bob, Carl et David. D’une part, ils veulent maximiser leur vie privée. Cela les pousse à élargir leurs ensembles d’associations.
D’autre part, ils veulent réduire le risque que leurs pièces soient considérées comme suspectes par les commerçants ou les bourses.
Ils disposent d’un moyen simple d’y parvenir : Ils n’incluent pas Eve dans leur ensemble d’associations. Pour tous les quatre, le choix est donc clair : créer des ensembles d’associations {Alice, Bob, Carl, David}.
Bien entendu, Eve souhaite également maximiser la taille de son ensemble d’associations. Mais elle ne peut pas exclure son propre dépôt, et elle est donc obligée de faire en sorte que son ensemble d’associations soit égal à l’ensemble des cinq dépôts.
Bien qu’Eve elle-même ne fournisse aucune information, un simple processus d’élimination nous permet d’en déduire clairement que le retrait n° 5 ne peut provenir que d’Eve.
ASP : de nouveaux intermédiaires sur la blockchain ?
La section précédente illustre une façon possible d’utiliser les ensembles d’associations dans les protocoles de type Privacy Pools, et la façon dont les acteurs honnêtes peuvent les dissocier des acteurs malveillants.
Il convient de noter que le système ne repose pas sur l’altruisme d’Alice, de Bob, de Carl et de David, qui sont clairement incités à prouver leur dissociation.
Dans la pratique, les utilisateurs ne choisiront pas manuellement les dépôts à inclure dans leur ensemble d’associations. Ils s’abonneront plutôt à des intermédiaires que nous pouvons appeler des fournisseurs d’ensembles d’associations (ASP), qui génèrent des ensembles d’associations présentant certaines propriétés. Dans certains cas, les ASP peuvent être entièrement construits sur la chaîne, sans aucune intervention humaine (ou d’IA).
Dans d’autres cas, les ASP génèrent eux-mêmes des ensembles d’associations et les publient soit sur la chaîne, soit à un autre endroit.
Nous recommandons vivement qu’au moins la racine Merkle de l’ensemble d’associations soit publiée sur la chaîne ; cela empêche les ASP malveillants de se livrer à certains types d’attaques contre les utilisateurs.
L’ensemble des ensembles devrait être disponible soit par API, soit, dans l’idéal, sur un système de stockage décentralisé à faible coût tel que IPFS.
La possibilité de télécharger l’ensemble du jeu d’associations est importante, car elle permet aux utilisateurs de générer localement des preuves d’appartenance à l’ensemble d’associations, sans révéler d’informations supplémentaires.
Prouver que l’on n’est pas un criminel
Les systèmes de type « Privacy Pools » permettent aux utilisateurs de mieux protéger leur vie tout en conservant la possibilité de prouver qu’ils ne sont pas impliqués dans des activités illicites connues.
Nous pensons que les utilisateurs honnêtes seront incités à participer à un tel système par la combinaison de deux facteurs :
(i) le désir de protection de la vie privée et
(ii) le désir d’éviter les soupçons.
Dans de nombreux cas, la protection de la vie privée et le respect de la réglementation sont perçus comme incompatibles. Le présent document suggère que ce n’est pas nécessairement le cas si le protocole de protection de la vie privée permet à ses utilisateurs de prouver certaines propriétés concernant l’origine de leurs fonds.
Supposons, par exemple, que les utilisateurs puissent démontrer que leurs fonds n’ont aucun lien avec des dépôts provenant de sources illicites connues, ou prouver que les fonds font partie d’un ensemble spécifique de dépôts, sans révéler d’autres informations.
Privacy pools : la solution pour rassurer les régulateurs ?
Une telle configuration peut générer un équilibre, où les utilisateurs honnêtes sont fortement incités à prouver leur appartenance à un ensemble d’associations donné et conforme, tout en continuant à bénéficier de la confidentialité au sein de cet ensemble.
Inversement, pour les utilisateurs malhonnêtes, il est impossible de fournir une telle preuve. Cela permet aux utilisateurs honnêtes de se dissocier des dépôts de tiers avec lesquels ils ne sont pas d’accord ou qui pourraient les empêcher d’utiliser leurs fonds dans un environnement réglementé.
Nous soutenons que la proposition des Privacy Pools est assez flexible et peut être adaptée pour satisfaire potentiellement une grande variété d’exigences réglementaires. Ce document doit être considéré comme une humble contribution à un avenir potentiel, dans lequel la protection de la vie privée et la réglementation financière peuvent coexister. La coopération entre les ingénieurs, les universitaires de divers domaines, les décideurs politiques et les régulateurs sera nécessaire pour étendre et modifier cette proposition, l’objectif ultime étant de créer une infrastructure améliorant la protection de la vie privée qui puisse être utilisée dans un environnement réglementé.
Maximisez votre expérience Cointribune avec notre programme 'Read to Earn' ! Pour chaque article que vous lisez, gagnez des points et accédez à des récompenses exclusives. Inscrivez-vous dès maintenant et commencez à cumuler des avantages.
Chaque jour, j’essaie d’enrichir mes connaissances sur cette révolution qui permettra à l’humanité d’avancer dans sa conquête de liberté.
Les propos et opinions exprimés dans cet article n'engagent que leur auteur, et ne doivent pas être considérés comme des conseils en investissement. Effectuez vos propres recherches avant toute décision d'investissement.