From 5b6f397ccf4ae77182ddce90fd521537d453a79c Mon Sep 17 00:00:00 2001 From: Edoardo OPERTI Date: Tue, 26 Apr 2022 17:17:04 +0200 Subject: [PATCH 1/5] docs: initial reorderign of technical specs section --- readme.md | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/readme.md b/readme.md index 97f4585..db9e6aa 100644 --- a/readme.md +++ b/readme.md @@ -47,14 +47,41 @@ To understand the philosophy of self-sovereign identity these starting guides an ## 📄 Technical Specifications +Here you will find an overview of the technical specifications, grouped by level and sorted by community. + +An overview of the technical specifications can be found in [this simplified map](https://github.com/decentralized-identity/decentralized-identity.github.io/blob/master/assets/map-of-adjacent-orgs-and-specs--sept-2020--one-sided.pdf) and [here](https://github.com/decentralized-identity/decentralized-identity.github.io/blob/master/assets/crosscommunity-architecture-survey-oct-2020.pdf) in a more detailed fashion. + +### Verifiable Credentials / Trusted Data Storage & Exchange + +#### W3C + - [W3C Verifiable Credentials](https://www.w3.org/TR/vc-data-model/) - Specification of verifiable credentials (VCs). - [W3C Verifiable Credentials Implementation Guidelines](https://www.w3.org/TR/vc-imp-guide/) - Implementation guidelines for verifiable credentials. -- [W3C Decentralized Identifiers](https://www.w3.org/TR/did-core/) - Specification of decentralized identifiers (DIDs). -- [Hyperledger Aries RFCs](https://github.com/hyperledger/aries-rfcs/blob/master/index.md) - Specifications of Aries protocols and standards. -- [Hyperledger Indy Improvement Proposals](https://github.com/hyperledger/indy-hipe/blob/master/index.md) - Specifications of Indy protocols and standards. + +#### DIF + - [DIF Presentation Exchange](https://identity.foundation/presentation-exchange/) - Credential format and transport agnostic specification to articulate proof requirements and submit proofs. + - [DIF Credential Manifest](https://identity.foundation/credential-manifest) - Common data format for describing the inputs a subject must provide for credential issuance. + +#### Hyperledger Foundation + +- [Hyperledger Indy Improvement Proposals](https://github.com/hyperledger/indy-hipe/blob/master/index.md) - Specifications of Indy protocols and standards. + +### DIDComm and Sub-protocols + +#### DIF + - [DIF DIDComm Messaging](https://identity.foundation/didcomm-messaging/spec) - A secure, private communication methodology built atop the decentralized design of DIDs. + +### DIDs, Anchors and Registries + +#### W3C + +- [W3C Decentralized Identifiers](https://www.w3.org/TR/did-core/) - Specification of decentralized identifiers (DIDs). + +#### DIF + - [Key Event Receipt Infrastructure (KERI) collected resources](https://keri.one/keri-resources/) - Collected list of resources on Key Event Receipt Infrastructure. ## 🛠 Tools & Technologies From 07a8a3a0d91e928cadd576c9816ec5ac6dc528c5 Mon Sep 17 00:00:00 2001 From: Edoardo OPERTI Date: Tue, 26 Apr 2022 18:11:06 +0200 Subject: [PATCH 2/5] docs: added specs for DID layer and HLF vertical; missing some for DIDComm (SIOP, JWM) and review for VC layer --- readme.md | 68 +++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 46 insertions(+), 22 deletions(-) diff --git a/readme.md b/readme.md index db9e6aa..38a54ef 100644 --- a/readme.md +++ b/readme.md @@ -54,58 +54,82 @@ An overview of the technical specifications can be found in [this simplified map ### Verifiable Credentials / Trusted Data Storage & Exchange #### W3C - - [W3C Verifiable Credentials](https://www.w3.org/TR/vc-data-model/) - Specification of verifiable credentials (VCs). - [W3C Verifiable Credentials Implementation Guidelines](https://www.w3.org/TR/vc-imp-guide/) - Implementation guidelines for verifiable credentials. -#### DIF +--- +- [Data Integrity](https://w3c-ccg.github.io/data-integrity-spec/) - Specifications describing mechanisms for ensuring the authenticity and integrity of structured digital documents using cryptography, such as digital signatures and other digital mathematical proofs (used to be LD Proofs). +#### DIF - [DIF Presentation Exchange](https://identity.foundation/presentation-exchange/) - Credential format and transport agnostic specification to articulate proof requirements and submit proofs. - - [DIF Credential Manifest](https://identity.foundation/credential-manifest) - Common data format for describing the inputs a subject must provide for credential issuance. #### Hyperledger Foundation - - [Hyperledger Indy Improvement Proposals](https://github.com/hyperledger/indy-hipe/blob/master/index.md) - Specifications of Indy protocols and standards. +- [Hyperledger Aries RFCs](https://github.com/hyperledger/aries-rfcs/tree/main/features) -### DIDComm and Sub-protocols +### DID Communication (DIDComm) and Sub-protocols +#### W3C +- [CHAPI](https://w3c-ccg.github.io/credential-handler-api/) - Credential Handler API: specification defining capabilities that enable third-party Web applications to handle credential requests and storage events. #### DIF +- [DIF DIDComm Messaging (v2)](https://identity.foundation/didcomm-messaging/spec) - A secure, private communication methodology built atop the decentralized design of DIDs. -- [DIF DIDComm Messaging](https://identity.foundation/didcomm-messaging/spec) - A secure, private communication methodology built atop the decentralized design of DIDs. +#### Hyperledger Foundation +- [x] [Aries RFC 0005 : DIDComm v1](https://github.com/hyperledger/aries-rfcs/tree/main/concepts/0005-didcomm) - First version of the DIDComm protocol spec. Refer to v2 specs. ### DIDs, Anchors and Registries - #### W3C +- [Decentralized Identifiers](https://www.w3.org/TR/did-core/) - Core specification of decentralized identifiers (DIDs). +- [Decentralized Identifier Resolution](https://w3c-ccg.github.io/did-resolution/) - Specification related to algorithms and guidelines for resolving DIDs and dereferencing DID URLs. +- [DID Specification Registries](https://www.w3.org/TR/did-spec-registries/) - Official registry for all known global parameters, properties, and values used by the Decentralized Identifier ecosystem + - [did:key Method](https://w3c-ccg.github.io/did-method-key/) - Specification describing a non-registry based DID Method based on expanding a cryptographic public key into a DID Document. -- [W3C Decentralized Identifiers](https://www.w3.org/TR/did-core/) - Specification of decentralized identifiers (DIDs). +--- -#### DIF +- [WebKMS](https://w3c-ccg.github.io/webkms/) - Cryptographic Key Management Systems for the Web. + +#### DIF +- [SideTree](https://identity.foundation/sidetree/spec/) - Protocol for creating scalable DID networks that can run atop any existing decentralized anchoring system. - [Key Event Receipt Infrastructure (KERI) collected resources](https://keri.one/keri-resources/) - Collected list of resources on Key Event Receipt Infrastructure. ## 🛠 Tools & Technologies -- [Aries Cloud Agent Python](https://github.com/hyperledger/aries-cloudagent-python) - An easy to use Aries agent for building SSI services using any language that supports sending/receiving HTTP requests. -- [Aries Framework .NET](https://github.com/hyperledger/aries-framework-dotnet) - Provides a universal library for building Aries SSI applications for the cloud, mobile and IoT stack. -- [Aries Framework Go](https://github.com/hyperledger/aries-framework-go) - A flexible toolkit to enable the usage of DIDs, DIDComm and verifiable credential exchange. -- [Aries Framework JavaScript](https://github.com/hyperledger/aries-framework-javascript) - A framework for building SSI agents and DIDComm services for desktop, mobile and in the cloud, built using TypeScript. -- [Aries Mobile Agent React Native](https://github.com/hyperledger/aries-mobile-agent-react-native) - An open source Aries mobile agent build with React Native and Aries Framework JavaScript. -- [Aries Mobile Agent Xamarin](https://github.com/hyperledger/aries-mobileagent-xamarin) - An open source Aries mobile agent build with Xamarin and Aries Framework .NET. -- [Aries Toolbox](https://github.com/hyperledger/aries-toolbox) - Tools for developing agents and testing that they are compatible with other agents in the ecosystem. -- [Indy SDK](https://github.com/hyperledger/indy-sdk) - Everything needed to build applications that interact with an Indy distributed identity ledger. -- [IOTA Identity](https://github.com/iotaledger/identity.rs) - Implementation of the decentralized identity standards such as DIDs and VCs by W3C for the IOTA Tangle. +### Hyperledger Foundation + +- [Hyperledger Aries](https://www.hyperledger.org/use/aries) - Shared, reusable, interoperable tool kit designed for initiatives and solutions focused on creating, transmitting and storing verifiable digital credentials. + - [Aries Toolbox](https://github.com/hyperledger/aries-toolbox) - Tools for developing agents and testing that they are compatible with other agents in the ecosystem. + - [Aries Framework .NET](https://github.com/hyperledger/aries-framework-dotnet) - Provides a universal library for building Aries SSI applications for the cloud, mobile and IoT stack. + - [Aries Framework Go](https://github.com/hyperledger/aries-framework-go) - A flexible toolkit to enable the usage of DIDs, DIDComm and verifiable credential exchange. + - [Aries Framework JavaScript](https://github.com/hyperledger/aries-framework-javascript) - A framework for building SSI agents and DIDComm services for desktop, mobile and in the cloud, built using TypeScript. + - [Aries Mobile Agent React Native](https://github.com/hyperledger/aries-mobile-agent-react-native) - An open source Aries mobile agent build with React Native and Aries Framework JavaScript. + - [Aries Mobile Agent Xamarin](https://github.com/hyperledger/aries-mobileagent-xamarin) - An open source Aries mobile agent build with Xamarin and Aries Framework .NET. + - [Aries Cloud Agent Python](https://github.com/hyperledger/aries-cloudagent-python) - An easy to use Aries agent for building SSI services using any language that supports sending/receiving HTTP requests. +- [Hyperledger Indy](https://www.hyperledger.org/use/hyperledger-indy) - Tools, libraries, and reusable components for providing digital identities rooted on blockchains or other distributed ledgers + - [Indy SDK](https://github.com/hyperledger/indy-sdk) - Everything needed to build applications that interact with an Indy distributed identity ledger. +- [Hyperledger Fabric](https://www.hyperledger.org/use/fabric) - Enterprise-grade permissioned distributed ledger framework for developing solutions and applications. +- [Hyperledger Besu](https://www.hyperledger.org/use/besu) - Ethereum client designed to be enterprise-friendly for both public and private permissioned network use cases. +- [Hyperledger Ursa](https://www.hyperledger.org/use/ursa) - Shared cryptographic library, it enables implementations to avoid duplicating other cryptographic work and hopefully increase security in the process. + +### DIF +- [ION](https://github.com/decentralized-identity/ion) - Public, permissionless, DID network that implements the blockchain-agnostic Sidetree protocol on top of Bitcoin (as a 'Layer 2' overlay) to support DIDs/DPKI (Decentralized Public Key Infrastructure) at scale. +- [sidetree.js](https://github.com/transmute-industries/sidetree.js) - Simple-as-possible TypeScript implementation of the Sidetree version 1.0 protocol. +- [DIDComm Implementations](https://github.com/decentralized-identity/didcomm-messaging/#implementations) - Links to some implementations of the DIDComm v2 spec. - [Universal DID Resolver](https://github.com/decentralized-identity/universal-resolver) - Universal DID resolver implementation and method specific drivers. - [Universal DID Registrar](https://github.com/decentralized-identity/universal-registrar) - Universal DID registrar implementation and method specific drivers. -- [JavaScript: DID Client (did-io)](https://github.com/digitalbazaar/did-io) - A DID resolution library for JavaScript. -- [JavaScript: DID](https://github.com/ceramicnetwork/js-did) - A simple library to interact with DIDs that conform to the DID-provider interface. -- [JavaScript: vc-js](https://github.com/digitalbazaar/vc-js) - A JavaScript library for issuing and verifying Verifiable Credentials. -- [JavaScript: vc.js](https://github.com/transmute-industries/vc.js) - Support Verifiable Credentials in JavaScript. - [JavaScript: DID Resolver](https://github.com/decentralized-identity/did-resolver) - A simple common interface for JavaScript applications to resolve DID documents from Decentralized Identifiers (DIDs). - [ethr DID Resolver](https://github.com/decentralized-identity/ethr-did-resolver) - Use Ethereum addresses as fully self managed Decentralized Identifiers and wrap them in a DID Document. - [web DID Resolver](https://github.com/decentralized-identity/web-did-resolver) - Use domains accessed through https as Decentralized Identifiers and retrieve an associated DID Document. - [Rust: did-key.rs](https://github.com/decentralized-identity/did-key.rs) - Provide basic support for `did:key` methods. +### Others +- [IOTA Identity](https://github.com/iotaledger/identity.rs) - Implementation of the decentralized identity standards such as DIDs and VCs by W3C for the IOTA Tangle. +- [JavaScript: DID Client (did-io)](https://github.com/digitalbazaar/did-io) - A DID resolution library for JavaScript. +- [JavaScript: DID](https://github.com/ceramicnetwork/js-did) - A simple library to interact with DIDs that conform to the DID-provider interface. +- [JavaScript: vc-js](https://github.com/digitalbazaar/vc-js) - A JavaScript library for issuing and verifying Verifiable Credentials. +- [JavaScript: vc.js](https://github.com/transmute-industries/vc.js) - Support Verifiable Credentials in JavaScript. + ## 💁‍♂️ Products & Services Notable self-sovereign identity products and services that are in production. From 0667f9e9e69cfb95123e7387c36ebc8e3703570f Mon Sep 17 00:00:00 2001 From: Ana Goessens Date: Fri, 22 Jul 2022 13:52:36 +0200 Subject: [PATCH 3/5] Update readme.md --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 38a54ef..3624297 100644 --- a/readme.md +++ b/readme.md @@ -60,7 +60,7 @@ An overview of the technical specifications can be found in [this simplified map --- - [Data Integrity](https://w3c-ccg.github.io/data-integrity-spec/) - Specifications describing mechanisms for ensuring the authenticity and integrity of structured digital documents using cryptography, such as digital signatures and other digital mathematical proofs (used to be LD Proofs). -#### DIF +#### Decentralized Identity Foundation (DIF) - [DIF Presentation Exchange](https://identity.foundation/presentation-exchange/) - Credential format and transport agnostic specification to articulate proof requirements and submit proofs. - [DIF Credential Manifest](https://identity.foundation/credential-manifest) - Common data format for describing the inputs a subject must provide for credential issuance. From 0bd21c558f390e946929da1d2e64d439800f3f39 Mon Sep 17 00:00:00 2001 From: Ana Goessens Date: Fri, 22 Jul 2022 13:53:20 +0200 Subject: [PATCH 4/5] Update readme.md --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 3624297..4f6a3e7 100644 --- a/readme.md +++ b/readme.md @@ -51,7 +51,7 @@ Here you will find an overview of the technical specifications, grouped by level An overview of the technical specifications can be found in [this simplified map](https://github.com/decentralized-identity/decentralized-identity.github.io/blob/master/assets/map-of-adjacent-orgs-and-specs--sept-2020--one-sided.pdf) and [here](https://github.com/decentralized-identity/decentralized-identity.github.io/blob/master/assets/crosscommunity-architecture-survey-oct-2020.pdf) in a more detailed fashion. -### Verifiable Credentials / Trusted Data Storage & Exchange +### Verifiable Credentials #### W3C - [W3C Verifiable Credentials](https://www.w3.org/TR/vc-data-model/) - Specification of verifiable credentials (VCs). From f7b9d258f43fcd34c748fb3e646108bd89b1c085 Mon Sep 17 00:00:00 2001 From: Ana Goessens Date: Fri, 22 Jul 2022 14:06:53 +0200 Subject: [PATCH 5/5] Update readme.md --- readme.md | 1 - 1 file changed, 1 deletion(-) diff --git a/readme.md b/readme.md index ec99990..db0680c 100644 --- a/readme.md +++ b/readme.md @@ -71,7 +71,6 @@ An overview of the technical specifications can be found in [this simplified map - [W3C Verifiable Credentials](https://www.w3.org/TR/vc-data-model/) - Specification of verifiable credentials (VCs). - [W3C Verifiable Credentials Implementation Guidelines](https://www.w3.org/TR/vc-imp-guide/) - Implementation guidelines for verifiable credentials. ---- - [Data Integrity](https://w3c-ccg.github.io/data-integrity-spec/) - Specifications describing mechanisms for ensuring the authenticity and integrity of structured digital documents using cryptography, such as digital signatures and other digital mathematical proofs (used to be LD Proofs). #### Decentralized Identity Foundation (DIF)