Following cheqd’s successful integration into Credo (formerly Aries Framework JavaScript) in October 2022, we are excited to announce that we will be further expanding cheqd into the world of ACA-Py.
Introduction
Aries Cloud Agent Python, or ACA-Py for short, has been one of the most long-standing SDKs for decentralised identity since its inception. However, to date, it has been tightly coupled with Hyperledger Indy, making it challenging for ecosystems to grow beyond the scope of Indy-based networks.
In recent months, some of our partners have requested we help support cheqd in ACA-Py, largely driven by concerns about its tight coupling with Indy, a similar challenge that Credo users faced prior to its expansion. For these reasons we have decided to collaborate with the ACA-Py community and maintainers to extend its support for cheqd, bringing support for did:cheqd based AnonCreds and associated AnonCreds objects (as well as the capacity to support more credential types) to the ACA-Py agent and technical stack.
We also recognise that the latest announcement from Sovrin, potentially ending its service in 2025, may adversely affect ACA-Py users. As a result, in the coming days we will share our thoughts on how cheqd may be able to help the broader Sovrin community in a subsequent blog.
What cheqd can bring to the ACA-Py project
cheqd supports the W3C DID-Linked Resources (DLRs) specification, enabling it to support bespoke files on-ledger in a DID resolvable format. Through this innovation, cheqd is able to support custom Indy transaction types, such as AnonCreds Schemas, Credential Definitions and Revocation Status Lists as DLRs (see cheqd’s AnonCreds Object Method here). Additionally, cheqd will be able to bring new features to ACA-Py including DID-based trust registries and Credential Payments.
Accordingly, this will create a new DID Method and infrastructure option for ACA-Py communities and ecosystems, including benefits in terms of:
- Interoperability: Through cheqd support, ACA-Py can expand more easily to other credential formats such as VC JWTs, SD-JWTs or JSON-LD, with each being able to resolve to the same foundational DID method. This will allow ACA-Py to expand to meet EU ARF requirements as they develop further, in a similar evolution to Credo.
- Trust Registries: cheqd supports ledger based trust registries through a “Verifiable Accreditation” model (see documentation here), allowing tiered hierarchies of trust to be built into its supported ecosystems.
- Speed: cheqd is able to crunch over 5,000 transactions per second, improving on Indy’s ~4 transactions per second.
- Decentralisation: cheqd is able to support over 100 node operators (currently at 64), building on Indy’s maximum of 25.
- Monetisation models: cheqd supports “payment gated” DID-Linked Resources, which facilitate “Verifier pays Issuer” commercial models. This optional feature affords ACA-Py communities and builders a new way to monetise their product offerings, with payments available in MiCA regulated eMoney including for USD and EURO.
- Ecosystem: cheqd’s infrastructure is built on the Cosmos SDK, which is an actively maintained ecosystem with a healthy developer community and ~50 commits to main per week. cheqd itself then deploys multiple releases per year, always with significant feature releases, e.g. fee abstraction where users no longer need to hold the underlying $CHEQ token.
Through these improvements, ACA-Py can provide its existing consumers with greater scalability, performance and a far wider set of features which can be used for production environments, in conjunction with Hyperledger Indy or as a clear migration pathway off Indy if required. It is also for a similar set of reasons that Dock has decided to use cheqd’s underlying network rather than its own, demonstrating a positive consolidation and maturity of the blockchain based identity network market.
Cross-Community Support
ACA-Py and cheqd already share a close connection in terms of the communities building on both, with companies like DIDx, AyanWorks and Anonyome running Validators on cheqd mainnet, as well as working actively on ACA-Py-based projects.
As such, there is already a significant knowledge overlap between both cheqd’s network and the ACA-Py libraries. Moreover, ACA-Py would not be the first Aries-based SDK to support cheqd, with Animo Solutions leading an exceptional effort to broaden the scope of what was formerly Aries Framework JavaScript into Credo. This effort will help provide a blueprint for the implementers in terms of patterns such as the application of AnonCreds on cheqd and the mapping across of Indy-based logic to cheqd, hopefully reducing the time to completion.
The ACA-Py extension into did:cheqd will also dovetail well with the ongoing work from Danube Tech to build DID-Linked Resources into the Universal Resolver and Universal Registrar, which may also simplify the implementation, and accommodate support for a wider array of DID methods into ACA-Py through the integration of universal drivers.
Funding and next steps
With ACA-Py being brought under the umbrella of the Open Wallet Foundation (OWF), we will first begin to engage in efforts with the OWF community to secure support in helping build cheqd support into ACA-Py.
Next, we intend to work with the likes of DIDx, AyanWorks and any other welcome contributors to create an overall architectural plan, breakdown of milestones and a roadmap for the works.
As the cheqd Foundation, we will also look to provide appropriate financial and technical support to:
- Contributors to the cheqd integration effort into ACA-Py
- Hyperleger Indy Validators that would want to also explore running infrastructure on cheqd
- ACA-Py projects looking to expand to other networks and DID methods.
Please reach out to our team here, if you are interested in getting involved or run an ongoing project with ACA-Py with an eye on expanding beyond Hyperledger Indy.