Decoupling AnonCreds from Hyperledger Indy

Hey CCG community 👋

I thought I'd write a message to share some contributions we've been making
at cheqd to broader community interop, since I feel like many of you may be
interested and have valuable feedback/contributions.

*1. Decoupling AnonCreds from Hyperledger Indy*

Last week, we were able to demonstrate our approach to decouple AnonCreds
from Indy by reworking all the custom Indy-transactions (CL-Schemas,
CredDefs, RevRegDefs/Entries) into DID Core conformant transactions.

Using cheqd's new resource module
<https://docs.cheqd.io/identity/ledger-resources/resources>, we were able
to replicate each AnonCreds-specific object in a DID URL syntax, which can
be supported by any other Layer 1 chain. You can dig further in our blog
here <https://blog.cheqd.io/anoncreds-indy-pendence-4946367469d4>, and
our detailed
docs on how this actually works here
<https://docs.cheqd.io/identity/ledger-resources/using-on-ledger-resources-to-support-anoncreds>
.

As an example of what an AnonCreds Object is represented, here's an example
of a RWoT AnonCreds schema that works!

did:cheqd:testnet:zB5wPyMGYL4LbT424Z7yXHm6nZrrLqZZ/resources/4e2ba734-ae3d-4ca3-9657-c717c3dd6184

Which you can resolve using a DID resolver to fetch the actual resource
from the cheqd ledger:

https://resolver.cheqd.net/1.0/identifiers/did:cheqd:testnet:zB5wPyMGYL4LbT424Z7yXHm6nZrrLqZZ/resources/4e2ba734-ae3d-4ca3-9657-c717c3dd6184
<https://resolver.cheqd.net/1.0/identifiers/did:cheqd:testnet:z:zB5wPyMGYL4LbT424Z7yXHm6nZrrLqZZ/resources/ea5168a0-1253-4819-abf5-f937fa8cac16>

This removes a degree of vendor lock-in from the Indy / AnonCreds tech
stack, and begins to move things in the right direction there. Next stop -
AnonCreds in a W3C conformant JSON-LD wrapper!

We demo'd this work alongside Animo Solutions, building cheqd AnonCreds
into Aries Framework JavaScript and you can watch the demo here
<https://www.youtube.com/watch?v=QILE98VMwZw>.

We will also be presenting this at DIF Interop on 5th Oct B Call (11am ET).

*2. Support for JSON, JSON-LD and AnonCreds on-ledger AND in SDKs*

I *believe *we have achieved a bit of an interop milestone by providing
both on-ledger support and SDK support for both sides of the SSI community
divide - JSON based VCs as well as AnonCreds.

On the JSON front we have built our own cheqd SDK
<https://github.com/cheqd/sdk> which we have incorporated into Veramo SDK
as a module, forming the Veramo SDK for cheqd
<https://cheqd.io/blog/building-decentralised-identity-applications-on-cheqd-with-veramo>
.

You can use this now to create/manage cheqd DIDs
<https://docs.cheqd.io/identity/building-decentralized-identity-apps/veramo-sdk-for-cheqd/did-operations>,
create/manage on-ledger resources
<https://docs.cheqd.io/identity/building-decentralized-identity-apps/veramo-sdk-for-cheqd/create-a-resource>,
issue/verify JSON based VCs
<https://docs.cheqd.io/identity/building-decentralized-identity-apps/veramo-sdk-for-cheqd/verifiable-credentials>
and VPs
<https://docs.cheqd.io/identity/building-decentralized-identity-apps/veramo-sdk-for-cheqd/verifiable-presentations>
anchored on cheqd.

We'd LOVE to explore integrating into other JS based SDKs, so if you're
building one please reach out.

*3. Status Lists, Trust Registries, on-ledger Governance and more*

We've noticed a LOT of community discussion around Governance, Trust
Registries and Status Lists recently. I think there is a real opportunity
for community collaboration about how we can use the resource syntax to
expand to all of the above.

Since every resource is associated with a DID and DID Document,
verification relationships and keys used to manage DID Documents can be
extended to managing resources.

This presents an opportunity to create Trust Registries, where authorised
parties may have associated keys to manage a DID, which then extend to
update/manage the entries of the Trust Registry on-ledger.

We're currently looking at standardising the approach to resources here
<https://wiki.trustoverip.org/display/HOME/DID+URLs+for+Digital+Resources+Specification>,
but we would love to collaborate on work that utilises this for Trust
Registries or extends this to other SSI infrastructure.

~~

Very keen to hear the community's thoughts on our latest contributions, and
whether you agree with our design choices - you can take a look at all our
other Open Source work on our GitHub here <https://github.com/cheqd>. Feel
free to get in contact with myself if you are interested in collaborating
on any of the above.

Alex Tweeddale

Governance & Compliance Lead

Schedule a meeting <https://calendly.com/alex-tweeddale/introductory-call>

cheqd.io <https://www.cheqd.io/> | Twitter <https://twitter.com/cheqd_io> |
LinkedIn <https://linkedin.com/company/cheqd-identity> | Telegram
<https://t.me/cheqd>

Received on Tuesday, 4 October 2022 01:24:43 UTC