completed
RootsId Verifiable Credential
Current Project Status
Complete
Amount
Received
$18,000
Amount
Requested
$18,000
Percentage
Received
100.00%
Solution

RootsID will research and select one or several flavors of Verifiable Credentials, and will document and implement how they should be used in the ecosystem for worldwide interoperability.

Problem

Verifiable Credentials are a key component for interoperability across Self Sovereign Identity systems, within Cardano and abroad. However, ATALA Prism does not define any specific VC format.

Impact / Alignment
Feasibility
Auditability

RootsID

2 members

RootsId Verifiable Credential

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:

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.

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.

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

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

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 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:

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.

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.

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.

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.

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.

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