One of the best features of mobile devices is that they can roam between different networks seamlessly. However, this nice characteristic produces the side effect that they can not be reached directly without a central agent acting as a point of communication. This central entity is how it is solved by all messaging platforms.
Mobile Identity Wallets face the same problem and the way to solve this is by implementing a Mediator that is a cloud-agent that receives and forwards messages from one user to the other in a secure and encrypted way. Mediators are part of the DIDComm Messaging Specification from the Decentralized Identity Foundation.
At the moment, only Mediators based on the old DIDComm version 1 specification are ready to be used just as Indicio Public Mediator or Social Sirius Mediator, mostly used by Hyperledger Aries agents.Since the latest protocol that is being adopted by the community is DIDComm version 2, it is critical to have a Mediator based on that up-to-date standard so modern SSI projects can adopt and use it.
We propose to develop an Open Source Mediator and provide the code so anyone can deploy in a cloud instance and use it. Additionally, we will provide a cloud based instance hosting a ready to use Mediator for wallets and agents.
As part of the RootsId team, we have been researching and developing the DIDComm v2 protocol layer for our Open Source Credential wallet founded in Catalyst F7. We’ve already come up with a detailed description of a Mediator protocol implementation that we described in our wiki.
As a general principle, the Mediator will implement the latest specifications and protocols from DIF and Aries Interoperability Profiles, in particular:
- DIF DIDComm Messaging V2
- Aries RFC 0434: Out-of-Band Protocol 1.1
- Aries RFC 0023: DID Exchange Protocol 1.0
- Aries RFC 0211: Mediator Coordination Protocol
- Aries RFC 0092: Transports Return Route
- Aries RFC 0212: Pickup Protocol 2.0
- Peer DID Method Specification
The produced code will be open sourced with Apache 2.0 licensing and uploaded to our public repository. Documentation will be provided with design architecture and build and run guidelines. Additionally, we will deploy our own instance in an AWS service that will be available to any agent and wallet for free.
Our proposal will address the challenge goal by providing open source code and a ready-to-use instance of a critical and missing part of the Self-Sovereign Identity Cardano ecosystem. The mediator is a required part on any SSI project, often forgotten or postponed, and by providing this essential building block we are leveraging the potential of Cardano to be the prefered blockchain for SSI projects. Since this Mediator can we also be used by other agents outside the Cardano community, we will promote their existence in several SSI working groups for adoption and branding Cardano at the same time.
We do not foresee a technical challenge since this team has already researched and implemented agents based on these protocols and technologies. However, the main challenge we may face is the ability to allocate enough time to commit the project in time. Since this is not the only project we are planning to deliver during the same period of time, we’ve been carefully planning time allocation among all Catalyst projects and personal daily jobs. Besides that planing, and as the schedule is really tight, we have came across with two options to mitigate that risk in case of necessity:
- As RootsId is currently a team of four members, we will count the support from the other two members in case we need it.
- We have identified a number of community members that we met at the Atala Prism Pioneer Program that are willing to collaborate and jump into the project in case we need it.