Hyperledger Identity + Interoperability
- Sean Bohan
- Emily Fisher
- David Boswell
Decentralized Identity + Interoperability: Connecting Credo (Agent Framework Javascript) with Hyperledger Besu, Cardano, Cheqd, Hyperledger AnonCreds, and OIDC4VC
Time:
- Thursday February 8, 2024 at 8AM Pacific to Noon
Deck Slides:
Recording:
Description:
The Hyperledger implementation of self-sovereign identity (SSI) is traditionally associated with CL AnonCreds verifiable credential format, Hyperledger Aries exchange protocols based on DIDComm and a Hyperledger Indy ledger as a verifiable data registry (VDR). These are mature technologies used in production systems. Hyperledger Indy and CL AnonCreds played a key role in shaping self-sovereign identity before the establishment of various other SSI standards and specifications.
Nowadays such specifications as W3C VC, OpenID for Verifiable Credentials (OIDC4VC), SD-JWT and others gain increasing attention due to plans for adoption by European Digital Identity Architecture and Reference Framework, NIST, DHS etc. Moreover, although Indy Ledger is a great and proven VDR option for permissioned cases, nowadays permissionless proof-of-stake ledgers can be a reasonable alternative, as well as other distributed ledger technologies (DLT) from the Hyperledger family.
The main goal of the workshop is to invalidate a misconception that Hyperledger Aries SSI projects can only work with CL AnonCreds, DIDComm and Indy Ledger. We are going to apply Credo (Agent Framework JavaScript) for issuance and verification of Verifiable Credentials in W3C format, use OIDC4VC for credentials exchange, and leverage external permissionless ledgers as a VDR. Moreover, we are going to show a synergy between two graduated Hyperledger projects: Aries and Besu. It will be done by means of a new Indy-Besu effort and repo.
This workshop will be livestreamed and recorded.
Prerequisites:
For the hands-on, we are going to use a Gitpod profile, which you can log into through your GitHub account.
- Join GitPod here
- We ask all participants to make sure that they have at least a few hours of workspace usage in their Gitpod profile to participate in the hands-on. You can check this using this link: https://gitpod.io/billing
- Recommended browsers: Chrome or Firefox.
Agenda:
The planned agenda consists of three main parts:
Presentation:
• Decentralized Identity (SSI) Overview
• Overview of SSI standards involved into demonstration (W3C VC, CL AnonCreds, OIDC4VC, Aries,
etc.)
• Overview of SSI frameworks involved into demonstration (Hyperledger Indy, Agent
Framework JavaScript, Hyperledger Besu, cheqd, Cardano, etc.)
Demo:
• Non-Indy VDR + CL AnonCreds: Hyperledger AFJ + Cardano as VDR
• Non-Indy VDR + W3C VC: Hyperledger AFJ + cheqd as VDR
• OIDC4VC in Hyperledger AFJ
Hands-on:
• Non-Indy VDR + CL AnonCreds: Hyperledger AFJ + Hyperledger Besu (Indy Ledger 2.0) as VDR
• Non-Indy VDR + W3C VC: Hyperledger AFJ + Hyperledger Besu (Indy Ledger 2.0) as VDR
Links
Workshop Wiki Page:
https://lf-hyperledger.atlassian.net/wiki/pages/viewpage.action?pageId=21794196
GitPod:
GitPod workspace creation:
https://gitpod.io/#https://github.com/DSRCorporation/hyperledger-workshop.git
Hyperledger:
Hyperledger Identity SIG
https://lf-hyperledger.atlassian.net/wiki/display/IWG/
Hyperledger Aries Wiki page
https://lf-hyperledger.atlassian.net/wiki/display/aries/
Hyperledger AnonCreds Wiki page
https://lf-hyperledger.atlassian.net/wiki/display/ANONCREDS/
https://lf-hyperledger.atlassian.net/wiki/display/besu/
Hyperledger Indy Wiki page
https://lf-hyperledger.atlassian.net/wiki/display/indy/
Hyperledger Aries Framework Javascript 0.4.0 Workshop
https://youtube.com/live/bza4il9Iitw
OWF Credo
Credo (Agent Framework Javascript) GitHub
https://github.com/openwallet-foundation/credo-ts
Credo (Agent Framework Javascript) Docs
https://github.com/openwallet-foundation/credo-ts-docs
W3C
Verifiable Credentials @ W3C
https://www.w3.org/TR/vc-data-model
Decentralized Identifiers @ W3C
https://www.w3.org/TR/did-core/
DID Methods
https://www.w3.org/TR/did-spec-registries/#did-methods
Trust Over IP
https://trustoverip.org/toip-model/
Cardano-AnonCreds
https://github.com/roots-id/cardano-anoncreds
Agent Framework Javascript
https://github.com/openwallet-foundation/agent-framework-javascript/tree/main/packages/cheqd
Indy - Besu VDR
Credo
https://github.com/openwallet-foundation/credo-ts
https://github.com/hyperledger/aries-framework-javascript
Aries BiFold
https://github.com/hyperledger/aries-mobile-agent-react-native
AnonCreds & AnonCreds Spec
https://github.com/hyperledger/anoncreds-spec
https://github.com/hyperledger/anoncreds-rs
W3C VC Representation Support
https://hyperledger.github.io/anoncreds-spec/#w3c-verifiable-credentials-representation
W3C Verifiable Credential
https://www.w3.org/TR/vc-data-model/ (W3C Recommendation 2022)
https://www.w3.org/TR/vc-data-model-2.0 (W3C Working Draft)
Aries RFCS
https://github.com/hyperledger/aries-rfcs
DIDComm
DIDComm v1: https://github.com/hyperledger/aries-rfcs/tree/main/concepts/0005-didcomm
DIDComm v2: https://identity.foundation/didcomm-messaging/spec/v2.0/
List of DIDComm Protocols:
Aries Interop
Profile V1
Aries Interop
Profile V2
OpenID Connect For VCs (OIDC4VC)
1.1 Authentication: SIOPv2 https://openid.bitbucket.io/connect/openid-connect-self-issued-v2-1_0.html
1.2 Presentation: OIDC4VP
https://openid.bitbucket.io/connect/openid-4-verifiable-presentations-1_0.html
2.0 Issuance: OIDC4VCI
https://openid.bitbucket.io/connect/openid-4-verifiable-credential-issuance-1_0.html
Cardano & SSI
https://github.com/IntersectMBO/cardano-node
AFJ-Cardano Extension:
https://github.com/roots-id/cardano-anoncreds
Atala Prism:
OpenEnterpriseAgent:
https://github.com/hyperledger-labs/open-enterprise-agent
Cheqd
https://github.com/cheqd/cheqd-node
Integrated into AFJ: https://github.com/openwallet-foundation/agent-framework-javascript/tree/main/packages/cheqd
Hyperledger Besu:
https://github.com/hyperledger/besu
Besu Good First Ticket: https://github.com/hyperledger/besu/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22
Indy-Besu: https://github.com/hyperledger/indy-besu
DSR
Learning Resources
If you'd like to prepare for this workshop by learning more about self sovereign identity and blockchain interoperability we recommend these resources:
- Hyperledger Identity SIG
- Hyperledger Aries Wiki page
- Hyperledger AnonCreds Wiki page
- Hyperledger Besu Wiki Page
- Hyperledger Indy Wiki page
- Hyperledger Aries Framework Javascript 0.4.0 Workshop
- Credo (Agent Framework Javascript) GitHub
- Credo (Agent Framework Javascript) Docs
Getting Involved
If you'd like to get involved with the Identity community at Hyperledger, you are welcome to do so. Everything the projects are involved with is open to anyone who is interested. More details about connecting with Identity community members are below.
- Hyperledger Identity SIG
- Hyperledger Besu GitHub
- Hyperledger Besu Discord
- Hyperledger Besu YouTube Playlist
- Hyperledger Besu Community Calendar
- Hyperledger AnonCreds GitHub
- Hyperledger AnonCreds Discord
- Hyperledger AnonCreds YouTube Playlist
- Hyperledger AnonCreds Community Calendar
- OWF Agent Framework Javascript GitHub