Let's talk



Ledger Agnostic AnonCreds in Rust

*This initiative is a part of the effort to make Aries Framework JavaScript (now Credo) ledger independent. *

AnonCreds have existed in production use cases for several years. Until now, all deployments of AnonCreds have been anchored on Hyperledger Indy ledgers as the AnonCreds specification was closely tied to the Hyperledger Indy project. This initiative aims to make AnonCreds ledger-agnostic, meaning you can use AnonCreds 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 agnostic AnonCreds credentials.

This initiative lays the groundwork of subsequent initiatives and contains the following work items:

  • Submit a proposal to the Hyperledger Technical Steering Committee (TSC) to start a new project dedicated to AnonCreds, separate from Hyperledger Aries or Hyperledger Indy
  • Submit a new attachment format RFC to the Aries RFCs repository that supersedes the current Indy attachment format (RFC 0592) with a generic AnonCreds attachment format RFC. The RFC will point towards the AnonCreds Methods Registry, allowing new methods to be added without changes to the RFC
  • Make contributions to the AnonCreds specification.
  • Create a new generic AnonCreds library in Rust that exposes a Foreign Function Interface (FFI) based on the current indy-shared-rs. This will mostly consist of removing checks for the indy-style related identifiers, and be a lot more permissive, including changes as introduced in the new AnonCreds Specification.

🚀 This proposal has been fully funded and implemented as of january 2023. The results can be found in the different repositories surrounding Aries Framework JavaScript (now Credo.