funded
Verifiable Data Registry for Identus in Cardano
Current Project Status
In Progress
Amount
Received
₳0
Amount
Requested
₳200,000
Percentage
Received
0.00%
Solution

As part of this proposal we will deliver a documented and well designed spec for the VDR and its public API.

We propose to initially develop several drivers but main one being in Cardano blockchain

Problem

We aim to build a storage agnostic VDR for Identus and couple drivers which will be in charge of storing and fetching from storage in Cardano blockchain and other sources in a future.

Impact Alignment
Feasibility
Value for money
Verifiable Data Registry for Identus in Cardano

Please describe your proposed solution

We aim to build a VDR to allow the creation and resolution of DID linked resources. The VDR implementation will be agnostic on where the files are going to be stored and this responsibility is then delegated to drivers, which define how, where the files are stored and how to fetch them.

As part of this proposal we will deliver a documented and well designed specification for the VDR interface and public API. Drivers are pluggables and developers will always be in charge of which one to integrate when building.

We propose to initially develop 2 drivers, each one with different properties and use-cases the first one will store resources in a database and the second one will be storing resources on Cardano.

Please define the positive impact your project will have on the wider Cardano community

Currently Identus ecosystem is using a database to store did linked resources.

We have several examples:

  1. Credential Schemas
  2. Credential Definitions (Anoncreds, ZKP)
  3. Revocation registry

As its always been in our effort to bridge the gap between Identity and Cardano as a whole we think this will close the gap. Developers will not need to trust a server that tells them what is revoked but instead, nobody will need to rely on a central party and instead prove and validate things by themselves.

VDR Stands for verifiable data registry, apart from defining where we store the resource, we are also sure that the data was created by the right party and has not mutated

What is your capability to deliver your project with high levels of trust and accountability? How do you intend to validate if your approach is feasible?

We are highly confident as this initiative is led by what was the Atala Tribe in the past, we have enough resources to make it through in aprox in 10 months.

We will start by defining the base interface and architecture in Hyperledger Identus and set the base structure for the project, after that is completed we will need to start exposing and building documentation for the VDR public API and Driver's interface.

Drivers will be the last peace and as we specified the Cardano specific ones will live in IOHK repositories, VS the more generic implementation (database) and the VDR component will live under the Hyperledger repository.

What are the key milestones you need to achieve in order to complete your project successfully?

Milestone 1: First deliverable should take us more or less about 1 or 2 months, and during the first milestone we will Start documenting and designing the public API of the VDR and create a dummy inMemory driver as proof of concept.

We will also work on improving the existing documentation and expose the VDR component architecture, decision records, public API and Drivers interface.

Milestone 2: Second deliverable will take 4 to 5 months and during this phase we will integrate the VDR component into the Agent API and expose it through API endpoints.

By then, we will already include documentation on how to use the VDR API's

Create a new implementation of the Driver API which uses a database to store resources

Milestone 3: Implement the Cardano Driver

Create wrapping-up documentation for the VDR, on how to use it, configure it and how to implement the Driver interface.

At this point we will also start adding the VDR documentation in the Identus documentation examples, present the feature in a public community workshop, etc

Final Milestone: Final milestone will deliver a well documented VDR component to use in Identus SDK.

The repository will be published under the IOHK github account not Hyperledger as it is directly related to Cardano as a blockchain and less about Idenitity.

We still need to take a decision on what goes where. Potentially what would make more sense:

In Hyperledger

  1. Implement an open specification for the VDR component, public API and Driver's interface
  2. Implement VDR Database Driver

In IOHK github

  1. A second and more complete implementation of the driver that can use Cardano blockchain as source and be configured for testnet and mainnet.

Who is in the project team and what are their roles?

Javier Ribó

Fabio Pinhero

Gonçalo Frade

Yurii Shynbuiev

Benjamin Voiturier

Shailesh Patil

Allain Magyar

Some of us will be participating in the architecture, others on development, documentation and testing.

Please provide a cost breakdown of the proposed work and resources

We will allocate engineering efforts on all the milestones trying to focus on the deliverables of each milestone.

During the first phase we will document all the stack and implement a dummy wrapper that we can use for quick integration and further development.

Second phase we will start integration with the cloud agent and create others drivers.

All funds are allocated to engineering efforts, QA and documentation.

No dependencies.

How does the cost of the project represent value for money for the Cardano ecosystem?

We are going to bridge the gap between Identity, Identus community and Cardano by creating a well documented VDR API and a driver that will be using Cardano blockchain as source on where to store:

JWT Credential revocation registry

Anoncreds Credential defintion

JWT and Anoncreds Credential schema

others

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