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.

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 liées au sujet (par exemple, historique de voyage, tweets et suivis, résultats académiques).

La création d’une couche d’identité pour Internet est difficile car il n’y a pas de consensus sur ce qu’elle devrait être et comment elle devrait fonctionner. L'identité numérique est contextuelle et nous faisons l'expérience d'Internet à travers une variété de contenus qui existent dans au moins de nombreux contextes différents. Aujourd’hui, une grande partie de notre identité numérique est fragmentée et sous le contrôle d’une poignée de parties prenantes dont l’intérêt est de nous empêcher de sortir de leur environnement pour aller ailleurs.

  • Les entreprises considèrent les relations clients comme des atouts essentiels et ne sont pas disposées à abandonner le contrôle de ces relations. Jusqu’à présent, il n’existe aucune méthode pouvant inciter à le faire. Même une identité temporaire ponctuelle vaut mieux qu’un cadre sur lequel ils n’ont aucun contrôle.

  • Des secteurs spécifiques comme la finance ont des besoins uniques (comme la conformité) lorsqu'il s'agit d'entretenir 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. Cela limite notre autonomie, nous empêchant de consentir, de divulguer de manière sélective des informations sur nous-mêmes et de porter nos identités à travers les contextes pour des expériences cohérentes en ligne et hors ligne.

Avant l’essor de Crypto et du Web3, l’identité décentralisée était un effort collectif. L’objectif global est que les individus retrouvent leur autonomie sur leur identité sans dépendre d’un gardien unique et centralisé. L’utilisation abusive des données clients et l’érosion de la confiance dans les grandes entreprises ont placé la décentralisation au cœur de la prochaine ère de l’identité Internet.

1 Le concept de base de l'identité décentralisée

Les identifiants décentralisés (DID) et les preuves sont les principaux éléments constitutifs de l'identité décentralisée. Les DID sont publiés et stockés dans un registre de données vérifiables (VDR) en tant qu'« espace de noms » autonome qui n'est pas géré de manière centralisée. Outre la blockchain, 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 (PKI) décentralisée pour authentifier, prouver la propriété et gérer leur DID. Contrairement à la PKI de réseau traditionnelle, elle ne s'appuie pas sur une autorité de certification (CA) centralisée comme racine de. confiance.

Les données sur les identités sont écrites sous forme de preuves, c'est-à-dire de « revendication » d'une identité sur une autre (ou sur elle-même). La vérification des réclamations est réalisée grâce à des signatures cryptographiques mises en œuvre par la PKI.

Les identifiants décentralisés ont 4 propriétés principales :

  • Décentralisation : Création sans recours à des institutions centralisées. Les entités peuvent être créées comme elles le souhaitent, en gardant leurs identités, rôles et interactions souhaités séparés dans différents contextes.

  • Persistance : Une fois créé, il est définitivement affecté à une entité. (Bien que certains DID soient conçus pour des identités éphémères).

  • Parsable : 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 revendiquer celui-ci (informations d'identification vérifiables) sans faire appel à des tiers, grâce aux signatures et 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écentralisables) et les adresses blockchain (non persistantes, résolvabilité limitée).

Le World Wide Web Consortium (W3C) est une communauté internationale d'organisations, de personnel et de citoyens travaillant ensemble pour développer des normes Web. La spécification DID du W3C définit 4 parties principales :

  • Scénario : Le préfixe « did » indique aux autres systèmes qu'il interagit avec un DID plutôt qu'avec un autre type d'identifiant, tel qu'une URL, une adresse e-mail ou un code-barres de produit.

  • Méthode DID : Spécifie aux autres systèmes comment interpréter l’identifiant. Il existe plus de 100 méthodes DID répertoriées sur le site Web du W3 C, souvent associées à son propre VDR, et à différents mécanismes de création, d'analyse, de mise à jour et de désactivation des identifiants.

  • Identifiant unique : Un identifiant unique spécifique à une méthode DID. Par exemple, une adresse sur une blockchain spécifique.

  • Fichier DID : les 3 sections ci-dessus sont analysées dans un fichier DID, qui contient la manière dont l'entité peut s'authentifier, toutes les propriétés/réclamations concernant l'entité et des pointeurs vers l'emplacement de données supplémentaires sur l'entité (le « point de terminaison du service »).

2 Impact de la cryptographie

Alors que l'infrastructure à clé publique (PKI) existe depuis longtemps, Crypto a accéléré son adoption grâce au mécanisme d'incitation du réseau de jetons. Ce qui était autrefois principalement utilisé par les technologues soucieux de la protection de la vie privée est désormais une condition préalable à la participation à la nouvelle économie. Les utilisateurs doivent créer des portefeuilles pour conserver eux-mêmes leurs actifs et interagir avec les applications Web3. Poussés par le boom des ICO, DeFi Summer, la manie NFT et la communauté de tokenisation, les utilisateurs ont plus de clés entre les mains que jamais. Ce qui suit est un écosystème dynamique de produits et de services qui rendent la gestion des clés plus facile et plus sécurisée. La crypto est le cheval de Troie idéal pour l’infrastructure et l’adoption d’identité décentralisée.

Commençons par les portefeuilles. Alors que les portefeuilles sont encore principalement pensés dans le contexte de la gestion d'actifs au sens financier, la tokenisation et l'historique en chaîne nous ont permis de représenter nos intérêts (collections NFT), notre travail (Kudos, 101) et nos opinions (vote de gouvernance). Perdre vos clés privées revient moins à perdre votre argent qu’à perdre votre passeport ou votre compte de réseau social. La crypto brouille les frontières entre ce que nous possédons et qui nous sommes.

Cependant, nos activités et nos avoirs en chaîne donnent une vision limitée de qui nous sommes (et ne préservent pas la vie privée). La blockchain n’est qu’une couche de la pile d’identité décentralisée. D'autres piles aident également à résoudre des problèmes importants, tels que :

  • Comment s’identifier et s’authentifier au sein des réseaux et des écosystèmes ?

  • Comment pouvons-nous prouver nos atouts (réputation, unicité, conformité) tout en préservant la confidentialité ?

  • Comment accorder, gérer et révoquer l'accès à nos données ?

  • Dans un monde où nous contrôlons nos propres identités et données, comment interagissons-nous avec les applications ?

Les solutions à ces problèmes auront un impact profond sur ce à quoi ressemblera Internet pour les générations à venir.

Les sections suivantes parcourent la pile d'identités Web3 couche par couche. C'est-à-dire l'enregistrement des données vérifiables, le stockage décentralisé, la mutabilité et la composabilité des données, les portefeuilles, l'authentification, l'autorisation et l'attestation.

3 Pile d'identité Web3

La blockchain comme registre de données vérifiables

La nature distribuée et immuable de la blockchain en fait un registre de données vérifiable sur lequel émettre des DID. En fait, diverses blockchains publiques disposent des méthodes DID du W3 C, telles que :

  • Dans Ethereum, did:ethr:public key représente l’identité du 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é en TxRef faisant référence à l'emplacement de la transaction dans la blockchain Bitcoin basée sur UTXO.

Il convient de noter did:pkh:address – une approche DID générative indépendante du grand livre conçue pour permettre l'interopérabilité dans les 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 fourniture et de vérification d'identité conçu pour les applications qui nécessitent des niveaux uniques et variables de KYC pour les utilisateurs. Une fois les contrôles de validité et/ou KYC terminés, le Fractal DID est publié à l'adresse Ethereum correspondante et ajouté à la liste correspondante. L'enregistrement DID de Fractal est un contrat intelligent sur Ethereum, selon lequel les parties à la transaction peuvent interroger le DID Fractal et son niveau de vérification.

Kilt, Dock et Sovrin sont des blockchains spécifiques aux applications pour une identité auto-souveraine. Au moment d’écrire ces lignes, ils sont principalement utilisés par les entreprises pour délivrer des identités et des informations d’identification aux utilisateurs finaux. Afin de participer au réseau, les nœuds doivent mettre en jeu des jetons natifs afin de traiter des transactions telles que l'émission de DID/informations d'identification, définir des schémas d'identification et effectuer des mises à jour de révocation.

Stockage de données décentralisé

Bien que les blockchains à usage général puissent également servir de source de données utilisateur immuables, telles que la propriété des actifs et l'historique des transactions (telles que les trackers de portefeuille et les applications « DeFi score »), elles peuvent ne pas convenir 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 compromettent la confidentialité car les données sont visibles par défaut.

Cela dit, certaines blockchains spécifiques à des applications, comme Arweave*, sont conçues pour un stockage permanent. Arweave paie aux mineurs des récompenses en bloc et des frais de transaction en échange de copies d'informations stockées sur le réseau. Les mineurs doivent fournir une « preuve d'accès » afin d'ajouter de nouveaux blocs. Une partie des frais est également versée dans un fonds de dotation permanent qui sera versé aux mineurs à l'avenir lorsque les coûts de stockage ne pourront pas être couverts par l'inflation et les frais.

Ethereum et Arweave sont des exemples d’approches de persistance des données basées sur la blockchain. 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 individuel, permettant aux nouveaux participants de rejoindre le réseau simplement en téléchargeant le bloc actuel depuis leurs pairs de confiance.

La persistance basée sur un contrat signifie 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 sont conservées via des contrats avec plusieurs nœuds, qui acceptent de conserver un bloc de données pendant une certaine période de temps et doivent les renouveler à chaque expiration pour maintenir la persistance des données.

IPFS permet aux utilisateurs de stocker et de transmettre des données vérifiables et adressées au contenu au sein d'un réseau peer-to-peer. Les utilisateurs peuvent enregistrer les données qu'ils souhaitent sur leurs propres nœuds IPFS, exploiter des groupes de nœuds dédiés ou utiliser des services « pinnin » tiers tels que Pinata, Infura ou web3.storage. Tant qu'il existe un nœud stockant les données, celles-ci existent dans le réseau et sont disponibles pour les autres nœuds lorsqu'ils en font la demande. Au-dessus d'IPFS se trouvent des couches cryptoéconomiques telles que Filecoin et Crust Network, conçues pour 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 personnellement identifiables (PII), IPFS autorisé peut être utilisé pour se conformer au droit à l'oubli RGPD/CCPA car il permet 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 aux partenaires d'exécuter des nœuds dédiés.

D'autres solutions de stockage décentralisées sous contrat incluent Sia et Storj, qui cryptent et divisent des fichiers individuels sur plusieurs nœuds du réseau. Les deux utilisent un codage d’effacement (nécessitant seulement un sous-ensemble de nœuds de stockage pour servir les fichiers) pour garantir la disponibilité des données même si certains nœuds sont hors ligne. Ils disposent également d’une structure d’incitation intégrée et utilisent des jetons natifs pour le stockage.

Modifications des données et composabilité

Universal Blockchain, Arweave et IPFS garantissent tous l'immuabilité, une propriété utile pour les données telles que l'art NFT statique et les enregistrements permanents. Cependant, nos interactions avec la plupart des applications actuelles mettent constamment à jour nos données. Le protocole Web3 conçu pour les données volatiles fait cela, en exploitant la couche de stockage décentralisée située en dessous.

Ceramic est un protocole de mutabilité et de composabilité décentralisées des données qui fonctionne en transformant les fichiers immuables dans des réseaux de stockage de données persistants comme IPFS ou Arweave en structures de données dynamiques. Sur Ceramic, ces « flux de données » sont comme son propre registre mutable. Les données privées peuvent être stockées hors chaîne, avec leur schéma indexé sur Ceramic, attaché à un magasin 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 valide ces mises à jour sous forme de flux, le transformant en un nouvel état tout en conservant la trace des changements d'état précédents. Chaque mise à jour sur Ceramic est authentifiée par un DID qui peut être mappé à plusieurs adresses, ouvrant la voie aux utilisateurs pour mettre à jour leurs données sans serveur.

Aujourd'hui, les entités Web2 possèdent l'interface utilisateur et le backend, où elles stockent et contrôlent les données des utilisateurs. Google et Facebook utilisent ces données pour personnaliser algorithmiquement notre expérience sur leurs plateformes, produisant ainsi davantage les données qu'ils collectent. Les nouvelles applications doivent être créées à 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 compétitif.

Le Web3 démocratise les données, uniformise les règles du jeu pour les nouveaux produits et services et crée un environnement ouvert pour l'expérimentation et des marchés concurrentiels pour les applications. Dans un monde où les utilisateurs peuvent transférer des données d’une plateforme à une autre, les développeurs d’applications n’ont pas besoin de repartir de zéro : ils peuvent personnaliser instantanément leurs expériences. Les utilisateurs peuvent se connecter avec leur portefeuille et autoriser l'application à lire/écrire dans une « base de données » dont ils ont le contrôle total.

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 à l'aide de GraphQL. Les nœuds du diagramme sont des comptes (DID) ou des fichiers (flux de données). Les bords du graphique représentent les relations entre les nœuds.

Un DID représente toute entité pouvant écrire des données sur le graphique, telle qu'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 du 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 en combinaisons de données qui servent de base de données pour leurs applications. 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.

Puisque les applications peuvent définir librement les modèles qu'elles utiliseront dans des contextes spécifiques, le marché de la curation devient important car il fournit un signal pour les modèles de données les plus utiles (schéma défini pour les graphes sociaux, les articles de blog, etc.). Avec un marché pour ces modèles de données, les applications peuvent signaler ces modèles pour les rendre plus faciles à utiliser. Cela incitera les ensembles de données publiques à produire de meilleures analyses et infographies afin que les produits puissent innover davantage sur cette base.

Tableland est une infrastructure de données relationnelles mutables et structurées où chaque table est créée en tant que NFT sur une chaîne compatible EVM. Le propriétaire du NFT peut configurer une logique de contrôle d'accès pour la table, permettant à un tiers d'effectuer des mises à jour sur la base de données si cette partie dispose des autorisations d'écriture appropriées. Tableland gère un réseau de validateurs hors chaîne qui gèrent la création de tables et les modifications ultérieures.

Les mises à jour en chaîne et hors chaîne sont gérées par des contrats intelligents, qui pointent vers le réseau Tableland à l'aide de baseURI et tokenURI. Avec Tableland, les métadonnées NFT peuvent être mutées (à l'aide du contrôle d'accès), interrogées (à l'aide de SQL) et combinées (avec d'autres tables sur Tableland).

Les normes de contrats intelligents telles que ERC-20 et ERC-721 donnent aux dapps un langage partagé sur la façon dont nous créons et transférons des jetons, et les normes de modèles de données donnent aux dapps une compréhension partagée des profils, des réputations, des propositions DAO et des graphiques sociaux. Ces données peuvent être réutilisées par plusieurs candidatures via une inscription ouverte que tout le monde peut soumettre.

Le découplage de l'application de la couche de données permet aux utilisateurs de porter 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 leur contexte, permettant aux utilisateurs d'acquérir une réputation composable dans différents contextes.

portefeuille

D'une manière générale, un portefeuille comprend les interfaces et l'infrastructure sous-jacente pour la gestion des clés, la communication (échange de données entre les détenteurs, les émetteurs et les validateurs), ainsi que 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 uniques au réseau blockchain et sont conçus pour envoyer/recevoir des pièces et signer des transactions. Les portefeuilles d'identité stockent les identités et permettent aux utilisateurs de créer et de fournir des revendications afin de pouvoir fournir des données d'identité entre applications et services.

Des exemples de portefeuilles d'identité incluent ONTO, Nuggets et Polygon ID Wallet. Certains portefeuilles d'identité, comme Fractal, incluent des contrôles de validité et KYC dans le cadre de leur processus d'intégration, afin que les utilisateurs puissent avoir une réclamation à soumettre à des applications qui ont de telles exigences. C’est beaucoup moins courant dans les portefeuilles cryptographiques. De plus, les portefeuilles d'identité sont également plus susceptibles de prendre en charge les DID sanctionnés par le W3C, les informations d'identification vérifiables et les implémentations de DIDComm ainsi que les cas d'utilisation en dehors du Web3.

WalletConnect est un protocole de communication qui connecte les portefeuilles aux portefeuilles et aux dapps. En tant que protocole minimaliste et impartial qui sert déjà des millions d'utilisateurs de crypto, WalletConnect peut s'avérer être une alternative puissante à DIDComm pour accélérer l'adoption d'une infrastructure d'identité auto-souveraine. Contrairement à DIDComm, qui nécessite qu'un fournisseur de services fournisse une infrastructure de médiation hébergée, WalletConnect stocke les informations dans une « boîte aux lettres cloud » sur le réseau relais, qui est transmise au portefeuille lorsque celui-ci revient en ligne.

Attestation

L'authentification est la confirmation de l'identité d'un utilisateur basée sur un ou plusieurs facteurs d'authentification. Les facteurs d'authentification peuvent être quelque chose que l'utilisateur possède (signature numérique, identifiant, jeton de sécurité), quelque chose qu'il connaît (mot de passe, code PIN, réponse secrète) ou biométrique (empreinte digitale, voix, scan rétinien).

Dans un paradigme d'identité décentralisé, les utilisateurs peuvent s'authentifier à l'aide de leur portefeuille. En coulisses, le portefeuille utilise ses clés stockées pour produire des signatures numériques qui servent de « preuve » que le titulaire possède les clés privées associées au compte. Étant donné que les portefeuilles cryptographiques peuvent générer des signatures, les applications proposant une connexion Web3 peuvent permettre aux utilisateurs de s'authentifier avec leur Metamask ou WalletConnect.

Depuis des années, les utilisateurs de crypto interagissent avec les dapps via des portefeuilles connectés. La dapp n'a aucune mémoire des utilisateurs connectés et les traite comme une page vierge à chaque fois qu'ils visitent un site Web.

Aujourd'hui, les utilisateurs ont des modèles d'interaction plus profonds avec les dapps. L'identité décentralisée devient ici utile car elle permet aux applications d'obtenir plus de contexte autour de l'utilisateur, permettant ainsi aux individus de garder le contrôle de leurs données tout en offrant une expérience personnalisée.

Pour des interactions contextuelles plus riches, telles que le chargement des préférences utilisateur, des profils ou des messages de discussion privés, l'application doit d'abord s'assurer qu'elle parle au véritable détenteur de la clé derrière le compte. Bien que les portefeuilles connectés n’offrent pas cette garantie, les normes de certification le font. L'authentification établit une session avec l'utilisateur et permet aux applications de lire et d'écrire leurs données en toute sécurité.

La connexion avec Ethereum (SIWE) est une norme d'authentification lancée par Spruce, ENS et la Fondation Ethereum. SIWE standardise un format de message (similaire à jwt) permettant aux utilisateurs d'utiliser un service de connexion à un compte basé sur la blockchain. Sign-In with X (CAIP-122) s'appuie sur cette base, faisant de SIWE une implémentation de SIWx centrée sur Ethereum, généralisant la norme pour fonctionner sur toutes les blockchains.

Pour les particuliers, cela signifie pouvoir s'inscrire ou se connecter avec leur portefeuille web3 sans avoir à créer un nom d'utilisateur et un mot de passe, avec une expérience utilisateur en « quelques clics » qui imite la connexion sociale tout en gardant le contrôle de leur identité en ligne. Les applications peuvent l'utiliser comme stratégie marketing pour cibler les audiences natives du Web3 et répondre aux besoins des utilisateurs.

À moyen terme, la possibilité de se connecter aux dapps et à d’autres services web2 à l’aide d’un portefeuille cryptographique deviendra 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 qui deviennent très préjudiciables dans le web2. L’authentification via des Peer DID ou des identifiants auto-certifiés peut constituer une solution alternative.

Contrairement aux DID « normaux » décrits ci-dessus, les DID homologues sont conçus pour être utilisés entre 2 ou N parties connues. Ils peuvent être utilisés comme identifiant unique pour chaque service et/ou interaction. L'adresse du portefeuille cryptée dans cette identité numérique peut être stockée avec le 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é d'un utilisateur, tandis que l'autorisation détermine à quelles ressources une entité doit pouvoir accéder et ce qu'elle est autorisée à faire avec ces ressources. Ces deux processus sont indépendants, mais vont souvent de pair dans le processus d’expérience utilisateur. Après s'être connecté à un service tiers à l'aide de la connexion sociale, l'utilisateur peut être invité à formuler certaines demandes d'autorisation, comme le montre la figure suivante :

Dans le modèle d'identité fédérée, vous autorisez les applications tierces à afficher ou à mettre à jour vos données stockées auprès du fournisseur d'identité (comme Google), et elles conservent une liste et les autorisations associées que vous avez accordées à ces applications. L'infrastructure et les normes d'autorisation Web3 contribuent également à atteindre cet objectif, sauf que vous disposez de données autonomes et pouvez accorder à chaque tiers le droit de déchiffrer/lire/mettre à jour les données sans avoir besoin d'un intermédiaire centralisé.

À mesure que la communauté de tokenisation s'est développée, les produits de gestion de jetons Web3 tels que Collab.Land, Guild et Tokenproof ont également grandi. L'une des principales utilisations de ces outils est le contrôle d'accès aux chaînes Discord réservées aux membres, avec un accès plus granulaire basé sur le rôle et la réputation. Au lieu d'attribuer manuellement l'accès, les communautés peuvent accorder l'accès par programme en fonction des jetons détenus, de l'activité en chaîne ou de la vérification sociale.

Lit est un protocole décentralisé de gestion de clés et de contrôle d'accès qui utilise la technologie MPC pour distribuer des « parts » de clés privées entre les nœuds du réseau Lit. Une bi-clé publique/privée est représentée par un NFT PKP (Programmable Key Pair), dont le propriétaire est l'unique contrôleur de la bi-clé. Lorsque des conditions arbitrairement définies sont remplies, les propriétaires de PKP peuvent déclencher le réseau pour regrouper les partages de clés afin de décrypter les fichiers ou de signer des messages en leur nom.

Dans le contexte du contrôle d'accès, Lit permet aux utilisateurs de définir des conditions en chaîne qui accordent l'accès aux ressources hors chaîne. Par exemple, un DAO pourrait télécharger un fichier sur Arweave ou AWS, le chiffrer avec Lit et définir un ensemble de conditions (telles que la propriété NFT). Les portefeuilles éligibles signent et diffusent un message aux nœuds de protocole, qui vérifient la blockchain pour garantir que le signataire est éligible et, si tel est le cas, regroupent 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 telles que les remises Shopify, les salles Zoom et les espaces Gathertown verrouillés, la diffusion en direct et l'accès à Google Drive.

Kepler organise les données autour de bases de données contrôlées par l'utilisateur (« Orbites »), qui représentent une liste désignée d'hôtes pour les données et, en tant que contrat intelligent, seules leurs clés peuvent les contrôler. 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 profiter d'une base de données privée pour stocker ses préférences, ses certificats numériques et ses fichiers privés. Grâce à la prise en charge « apportez votre propre stockage » pour plusieurs backends de stockage, les utilisateurs peuvent s'auto-héberger ou utiliser une version gérée.

Quelques exemples de la manière dont les applications peuvent utiliser des combinaisons des éléments de base mentionnés précédemment :

  • Orbis est une application de réseau social (« web3 Twitter/Discord ») qui utilise Ceramic pour le stockage des données et les mises à jour. Les messages privés sont d'abord cryptés avec Lit avant d'être stockés.

  • Utilisez Lit comme système de cryptage décentralisé pour déléguer qui peut déchiffrer vos données Tableland.

  • Kepler peut utiliser les documents Ceramic comme balise pour acheminer vers les magasins privés.

  • Créez des PKP Lit qui permettent 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 d'expression de capacités d'objet indépendantes de la chaîne (OCAP), créée à l'aide de Sign-in-With X. Il définit une méthode pour enregistrer les résultats des opérations de signature SIWx sous forme de capacités d'objet basées sur IPLD (OCAP), créant non seulement des acceptations d'événements authentifiées, mais également des reçus d'autorisation composables et rejouables pour des autorisations vérifiables.

Les méthodes d'autorisation permettent aux utilisateurs d'accorder aux applications la capacité précise, étendue et vérifiable d'afficher/mettre à jour leurs données. De plus, il peut être basé sur une session afin qu'ils n'aient pas à signer le message à chaque mise à jour, mais à la place, ils aient de riches interactions sur l'application et se connectent une fois à la fin de la session.

Certificats et titres de compétences

Nous atteignons ici le sommet de la pile d'infrastructure d'identité décentralisée, comme le montre la figure.

Quelques termes :

  • L'attestation fait référence à l'attestation qu'une déclaration et une signature sont valides et découle de la nécessité d'une vérification indépendante des événements enregistrés.

  • Un bon est tout document détaillant des informations sur une entité, écrit et signé par une autre entité ou par elle-même. Les informations d’identification sont infalsifiables et vérifiables cryptographiquement et peuvent être stockées dans un portefeuille.

Les informations d'identification vérifiables (VC) sont le modèle de données standard et le format de représentation pour les informations d'identification numériques chiffrables, tels que définis par la spécification des informations d'identification vérifiables du W3C :

  • L'émetteur est la partie qui a délivré le titre (comme une université)

  • Le titulaire est propriétaire du titre (par exemple étudiant)

  • Vérificateur pour vérifier le certificat (comme un employeur potentiel)

  • La présentation vérifiable se produit lorsque les utilisateurs partagent leurs données avec un tiers qui peut vérifier que l'identifiant a bien été signé par l'émetteur.

Veuillez noter que « émetteur », « titulaire » et « vérificateur » sont ici relatifs. Chacun a son propre DID et les informations d’identification qu’il collecte.

Les titres de compétences sont la pierre angulaire de la réputation, et la réputation est un phénomène social qui évolue avec l’évolution des circonstances. Un ou plusieurs informations d'identification peuvent être utilisées comme indicateur des qualifications, des capacités ou de l'autorité d'une entité. N’importe qui peut se dire qu’il est diplômé avec mention d’une université prestigieuse, mais cela ne veut rien dire pour personne d’autre. Les certificats détenus par les universités sont considérés comme légitimes ou prestigieux.

Bien que les badges natifs Web3 et les projets de certification X n'adhèrent pas tous aux normes VC du W3C, nous pouvons tirer des similitudes des systèmes décrits ci-dessus.

  • L’exemple le plus direct est celui des badges NFT non transférables, qui ne peuvent être créés que par des portefeuilles ayant effectué une certaine activité en chaîne. Étant donné que tout l’historique des transactions est en chaîne, il est vérifiable et infalsifiable dès le départ. DegenScore quantifie vos attributs de singe en agrégeant vos interactions avec les protocoles DeFi et génère un score en utilisant les règles d'un contrat intelligent. Vous pouvez frapper des pièces et les conserver comme « identifiants DeFi » dans votre portefeuille crypto. S'il existait un DAO Degen limité à ceux ayant un certain score, vous pourriez alors présenter ce NFT au DAO, puis le protocole de contrôle des jetons pourrait vérifier que vous le détenez, et vous pourriez accéder à ce DAO - Preuve de Degen .

  • POAP * Preuve que vous avez assisté à un événement ou rencontré quelqu'un IRL - Preuve de participation/Preuve de rencontre.

  • Là où Otterspace permet à un DAO de décider ce qui constitue un travail significatif et de délivrer des badges ntNFT à ses membres, Proved exige qu'un DAO « signe » une réclamation – une preuve de contribution – avant de demander à ses membres de créer des badges NFT spécifiques au DAO.

  • 101 À la fin de ses cours en ligne, une fois que les étudiants réussissent le test, ils délivrent un ntNFT – Certificate of Learning.

  • Kleoverse délivre des badges de compétence Typescript, Rust ou Solidity - preuves de compétences - aux utilisateurs sur la base des données GitHub.

  • En plus des cas d'utilisation du contrôle d'accès décrits ci-dessus, les Lit PKP peuvent également agir en tant que notaire cryptographique que Lit Actions vérifie avant de signer un certificat. Par exemple, une plate-forme éducative décentralisée pourrait permettre aux créateurs de cours de définir ce qui compte pour réussir un test et de déployer ces conditions sous forme d'actions Lit pour émettre par programme des VC en utilisant leur PKP en fonction de ces conditions.

Deux questions se posent ici : lesquelles de ces données de certification sont significatives et comment les regrouper pour gagner en réputation ?

Le protocole Orange apporte une solution à cela : intégrer ces points de données dans des modèles bien définis via des fournisseurs de modèles. Sur Orange, les députés font généralement référence aux plateformes qui disposent de mesures d’évaluation de la réputation au sein de leurs systèmes. Les « fournisseurs de données » permettent à leurs données d'être utilisées comme entrée dans des modèles conçus par les fournisseurs de modèles. Les députés ajoutent ensuite des méthodes de calcul et attribuent des marqueurs de réputation à différentes entités et mettent ces modèles à la disposition d’autres personnes. Les Dapps peuvent organiser et intégrer ces modèles de réputation pour leurs cas d'utilisation.

Jusqu’à présent, Aave, Gitcoin, Snapshot, DAOHaus, etc. ont fourni leurs données à Orange. Ces données sont modélisées par eux et d'autres projets comme Dework, talentDAO et Crypto Sapiens pour fournir des ntNFT aux membres, ce qui ouvre un large éventail d'opportunités allant de l'amélioration des autorisations Discord à l'aide de CollabLand et Guild à la gouvernance pondérée par la réputation de Snapshot.

confidentialité

Aucune discussion sur l'infrastructure d'identité n'est complète sans prendre en compte les problèmes de confidentialité et les primitives techniques qui permettent la confidentialité. 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 fortes telles que les preuves zk, en plus de son application dans des technologies de mise à l'échelle telles que les rollups qui permettent aux identités d'apporter des modifications subtiles aux informations publiquement vérifiables, et à la déclaration de confidentialité.

Les garanties de confidentialité nous aident à éviter les externalités négatives liées à l’utilisation de données totalement transparentes pour produire des affirmations dignes de confiance. Sans ces garanties, des tiers peuvent initier des interactions hors du cadre (par exemple, publicité, harcèlement) qui ne sont pas liées à la transaction initiale. En tirant parti de la cryptographie et des technologies zk, nous pouvons créer des systèmes d’identité dans lesquels les interactions et le partage de données sont « en bac à sable » dans des limites clairement définies et sensibles au contexte.

Les informations d'identification « normales » vérifiables sont généralement au format JSON-JWT ou JSON-LD, et chaque information d'identification possède une attestation externe ou intégrée (signature numérique), la rendant infalsifiable et vérifiable, rédigée par l'émetteur.

Les preuves Zk et les nouveaux schémas de signature améliorent les fonctionnalités de protection de la vie privée de W3 C VC, telles que :

  • Résistance à la corrélation : chaque fois qu'un détenteur partage un identifiant, cet identifiant est partagé. Ainsi, chaque fois qu'un identifiant est présenté, cela signifie qu'il est possible pour les validateurs de s'entendre et de voir où le titulaire a présenté son identifiant et sa volonté. Il est triangulé avec un identifiant identifié. personne. Avec Signature Braille, vous pouvez partager à chaque fois une preuve unique de votre signature sans partager la signature elle-même.

  • Divulgation sélective : partagez uniquement les attributs nécessaires d'un VC et masquez le reste. Les informations d'identification JSON-JWT et les informations d'identification signées JSON-LD LD nécessitent que le titulaire partage l'intégralité des informations d'identification 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 besoin de s'adresser à l'émetteur ou de générer un nouveau VC.

  • Prédiction : Permet l'utilisation de valeurs cachées dans les opérations, avec une valeur fournie par le validateur. Par exemple, le solde du compte d'un titulaire de bon dépasse un certain seuil sans divulguer le solde ou, comme cela est souvent cité, prouver que vous avez l'âge légal pour consommer de l'alcool sans divulguer votre date de naissance.

Une approche prometteuse est le système de signature BBS, initialement proposé par MATTR en 2020. La proposition permet d'utiliser les signatures BBS avec le format JSON-LD couramment utilisé par les VC. Les titulaires peuvent éventuellement divulguer les déclarations contenues dans le certificat initialement signé. La preuve produite par ce système est une preuve de signature sans connaissance, ce qui signifie que le vérificateur ne peut pas déterminer quelle signature a été utilisée pour produire la preuve, éliminant ainsi une source commune de corrélation.

Iden3 est un protocole d'identité natif ZK qui fournit un cadre ZK programmable et des bibliothèques open source pour les primitives d'identité ZK, l'authentification et les revendications générées par les attestations. Le protocole génère des paires de clés pour chaque identité à l'aide des courbes elliptiques Baby Jubjub, conçues pour fonctionner efficacement avec les zk-SNARK utilisés pour prouver la propriété et les revendications d'identité d'une manière préservant la confidentialité. PolygonID utilise actuellement le protocole pour son portefeuille d'identité.

L'application de zkp est un domaine actif de recherche et d'expérimentation qui a suscité beaucoup d'enthousiasme de la part de la communauté cryptographique au cours des dernières années. Dans le web3, nous l'avons vu utilisé dans les applications suivantes :

  • Airdrop privé : Stealthdrop

  • Preuves respectueuses de la vie privée mais fiables : Sismo (propriété), Semaphore (adhésion)

  • Messagerie anonyme : heyanon

  • Vote anonyme/vote : Melo

4. Conclusion

Quelques implications générales de cette étude :

  • Tout comme la façon dont Crypto a catalysé le développement et l’adoption de DPKI, la réputation composable qui accorde un accès en ligne/IRL sera le catalyseur d’une infrastructure d’identité décentralisée. Actuellement, les protocoles de délivrance d’informations d’identification (x-proof) sont fragmentés entre différents cas d’utilisation et réseaux blockchain. En 2023, nous verrons la couche d’agrégation de ceux-ci (comme les profils) mûrir et être adoptée en tant qu’interface unifiée, surtout si elle peut être utilisée pour débloquer des expériences en dehors de la cryptographie, comme l’accès à des événements ou des remises sur le commerce électronique.

  • La gestion des clés reste un point de friction et sujette à des points de défaillance uniques. Il s’agit d’une expérience maladroite pour la plupart des utilisateurs crypto-natifs et d’une expérience totalement inaccessible pour la plupart des consommateurs. La fédération est une amélioration de l'expérience utilisateur du modèle web1.0 qui permet une authentification unique avec un nom d'utilisateur et un mot de passe par application. Bien que l'expérience utilisateur pour l'authentification Web3 s'améliore, elle offre toujours une expérience utilisateur médiocre, nécessite une phrase de départ et offre un recours limité en cas de perte de la clé. Nous verrons des améliorations dans ce domaine à mesure que la technologie MPC mûrira et deviendra plus répandue parmi les individus et les institutions.

  • L'infrastructure cryptographique répond aux besoins des utilisateurs du Web2. Les primitives Web3 commencent à s'intégrer aux applications et services Web2, apportant une identité décentralisée au grand public, comme Collab.Land s'intégrant à Nuggets, permettant aux utilisateurs de Reddit d'utiliser leur réputation de VC pour déverrouiller l'accès. Le middleware d'authentification et d'autorisation Auth0 intègre SIWE en tant que fournisseur d'identité et ses entreprises clientes peuvent désormais fournir une connexion au portefeuille en dehors du SSO.

  • À mesure que les données se démocratisent, les mécanismes de purification doivent être validés. Tout comme le protocole d'indexation, The Graph utilise un réseau de conservateurs et de délégués pour signaler les sous-graphes les plus utiles (API pour les données en chaîne), les modèles de données autour des utilisateurs et la réputation de protocoles comme Ceramic et Orange nécessitent du temps et l'implication de la communauté. Pour mûrir au-delà de DAO et cas d'utilisation de la cryptographie.

  • Considérations relatives à la confidentialité. Les projets doivent soigneusement considérer l’impact du stockage public ou persistant lors du choix de leur pile. Par rapport à une combinaison de VC, éphémères et P&DID préservant la confidentialité ainsi que de ZKP pour les activités en chaîne/hors chaîne, les NFT de données publiques « pures » peuvent convenir à des cas d'utilisation limités (par exemple, une certaine abstraction des données en chaîne). activités) qui offrent des fonctionnalités telles que la divulgation sélective, la rotation des clés, l'anti-corrélation et la révocabilité.

  • Les nouveaux outils cryptographiques tels que zkSNARK constitueront un élément important de la prochaine génération d’infrastructure d’identité. Bien que zkp soit actuellement implémenté dans des cas d'utilisation isolés, il nécessitera un effort collectif de R&D ascendant 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. C’est quelque chose à surveiller.

L'identité décentralisée est un grand projet, et elle nécessite les efforts de l'ensemble de l'écosystème pour converger vers des normes, itérer sur des primitives et se vérifier mutuellement sur l'impact des décisions de conception.