not approved
Identus: Complete SD-JWT-VC Support
Current Project Status
Unfunded
Amount
Received
₳0
Amount
Requested
₳200,000
Percentage
Received
0.00%
Solution

We will complete SD-JWT-VC support in Identus, adding Revocation and the ability to issue and selectively disclose SD-JWT-VC Edge Agent to Edge Agent

Problem

Identus (Atala PRISM) needs community developer support to complete an important feature: SD-JWT-VC Support.

Impact Alignment
Feasibility
Value for money
Identus: Complete SD-JWT-VC Support

Please describe your proposed solution

Identus (formerly known as Atala PRISM) is now Open Sourced under the Hyperledger family of projects. IOG is funding maintenance through 8 core team developers, however some of the original road map has been re-prioritized to make efficient use of existing resources.

This has left the future of a powerful feature in question.

SD-JWT-VCs allow someone to selectively disclose the information in their Verifiable Credential, while keeping all the information and PII encrypted. This makes Verifiable Credentials more safe, secure, portable, and privacy-preserving. The Csign engineering team has a vested interest in using SD-JWT-VCs in their product Csign

SD-JWT-VC support has been mostly completed by the core team, however important actions like Revocation and the ability to issue and validate SD-JWT-VCs between edge agents has not been completed in all Edge SDKs.

The Csign engineering team would like to contribute to Identus and help finish this feature. Csign intends to use SD-JWT-VC (Selective Disclosure JWT Verifiable Credentials) in its own product, and it would be extremely valuable to other users of Identus to have this feature complete.

The Csign engineering team, Roberto Carvajal and Jon Bauer, who are co-authors of the book "Mastering Identus: A Developer's Handbook" will contribute time, code, and will ultimate use the feature in the Csign product.

This will involve adding Revocation support to the Identus Cloud Agent, TypeScript for the TypeScript Edge Agent SDK, and native mobile code in the Swift and Kotlin for the Edge Agent SDK support.

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

Csign wants to use SD-JWT-VCs in it's product: https://www.csign.io

Identus is Open Source and is freely available under an Apache 2.0 license.

As good community citizens who benefit from the open source license used by Identus, we would like to give back to the project by enhancing critical features which we want everyone to have access to.

We believe SD-JWT-VC is an important privacy-preserving technology which will make all Identus SSI applications much more secure and private.

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?

Our engineering team has been active in the Identus (Atala PRISM) developer and contributor community and thanks to a Fund 11 Catalyst grant, Jon Bauer and Roberto Carvajal are writing “Mastering Identus: A Developer’s Handbook”, which is a developer-centric technical reference for developing with Identus ( Atala PRISM ). Csign was built with early versions of Identus, before it was open sourced and we have helped the project by reporting bugs and contributing fixes and workarounds.

Beyond Atala PRISM, our team is made up of highly experienced digital product designers and engineers. We have created applications for the world’s most famous brands, and are excited to be working together on cutting edge digital identity product ideas.

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

Milestone 1: Duration: 1 Month

Work with Identus Core Team to create Behavioral-Driven-Development (BDD) Scenarios for remaining work left for SD-JWT-VC support in Identus

Milestone 2: Duration: 3 Months

Write Revocation support for SD-JWT-VC in Identus Cloud Agent.

We have met with the Identus core team and there appears to be some feature work and decisions made before Revocation can be fully implemented.

This includes implementing a StatusList spec, which may be included in implementing VC-JOSE-COSE. Discussion ongoing amongst Identus core team.

We are allowing enough time to implement whichever solution is decided.

Milestone 3: Duration: 4 Months

Roberto will add support for SD-JWT-VC in the Identus TypeScript Edge SDK.

Jon will add support for SD-JWT-VC in the Identus Swift Edge SDK.

According to the Identus core team, a lot of this has been implemented in the Swift SDK already but needs to be ported over to TypeScript and Kotlin SDKs. Our efforts will focus on porting the work over to the other platforms if Swift is fully implemented by the time this milestone begins.

Milestone 4: Duration: 2 months

Roberto and Jon will use the code design patterns from the TypeScript and Swift SDK work to support for SD-SWT-VC in the Identus Kotlin/Android Edge SDK.

Identus Kotlin SDK is made with Kotlin MultiPlatform (KMM). We will port over the work from the other SDKs to this platform.

Final Milestone: Duration: 2 months

We will submit a Pull Request to the Identus project, in each appropriate repository, complete with tests and documentation. This may receive feedback or change requests from the Core Team and we will work to address their comments.

We will present our work to the Identus Community in both the Identus Discord and with a presentation on one of the regularly scheduled community calls.

Please note: We cannot guarantee that the Identus Core Team will accept or merge our Pull Request into the Identus code base.

Please provide a cost breakdown of the proposed work and resources

200,000 ADA

Milestone 1: 13,358 ADA

BDD Scenarios: ~30 hr x 2 Engineers

Milestone 2: 58,322 ADA

Revocation support: ~120 hr x 2 Engineers

Milestone 3: 63,940 ADA

TypeScript SDK support: ~200 hr x 1 Engineer

Swift SDK support: ~200 hr x 1 Engineer

Milestone 4: 34,416 ADA

Kotlin SDK support: ~100 hr x 2 Engineers

Final Milestone: 29,964 ADA

Handle PR feedback and presentation: ~90 hr x 2 Engineers

Hyperledger Identus, an open-source Self-Sovereign Identity (SSI) framework that is part of the Hyperledger suite of blockchain and identity projects. Hyperledger Identus, formerly known as Atala PRISM, provides components to develop decentralized identity solutions adhering to widely recognized SSI standards.

The Csign engineering team, Roberto Carvajal and Jon Bauer have been working with Identus since its version 2 beta and has become an active participant in its developer and contributor community.

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

We believe the value of having SD-JWT-VC functionality complete in Identus is a huge win for the Self-Sovereign Identity developer community. This will give all Identus developers the option to make secure and private Verifiable Credentials. As Governments adopt this new standard in their SSI wallets, having SD-JWT-VC support is critical to make Identus a competitive platform worldwide.

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