[IMPACT] Please describe your proposed solution.
Verifiable Credentials is one of the key standardized components of decentralized identity. The VC Data Model, defined at W3C, is a universal data format that lets any entity express anything about another entity. It provides a common mechanism for the interoperable implementation of digital credentials that are cryptographically secure, tamper-evident, privacy- respecting, and machine-verifiable. A common standardized data model enables standardized credential packaging, cryptographic signing, and proof expression. This then creates a VC ecosystem with interoperable credentials, allowing credentials to be processed and understood across and between disparate systems.
Since ATALA Prism does not define any specific format, projects are free to decide which one to implement. However, without convergence to a standardized VC format, there won’t be functional interoperability across the ecosystem.
From RootsID we are constantly pushing towards interoperability. We have already delivered several projects in that direction: Interoperability as Growth Driver, Interoperability Within Atala Prism and Hyperledger-Prism Interoperability. In this project we are pushing the interoperability a bit further into the Verifiable Credential format and presentation exchange protocols.
In summary we propose to research available Verifiable Credential flavors in order to understand differences, pros and cons from an ATALA Prism ecosystem. Define the presentation exchange protocols to request, issue and present Verifiable Credentials and Verifiable Credential Presentations. And finally implement them in RootsWallet, our Identity Open Source wallet.
Given that we are promoting interoperability, our research and decision will not be made in a silo. We will meet and take into account all SSI Cardano community participants, such as the ATALA IOG Team, Proofspace, Snapbrillia, and all other projects that are already building on ATALA Prism.
More deeply in the technical details, we’ll be focusing in comparing at least four different VC formats:
- JSON-JWT Web Token (JWT)
- JSON-LD
- JSON-LD with BBS+
- JSON-CL (anoncreds)
and analyze features like:
- Selective Disclosure – this allows a credential holder to choose which subset of credential attributes are revealed to a verifier. The rest remain hidden.
- Signature Blinding – this allows the issuer’s signature, which is a unique value and therefore a correlating factor, to be randomized before it is shared with a verifier.
- Private Holder Binding – this allows a credential to be bound to a holder without creating a correlating factor for the holder that needs to be revealed upon presentation.
- Predicates – these allow hidden values to be used in operations with a value provided by the verifier. For example, predicates can be used to prove that the holder’s bank account balance is above a certain threshold, without revealing the balance.
Additionally, we’ll document and implement in RootsWallet the protocols needed to exchange VC presentations such as:
-
Hyperledger Aries RFC 0453 - Issue Credential Protocol 2.0
[IMPACT] Please describe how your proposed solution will address the Challenge that you have submitted it in.
In RootsID we believe that Interoperability is the major driver for adoption of Self-Sovereign Identity solutions. Creating an ecosystem based on standards will facilitate the onboarding of new SSI projects and will create a familiar environment to attract developers.
This project is just about that. Define and agree on a standardized way to use Verifiable Credentials that can be adopted by current stakeholders, so newcomers and projects in the broader SSI ecosystem can interoperate in a well known manner. Providing documentation and Open Source code will enable builders of solutions to conclude that Cardano is the right platform to build systems that require the use of Decentralized Identity.
[IMPACT] What are the main risks that could prevent you from delivering the project successfully and please explain how you will mitigate each risk?
The main challenge is making a decision that can be suitable to be adopted by most players. There’s a risk of making a decision that later is implemented by only a few so the goal for interoperability is not achieved massively. This is a recurring problem when selecting technologies because the decision should be based on different factors that do not always align, such as adaptability, robustness, maturity, features richness, and community adoption.
In order to minimize that risk we’ll plan to:
-
deeply research technology and adoption in other ecosystems
-
contact all Cardano SSI players to gather their opinion and view of the matter
-
contact experts to have a long term view of each technology
-
avoid unnecessary constraints by supporting a reasonable set of options that are a good fit for more projects.
[FEASIBILITY] Please provide a detailed plan, including timeline and key milestones for delivering your proposal.
Project plan consists of the following activities with its duration:
- Research VC flavors: 2 weeks
- Engage with the community: 2 weeks
- Documentation: 1 week
- Implementation in RootsWallet: 6 weeks
- Testing: 1 week
<u>TOTAL DURATION</u>: 3 months
The high-level scope of each activity is described below:
- Research: this activity requires digging into literature and current implementations as well as published references. The goal is to have a map of pros and cons of each technology
- Engage with community: in this activity we will organize several sessions to discuss the topic with main players such as the Atala Prism Team, Proofspace, Snapbrillia and many other players in the community
- Documentation: after arriving at a conclusion, we will clearly document the outcome
- Implementation in RootsWallet: a working implementation of the decision will be implemented in RootsWallet, the Open Source Identity Wallet from RootsId
- Testing: we’ll perform the required testing of the implementation
<u>Deliverables</u>:
-
Open Source code on Github repo
-
Documentation
[FEASIBILITY] Please provide a detailed budget breakdown.
Budget is composed of development and consulting hours at a ratio of $100/hr. Based on the activities defined above the requested breakdown budget is:
- Research VC flavors: 20 hours = $2.000
- Engage with the community: 20 hours = $2.000
- Documentation: 10 hours = $1.000
- Implementation in RootsWallet: 120 hours = $12.000
- Testing: 10 hours = $1.000
<u>TOTAL BUDGET</u>: $18.000
[FEASIBILITY] 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:
- F6: Interoperability as Growth Driver: [DELIVERED] [Github] [final report video]
- F7: Interoperability Within Atala Prism: [DELIVERED] [Github] [final report video]
- F7: Hyperledger-Prism Interoperability: [DELIVERED] [Github] [final report video]
- F7: Open Source Credential Wallet: [DELIVERED] [Github] [final report video]
- F7: WAL-CLI Wallet Tools for developers: [DELIVERED] [Github] [final report video]
- F8: Universal Resolver for did:prism: [IN DEVELOPMENT]
- F8: DIDComm v2 Mediator: [IN DEVELOPMENT]
- F8: RootsWallet - Support for sidetree: [IN DEVELOPMENT]
- F8: KYC Credentials PoC: [IN DEVELOPMENT]
- F8: Cardano SSI standards contributors: [IN DEVELOPMENT] [video]
- F8: RootsWallet beta - Backup/Recovery: [IN DEVELOPMENT]
- F8: WAL-CLI Communication: [IN DEVELOPMENT]
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 with 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:
- F9: RootsWallet - iPhone version
- F9: RootsWallet - Aries JS
- F9: KERI bridge for Cardano
- F9: RootsId Verifiable Credentials (this one)
- F9: Discord Social Credential
- F9: RootsWallet - Simplified SSI UX
- F9: WAL-CLI Issue Credential Protocol
- F9: WAL-API Identity Wallet Service
- F9: Cardano SSI Contributors - Season 2
- F9: ATALA Prism ZKP + Hyperledger Aries (collaboration with Snapbrillia)
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 into 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.
[FEASIBILITY] 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, since interoperability is an ongoing process we may present future projects in future fund round with the same spirit of defining standardized ways to adopt other parts of the SSI technology.
[AUDITABILITY] Please describe what you will measure to track your project's progress, and how will you measure these?
This project is can be divided in two parts: research and development:
The research part will be tracked by its deliverables in the form of:
- documentation on literature
- documentation on decision
- video recordings of meeting held
The development part will deliver the following as proof of completion
- Open Source code of RootsWallet on public Github repo
- Documentation
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.
[AUDITABILITY] What does success for this project look like?
Our vision of success is that the selection that we make is acknowledged by all members of the SSI community in Cardano, and as a consequence be adopted by all current and future projects. By building that kind of interoperable ecosystem, many projects and developers are attracted to join and build on Cardano their Identity solutions or features.
[AUDITABILITY] 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 live on its own. However, the project is built on components that were developed in previously funded projects from RootsID. So, in a broad sense, the strategy of RootsId is to deliver more and more SSI components as a continuations process. We started with the basic building blocks, some as alpha releases, and from there we grew towards more advanced and rich components that allow us to build solutions with greater complexity.
Sustainable Development Goals (SDG) Rating
We are grateful to be able to discuss and consider how our identity software might impact our grass roots users and their communities. By giving each individual control over their own cryptographically verifiable digital identity, we hope to empower their ability to choose to be remembered and/or forgotten in nuanced and fulfilling ways that improves every area of their life and community. We would especially like to see improvements in the following ways:
SDG goals:
Goal 10. Reduce inequality within and among countries
Goal 11. Make cities and human settlements inclusive, safe, resilient and sustainable
Goal 16. Promote peaceful and inclusive societies for sustainable development, provide access to justice for all and build effective, accountable and inclusive institutions at all levels
Goal 17. Strengthen the means of implementation and revitalize the Global Partnership for Sustainable Development
SDG subgoals:
10.7 Facilitate orderly, safe, regular and responsible migration and mobility of people, including through the implementation of planned and well-managed migration policies
16.7 Ensure responsive, inclusive, participatory and representative decision-making at all levels
17.17 Encourage and promote effective public, public-private and civil society partnerships, building on the experience and resourcing strategies of partnerships
9.b Support domestic technology development, research and innovation in developing countries, including by ensuring a conducive policy environment for, inter alia, industrial diversification and value addition to commodities