Please describe your proposed solution.
RootsId will develop and deploy a free ATALA Prism agent that will issue a Verifiable Credential to users that can prove that they have control of a Discord account.
The credential received will be stored only on the user’s identity wallet, such as RootsWallet, and no record of it will be kept on the agent side as a pursuit of the self-sovereign identity principle of keeping private information on user’s control.
Upon request by a system, the user can present the credential to demonstrate, in a provable way, that she/he is the owner of a Discord account.
We have realized that many projects will benefit from having a way to validate a user's Discord account. That verification, also known as a Social Credential, can allow systems to know a little more of the persona on the other side of the network, and therefore grant access to additional functionalities or permits.
This simple project is the continuation of RootsId efforts to provide functional Open Source components for the Self-Sovereign Identity ecosystem in Cardano. In particular this project will provide the following advantages:
- free and open source, can be used in any project that adopt decentralized identity technologies
- fully interoperable; not tied to RootsId components. Any identity wallet that follows most adopted standards can request and receive the Social Credential
- will be easily extended to validate other social platforms: Telegram, Twitter, email, Github, Instagram, Google, Twitch.
- low budget project
- a nice use case to test Atala PRISM, SSI and the interoperability among platforms
Technically the project will consist of an agent powered by wal-library, RootsId Kotlin library to interface with PRISM SDK. The agent will be deployed in an AWS instance, and will expose an DIDComm v2 endpoint so identity wallets, such as RootsWallet, WAL-CLI or any other wallet that adopt PRISM, DIDComm v2 communication and DIDComm protocols can request a Discord Social Credential.
Additionally the agent will be integrated with a Discord server by means of a bot application, that will allow it to send tokens to Discord users.
We will provide a running use case in RootsWallet where users can request the Social Credential after being attested by a token submitted to their account. The flow will follow an Out of Band invitation (QR code), a Question Answer protocol, and concluding with the Issue Credential protocol to issue and receive the credential in the wallet.
Please describe how your proposed solution will address the Challenge that you have submitted it in.
It is well known that besides cryptocurrency, the Decentralized Identity is one of the most important applications of a blockchain that has ATALA Prism as the leading solution in Cardano. This project is part of that application, providing a simple stand alone product that can be integrated with other components in the ecosystem using adopted standards and practices, and that will allow any Daap or product to get the benefits of the Social Credential.
Therefore, we believe this project is contributing with the challenge goal by:
- delivering a free open source product based on ATALA Prism, the identity application on Cardano
- providing an integration between Prism, Discord and any dApp or product built on Cardano
- promoting the adoption and growth of Self Sovereign Identity technology on Cardano
- developing Open Source code, and deploying for free-use of other products
- enabling integrations with interoperable components based on well adopted standards
What are the main risks that could prevent you from delivering the project successfully and please explain how you will mitigate each risk?
We do not foresee a technical challenge since we’ve already implemented the different parts of the system separately. However we’ve identified to possible risks:
- ability to allocate enough time to commit the project in time
- provide interoperability to simplify adoption from other projects
To mitigate the first one, we have planned hour time allocation carefully, taking into account all Catalyst projects, personal jobs and other commitments to the community. You can see our detailed time allocation on the feasibility section.
To mitigate the second risk, we will deliver full documentation on how to communicate with the agent and a complete implementation for our RootsWallet.