Titre original : "Vers l'autosouveraineté numérique : la pile d'identités Web3"
Auteur : Nichanan Kesonpat, 1kxnetwork
Compilé : Le Tao de DeFi
Cet article couvre les concepts fondamentaux de l'identité décentralisée, l'évolution de l'identité sur Internet, un aperçu couche par couche de la pile d'infrastructure d'identité Web3 et les développements associés dans les primitives de confidentialité. Les couches de preuve de personnalité, de conformité et d’application seront abordées dans les prochains articles.

Écosystème d'infrastructure d'identité Web3 - décembre 2022
L'identité est un attribut émergent constitué de données associées à une personne, une entité ou un objet. Dans le monde physique, nous stockons ces données dans notre cerveau sous forme de réputations abstraites et d’associations psychologiques. Dans le monde numérique, l’identité se formalise en deux composantes :
Identifiant : un ensemble unique de caractères ou de chiffres qui identifie un sujet (par exemple, numéro de passeport, identifiant Twitter, carte d'étudiant).
Données relatives au sujet (par exemple, historique de voyage, tweets et suivis, résultats scolaires).
Créer une couche d'identité pour Internet est difficile, car il existe un manque de consensus sur sa nature et son fonctionnement. L'identité numérique est liée au contexte, et nous expérimentons Internet à travers une variété de contenus, présents dans de nombreux contextes différents. Aujourd'hui, une grande partie de notre identité numérique est fragmentée et contrôlée par quelques acteurs dont l'intérêt est d'empêcher toute propagation de leur contexte vers d'autres contextes.
Les entreprises considèrent les relations clients comme un atout essentiel et hésitent à abandonner le contrôle de ces relations. Jusqu'à présent, elles n'ont eu aucune incitation à le faire. Même une identité ponctuelle et temporaire est préférable à un cadre qu'elles ne maîtrisent pas.
Certains secteurs d’activité comme la finance ont des besoins uniques (comme la conformité) lorsqu’il s’agit de maintenir des relations numériques avec les clients et les fournisseurs.
Les gouvernements ont des besoins distincts de ceux des autres types d'organisations. Par exemple, la compétence en matière de permis de conduire et de passeports.
Ce modèle crée une asymétrie de pouvoir entre les individus et les parties qui gèrent nos identités et nos données. Il limite notre autonomie et nous empêche de consentir, de divulguer sélectivement nos informations et de transférer nos identités d'un environnement à l'autre pour une expérience cohérente en ligne et hors ligne.
L'identité décentralisée était déjà un effort collectif avant l'essor des cryptomonnaies et du Web 3. L'objectif global est de permettre aux individus de retrouver leur autonomie en matière d'identité sans dépendre d'un gardien unique et centralisé. L'utilisation abusive des données clients et l'érosion de la confiance envers les grandes entreprises ont placé la décentralisation au cœur de la prochaine ère de l'identité sur Internet.

Le concept central de l'identité décentralisée
Les identifiants décentralisés (DID) et les preuves constituent les principaux éléments constitutifs de l'identité décentralisée. Les DID sont émis et stockés dans des registres de données vérifiables (VDR) sous forme d'« espaces de noms » autonomes, non gérés de manière centralisée. Outre les blockchains, les infrastructures de stockage décentralisées et les réseaux P2P peuvent également servir de VDR.
Ici, les entités (individus, communautés, organisations) peuvent utiliser une infrastructure à clé publique décentralisée (PKI) pour authentifier, prouver la propriété et gérer leurs DID, qui, contrairement à la PKI réseau traditionnelle, ne repose pas sur une autorité de certification centralisée (CA) comme racine de confiance.
Les données relatives aux identités sont consignées sous forme d'attestations, qui sont des « affirmations » formulées par une identité sur une autre (ou sur elle-même). La vérification de ces affirmations est effectuée grâce à des signatures cryptographiques implémentées par l'infrastructure à clé publique (PKI).

Les identifiants décentralisés ont 4 propriétés principales :
Décentralisation : création indépendante d'une institution centralisée. Les entités peuvent être créées librement, tout en préservant la séparation de leurs identités, rôles et interactions dans différents environnements.
Persistants : une fois créés, ils sont attribués de manière permanente à une entité. (Bien que certains DID soient conçus pour des identités éphémères).
Analysable : peut être utilisé pour révéler des informations supplémentaires sur l'entité.
Vérifiable : les entités peuvent prouver la propriété d'un DID ou des revendications à son sujet (informations d'identification vérifiables) sans s'appuyer sur un tiers, grâce à des signatures et des attestations cryptographiques.
Ces propriétés distinguent les DID des autres identifiants tels que les noms d'utilisateur (non vérifiables), les passeports (non décentralisés) et les adresses blockchain (non persistantes, avec une résolvabilité limitée).
Le Consortium World Wide Web (W3C) est une communauté internationale d'organisations, de collaborateurs et du public qui collaborent à l'élaboration de normes Web. La spécification DID du W3C définit quatre parties principales :
Schéma : Le préfixe « did » indique aux autres systèmes qu'il interagit avec un DID, plutôt qu'avec un autre type d'identifiant comme une URL, une adresse e-mail ou un code-barres de produit.
Méthode DID : indique aux autres systèmes comment interpréter l'identifiant. Plus de 100 méthodes DID sont répertoriées sur le site web du W3C, généralement associées à leur propre VDR, et proposent différents mécanismes de création, de résolution, de mise à jour et de suppression des identifiants.
Identifiant unique : identifiant unique propre à une méthode DID. Par exemple, une adresse sur une blockchain spécifique.
Fichier DID : les 3 parties ci-dessus peuvent être analysées dans un fichier DID, qui contient la manière dont l'entité peut s'authentifier, tous les attributs/revendications concernant l'entité et des pointeurs vers l'endroit où des données supplémentaires sur l'entité peuvent être localisées (« points de terminaison de service »).
L'anatomie des identifiants décentralisés et des documents DID
L'impact de la cryptographie
Si l'infrastructure à clés publiques (ICP) existe depuis longtemps, les cryptomonnaies ont accéléré leur adoption grâce aux incitations offertes par les réseaux de jetons. Autrefois principalement utilisée par les technologues soucieux de la confidentialité, cette technologie est désormais indispensable pour participer à la nouvelle économie. Les utilisateurs doivent créer des portefeuilles pour gérer eux-mêmes leurs actifs et interagir avec les applications web3. Portés par l'essor des ICO, l'été de la DeFi, la frénésie des NFT et la communauté tokenisée, les utilisateurs disposent de plus de clés que jamais. Ce phénomène s'accompagne d'un écosystème dynamique de produits et services qui simplifient et sécurisent la gestion des clés. Les cryptomonnaies ont été le cheval de Troie idéal pour l'infrastructure d'identité décentralisée et son adoption.
Commençons par les portefeuilles. Bien qu'ils soient encore principalement considérés comme de la gestion d'actifs au sens financier, la tokenisation et l'historique on-chain nous permettent déjà de représenter nos intérêts (collections NFT), notre travail (Kudos, 101) et nos opinions (votes de gouvernance). Perdre une clé privée ressemble de moins en moins à perdre de l'argent, et de plus en plus à perdre un passeport ou un compte sur les réseaux sociaux. Les cryptomonnaies brouillent la frontière entre ce que nous possédons et qui nous sommes.

Cependant, nos activités et nos actifs sur la blockchain donnent une vision limitée (et non respectueuse de la vie privée) de notre identité. La blockchain n'est qu'une couche de la pile d'identité décentralisée. Le reste de la pile contribue également à résoudre des problèmes importants, tels que :
Comment nous identifions-nous et nous authentifions-nous au sein des réseaux et des écosystèmes ?
Comment pouvons-nous prouver des choses sur nous-mêmes (réputation, unicité, conformité) tout en préservant notre confidentialité ?
Comment accordons-nous, gérons-nous et révoquons-nous l’accès à nos données ?
Dans un monde où nous contrôlons notre propre identité et nos données, comment interagissons-nous avec les applications ?
Les solutions à ces problèmes auront de profondes implications sur ce à quoi ressemblera Internet pour les générations à venir.
Les sections suivantes décriront la pile d'identité Web3 couche par couche : registre de données vérifiables, stockage décentralisé, mutabilité et composabilité des données, portefeuilles, authentification, autorisation et preuve.

Pile d'infrastructure d'identité décentralisée
Pile d'identité Web3
La blockchain comme registre de données vérifiable
La nature distribuée et immuable de la blockchain en fait un registre de données vérifiable idéal, et le DID est émis sur cette base. De fait, plusieurs blockchains publiques utilisent les méthodes DID du W3C, telles que :
Ethereum, did:ethr:public key représente l'identité d'un compte Ethereum.
Cosmos, did:cosmos:chainspace:namespace:unique-id représente les actifs compatibles entre les chaînes Cosmos
Bitcoin, où did:btcr: btcr-identifier représente un identifiant de transaction codé TxRef référençant la position de la transaction dans la blockchain Bitcoin basée sur UTXO.
Il est important de noter que did:pkh:address est une méthode DID de génération indépendante du registre, conçue pour assurer l'interopérabilité des réseaux blockchain. Selon la norme CAIP-10, il s'agit d'un identifiant de compte utilisé pour l'expression de paires de clés inter-chaînes.
Fractal est un protocole de provisionnement et de vérification d'identité conçu pour les applications exigeant des niveaux de KYC uniques et variables pour leurs utilisateurs. Une fois les vérifications de validité et/ou KYC effectuées, les DID Fractal sont attribués aux adresses Ethereum correspondantes et ajoutés aux listes correspondantes. Le registre DID de Fractal est un contrat intelligent sur Ethereum qui permet aux parties à la transaction d'interroger les DID Fractal et leurs niveaux de vérification.
Kilt, Dock et Sovrin sont des blockchains spécifiques à une application pour l'identité auto-souveraine. À l'heure actuelle, elles sont principalement utilisées par les entreprises pour délivrer des identités et des identifiants aux utilisateurs finaux. Pour participer au réseau, les nœuds doivent staker les jetons natifs afin de traiter des transactions telles que l'émission de DID/identifiants, la définition de schémas d'identifiants et la mise à jour des révocations.
Stockage de données décentralisé
Bien que les blockchains à usage général puissent également servir de sources de données pour les données utilisateur immuables telles que la propriété des actifs et l'historique des transactions (comme les trackers de portefeuille et les applications « DeFi Score »), elles peuvent ne pas être adaptées au stockage de la plupart des données sur les utilisateurs, car l'écriture et la mise à jour régulière de grandes quantités d'informations sont coûteuses sur le plan opérationnel et compromettraient la confidentialité car les données sont visibles par défaut.
Cela dit, il existe des blockchains spécifiques à certaines applications, comme Arweave*, conçues pour un stockage permanent. Arweave verse aux mineurs des récompenses de bloc et des frais de transaction en échange de la réplication des informations stockées sur le réseau. Les mineurs doivent fournir une « preuve d'accès » pour ajouter de nouveaux blocs. Une partie des frais est également versée à un fonds de dotation perpétuel qui sera versé aux mineurs ultérieurement lorsque les coûts de stockage ne seront plus couverts par l'inflation et les frais.
Ethereum et Arweave sont des exemples d'approches blockchain pour la persistance des données. Sur Ethereum, chaque nœud complet doit stocker l'intégralité de la chaîne. Sur Arweave, toutes les données nécessaires au traitement des nouveaux blocs et des nouvelles transactions sont enregistrées dans l'état de chaque bloc, permettant aux nouveaux participants de rejoindre le réseau en téléchargeant simplement le bloc actuel depuis leurs pairs de confiance.
La persistance contractuelle implique que les données ne peuvent pas être copiées et stockées de manière permanente par chaque nœud. Au lieu de cela, les données persistent grâce à la signature de contrats avec plusieurs nœuds, qui s'engagent à conserver une donnée pendant une période donnée et doivent renouveler le contrat à l'expiration de celle-ci pour assurer la persistance des données.
IPFS permet aux utilisateurs de stocker et de transférer des données vérifiables et adressables par contenu sur un réseau pair-à-pair. Les utilisateurs peuvent stocker les données souhaitées sur leur propre nœud IPFS, exploiter un groupe de nœuds dédié ou utiliser un service tiers de « pinnin » comme Pinata, Infura ou web3.storage. Tant qu'un nœud stocke les données, celles-ci existent sur le réseau et sont accessibles aux autres nœuds lorsqu'ils les demandent. IPFS s'appuie sur des couches cryptoéconomiques comme Filecoin et Crust Network, qui visent à encourager le stockage des données pour le réseau en créant un marché distribué pour la persistance des données à long terme.
Pour les informations personnelles identifiables (PII), les IPFS autorisés peuvent être utilisés pour se conformer au droit à l'oubli du RGPD/CCPA, en permettant aux utilisateurs de supprimer leurs données stockées sur le réseau. Le portefeuille d'identité Nuggets adopte cette approche et la décentralise davantage en permettant aux commerçants et partenaires d'exploiter des nœuds spécialisés.
Parmi les autres solutions de stockage décentralisées basées sur des contrats, on trouve Sia et Storj, qui chiffrent et répartissent les fichiers individuels sur plusieurs nœuds du réseau. Toutes deux utilisent le codage d'effacement (nécessitant seulement un sous-ensemble de nœuds de stockage pour traiter un fichier) afin de garantir la disponibilité des données même en cas de déconnexion de certains nœuds. Elles intègrent également des structures incitatives utilisant des jetons natifs pour le stockage.
Mutation et composabilité des données
Les blockchains à usage général, Arweave et IPFS garantissent toutes l'immuabilité, une propriété utile pour des données telles que les œuvres d'art NFT statiques et les archives permanentes. Cependant, la plupart de nos interactions avec les applications actuelles mettent continuellement à jour nos données. Les protocoles Web3 conçus pour les données mutables sont conçus pour y parvenir, en exploitant la couche de stockage décentralisée située en dessous.
Ceramic est un protocole de mutation et de composabilité décentralisées des données. Il transforme des fichiers immuables sur des réseaux de stockage persistants comme IPFS ou Arweave en structures de données dynamiques. Sur Ceramic, ces « flux de données » fonctionnent comme un registre mutable. Les données privées peuvent être stockées hors chaîne, leur schéma étant indexé sur Ceramic et rattaché à un stockage de données DID menant à un stockage privé externe.
Lorsque les utilisateurs mettent à jour leur profil dans une application basée sur Ceramic, le protocole vérifie ces mises à jour sous forme de flux, les transformant en un nouvel état tout en conservant une trace des changements d'état précédents. Chaque mise à jour sur Ceramic est vérifiée par un DID pouvant être associé à plusieurs adresses, ce qui permet aux utilisateurs de mettre à jour leurs données sans serveur.
Aujourd'hui, les entités Web2 possèdent l'interface utilisateur et le back-end, où elles stockent et contrôlent les données utilisateur. Google et Facebook utilisent ces données pour personnaliser algorithmiquement notre expérience sur leurs plateformes, valorisant ainsi les données collectées. Les nouvelles applications doivent partir de zéro et ne peuvent pas offrir une expérience personnalisée dès le départ, ce qui rend le marché moins concurrentiel.
Le Web3 démocratise les données, uniformise les conditions de concurrence pour les nouveaux produits et services et crée un environnement ouvert à l'expérimentation et un marché concurrentiel pour les applications. Dans un monde où les utilisateurs peuvent transférer leurs données d'une plateforme à une autre, les développeurs d'applications n'ont pas besoin de partir de zéro et peuvent personnaliser instantanément l'expérience de leurs utilisateurs. Les utilisateurs peuvent se connecter avec leur portefeuille et autoriser les applications à lire et écrire dans une « base de données » qu'ils contrôlent entièrement.
ComposeDB sur Ceramic est une base de données graphique décentralisée qui permet aux développeurs d'applications de découvrir, créer et réutiliser des modèles de données composables grâce à GraphQL. Les nœuds du graphique sont des comptes (DID) ou des fichiers (flux de données). Les arêtes du graphique représentent les relations entre les nœuds.
Un DID représente toute entité pouvant écrire des données dans le graphique, comme un utilisateur final, une organisation, une application ou tout type de service d'authentification.

Les modèles sont des flux Ceramic qui stockent des métadonnées sur la structure des données d'un document, les règles de validation, les relations et les informations de découverte. Les développeurs peuvent créer, combiner et remixer des modèles pour former une combinaison de données servant de base de données à leur application. Cela remplace la table utilisateur traditionnelle par un UID centralisé et les données associées. Les applications peuvent être construites sur un ensemble de données commun contrôlé par les utilisateurs, plutôt que de gérer leurs propres tables indépendantes.
Les applications pouvant définir sans autorisation les modèles qu'elles utiliseront dans un contexte spécifique, la place de marché de curation devient essentielle, car elle fournit un signal pour les modèles de données les plus utiles (schémas définis pour les graphes sociaux, les articles de blog, etc.). Grâce à une place de marché dédiée, les applications peuvent signaler ces modèles, les rendant ainsi plus facilement exploitables. Cela incitera les ensembles de données publics à produire de meilleures analyses et infographies, permettant ainsi aux produits d'innover davantage.
Tableland est une infrastructure de données relationnelles, structurées et modifiables, où chaque table est créée sous forme de NFT sur une chaîne compatible EVM. Le propriétaire du NFT peut définir une logique de contrôle d'accès pour une table, permettant à des tiers d'effectuer des mises à jour sur la base de données s'ils disposent des autorisations d'écriture appropriées. Tableland gère un réseau de validateurs hors chaîne qui gèrent la création et la mutation ultérieure des tables.
Les mises à jour on-chain et off-chain sont gérées par un contrat intelligent qui pointe vers le réseau Tableland via un baseURI et un tokenURI. Grâce à Tableland, les métadonnées NFT peuvent être modifiées (via le contrôle d'accès), interrogées (via SQL) et combinées (avec d'autres tables de Tableland).
De la même manière que les normes de contrats intelligents comme ERC-20 et ERC-721 offrent aux dApps un langage commun sur la création et le transfert de jetons, les normes de modèles de données offrent aux applications une compréhension commune des profils, des réputations, des recommandations DAO et des graphes sociaux. Grâce à un registre ouvert accessible à tous, ces données peuvent être réutilisées par plusieurs applications.
Découpler les applications de la couche de données permet aux utilisateurs de transférer leur contenu, leur graphe social et leur réputation entre les plateformes. Les applications peuvent accéder à la même base de données et être utilisées dans son contexte, permettant ainsi aux utilisateurs de disposer d'une réputation modulable dans différents contextes.
portefeuille
D'une manière générale, un portefeuille comprend des interfaces et une infrastructure sous-jacente pour la gestion des clés, la communication (échange de données entre les détenteurs, les émetteurs et les validateurs) et la présentation et la vérification des réclamations.
Il convient de distinguer les portefeuilles cryptographiques (MetaMask, Ledger, Coinbase Wallet, etc.) des portefeuilles d'identité. Les portefeuilles cryptographiques stockent des clés cryptographiques propres au réseau blockchain et sont conçus pour envoyer/recevoir des jetons et signer des transactions. Les portefeuilles d'identité stockent des identités et permettent aux utilisateurs de créer et de fournir des revendications afin de pouvoir fournir des données d'identité à travers des applications et des services.
Parmi les portefeuilles d'identité, on peut citer ONTO, Nuggets et Polygon ID Wallet. Certains portefeuilles d'identité, comme Fractal, incluent des contrôles de validité et des procédures KYC dans leur processus d'intégration, afin que les utilisateurs puissent soumettre une demande aux applications qui ont de telles exigences. C'est beaucoup moins courant parmi les portefeuilles de cryptomonnaies. De plus, les portefeuilles d'identité sont également plus susceptibles de prendre en charge les DID, les justificatifs vérifiables et les implémentations DIDComm approuvés par le W3C, ainsi que des cas d'utilisation au-delà du Web3.

WalletConnect est un protocole de communication qui connecte les portefeuilles entre eux et les dApps. Protocole minimaliste et impartial, déjà utilisé par des millions d'utilisateurs de cryptomonnaies, WalletConnect pourrait constituer une alternative solide à DIDComm pour accélérer l'adoption d'une infrastructure d'identité auto-souveraine. Contrairement à DIDComm, qui exige des fournisseurs de services qu'ils fournissent une infrastructure de médiation gérée, WalletConnect stocke les informations dans une « boîte aux lettres cloud » sur le réseau relais et les transmet aux portefeuilles dès leur remise en ligne.
Certification
L'authentification est la confirmation de l'identité d'un utilisateur par un ou plusieurs facteurs d'authentification. Un facteur d'authentification peut être un élément que l'utilisateur possède (signature numérique, carte d'identité, jeton de sécurité), une information qu'il connaît (mot de passe, code PIN, réponse secrète) ou une donnée biométrique (empreinte digitale, voix, rétine).

Dans le paradigme de l'identité décentralisée, les utilisateurs peuvent s'authentifier grâce à leur portefeuille. En coulisses, le portefeuille utilise ses clés stockées pour générer une signature numérique qui sert de « preuve » que le détenteur possède la clé privée associée au compte. Puisque les portefeuilles cryptographiques peuvent générer des signatures, les applications proposant des connexions web3 permettent aux utilisateurs de s'authentifier avec leur Metamask ou WalletConnect.
Depuis des années, les utilisateurs de cryptomonnaies interagissent avec les dapps en connectant des « portefeuilles ». Ces dapps n'ont aucune mémoire de l'utilisateur connecté et le traitent comme une page blanche à chaque visite sur un site web.
Aujourd'hui, les utilisateurs interagissent plus étroitement avec les dApps. C'est là que l'identité décentralisée prend tout son sens, car elle permet aux applications d'obtenir plus de contexte autour de l'utilisateur, offrant ainsi une expérience personnalisée tout en laissant les individus contrôler leurs données.
Pour des interactions contextuelles plus riches, telles que le chargement des préférences utilisateur, des profils ou des messages privés, l'application doit d'abord s'assurer qu'elle communique avec le véritable détenteur de la clé du compte. Si Connected Wallet ne fournit pas cette garantie, la norme d'authentification le fait. L'authentification établit une session avec l'utilisateur et permet à l'application de lire et d'écrire ses données en toute sécurité.
Sign-In with Ethereum (SIWE) est une norme d'authentification développée par Spruce, ENS et la Fondation Ethereum. SIWE standardise un format de message (similaire à JWT) permettant aux utilisateurs de se connecter à des services de comptes basés sur la blockchain. Sign-In with X (CAIP-122) s'appuie sur ce principe, faisant de SIWE une implémentation de SIWx centrée sur Ethereum, généralisant ainsi la norme à toutes les blockchains.
Pour les particuliers, cela signifie pouvoir s'inscrire ou se connecter avec leur portefeuille web3, sans avoir à créer de nom d'utilisateur ni de mot de passe, grâce à une expérience utilisateur en quelques clics, similaire à celle des connexions sociales, tout en préservant leur identité en ligne. Les applications peuvent utiliser cette stratégie marketing pour cibler les audiences natives du web3 et répondre aux besoins des utilisateurs.
À moyen terme, la possibilité de se connecter à des dApps et autres services web2 via un portefeuille cryptographique constituera une amélioration de l'expérience utilisateur native du web3. Cependant, cela exposera les utilisateurs à des problèmes de corrélation et de suivi, devenus très pernicieux sur le web2. L'authentification via des DID homologues ou des identifiants auto-certifiés pourrait constituer une solution alternative.
Contrairement aux DID « normaux » décrits ci-dessus, les DID homologues sont conçus pour être utilisés entre deux ou N parties connues. Ils peuvent servir d'identifiant unique pour chaque service et/ou interaction. L'adresse de portefeuille chiffrée de cette identité numérique peut être stockée avec VC comme preuve de vérification pour chaque interaction avec un commerçant ou un service.
Autorisation et contrôle d'accès
L'authentification confirme l'identité de l'utilisateur, tandis que l'autorisation détermine les ressources auxquelles une entité peut accéder et les opérations qu'elle est autorisée à effectuer avec ces ressources. Ces deux processus sont indépendants, mais vont souvent de pair dans l'expérience utilisateur. Après s'être connecté à un service tiers via les réseaux sociaux, l'utilisateur peut être invité à effectuer des demandes d'autorisation, comme illustré dans la figure suivante :

Dans un modèle d'identité fédérée, vous autorisez des applications tierces à consulter ou à mettre à jour vos données stockées auprès d'un fournisseur d'identité (comme Google), qui tient à jour la liste des autorisations que vous avez accordées à ces applications. L'infrastructure et les normes d'autorisation Web3 contribuent au même objectif, à la différence que vous êtes propriétaire de vos données de manière souveraine et que vous pouvez accorder à chaque tiers le droit de les déchiffrer, de les lire et de les mettre à jour sans passer par un intermédiaire centralisé.
Avec l'essor des communautés tokenisées, des produits web3 à tokens tels que Collab.Land, Guild et Tokenproof ont émergé. Ces outils sont principalement utilisés pour contrôler l'accès aux canaux Discord réservés aux membres, avec un accès plus précis basé sur le rôle et la réputation. Plutôt que d'attribuer manuellement l'accès, les communautés peuvent l'accorder par programmation en fonction des jetons détenus, de l'activité sur la chaîne ou de la validation sociale.
Lit est un protocole décentralisé de gestion de clés et de contrôle d'accès qui exploite la technologie MPC pour distribuer des « parts » de clés privées entre les nœuds du réseau Lit. Une paire de clés publique/privée est représentée par une paire de clés programmable (PKP) NFT, dont le propriétaire est l'unique responsable. Lorsque des conditions arbitrairement définies sont remplies, le propriétaire de la PKP peut déclencher l'agrégation d'une part de la clé par le réseau afin de déchiffrer des fichiers ou de signer des informations en son nom.
Dans le cadre du contrôle d'accès, Lit permet aux utilisateurs de définir des conditions on-chain qui autorisent l'accès à des ressources off-chain. Par exemple, une DAO peut télécharger un fichier sur Arweave ou AWS, le chiffrer avec Lit et définir un ensemble de conditions (comme la propriété d'un NFT). Les portefeuilles éligibles signent et diffusent un message au nœud du protocole, qui vérifie la blockchain pour s'assurer que le signataire remplit les conditions et, le cas échéant, agrège les partages de clés pour que le signataire puisse déchiffrer le fichier. Cette même infrastructure peut également être utilisée pour débloquer des expériences web2 comme les réductions Shopify, les salles Zoom et Gathertown verrouillées, les diffusions en direct et l'accès à Google Drive.
Kepler organise les données autour de bases de données contrôlées par les utilisateurs (« Orbites »). Ces bases de données représentent une liste d'hôtes de données désignés, sous forme de contrat intelligent contrôlé uniquement par leurs clés. Ces bases de données peuvent être gérées par des parties de confiance, des mécanismes de consensus entre les hôtes, les propriétaires de ressources et la validité des autorisations. Toute personne utilisant SIWE peut immédiatement bénéficier de bases de données privées pour stocker ses préférences, ses certificats numériques et ses fichiers privés. Grâce à la prise en charge de plusieurs backends de stockage, les utilisateurs peuvent auto-héberger leurs données ou utiliser une version hébergée.
Quelques exemples de la manière dont les applications peuvent utiliser des combinaisons des blocs de construction mentionnés précédemment :
Orbis est une application de réseau social (« web3 Twitter/Discord ») qui utilise Ceramic pour le stockage et les mises à jour des données. Les messages privés sont d'abord chiffrés avec Lit avant d'être stockés.
Utilisez Lit comme un système de cryptage décentralisé pour déléguer qui peut décrypter vos données Tableland
Kepler peut utiliser les documents en céramique comme balise pour acheminer vers des zones de stockage privées
Créez des PKP Lit pour permettre aux applications de « posséder » un flux Ceramic et accordez aux actions Lit (code sur IPFS) la possibilité de signer et de mettre à jour la base de données si des conditions arbitraires sont remplies
CACAO est une norme de représentation des capacités d'objet indépendantes de la chaîne (OCAP), créées à l'aide de Sign-in-With X. Elle définit une méthode permettant d'enregistrer les résultats des opérations de signature SIWx en tant que capacités d'objet (OCAP) basées sur IPLD, créant non seulement une acceptation d'événement authentifiée, mais également un reçu d'autorisation composable et rejouable pour une autorisation vérifiable.
La méthode d'autorisation permet aux utilisateurs d'accorder aux applications des droits précis, clairement définis et vérifiables pour consulter et mettre à jour leurs données. De plus, elle peut être basée sur une session, évitant ainsi aux utilisateurs de signer un message à chaque mise à jour, mais leur permettant d'interagir avec l'application et de signer une seule fois à la fin de la session.
Certification et titres de compétences
Nous atteignons ici le sommet de la pile d’infrastructure d’identité décentralisée, comme le montre le diagramme.

Un peu de terminologie :
L'attestation est la preuve qu'une déclaration ou une signature est valide et découle de la nécessité d'une vérification indépendante des événements enregistrés.
Un justificatif d'identité est un document détaillant des informations sur une entité, rédigé et signé par une autre entité ou par elle-même. Inviolables et vérifiables par cryptographie, ces justificatifs peuvent être stockés dans un portefeuille.
Les justificatifs vérifiables (VC) sont un modèle de données standard et un format de représentation pour les justificatifs numériques cryptographiquement valides définis par la spécification W3C Verifiable Credentials :
L'émetteur est la partie qui a délivré le titre de compétences (par exemple, une université).
Le titulaire possède le titre (par exemple, étudiant)
Le vérificateur vérifie le certificat (comme un employeur potentiel)
Une présentation vérifiable signifie que les utilisateurs partagent leurs données avec un tiers, et que ce dernier peut vérifier que les informations d'identification sont bien signées par l'émetteur.
Veuillez noter que les termes « émetteur », « titulaire » et « validateur » sont ici relatifs. Chacun possède son propre DID et les identifiants qu'il collecte.
Les diplômes sont la pierre angulaire de la réputation, et la réputation est un phénomène social qui évolue selon le contexte. Un ou plusieurs diplômes peuvent servir de référence pour les qualifications, les compétences ou l'autorité d'une entité. N'importe qui peut se vanter d'avoir obtenu un diplôme avec mention d'une université prestigieuse, mais cela n'a guère de sens pour les autres. Ce sont les diplômes détenus par une université qui sont considérés comme légitimes ou prestigieux.
Bien que les badges natifs du Web3 et les projets X-proof ne respectent pas tous les normes VC du W3C, nous pouvons tirer des similitudes des systèmes décrits ci-dessus.
L'exemple le plus simple est celui d'un badge NFT non transférable, uniquement disponible pour les portefeuilles ayant effectué une activité on-chain. L'historique des transactions étant on-chain, il est vérifiable et infalsifiable dès le départ. DegenScore quantifie vos attributs Ape en agrégeant vos interactions avec les protocoles DeFi et génère un score basé sur les règles des contrats intelligents. Vous pouvez le créer et le conserver dans votre portefeuille crypto comme « identifiant DeFi ». Si une DAO Degen est réservée aux détenteurs d'un certain score, vous pouvez lui présenter ce NFT. Le protocole de contrôle des jetons peut alors vérifier que vous le détenez et vous pouvez accéder à cette DAO – Preuve Degen.
POAPs * Preuve que vous avez assisté à un événement ou rencontré quelqu'un dans la vraie vie - Preuve de présence/Preuve de rencontre
Otterspace permet aux DAO de décider ce qui constitue un travail significatif et de délivrer des badges ntNFT à leurs membres. Proved exige qu'une DAO « signe » une réclamation avant que ses membres ne créent des badges NFT spécifiques à la DAO pour elle — Preuve de contribution
101 délivre un ntNFT – un certificat d’apprentissage – à la fin de ses cours en ligne une fois que les étudiants ont réussi le test.
Kleoverse délivre des badges de compétence Typescript, Rust ou Solidity aux utilisateurs en fonction des données GitHub - Preuve de compétence
Outre les cas d'utilisation de contrôle d'accès décrits ci-dessus, les PKP Lit peuvent également servir de notaire cryptographique que les actions Lit vérifient avant de signer un certificat. Par exemple, une plateforme éducative décentralisée pourrait permettre aux créateurs de cours de définir ce qui constitue un test réussi et de déployer ces conditions sous forme d'action Lit qui émet des certificats virtuels (VC) par programmation, en fonction de ces conditions, à l'aide de son PKP.
Deux questions se posent ici : lesquels de ces points de données d'authentification sont significatifs et comment les agréger pour obtenir une réputation ?
Le protocole Orange propose une solution : l'intégration de ces données dans des modèles bien définis via des fournisseurs de modèles. Sur Orange, les fournisseurs de modèles sont généralement des plateformes intégrant des mesures d'évaluation de la réputation. Les fournisseurs de données permettent d'utiliser leurs données comme données d'entrée pour les modèles qu'ils conçoivent. Les fournisseurs de modèles ajoutent ensuite des méthodes de calcul et attribuent des balises de réputation à différentes entités, puis mettent ces modèles à disposition d'autres acteurs. Les applications décentralisées (DApps) peuvent gérer et exploiter ces modèles de réputation pour leurs cas d'utilisation.
Jusqu'à présent, Aave, Gitcoin, Snapshot, DAOHaus et d'autres ont contribué à Orange. Ces données sont modélisées par ces plateformes et d'autres projets comme Dework, talentDAO et Crypto Sapiens pour fournir des ntNFT aux membres, ce qui ouvre de nombreuses opportunités, allant de l'amélioration des licences Discord avec CollabLand et Guild à la gouvernance pondérée par la réputation pour Snapshot.
confidentialité
Aucune discussion sur l'infrastructure d'identité n'est complète sans aborder les questions de confidentialité et les primitives techniques qui les sous-tendent. La confidentialité est un facteur à tous les niveaux de la pile. Au cours de la dernière décennie, l'adoption de la blockchain a accéléré le développement de primitives cryptographiques robustes telles que les zk-proofs, ainsi que son application aux technologies de mise à l'échelle comme les rollups, permettant aux identités de formuler des déclarations nuancées et respectueuses de la confidentialité concernant des informations publiquement vérifiables.
Les garanties de confidentialité nous aident à éviter les externalités négatives liées à l'utilisation de données totalement transparentes pour formuler des déclarations crédibles. Sans ces garanties, des tiers peuvent initier des interactions en dehors de la transaction initiale (par exemple, publicité, harcèlement). Grâce à la cryptographie et aux techniques zk, nous pouvons créer des systèmes d'identité où les interactions et le partage de données sont « sandboxés » dans des périmètres bien définis et sensibles au contexte.
Les justificatifs d'identité vérifiables « normaux » sont généralement au format JSON-JWT ou JSON-LD, et chaque justificatif d'identité possède une attestation externe ou intégrée (signature numérique) le rendant inviolable et vérifiable, écrite par l'émetteur.
Les preuves Zk et les nouveaux schémas de signature améliorent les fonctionnalités de protection de la confidentialité de W3 C VC, telles que :
Anti-association : Chaque fois qu'un titulaire partage un justificatif d'identité, cet identifiant est également partagé. Ainsi, chaque présentation d'un justificatif d'identité permet à un vérificateur de s'entendre pour identifier l'identité du titulaire et de la trianguler jusqu'à une personne identifiée. Avec Signature Braille, vous pouvez partager une preuve unique de signature à chaque fois, sans partager la signature elle-même.
Divulgation sélective : seules les propriétés nécessaires du VC sont partagées, les autres étant masquées. Les identifiants JSON-JWT et les identifiants JSON-LD signés par LD nécessitent que le titulaire partage l'intégralité de l'identifiant avec le vérificateur ; il n'y a pas de partage « partiel ».
Preuve composite : combinez les propriétés de plusieurs VC en une seule preuve sans avoir à rechercher l'émetteur ou à générer un nouveau VC.
Prédiction : Permet d'utiliser des valeurs cachées dans les opérations, avec une valeur fournie par le validateur. Par exemple, prouver que le solde du compte du titulaire de l'identifiant dépasse un certain seuil sans révéler ce solde, ou, souvent cité, prouver que vous avez l'âge légal pour consommer de l'alcool sans révéler votre date de naissance.

Une approche prometteuse est le système de signature BBS, initialement proposé par MATTR en 2020. Cette proposition permet d'utiliser les signatures BBS avec le format JSON-LD, couramment utilisé par les VC. Les détenteurs peuvent divulguer sélectivement les revendications contenues dans le justificatif initialement signé. Les preuves produites par ce système sont des preuves à divulgation nulle de connaissance de la signature, ce qui signifie que le vérificateur ne peut pas déterminer quelle signature a été utilisée pour produire la preuve, éliminant ainsi toute source commune d'association.
Iden3 est un protocole d'identité natif zk qui fournit un framework zk programmable et des bibliothèques open source pour les primitives d'identité zk, l'authentification et la génération d'attestations d'assertions. Le protocole génère des paires de clés pour chaque identité à l'aide de la courbe elliptique Baby Jubjub, conçue pour fonctionner efficacement avec les zk-SNARK afin de prouver la propriété et les assertions d'identité tout en préservant la confidentialité. PolygonID utilise actuellement ce protocole pour son portefeuille d'identités.
Le ZKP appliqué est un domaine de recherche et d'expérimentation dynamique qui a suscité un vif intérêt au sein de la communauté crypto ces dernières années. Sur le Web3, il a été utilisé dans des applications telles que :
Parachutage privé : Stealthdrop
Preuves privées mais fiables : Sismo (propriété), Semaphore (adhésion).
Transmission d'informations anonymes : heyanon
Vote anonyme/vote : Melo
en conclusion
Quelques implications générales de cette étude :
Tout comme la cryptographie a catalysé le développement et l'adoption de DPKI, les réputations composables permettant l'accès en ligne et dans la vraie vie seront un catalyseur pour une infrastructure d'identité décentralisée. Actuellement, les protocoles d'émission d'identifiants (preuve de X) sont fragmentés entre différents cas d'utilisation et réseaux blockchain. En 2023, nous verrons leurs couches d'agrégation (comme les profils) mûrir et être adoptés comme une interface unifiée, surtout si elles peuvent être utilisées pour offrir des expériences au-delà de la cryptographie, comme l'accès à des événements ou des réductions en ligne.
La gestion des clés demeure un point de friction et sujette à des points de défaillance uniques. Elle représente une expérience complexe pour la plupart des utilisateurs crypto-natifs et une expérience totalement inaccessible pour la plupart des consommateurs. L'authentification par identité fédérée constitue une amélioration de l'expérience utilisateur (UX) du modèle web 1.0, permettant une authentification unique avec un nom d'utilisateur et un mot de passe pour chaque application. Si l'expérience utilisateur de l'authentification web 3 s'améliore, elle reste médiocre, nécessite une phrase clé et offre un recours limité en cas de perte de clés. Des améliorations dans ce domaine seront constatées à mesure que la technologie MPC gagnera en maturité et sera promue auprès des particuliers et des institutions.
L'infrastructure cryptographique répond aux besoins des utilisateurs du Web 2. Les primitives Web 3 commencent à s'intégrer aux applications et services Web 2, rendant l'identité décentralisée accessible au grand public. C'est le cas de Collab.Land qui s'intègre à Nuggets, permettant aux utilisateurs de Reddit de miser leur réputation de VC pour accéder à leurs comptes. Le middleware d'authentification et d'autorisation Auth0 a intégré SIWE comme fournisseur d'identité, et ses clients professionnels peuvent désormais proposer des connexions à un portefeuille en plus du SSO.
À mesure que les données se démocratisent, les mécanismes de nettoyage doivent être validés. Tout comme le protocole d'indexation The Graph utilise un réseau de curateurs et de délégateurs pour signaler les sous-graphes les plus utiles (une API pour les données on-chain), les modèles de données autour des utilisateurs et la réputation de protocoles comme Ceramic et Orange nécessiteront du temps et l'engagement de la communauté pour mûrir au-delà des DAO et des cas d'utilisation des cryptomonnaies.
Considérations relatives à la confidentialité. Les projets doivent soigneusement prendre en compte l'impact du stockage public ou permanent lors du choix de leur stack. Par rapport aux VC préservant la confidentialité, aux DID éphémères et P, et à une combinaison de ZKP pour les activités on-chain et off-chain, les ntNFT de données publiques « pures » peuvent convenir à des cas d'utilisation limités (par exemple, l'abstraction de certaines activités on-chain) offrant des fonctionnalités telles que la divulgation sélective, la rotation des clés, l'anticorrélation et la révocabilité.
De nouveaux outils cryptographiques comme zkSNARK joueront un rôle important dans la prochaine génération d'infrastructures d'identité. Si les zkP sont actuellement appliqués à des cas d'utilisation isolés, un effort collectif de R&D, de la base au sommet, sera nécessaire pour se concentrer sur les modèles de conception d'applications, les implémentations de circuits ZK pour les primitives cryptographiques, les outils de sécurité des circuits et les outils de développement. Il s'agit d'un sujet à surveiller de près.
L'identité décentralisée est un grand projet qui nécessite les efforts de l'ensemble de l'écosystème pour converger vers des normes, itérer sur des primitives et vérifier mutuellement l'impact des décisions de conception.
Cet article couvre la partie infrastructure de la pile d'identité décentralisée, le prochain article traitera des couches de profil, de résistance Sybil, de conformité et d'application, qui sont toutes activées par les blocs de construction mentionnés ici.
