Project image Aries

[Blog] How the community is coming together to implement ledger-independent AnonCreds

By Timo Glastra (CTO, co-founder at Animo)

Animo has always worked with AnonCreds (dramatic pause... Anonymous Credentials). This verifiable credential format focuses specifically on privacy-preserving features such as zero-knowledge proofs, private holder bindings, and range proofs. AnonCreds give users control over their data and allow them to prove who they are without sharing too much of their identity.

There is one huge problem with AnonCreds. The AnonCreds specification has from the start been closely tied to the Hyperledger Indy project, meaning that it's been near impossible to use with other ledgers. AnonCreds have shown their usefulness in production use cases for several years, but all deployments of AnonCreds have been anchored on Hyperledger Indy ledgers. That is, until now.

Last week, a proposal has been accepted for a new AnonCreds project at the Hyperledger Foundation. This is the result of the AnonCreds working group, started a few months ago by Stephen Curran, to standardize AnonCreds and extract it from the Hyperledger Indy project, meaning you can theoretically use AnonCreds credentials with any ledger. The original AnonCreds standards have been extracted into a separate AnonCreds specification, and all Indy-specific features have been generalized, paving the way for ledger-independent AnonCreds credentials.

Animo is now continuing the great work that has been done on the specification, by actually implementing ledger-independent AnonCreds. There’s been a rising demand for using AnonCreds objects with different ledgers.

First, to showcase the feasibility of ledger-independent AnonCreds, we partnered with cheqd and created a demo of AnonCreds credentials anchored on the cheqd network using Aries Framework JavaScript for our AnonCreds Indy-pendence event.

Second, at Rebooting the Web of Trust 11 in The Hague this year, we formed a team with Belsy Yuen from NYMLAB, Ankur Banerjee from cheqd, and Moritz Schlicthing and me from Animo. With the help of Stephen Curran from Cloud Compass Computing, we worked on a data model for AnonCreds that is ledger-independent.

Third, we’ve written a proposal for implementing ledger-agnostic AnonCreds, which contains specific work items and cost estimates for the following tasks:

  1. Creating an open-source rust implementation of the ledger-independent AnonCreds specification
  2. Implement ledger-independent AnonCreds into Aries Framework JavaScript with support for 'did:indy' and 'did:cheqd'
  3. Implement ledger-independent AnonCreds into Aries Cloud Agent Python with support for 'did:indy' and 'did:cheqd'

We feel this work is incredibly important and wanted to lead the effort so it would be easy for others to join. Companies interested in the proposal can fund specific work packages that are relevant to their infrastructure and business needs.

So far €35.000 is funded, with the remaining €61.000 waiting for the final autograph. One of our oldest collaborators, ID Crypt, leverages AnonCreds and Aries Cloud Agent Python for their infrastructure and is contributing funding to the Aries Cloud Agent Python integration. Additionally, cheqd has continued its support in two ways. The company is committing development time, like creating a cheqd driver for the Universal Registrar making it easier to add cheqd support in Aries Cloud Agent Python. The cheqd community has also been a huge support.

With the help of the cheqd team, we were able to submit the first cheqd community pool spend proposal ever, requesting nearly half of the pool to be released for the implementation of ledger-independent AnonCreds. The community pool spend proposal elicited a lot of discussions. Some were critical, but overall the community voted yes on the proposal with an overwhelming 94.5% voting in favor of the proposal, while the majority of the other votes (5.49%) were neutral and voted to abstain. The funding of the community pool will be used directly towards the implementation of the ledger-independent AnonCreds proposal. However, as Animo is committed to growing the cheqd network, and wants to give back to the community we’re going to stake the funds from the community pool on our and other validators.

"We're thrilled that the cheqd community has decided to allocate funds to Animo for their work on ledger-agnostic anoncreds. Their proactiveness in creating a demo of these shows they are exactly the kind of partner we want to be working with. Around 45% of our partners use Anoncreds so it’s incredibly important that we support them and it opens up loads of opportunities for cheqd as a network. It is also a perfect example of the contributions we’re making to interoperability as a community.

This award is exactly the type and work we as founders want to see and contribute to! We would love to see more like it!" - Fraser Edwards, CEO cheqd

We hope to add more companies to the list soon, as we've seen a lot of interest in getting this done. The reasons for wanting to contribute vary. Some want to move from Indy-based ledgers to other networks with different governance rules, others just want to be agnostic of a specific network and need to adapt to their client’s needs, and some never worked with AnonCreds before but now see an opportunity to integrate AnonCreds with their network and infrastructure.

We’re excited to continue the work on ledger-independent AnonCreds with the different interested communities and look forward to doing more public work like this in the future. If your company is also interested in ledger-independent AnonCreds and would like to fund the initiative, you can reach out to me at timo@animo.id, and we’ll look at the possibilities of integrating ledger-independent AnonCreds into your infrastructure.


4/10