Qu'est-ce que la cordentité? [Traduction de l'article]

Cordentity est une application Corda (CorDapp) qui exploite la puissance de la technologie SSI (Self Sovereign Identity) pour d'autres CorDapps. En d'autres termes, Cordentity = Corda + Identity.

Nous sommes heureux d'annoncer que Cordentity est désormais un projet open source Hyperledger Labs .

Nous avons conçu Cordentity pour apporter à Corda les capacités SSI d'Hyperledger Indy. La technologie Hyperledger Indy est basée sur deux concepts importants: DID ( identifiants décentralisés ) et ABC (informations d'identification basées sur des attributs ou revendications vérifiables ).

Dans ce contexte, Self Sovereign signifie que l'utilisateur possède les informations d'identification représentées par la paire: clé publique et privée, ainsi que les informations d'identification, qui sont des déclarations (un ensemble d'attributs, tels qu'un diplôme, un numéro de passeport, un carnet médical, etc.), reçu et signé numériquement par des sources fiables / réputées (par exemple, bureau des passeports, hôpital, université, banque, etc.). Tout cela est stocké directement auprès du propriétaire identifiable et n'est transféré aux autres participants que si nécessaire. Ainsi, il est possible de combiner les autorités existantes et les "sources de confiance" (qui sont représentées par des DID connus du public) avec un moyen flexible, évolutif et sécurisé d'échanger des informations.

Vous pouvez utiliser cette combinaison de technologies pour résoudre de nombreuses tâches liées à la gestion de l'identité numérique et à la vérification des informations d'identification tout en préservant la confidentialité. Cette approche est également conforme aux exigences du RGPD et ouvre de nouvelles opportunités pour les applications de données personnelles (PII) qui seraient très difficiles à mettre en œuvre par d'autres moyens.

Si vous regardez la gamme de tâches que la communauté blockchain résout, il s'avère que la plupart d'entre elles sont associées à l'identification et à la gestion des informations d'identification. Bien sûr, au niveau le plus élémentaire, les combinaisons de clés publiques / privées utilisées pour signer et vérifier les transactions déterminent le propriétaire d'un actif numérique. Cependant, dès que nous essayons d'ajouter des attributs supplémentaires, par exemple, l'âge, la nationalité, les informations bancaires ou d'assurance, un besoin se fait sentir pour une solution qui offre une meilleure protection de la vie privée et soit également évolutive. Garder ces données dans un registre immuable n'est pas la meilleure option.

En d'autres termes, afin d'utiliser pleinement les capacités des technologies de décentralisation et des contrats intelligents, vous devez combiner les fonctions de SSI et des réclamations vérifiées avec la technologie du grand livre distribué et les systèmes basés sur la blockchain.

Vous pouvez dire:
"D'accord, ça va, mais qu'est-ce que Corda a à voir avec ça?"

Voyons comment fonctionnent la majorité des plateformes blockchain et quelles hypothèses sont faites lors de leur conception. La plupart des développeurs de ces plateformes prennent l'exemple de Bitcoin. Bitcoin est un système de spécialisation étroit qui atteint un état convenu (sous la forme d'un solde Bitcoin ou UTXO) en exécutant séquentiellement toutes les transactions enregistrées qui ont été effectuées après le bloc initial. Je parle de spécialisation étroite afin de souligner une caractéristique clé des systèmes de blockchain: le résultat d'un enregistrement décentralisé et distribué en l'absence de confiance est la comptabilité des actifs internes (par exemple, les bitcoins ou l'éther). Toutes les autres entrées de la blockchain, par exemple, les hachages, les documents externes, les événements, etc. ne sont que des entrées fixées dans l'historique, mais non confirmées par un protocole métier.

De toute évidence, pour la plupart des cas d'utilisation d'entreprise, un système complètement différent est nécessaire, qui, d'une part, permettra aux partenaires de synchroniser les processus à sens unique et de simplifier l'échange de données sans intermédiaire de confiance central, et d'autre part, il le fera en privé et de manière sélective.

Il est tout à fait clair qu'un système hautement spécialisé ne convient pas, car il est nécessaire de garantir la possibilité de créer facilement des "protocoles commerciaux" arbitraires qui peuvent nécessairement fournir un consensus fiable avec des systèmes tiers et des sources de données faisant autorité.

Corda est juste une telle technologie


En commençant à examiner les avantages des réclamations vérifiables («déclarations vérifiées») décrites ci-dessus, nous avons rapidement réalisé que l'échange de déclarations (confirmations numériques signées avec un ensemble d'attributs) et de preuves (combinaisons anonymisées de confirmations numériques vérifiées) afin d'ouvrir un compte bancaire, consulter un médecin, ou, par exemple, louer une voiture et ainsi de suite, s'inscrit naturellement dans l'idée de flux (flux anglais) à Corda. Un thread est un moyen logiciel de décrire un protocole d'exécution de transaction entre un ensemble sélectionné de participants.

Dans ce paradigme, les assertions, les preuves et l'identification du propriétaire sont des entrées dans le processus métier (les présenter comme des points d'instruction ou une liste de contrôle), qui est contrôlé par le moteur de contrat intelligent distribué Corda. Pour former des transactions, Streams collecte les signatures des parties et les données pour vérification à partir des applications liées à Corda (il peut s'agir de code qui implémente la logique métier ou d'autres fonctionnalités sur les nœuds Corda), y compris ceux qui interagissent avec l'infrastructure d'identification externe ou les revendications vérifiées.

Pour nous, un tel schéma était évident, nous avons donc créé Cordentity pour simplifier la création d'applications avec des protocoles métier qui utilisent une puissante combinaison de technologies Corda et SSI.

Le pouvoir des partenariats et de l'open source


Comme l'ont dit nos partenaires de R3, nous ne sommes pas seuls dans notre direction - d'autres équipes travaillent désormais sur ce problème. Néanmoins, nous avons reçu un énorme feedback, y compris des commentaires très précieux de l'équipe technique de Corda et avons décidé de partager notre travail avec la communauté.

Par coïncidence, R3 était sur le point de lancer sa propre place de marché et nous avons réussi à devenir un partenaire de tête d'affiche au début du portail du marché. Cela nous a donné une publicité supplémentaire et a attiré l'attention sur Cordentity, nous avons donc décidé de passer à autre chose.

Après de nombreuses discussions avec l'équipe Corda, nous sommes arrivés à la conclusion qu'il valait la peine de publier nos travaux dans la communauté Hyperledger (travaillant sur plusieurs technologies de registres distribués et de blockchain, ainsi que sur leurs éléments de base, dont Indy).

Le projet Cordentity a été ajouté à l'incubateur Hyperledger Labs, son code source est disponible sur GitHub, nous sommes donc très heureux et espérons que le projet sera développé, y compris via la communauté blockchain.

Le dernier événement du Hyperledger Global Forum à Bâle a montré qu'il existe de nombreux projets dans la communauté qui commencent à utiliser la technologie Hyperledger Indy pour résoudre les problèmes de produits, et que Cordentity est très pratique. En fin de compte, le succès n'est possible que si nous, en tant que communauté, simplifions la création de systèmes qui résolvent les problèmes des entreprises, ainsi que leur mise en œuvre. Il ne sera pas difficile de le faire si nous travaillons ensemble, appliquons l'expérience de chacun et adoptons les meilleures technologies qui ouvrent de nouvelles opportunités.

Source: https://habr.com/ru/post/fr443314/


All Articles