completed
Discord Social Credential
Current Project Status
Complete
Amount
Received
$8,425
Amount
Requested
$8,425
Percentage
Received
100.00%
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.

Problem

Discord is widely used in the Cardano and Catalyst community. On the other side, ATALA Prism DIDs are taking momentum on many projects. How can those identities be linked together?

Impact / Alignment
Feasibility
Auditability

RootsID

3 members

Discord Social Credential

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:

  1. ability to allocate enough time to commit the project in time
  2. 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.

Please provide a detailed plan, including timeline and key milestones for delivering your proposal.

Project plan consist of the following activities with its duration:

  • Development of agent integration with Discord: 2 weeks
  • Development of agent event flow: 2 weeks
  • Development of RootsWallet event flow: 2 weeks
  • Deployment agent in AWS: 2 days
  • Testing: 3 days
  • Documentation: 1 week

<u>TOTAL DURATION</u>: 9 weeks

The high-level scope of each activity is described below:

  • Development of agent integration with Discord: this activity consists of developing a Discord bot using Discord API. The bot will be able to send tokens to Discord users
  • Development of agent flows: this activity consist of providing the agent to respond to wallet interactions:
  • accept connection based on the OOB invitation
  • ask wallet for Discord username
  • attest wallet for token
  • issue PRISM credential
  • send credential to wallet
  • delete all information

<u>Deliverables</u>:

  • Open Source code on Github repo
  • Live agent on AWS cloud instance
  • Documentation

Please provide a detailed budget breakdown.

Budget is mostly composed of development hours at a ratio of $100/hr. Based on the activities defined above the requested breakdown budget is:

  • Discord bot integration: 20 hours = $2.000
  • Agent flow development: 20 hours = $2.000
  • RootsWallet integration: 20 hours = $2.000
  • Deployment in AWS: 5 hours = $500
  • Testing: 5 hours = $500
  • Documentation: 10 hours = $1.000
  • Yearly AWS instance: $400
  • Domain name + SSL: $25

TOTAL BUDGET: $8.425

Please provide details of the people who will work on the project.

RootsID team has been delivering Open Source building blocks for the Self-Sovereign Identity ecosystem in Cardano. They have been funded in several Catalyst projects since Fund 6. All of them were delivered successfully on time or still in development in the planned timeline. Our funded projects are:

The team is constantly engaged in all Self Sovereign Identity Cardano activities such as Atala Prism Astros, Atala Prism Pioneer Program, Prism+SSI After Town Hall break rooms, and meeting periodically with partners or related Catalyst projects with the aim of collaboration and help adoption and growth of Cardano in the Identity world.

Additionally, the team participates actively in the worldwide SSI community by attending and collaborating to several working groups in the Decentralized Identity Foundation, the Hyperledger foundation, and the Trust over IP foundation.

This project in particular will be developed by Rodolfo Miranda:

<u>Rodolfo Miranda</u>: https://www.linkedin.com/in/rodolfomiranda/

His background includes a MS EE degree at Stanford University and more than 25 years of successful work experience in both large multinational companies and owned startup projects. His main activities involve architecting, developing, and implementing large scale software solutions for the Telecommunication Industry. Lately, he was engaged in blockchain technologies and joined Cardano community where he:

  • Participate as Community Advisor (from F6) and vCA (from F7), and is involved in many improvement working groups and discussions
  • Is part of the Challenge Team for Fund 7 challenge "Grow Latinamerica, Grow Cardano"
  • Is part of the Challenge Team for Fun 8 challenge “Self-Sovereign Identity”
  • Was part of the first cohort of the Atala Prism Pioneer Program
  • Is part of the team that created the LATAM Cardano Community and host a weekly LATAM TownHall

For this Fund 9, RootsId is presenting the following proposals:

Since we are participating in 10 proposals, we carefully planned time allocation for each of us. We defined our individual commitment per week as if all of the proposals are funded including extra activities. Based on that, we defined the allocation per proposal for each of us needed to deliver the proposal in time. Take in account that we design our proposals to have a duration no longer than 12-14 weeks in order to match funding rounds, that means that our pending F8 proposals will be concluded before the F9 execution phase starts. For your reference we add a link to the time allocation spreadsheet that can help you validate that our commitments are feasible.

If you are funded, will you return to Catalyst in a later round for further funding? Please explain why / why not.

If funded, this project as defined will conclude in this round. It does not depend on further funding to be used and adopted in production. However, as stated above, the same agent can be easily extended to validate other social platforms such as Telegram, Twitter, email, Github, Instagram, Google, and Twitch. Based on the success and adoption of the agent, we may present the development of those extensions in future funding rounds.

Please describe what you will measure to track your project's progress, and how will you measure these?

This project is basically a software development project with four clear deliverables that will work as proofs of completion:

  • the open source code of the agent available in a public repository
  • the open source code of the identity wallet (RootsWallet) available in a public repository
  • the documentation explaining how other wallets can interoperate to request and receive the Social Credential
  • a working cloud instance of the agent hosted on AWS and available for use for free

Additionally, this team adopts Agile methodology based on the tools provided by github. Besides progress reports, the advancement will be tracked by public github issues, project views (like Kanban board) and commits. Intermediate progress will be reported as Sprint Burndown, a KPI metric that shows the progress in percentage of each development sprint.

What does success for this project look like?

On success, this project will provide a trusted agent that issues a Social Credential proving that a decentralized digital identity (DID) has control on a particular Discord account. Any identity wallet will be able to interact and receive this type of Social Credential, and hence can be adopted by other projects that can benefit from this type of validation of a user's DID. This kind of validation is mostly used as a Social KYC method to understand more about a user hidden under a Decentralized Identifier.

Additionally, a working cloud agent that can automatically issue credentials is a great testing tool to generate tests and demonstrate interoperability.

Our desire is that projects from the Cardano community find value in the Social Credential and adopt it in real and useful cases.

Please provide information on whether this proposal is a continuation of a previously funded project in Catalyst or an entirely new one.

In a strict sense, this proposal is an entirely new project that has a start and a launch day, and can leave on its own. However, the project is built on components that were developed in previous funded projects from RootsID. So, in a broad sense, the strategy of RootsId is to deliver more and more SSI components as a continuous process. We started with the basic building blocks, some as alpha releases, and from there we grew with more advanced and rich components that allow to build complex solutions.

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00