Hyperledger Identity + Interoperability


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:

https://gitpod.io/

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/

Hyperledger Besu Wiki Page

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

https://github.com/DSRCorporation/aries-framework-javascript/tree/indy2-vrd-demo/packages/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:

https://didcomm.org

Aries Interop

Profile V1

https://github.com/hyperledger/aries-rfcs/tree/main/concepts/0302-aries-interop-profile#aries-interop-profile-version-10

Aries Interop

Profile V2

https://github.com/hyperledger/aries-rfcs/tree/main/concepts/0302-aries-interop-profile#aries-interop-profile-version-20

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:

https://atalaprism.io/

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

www.dsr-corporation.com

www.dsr-iot.com

https://www.linkedin.com/company/dsr-corporation/

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:

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.