Lorsque les zk-SNARKs deviennent le « bouclier » des identifications numériques, nous pourrions perdre notre droit à l'anonymat en raison du « un individu, une identification » - c'est là le véritable enjeu derrière la technologie.
Rédigé par : Vitalik Buterin
Compilation : Saoirse, Foresight News
Aujourd'hui, l'utilisation des zk-SNARKs dans les systèmes d'identité numérique pour protéger la vie privée est devenue en partie la norme. Divers projets de passeports zk-SNARKs (traduction directe du projet ZK-passport, désignant des projets d'identité numérique basés sur la technologie zk-SNARK) développent des packages logiciels très conviviaux pour les utilisateurs ; grâce aux zk-SNARKs, les utilisateurs peuvent prouver qu'ils possèdent une preuve d'identité valide sans révéler aucun détail de leur identité. Le World ID (anciennement Worldcoin), qui utilise la technologie biométrique pour la vérification et garantit la vie privée grâce aux zk-SNARKs, a récemment dépassé les 10 millions d'utilisateurs. Un projet gouvernemental d'identité numérique dans la région de Taïwan en Chine utilise également les zk-SNARKs, et l'Union européenne accorde de plus en plus d'importance aux zk-SNARKs dans ses travaux sur l'identité numérique.
À première vue, l'identification numérique basée sur la technologie des zk-SNARKs semble être largement adoptée et pourrait constituer une grande victoire pour le d/acc* (Note : concept proposé par Vitalik en 2023, qui plaide pour le développement de technologies décentralisées à travers des outils techniques (comme la cryptographie, la blockchain, etc.), tout en défendant les risques potentiels, équilibrant l'innovation technique avec la sécurité, la vie privée et l'autonomie humaine.)*. Elle peut protéger nos réseaux sociaux, nos systèmes de vote et divers services Internet contre les attaques de sorciers et la manipulation par des robots, sans sacrifier la vie privée. Mais les choses sont-elles vraiment si simples ? L'identification basée sur les zk-SNARKs présente-t-elle encore des risques ? Cet article exposera les points suivants :
zk-SNARKs packaging (ZK-wrapping) résout de nombreux problèmes importants.
Les identifications emballées dans des zk-SNARKs présentent encore des risques. Ces risques ne semblent pas beaucoup liés à la biométrie ou aux passeports, la plupart des risques (fuites de données, vulnérabilité à la coercition, erreurs systémiques, etc.) proviennent principalement du maintien rigide de la propriété « une personne, une identification ».
Un autre extrême, c'est d'utiliser la « preuve de richesse (Proof of wealth) » pour contrer les attaques de sorcellerie, ce qui n'est pas suffisant dans la plupart des cas d'application, donc nous avons besoin d'une sorte de solution « similaire à l'identification ».
L'état idéal théorique se situe entre les deux, c'est-à-dire que le coût d'obtention de N identifications est de N².
Cet état idéal est difficile à réaliser dans la pratique, mais une « identification multiple » appropriée s'en approche, ce qui en fait la solution la plus réaliste. L'identification multiple peut être explicite (par exemple, une identification basée sur un graphe social) ou implicite (plusieurs types d'identification zk-SNARKs coexistent, sans qu'aucun type n'atteigne une part de marché proche de 100%).
Comment fonctionne l'identification enveloppée par zk-SNARKs ?
Imaginez que vous obtenez un World ID en scannant votre iris, ou que vous utilisez le lecteur NFC de votre téléphone pour scanner votre passeport et obtenir une identification basée sur des zk-SNARKs. Pour l'argument de cet article, les propriétés centrales de ces deux méthodes sont cohérentes (il n'existe que quelques différences marginales, comme dans le cas de la double nationalité).
Sur votre téléphone, il y a une valeur secrète s. Dans le registre mondial sur la blockchain, il y a une valeur de hachage publique H(s). Lorsque vous vous connectez à l'application, vous générez un ID utilisateur spécifique à cette application, c'est-à-dire H(s, app_name), et vous vérifiez par zk-SNARKs : cet ID provient de la même valeur secrète s qu'une valeur de hachage publique dans le registre. Ainsi, chaque valeur de hachage publique ne peut générer qu'un seul ID pour chaque application, mais ne révélera jamais à quel hachage public correspond l'ID exclusif d'une application.
En réalité, la conception peut être un peu plus complexe. Dans World ID, l'ID dédié à l'application est en fait un hash qui contient l'ID de l'application et l'ID de session, permettant ainsi de dissocier différentes opérations au sein de la même application. La conception du passeport basé sur zk-SNARKs peut également être construite de manière similaire.
Avant d'explorer les inconvénients de ce type d'identification, il est d'abord essentiel de reconnaître les avantages qu'il apporte. En dehors du domaine de niche des identifications basées sur zk-SNARKs (ZKID), pour prouver votre identité aux services qui nécessitent une vérification, vous devez révéler votre identité légale complète. Cela viole gravement le « principe du moindre privilège » en matière de sécurité informatique : un processus ne doit obtenir que les privilèges et les informations minimaux nécessaires à l'exécution de sa tâche. Ils doivent prouver que vous n'êtes pas un robot, que vous avez plus de 18 ans ou que vous venez d'un pays spécifique, mais ce qu'ils obtiennent, c'est un aperçu de votre identité complète.
La meilleure solution d'amélioration réalisable actuellement est d'utiliser des jetons indirects tels que les numéros de téléphone et les numéros de carte de crédit : à ce moment-là, le sujet qui connaît votre numéro de téléphone / numéro de carte de crédit associé aux activités au sein de l'application et le sujet qui connaît votre numéro de téléphone / numéro de carte de crédit associé à l'identité légale (société ou banque) sont séparés. Mais cette séparation est extrêmement fragile : les numéros de téléphone et d'autres types d'informations peuvent être divulgués à tout moment.
Et grâce à la technologie d'emballage de zk-SNARKs* (ZK-wrapping, une méthode technique utilisant les zk-SNARKs pour protéger la vie privée d'identification des utilisateurs, permettant aux utilisateurs de prouver leur identité sans divulguer d'informations sensibles)*, les problèmes mentionnés ci-dessus ont été en grande partie résolus. Mais ce qui doit être discuté ensuite est un point moins mentionné : il existe encore certaines questions qui non seulement n'ont pas été résolues, mais qui pourraient même devenir plus graves en raison des restrictions strictes de "une personne, une identification" dans ce type de solutions.
zk-SNARKs ne peut pas à lui seul garantir l'anonymat
Supposons qu'une plateforme d'identification basée sur des zk-SNARKs fonctionne parfaitement comme prévu, reproduisant strictement toute la logique mentionnée ci-dessus, et qu'elle ait même trouvé un moyen de protéger les informations privées des utilisateurs non techniques à long terme sans dépendre d'institutions centralisées. Mais en même temps, nous pouvons faire une hypothèse réaliste : les applications ne coopéreront pas activement à la protection de la vie privée, elles respecteront le principe du « pragmatisme », et les solutions de conception adoptées, bien qu'elles prétendent « maximiser la commodité des utilisateurs », semblent en réalité toujours pencher en faveur de leurs propres intérêts politiques et commerciaux.
Dans un tel scénario, les applications de médias sociaux n'adopteront pas des conceptions complexes comme la rotation fréquente des clés de session, mais attribueront plutôt à chaque utilisateur un ID exclusif à l'application. De plus, en raison du système d'identification qui suit la règle « une personne, une identité », les utilisateurs ne peuvent posséder qu'un seul compte (ce qui contraste avec l'actuelle « identité faible » (weak ID), comme les comptes Google, où une personne ordinaire peut facilement s'inscrire pour environ 5 comptes). Dans le monde réel, l'anonymat nécessite souvent plusieurs comptes : un pour l'« identité normale », les autres pour divers identités anonymes (voir « finsta et rinsta »). Ainsi, dans ce modèle, le niveau d'anonymat que les utilisateurs peuvent réellement obtenir est susceptible d'être inférieur à celui actuel. Par conséquent, même un système « une personne, une identité » emballé par des zk-SNARKs pourrait nous conduire progressivement vers un monde où toutes les activités doivent être rattachées à une identité publique unique. Dans une époque où les risques augmentent (comme la surveillance par drones, etc.), priver les gens de leur droit de protéger leur choix par l'anonymat aura des conséquences négatives graves.
zk-SNARKs ne peut pas vous protéger contre la coercition
Même si vous ne divulguez pas votre valeur secrète s, personne ne peut voir les liens publics entre vos différents comptes, mais que se passe-t-il si quelqu'un vous oblige à les rendre publics ? Le gouvernement peut exiger la divulgation de votre valeur secrète afin de voir toutes vos activités. Ce n'est pas une simple théorie : le gouvernement américain a commencé à demander aux demandeurs de visa de révéler leurs comptes de médias sociaux. De plus, les employeurs peuvent facilement imposer la divulgation d'informations publiques complètes comme condition d'embauche. Même certaines applications peuvent techniquement exiger que les utilisateurs révèlent leur identification sur d'autres applications pour permettre l'enregistrement (l'utilisation de l'app pour se connecter exécute cela par défaut).
De même, dans ces cas, la valeur de l'attribut zk-SNARKs est complètement anéantie, mais les inconvénients de ce nouvel attribut « un utilisateur un compte » persistent.
Nous pouvons peut-être réduire le risque de coercition par une optimisation de la conception : par exemple, en utilisant un mécanisme de calcul multipartite pour générer un ID exclusif à chaque application, permettant aux utilisateurs de participer avec le fournisseur de services. Ainsi, sans la participation de l'opérateur de l'application, les utilisateurs ne peuvent pas prouver leur ID exclusif dans cette application. Cela rendra plus difficile de forcer les autres à révéler leur identité complète, mais cela ne supprimera pas complètement cette possibilité, et ce type de solution présente également d'autres inconvénients, comme le fait que les développeurs d'applications doivent être des entités actives en temps réel, et non pas comme des contrats intelligents passifs sur la chaîne (qui ne nécessitent pas d'intervention continue).
zk-SNARKs ne peut pas résoudre les risques non liés à la confidentialité.
Toutes les formes d'identification présentent des cas limites :
Basé sur l'identification émise par le gouvernement (Government-rooted ID), y compris les passeports, ne couvre pas les apatrides et ne comprend pas les personnes qui n'ont pas encore obtenu de tels documents.
D'autre part, ce type de système d'identification gouvernemental accordera des privilèges uniques aux détenteurs de multiples nationalités.
Les agences émettrices de passeports pourraient être victimes de cyberattaques, et même des agences de renseignement de pays hostiles pourraient fabriquer des millions d'identités fictives (par exemple, si les "élections de guérilla" à la russe deviennent de plus en plus courantes, elles pourraient manipuler les élections à l'aide d'identités fictives).
Pour les personnes dont les caractéristiques biométriques sont altérées en raison de blessures ou de maladies, l'identification biométrique sera complètement inefficace.
L'identification biométrique pourrait très probablement être trompée par des contrefaçons. Si la valeur de l'identification biométrique devenait extrêmement élevée, nous pourrions même voir des personnes se consacrer à la culture d'organes humains juste pour "produire en série" ce type d'identification.
Ces cas extrêmes présentent le plus grand danger dans les systèmes cherchant à maintenir l'attribut « une personne, une identification », et ils n'ont aucun rapport avec la vie privée. Par conséquent, zk-SNARKs ne peuvent rien y faire.
S'appuyer sur la « preuve de richesse » pour se prémunir contre les attaques de sorcières ne suffit pas à résoudre le problème, donc nous avons besoin d'une forme de système d'identification.
Dans la communauté purement cypherpunk, une alternative courante est : s'appuyer entièrement sur la « preuve de richesse » pour se protéger contre les attaques de sorcières, plutôt que de construire une forme quelconque de système d'identification. En faisant en sorte que chaque compte engendre un certain coût, on peut empêcher quelqu'un de créer facilement un grand nombre de comptes. Cette pratique a déjà des précédents sur Internet, par exemple, le forum Somethingawful exigeait un paiement unique de 10 dollars pour s'inscrire, et si le compte était banni, cette somme ne serait pas remboursée. Cependant, dans la pratique, cela ne constitue pas vraiment un modèle économique crypto, car le principal obstacle à la création d'un nouveau compte n'est pas de devoir repayer 10 dollars, mais d'obtenir une nouvelle carte de crédit.
En théorie, il est même possible de rendre les paiements conditionnels : lors de l'enregistrement d'un compte, vous devez simplement miser un montant d'argent, et vous ne perdrez cette somme que dans de très rares cas où le compte est suspendu. En théorie, cela pourrait considérablement augmenter le coût des attaques.
Cette solution est particulièrement efficace dans de nombreux scénarios, mais elle ne fonctionne pas du tout dans certains types de scénarios. Je vais me concentrer sur deux catégories de scénarios, que je vais appeler « scénarios de type revenu de base universel (UBI-like) » et « scénarios de type gouvernance (governance-like) ».
demande d'identification dans un scénario de type revenu de base universel (UBI-like)
Le terme « scénario de revenu de base quasi universel » fait référence à des situations où un certain nombre d'actifs ou de services doivent être distribués à un très large éventail d'utilisateurs (idéalement à tous), sans tenir compte de leur capacité de paiement. Worldcoin incarne systématiquement cela : toute personne possédant un World ID peut recevoir régulièrement une petite quantité de jetons WLD. De nombreux airdrops de jetons cherchent également à atteindre des objectifs similaires de manière plus informelle, en essayant de faire en sorte qu'au moins une partie des jetons parvienne à un maximum d'utilisateurs.
Personnellement, je ne pense pas que la valeur de ce type de jetons puisse atteindre un niveau suffisant pour maintenir un revenu personnel. Dans une économie alimentée par l'intelligence artificielle, avec une échelle de richesse atteignant des milliers de fois la taille actuelle, ces jetons pourraient avoir une valeur pour maintenir la vie ; mais même dans ce cas, les projets dirigés par le gouvernement, soutenus par des richesses en ressources naturelles, occuperaient toujours une place plus importante sur le plan économique. Cependant, je pense que le problème que ces « mini-UBIs » peuvent réellement résoudre est : permettre aux gens d'obtenir une quantité suffisante de cryptomonnaies pour effectuer certaines transactions de base en chaîne et achats en ligne. Cela pourrait inclure :
Obtenir un nom ENS
Publier un hachage sur la chaîne pour initialiser une identification zk-SNARKs
Payer les frais des plateformes de médias sociaux
Si les cryptomonnaies sont largement adoptées à l'échelle mondiale, ce problème n'existera plus. Mais tant que les cryptomonnaies ne sont pas encore répandues, cela peut être le seul moyen pour les gens d'accéder aux applications non financières en chaîne et aux services de biens en ligne connexes, sinon ils pourraient ne pas avoir accès du tout à ces ressources.
De plus, il existe une autre façon d'atteindre un effet similaire, à savoir les « services de base universels » : fournir à chaque personne ayant une identité la possibilité d'envoyer un nombre limité de transactions gratuites dans certaines applications. Cette méthode pourrait être plus conforme aux mécanismes d'incitation et avoir une meilleure efficacité en capital, car chaque application bénéficiant de cette adoption peut le faire sans avoir à payer pour les non-utilisateurs ; cependant, cela s'accompagne d'un certain compromis, à savoir que l'universalité sera réduite (les utilisateurs peuvent seulement garantir l'accès aux applications participant à ce programme). Mais même ainsi, il est encore nécessaire d'avoir une solution d'identification pour empêcher le système de subir des attaques par des informations indésirables, tout en évitant l'exclusivité, cette exclusivité provenant de l'exigence de paiement par une certaine méthode de paiement, qui peut ne pas être accessible à tous.
La dernière catégorie importante à souligner est le « dépôt de sécurité de base universel (universal basic security deposit) ». L'une des fonctions de l'identification est de fournir un objet pouvant être utilisé pour rendre des comptes, sans que l'utilisateur ait à engager des fonds équivalents à la taille des incitations. Cela contribue également à atteindre un objectif : réduire la dépendance du seuil de participation à la quantité de capital personnel (voire ne nécessiter aucun capital).
besoin d'identification dans des scénarios de type gouvernance (governance-like)
Imaginez un système de vote (par exemple, les likes et les partages sur une plateforme de médias sociaux) : si les ressources de l'utilisateur A sont 10 fois celles de l'utilisateur B, alors son droit de vote sera également 10 fois celui de B. Mais d'un point de vue économique, chaque unité de droit de vote rapportera à A des bénéfices 10 fois supérieurs à ceux de B (car A a une taille plus grande, l'impact de toute décision sur son niveau économique sera donc plus significatif). Par conséquent, en général, le bénéfice du vote d'A pour lui-même est 100 fois celui du vote de B pour lui-même. C'est pourquoi nous constatons qu'A investit beaucoup plus d'énergie à participer aux votes, à étudier comment voter pour maximiser ses propres objectifs, et pourrait même manipuler stratégiquement l'algorithme. C'est aussi la raison fondamentale pour laquelle les "whales" peuvent exercer une influence excessive dans le mécanisme de vote par token.
Une raison plus générale et plus profonde réside dans le fait que : un système de gouvernance ne devrait pas accorder le même poids à « une personne contrôlant 100 000 dollars » et à « 1000 personnes détenant 100 000 dollars ». Ce dernier représente 1000 individus indépendants, et donc il contient des informations précieuses plus riches, plutôt qu'une répétition élevée d'informations de faible volume. Les signaux provenant de 1000 personnes sont également souvent plus « modérés », car les opinions des différents individus tendent à s'annuler.
Cela s'applique à la fois aux systèmes de vote formels et aux « systèmes de vote informels », tels que la capacité des gens à participer à l'évolution culturelle par la prise de parole publique.
Cela indique que les systèmes de type gouvernance ne se contenteront pas réellement de la pratique « quel que soit l'origine des fonds, des montants équivalents de fonds sont traités de la même manière ». Le système doit en fait comprendre le degré de coordination interne de ces montants de fonds.
Il est important de noter que si vous adhérez à mon cadre de description des deux types de scénarios (scénarios de revenu de base universel et scénarios de gouvernance), alors, d'un point de vue technique, le besoin d'une règle claire telle que « un homme, une voix » n'existe plus.
Pour les applications de type revenu de base universel (UBI-like), le véritable schéma d'identification nécessaire est le suivant : la première identification est gratuite, et le nombre d'identifications accessibles est limité. Lorsque le coût d'obtention de plus d'identifications est suffisamment élevé pour rendre les actions d'attaque du système sans signification, l'effet de limitation est atteint.
Pour les applications de type gouvernance, le besoin principal est : être capable, à travers un certain indicateur indirect, de juger si la ressource avec laquelle vous êtes en contact est contrôlée par un seul agent, ou par un groupe « naturellement formé » avec un degré de coordination relativement faible.
Dans ces deux scénarios, l'identification reste très utile, mais l'exigence de respecter des règles strictes telles que « une personne, une identité » n'existe plus.
L'état idéal théorique est : le coût d'obtention de N identifications est de N²
À partir des arguments ci-dessus, nous pouvons voir qu'il existe deux pressions provenant des deux extrémités opposées qui limitent la difficulté d'obtenir plusieurs identifications dans le système d'identification :
Tout d'abord, il ne faut pas établir de limite rigide et clairement visible sur le "nombre d'identifications facilement accessibles". Si une personne ne peut avoir qu'une seule identification, il est impossible de parler d'anonymat, et elle pourrait être contrainte de révéler son identité. En fait, même un nombre fixe supérieur à 1 présente des risques : si tout le monde sait que chaque personne a 5 identifications, alors vous pourriez être contraint de révéler les 5.
Un autre argument en faveur de cela est que l'anonymat lui-même est très fragile, d'où la nécessité d'un espace de sécurité suffisamment large. Grâce aux outils modernes d'IA, il est devenu facile d'associer les comportements des utilisateurs à travers les plateformes. En utilisant des informations publiques telles que les habitudes de langage, les heures de publication, les intervalles entre les publications et les sujets de discussion, il suffit de 33 bits d'informations pour identifier précisément une personne. Les gens peuvent peut-être utiliser des outils d'IA pour se défendre (par exemple, lorsque j'ai publié du contenu de manière anonyme, j'ai d'abord rédigé en français, puis traduit en anglais via un modèle de langage exécuté localement), mais même ainsi, ils ne souhaitent pas qu'une seule erreur mette fin à leur anonymat.
Deuxièmement, l'identification ne peut pas être complètement liée aux finances (c'est-à-dire que le coût pour obtenir N identifications est N), car cela permettrait aux grands acteurs d'obtenir facilement une influence disproportionnée (ce qui entraînerait la perte totale de pouvoir de parole pour les petits acteurs). Le nouveau mécanisme de Twitter Blue illustre cela : le coût de certification de 8 dollars par mois est trop faible pour limiter efficacement les abus, et aujourd'hui, les utilisateurs ignorent essentiellement ce type de marque de certification.
De plus, nous ne souhaitons peut-être pas qu'un sujet ayant une quantité de ressources multipliée par N puisse agir de manière inappropriée N fois sans retenue.
En résumé des arguments ci-dessus, nous souhaitons obtenir plusieurs identifications aussi facilement que possible, sous réserve de respecter les contraintes suivantes : (1) limiter le pouvoir des grands acteurs dans les applications de type gouvernance ; (2) limiter les comportements abusifs dans les applications de type revenu de base universel.
Si nous nous basons directement sur le modèle mathématique des applications de gouvernance mentionné précédemment, nous obtiendrons une réponse claire : si posséder N identifications peut générer un impact de N², alors le coût d'acquisition de N identifications devrait être de N². Par coïncidence, cette réponse s'applique également aux applications de revenu de base universel.
Les anciens lecteurs de ce blog auront peut-être remarqué que cela correspond exactement au graphique d'un précédent article de blog sur le « financement quadratique », ce n'est pas une coïncidence.
Un système d'identification pluraliste (Pluralistic identity) peut réaliser cet état idéal.
Le « système d'identification multiple » fait référence à un mécanisme d'identification sans une seule entité émettrice dominante, qu'il s'agisse d'une personne, d'une organisation ou d'une plateforme. Ce système peut être réalisé de deux manières :
Identité pluraliste explicite (Explicit pluralistic identity, également appelée « identité basée sur le graphe social social-graph-based identity »). Vous pouvez confirmer votre identité (ou d'autres déclarations, par exemple, prouver que vous êtes membre d'une certaine communauté) grâce aux preuves d'autres personnes dans votre communauté, et l'identité de ces prouveurs est également vérifiée par le même mécanisme. L'article « Société décentralisée » fournit une explication plus détaillée de ce type de conception, Circles étant un exemple actuellement en cours d'exécution.
Identité pluraliste implicite (Implicit pluralistic identity). C'est la situation actuelle, avec de nombreux fournisseurs d'identité différents, y compris Google, Twitter, des plateformes similaires dans divers pays et divers types de documents d'identité émis par les gouvernements. Très peu d'applications n'acceptent qu'un seul type d'authentification d'identité, la plupart des applications seront compatibles avec plusieurs, car c'est ainsi qu'elles peuvent atteindre les utilisateurs potentiels.
Dernière capture d'écran de l'écosystème d'identification Circles. Circles est l'un des plus grands projets d'identification basés sur les graphes sociaux.
L'identité multiple explicite possède naturellement une anonymat : vous pouvez avoir une identité anonyme (voire plusieurs), chaque identité pouvant établir sa réputation dans la communauté par ses propres actions. Un système idéal d'identité multiple explicite pourrait même ne pas nécessiter le concept d'« identités discrètes » ; au contraire, vous pourriez posséder un ensemble flou constitué de comportements passés vérifiables, et être en mesure de prouver différentes parties de cet ensemble de manière détaillée en fonction des besoins de chaque action.
Les zk-SNARKs faciliteront la réalisation de l'anonymat : vous pouvez utiliser votre identité principale pour créer une identité anonyme, en fournissant discrètement le premier signal pour faire reconnaître cette nouvelle identité anonyme (par exemple, en prouvant de manière confidentielle que vous possédez un certain nombre de jetons, afin de pouvoir publier du contenu sur anon.world ; ou en prouvant de manière confidentielle que vos abonnés Twitter possèdent certaines caractéristiques). Il pourrait y avoir des moyens encore plus efficaces d'utiliser les zk-SNARKs.
La « courbe de coût » des identifications multiples implicites est plus raide qu'une courbe quadratique, mais elle possède néanmoins la plupart des caractéristiques nécessaires. La plupart des gens possèdent certaines des formes d'identification énumérées dans cet article, plutôt que toutes. Vous pouvez acquérir une autre forme d'identification avec un certain effort, mais plus vous avez de formes d'identification, plus le rapport coût-bénéfice pour obtenir la suivante est faible. Cela fournit donc une nécessité de contrôle contre les attaques de gouvernance et d'autres abus, tout en veillant à ce que les coerciteurs ne puissent pas demander (et ne puissent pas raisonnablement s'attendre à) que vous révéliez un ensemble fixe d'identifications.
Tout système d'identification multiple, qu'il soit implicite ou explicite, possède naturellement une plus grande tolérance aux erreurs : une personne ayant un handicap aux mains ou aux yeux peut toujours détenir un passeport, et une personne sans nationalité peut également prouver son identité par certains canaux non gouvernementaux.
Il convient de noter que si la part de marché d'une certaine forme d'identification approche 100 % et devient la seule option de connexion, alors les caractéristiques susmentionnées perdront leur efficacité. À mon avis, c'est le plus grand risque auquel les systèmes d'identification qui recherchent trop la « universalité » pourraient être confrontés : une fois que leur part de marché approche 100 %, cela pourrait faire passer le monde d'un système d'identification multiple à un modèle « une personne, une identité », et comme il a été décrit dans cet article, ce modèle présente de nombreux inconvénients.
À mon avis, l'issue idéale du projet « une personne, une identité » est de fusionner avec un système d'identification basé sur des graphes sociaux. Le principal problème auquel est confronté le projet d'identification basé sur des graphes sociaux est la difficulté de s'étendre à un grand nombre d'utilisateurs. Le système « une personne, une identité » peut être utilisé pour fournir un soutien initial aux graphes sociaux, créant des millions de « utilisateurs semences », à ce moment-là, le nombre d'utilisateurs sera suffisamment élevé pour développer en toute sécurité un graphe social distribué à l'échelle mondiale à partir de cette base.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Vitalik : Avec l'adoption de l'identité numérique par la technologie ZK, cela signifie-t-il qu'il n'y a plus de risques ?
Rédigé par : Vitalik Buterin
Compilation : Saoirse, Foresight News
Aujourd'hui, l'utilisation des zk-SNARKs dans les systèmes d'identité numérique pour protéger la vie privée est devenue en partie la norme. Divers projets de passeports zk-SNARKs (traduction directe du projet ZK-passport, désignant des projets d'identité numérique basés sur la technologie zk-SNARK) développent des packages logiciels très conviviaux pour les utilisateurs ; grâce aux zk-SNARKs, les utilisateurs peuvent prouver qu'ils possèdent une preuve d'identité valide sans révéler aucun détail de leur identité. Le World ID (anciennement Worldcoin), qui utilise la technologie biométrique pour la vérification et garantit la vie privée grâce aux zk-SNARKs, a récemment dépassé les 10 millions d'utilisateurs. Un projet gouvernemental d'identité numérique dans la région de Taïwan en Chine utilise également les zk-SNARKs, et l'Union européenne accorde de plus en plus d'importance aux zk-SNARKs dans ses travaux sur l'identité numérique.
À première vue, l'identification numérique basée sur la technologie des zk-SNARKs semble être largement adoptée et pourrait constituer une grande victoire pour le d/acc* (Note : concept proposé par Vitalik en 2023, qui plaide pour le développement de technologies décentralisées à travers des outils techniques (comme la cryptographie, la blockchain, etc.), tout en défendant les risques potentiels, équilibrant l'innovation technique avec la sécurité, la vie privée et l'autonomie humaine.)*. Elle peut protéger nos réseaux sociaux, nos systèmes de vote et divers services Internet contre les attaques de sorciers et la manipulation par des robots, sans sacrifier la vie privée. Mais les choses sont-elles vraiment si simples ? L'identification basée sur les zk-SNARKs présente-t-elle encore des risques ? Cet article exposera les points suivants :
Comment fonctionne l'identification enveloppée par zk-SNARKs ?
Imaginez que vous obtenez un World ID en scannant votre iris, ou que vous utilisez le lecteur NFC de votre téléphone pour scanner votre passeport et obtenir une identification basée sur des zk-SNARKs. Pour l'argument de cet article, les propriétés centrales de ces deux méthodes sont cohérentes (il n'existe que quelques différences marginales, comme dans le cas de la double nationalité).
Sur votre téléphone, il y a une valeur secrète s. Dans le registre mondial sur la blockchain, il y a une valeur de hachage publique H(s). Lorsque vous vous connectez à l'application, vous générez un ID utilisateur spécifique à cette application, c'est-à-dire H(s, app_name), et vous vérifiez par zk-SNARKs : cet ID provient de la même valeur secrète s qu'une valeur de hachage publique dans le registre. Ainsi, chaque valeur de hachage publique ne peut générer qu'un seul ID pour chaque application, mais ne révélera jamais à quel hachage public correspond l'ID exclusif d'une application.
En réalité, la conception peut être un peu plus complexe. Dans World ID, l'ID dédié à l'application est en fait un hash qui contient l'ID de l'application et l'ID de session, permettant ainsi de dissocier différentes opérations au sein de la même application. La conception du passeport basé sur zk-SNARKs peut également être construite de manière similaire.
Avant d'explorer les inconvénients de ce type d'identification, il est d'abord essentiel de reconnaître les avantages qu'il apporte. En dehors du domaine de niche des identifications basées sur zk-SNARKs (ZKID), pour prouver votre identité aux services qui nécessitent une vérification, vous devez révéler votre identité légale complète. Cela viole gravement le « principe du moindre privilège » en matière de sécurité informatique : un processus ne doit obtenir que les privilèges et les informations minimaux nécessaires à l'exécution de sa tâche. Ils doivent prouver que vous n'êtes pas un robot, que vous avez plus de 18 ans ou que vous venez d'un pays spécifique, mais ce qu'ils obtiennent, c'est un aperçu de votre identité complète.
La meilleure solution d'amélioration réalisable actuellement est d'utiliser des jetons indirects tels que les numéros de téléphone et les numéros de carte de crédit : à ce moment-là, le sujet qui connaît votre numéro de téléphone / numéro de carte de crédit associé aux activités au sein de l'application et le sujet qui connaît votre numéro de téléphone / numéro de carte de crédit associé à l'identité légale (société ou banque) sont séparés. Mais cette séparation est extrêmement fragile : les numéros de téléphone et d'autres types d'informations peuvent être divulgués à tout moment.
Et grâce à la technologie d'emballage de zk-SNARKs* (ZK-wrapping, une méthode technique utilisant les zk-SNARKs pour protéger la vie privée d'identification des utilisateurs, permettant aux utilisateurs de prouver leur identité sans divulguer d'informations sensibles)*, les problèmes mentionnés ci-dessus ont été en grande partie résolus. Mais ce qui doit être discuté ensuite est un point moins mentionné : il existe encore certaines questions qui non seulement n'ont pas été résolues, mais qui pourraient même devenir plus graves en raison des restrictions strictes de "une personne, une identification" dans ce type de solutions.
zk-SNARKs ne peut pas à lui seul garantir l'anonymat
Supposons qu'une plateforme d'identification basée sur des zk-SNARKs fonctionne parfaitement comme prévu, reproduisant strictement toute la logique mentionnée ci-dessus, et qu'elle ait même trouvé un moyen de protéger les informations privées des utilisateurs non techniques à long terme sans dépendre d'institutions centralisées. Mais en même temps, nous pouvons faire une hypothèse réaliste : les applications ne coopéreront pas activement à la protection de la vie privée, elles respecteront le principe du « pragmatisme », et les solutions de conception adoptées, bien qu'elles prétendent « maximiser la commodité des utilisateurs », semblent en réalité toujours pencher en faveur de leurs propres intérêts politiques et commerciaux.
Dans un tel scénario, les applications de médias sociaux n'adopteront pas des conceptions complexes comme la rotation fréquente des clés de session, mais attribueront plutôt à chaque utilisateur un ID exclusif à l'application. De plus, en raison du système d'identification qui suit la règle « une personne, une identité », les utilisateurs ne peuvent posséder qu'un seul compte (ce qui contraste avec l'actuelle « identité faible » (weak ID), comme les comptes Google, où une personne ordinaire peut facilement s'inscrire pour environ 5 comptes). Dans le monde réel, l'anonymat nécessite souvent plusieurs comptes : un pour l'« identité normale », les autres pour divers identités anonymes (voir « finsta et rinsta »). Ainsi, dans ce modèle, le niveau d'anonymat que les utilisateurs peuvent réellement obtenir est susceptible d'être inférieur à celui actuel. Par conséquent, même un système « une personne, une identité » emballé par des zk-SNARKs pourrait nous conduire progressivement vers un monde où toutes les activités doivent être rattachées à une identité publique unique. Dans une époque où les risques augmentent (comme la surveillance par drones, etc.), priver les gens de leur droit de protéger leur choix par l'anonymat aura des conséquences négatives graves.
zk-SNARKs ne peut pas vous protéger contre la coercition
Même si vous ne divulguez pas votre valeur secrète s, personne ne peut voir les liens publics entre vos différents comptes, mais que se passe-t-il si quelqu'un vous oblige à les rendre publics ? Le gouvernement peut exiger la divulgation de votre valeur secrète afin de voir toutes vos activités. Ce n'est pas une simple théorie : le gouvernement américain a commencé à demander aux demandeurs de visa de révéler leurs comptes de médias sociaux. De plus, les employeurs peuvent facilement imposer la divulgation d'informations publiques complètes comme condition d'embauche. Même certaines applications peuvent techniquement exiger que les utilisateurs révèlent leur identification sur d'autres applications pour permettre l'enregistrement (l'utilisation de l'app pour se connecter exécute cela par défaut).
De même, dans ces cas, la valeur de l'attribut zk-SNARKs est complètement anéantie, mais les inconvénients de ce nouvel attribut « un utilisateur un compte » persistent.
Nous pouvons peut-être réduire le risque de coercition par une optimisation de la conception : par exemple, en utilisant un mécanisme de calcul multipartite pour générer un ID exclusif à chaque application, permettant aux utilisateurs de participer avec le fournisseur de services. Ainsi, sans la participation de l'opérateur de l'application, les utilisateurs ne peuvent pas prouver leur ID exclusif dans cette application. Cela rendra plus difficile de forcer les autres à révéler leur identité complète, mais cela ne supprimera pas complètement cette possibilité, et ce type de solution présente également d'autres inconvénients, comme le fait que les développeurs d'applications doivent être des entités actives en temps réel, et non pas comme des contrats intelligents passifs sur la chaîne (qui ne nécessitent pas d'intervention continue).
zk-SNARKs ne peut pas résoudre les risques non liés à la confidentialité.
Toutes les formes d'identification présentent des cas limites :
Ces cas extrêmes présentent le plus grand danger dans les systèmes cherchant à maintenir l'attribut « une personne, une identification », et ils n'ont aucun rapport avec la vie privée. Par conséquent, zk-SNARKs ne peuvent rien y faire.
S'appuyer sur la « preuve de richesse » pour se prémunir contre les attaques de sorcières ne suffit pas à résoudre le problème, donc nous avons besoin d'une forme de système d'identification.
Dans la communauté purement cypherpunk, une alternative courante est : s'appuyer entièrement sur la « preuve de richesse » pour se protéger contre les attaques de sorcières, plutôt que de construire une forme quelconque de système d'identification. En faisant en sorte que chaque compte engendre un certain coût, on peut empêcher quelqu'un de créer facilement un grand nombre de comptes. Cette pratique a déjà des précédents sur Internet, par exemple, le forum Somethingawful exigeait un paiement unique de 10 dollars pour s'inscrire, et si le compte était banni, cette somme ne serait pas remboursée. Cependant, dans la pratique, cela ne constitue pas vraiment un modèle économique crypto, car le principal obstacle à la création d'un nouveau compte n'est pas de devoir repayer 10 dollars, mais d'obtenir une nouvelle carte de crédit.
En théorie, il est même possible de rendre les paiements conditionnels : lors de l'enregistrement d'un compte, vous devez simplement miser un montant d'argent, et vous ne perdrez cette somme que dans de très rares cas où le compte est suspendu. En théorie, cela pourrait considérablement augmenter le coût des attaques.
Cette solution est particulièrement efficace dans de nombreux scénarios, mais elle ne fonctionne pas du tout dans certains types de scénarios. Je vais me concentrer sur deux catégories de scénarios, que je vais appeler « scénarios de type revenu de base universel (UBI-like) » et « scénarios de type gouvernance (governance-like) ».
demande d'identification dans un scénario de type revenu de base universel (UBI-like)
Le terme « scénario de revenu de base quasi universel » fait référence à des situations où un certain nombre d'actifs ou de services doivent être distribués à un très large éventail d'utilisateurs (idéalement à tous), sans tenir compte de leur capacité de paiement. Worldcoin incarne systématiquement cela : toute personne possédant un World ID peut recevoir régulièrement une petite quantité de jetons WLD. De nombreux airdrops de jetons cherchent également à atteindre des objectifs similaires de manière plus informelle, en essayant de faire en sorte qu'au moins une partie des jetons parvienne à un maximum d'utilisateurs.
Personnellement, je ne pense pas que la valeur de ce type de jetons puisse atteindre un niveau suffisant pour maintenir un revenu personnel. Dans une économie alimentée par l'intelligence artificielle, avec une échelle de richesse atteignant des milliers de fois la taille actuelle, ces jetons pourraient avoir une valeur pour maintenir la vie ; mais même dans ce cas, les projets dirigés par le gouvernement, soutenus par des richesses en ressources naturelles, occuperaient toujours une place plus importante sur le plan économique. Cependant, je pense que le problème que ces « mini-UBIs » peuvent réellement résoudre est : permettre aux gens d'obtenir une quantité suffisante de cryptomonnaies pour effectuer certaines transactions de base en chaîne et achats en ligne. Cela pourrait inclure :
Si les cryptomonnaies sont largement adoptées à l'échelle mondiale, ce problème n'existera plus. Mais tant que les cryptomonnaies ne sont pas encore répandues, cela peut être le seul moyen pour les gens d'accéder aux applications non financières en chaîne et aux services de biens en ligne connexes, sinon ils pourraient ne pas avoir accès du tout à ces ressources.
De plus, il existe une autre façon d'atteindre un effet similaire, à savoir les « services de base universels » : fournir à chaque personne ayant une identité la possibilité d'envoyer un nombre limité de transactions gratuites dans certaines applications. Cette méthode pourrait être plus conforme aux mécanismes d'incitation et avoir une meilleure efficacité en capital, car chaque application bénéficiant de cette adoption peut le faire sans avoir à payer pour les non-utilisateurs ; cependant, cela s'accompagne d'un certain compromis, à savoir que l'universalité sera réduite (les utilisateurs peuvent seulement garantir l'accès aux applications participant à ce programme). Mais même ainsi, il est encore nécessaire d'avoir une solution d'identification pour empêcher le système de subir des attaques par des informations indésirables, tout en évitant l'exclusivité, cette exclusivité provenant de l'exigence de paiement par une certaine méthode de paiement, qui peut ne pas être accessible à tous.
La dernière catégorie importante à souligner est le « dépôt de sécurité de base universel (universal basic security deposit) ». L'une des fonctions de l'identification est de fournir un objet pouvant être utilisé pour rendre des comptes, sans que l'utilisateur ait à engager des fonds équivalents à la taille des incitations. Cela contribue également à atteindre un objectif : réduire la dépendance du seuil de participation à la quantité de capital personnel (voire ne nécessiter aucun capital).
besoin d'identification dans des scénarios de type gouvernance (governance-like)
Imaginez un système de vote (par exemple, les likes et les partages sur une plateforme de médias sociaux) : si les ressources de l'utilisateur A sont 10 fois celles de l'utilisateur B, alors son droit de vote sera également 10 fois celui de B. Mais d'un point de vue économique, chaque unité de droit de vote rapportera à A des bénéfices 10 fois supérieurs à ceux de B (car A a une taille plus grande, l'impact de toute décision sur son niveau économique sera donc plus significatif). Par conséquent, en général, le bénéfice du vote d'A pour lui-même est 100 fois celui du vote de B pour lui-même. C'est pourquoi nous constatons qu'A investit beaucoup plus d'énergie à participer aux votes, à étudier comment voter pour maximiser ses propres objectifs, et pourrait même manipuler stratégiquement l'algorithme. C'est aussi la raison fondamentale pour laquelle les "whales" peuvent exercer une influence excessive dans le mécanisme de vote par token.
Une raison plus générale et plus profonde réside dans le fait que : un système de gouvernance ne devrait pas accorder le même poids à « une personne contrôlant 100 000 dollars » et à « 1000 personnes détenant 100 000 dollars ». Ce dernier représente 1000 individus indépendants, et donc il contient des informations précieuses plus riches, plutôt qu'une répétition élevée d'informations de faible volume. Les signaux provenant de 1000 personnes sont également souvent plus « modérés », car les opinions des différents individus tendent à s'annuler.
Cela s'applique à la fois aux systèmes de vote formels et aux « systèmes de vote informels », tels que la capacité des gens à participer à l'évolution culturelle par la prise de parole publique.
Cela indique que les systèmes de type gouvernance ne se contenteront pas réellement de la pratique « quel que soit l'origine des fonds, des montants équivalents de fonds sont traités de la même manière ». Le système doit en fait comprendre le degré de coordination interne de ces montants de fonds.
Il est important de noter que si vous adhérez à mon cadre de description des deux types de scénarios (scénarios de revenu de base universel et scénarios de gouvernance), alors, d'un point de vue technique, le besoin d'une règle claire telle que « un homme, une voix » n'existe plus.
Dans ces deux scénarios, l'identification reste très utile, mais l'exigence de respecter des règles strictes telles que « une personne, une identité » n'existe plus.
L'état idéal théorique est : le coût d'obtention de N identifications est de N²
À partir des arguments ci-dessus, nous pouvons voir qu'il existe deux pressions provenant des deux extrémités opposées qui limitent la difficulté d'obtenir plusieurs identifications dans le système d'identification :
Tout d'abord, il ne faut pas établir de limite rigide et clairement visible sur le "nombre d'identifications facilement accessibles". Si une personne ne peut avoir qu'une seule identification, il est impossible de parler d'anonymat, et elle pourrait être contrainte de révéler son identité. En fait, même un nombre fixe supérieur à 1 présente des risques : si tout le monde sait que chaque personne a 5 identifications, alors vous pourriez être contraint de révéler les 5.
Un autre argument en faveur de cela est que l'anonymat lui-même est très fragile, d'où la nécessité d'un espace de sécurité suffisamment large. Grâce aux outils modernes d'IA, il est devenu facile d'associer les comportements des utilisateurs à travers les plateformes. En utilisant des informations publiques telles que les habitudes de langage, les heures de publication, les intervalles entre les publications et les sujets de discussion, il suffit de 33 bits d'informations pour identifier précisément une personne. Les gens peuvent peut-être utiliser des outils d'IA pour se défendre (par exemple, lorsque j'ai publié du contenu de manière anonyme, j'ai d'abord rédigé en français, puis traduit en anglais via un modèle de langage exécuté localement), mais même ainsi, ils ne souhaitent pas qu'une seule erreur mette fin à leur anonymat.
Deuxièmement, l'identification ne peut pas être complètement liée aux finances (c'est-à-dire que le coût pour obtenir N identifications est N), car cela permettrait aux grands acteurs d'obtenir facilement une influence disproportionnée (ce qui entraînerait la perte totale de pouvoir de parole pour les petits acteurs). Le nouveau mécanisme de Twitter Blue illustre cela : le coût de certification de 8 dollars par mois est trop faible pour limiter efficacement les abus, et aujourd'hui, les utilisateurs ignorent essentiellement ce type de marque de certification.
De plus, nous ne souhaitons peut-être pas qu'un sujet ayant une quantité de ressources multipliée par N puisse agir de manière inappropriée N fois sans retenue.
En résumé des arguments ci-dessus, nous souhaitons obtenir plusieurs identifications aussi facilement que possible, sous réserve de respecter les contraintes suivantes : (1) limiter le pouvoir des grands acteurs dans les applications de type gouvernance ; (2) limiter les comportements abusifs dans les applications de type revenu de base universel.
Si nous nous basons directement sur le modèle mathématique des applications de gouvernance mentionné précédemment, nous obtiendrons une réponse claire : si posséder N identifications peut générer un impact de N², alors le coût d'acquisition de N identifications devrait être de N². Par coïncidence, cette réponse s'applique également aux applications de revenu de base universel.
Les anciens lecteurs de ce blog auront peut-être remarqué que cela correspond exactement au graphique d'un précédent article de blog sur le « financement quadratique », ce n'est pas une coïncidence.
Un système d'identification pluraliste (Pluralistic identity) peut réaliser cet état idéal.
Le « système d'identification multiple » fait référence à un mécanisme d'identification sans une seule entité émettrice dominante, qu'il s'agisse d'une personne, d'une organisation ou d'une plateforme. Ce système peut être réalisé de deux manières :
Dernière capture d'écran de l'écosystème d'identification Circles. Circles est l'un des plus grands projets d'identification basés sur les graphes sociaux.
L'identité multiple explicite possède naturellement une anonymat : vous pouvez avoir une identité anonyme (voire plusieurs), chaque identité pouvant établir sa réputation dans la communauté par ses propres actions. Un système idéal d'identité multiple explicite pourrait même ne pas nécessiter le concept d'« identités discrètes » ; au contraire, vous pourriez posséder un ensemble flou constitué de comportements passés vérifiables, et être en mesure de prouver différentes parties de cet ensemble de manière détaillée en fonction des besoins de chaque action.
Les zk-SNARKs faciliteront la réalisation de l'anonymat : vous pouvez utiliser votre identité principale pour créer une identité anonyme, en fournissant discrètement le premier signal pour faire reconnaître cette nouvelle identité anonyme (par exemple, en prouvant de manière confidentielle que vous possédez un certain nombre de jetons, afin de pouvoir publier du contenu sur anon.world ; ou en prouvant de manière confidentielle que vos abonnés Twitter possèdent certaines caractéristiques). Il pourrait y avoir des moyens encore plus efficaces d'utiliser les zk-SNARKs.
La « courbe de coût » des identifications multiples implicites est plus raide qu'une courbe quadratique, mais elle possède néanmoins la plupart des caractéristiques nécessaires. La plupart des gens possèdent certaines des formes d'identification énumérées dans cet article, plutôt que toutes. Vous pouvez acquérir une autre forme d'identification avec un certain effort, mais plus vous avez de formes d'identification, plus le rapport coût-bénéfice pour obtenir la suivante est faible. Cela fournit donc une nécessité de contrôle contre les attaques de gouvernance et d'autres abus, tout en veillant à ce que les coerciteurs ne puissent pas demander (et ne puissent pas raisonnablement s'attendre à) que vous révéliez un ensemble fixe d'identifications.
Tout système d'identification multiple, qu'il soit implicite ou explicite, possède naturellement une plus grande tolérance aux erreurs : une personne ayant un handicap aux mains ou aux yeux peut toujours détenir un passeport, et une personne sans nationalité peut également prouver son identité par certains canaux non gouvernementaux.
Il convient de noter que si la part de marché d'une certaine forme d'identification approche 100 % et devient la seule option de connexion, alors les caractéristiques susmentionnées perdront leur efficacité. À mon avis, c'est le plus grand risque auquel les systèmes d'identification qui recherchent trop la « universalité » pourraient être confrontés : une fois que leur part de marché approche 100 %, cela pourrait faire passer le monde d'un système d'identification multiple à un modèle « une personne, une identité », et comme il a été décrit dans cet article, ce modèle présente de nombreux inconvénients.
À mon avis, l'issue idéale du projet « une personne, une identité » est de fusionner avec un système d'identification basé sur des graphes sociaux. Le principal problème auquel est confronté le projet d'identification basé sur des graphes sociaux est la difficulté de s'étendre à un grand nombre d'utilisateurs. Le système « une personne, une identité » peut être utilisé pour fournir un soutien initial aux graphes sociaux, créant des millions de « utilisateurs semences », à ce moment-là, le nombre d'utilisateurs sera suffisamment élevé pour développer en toute sécurité un graphe social distribué à l'échelle mondiale à partir de cette base.