decentralized-identity / veramo

A JavaScript Framework for Verifiable Data
https://veramo.io
Apache License 2.0
414 stars 130 forks source link

[proposal] Request for roadmap to support W3C V2 Verifiable Credential Data Model #1371

Open ashleythedeveloper opened 2 months ago

ashleythedeveloper commented 2 months ago

Is your feature request related to a problem? Please describe. As I understand it, Veramo currently only supports the W3C V1 Verifiable Credential Data Model (VCDM) via the credential-w3c package. Is there or will there be intent to support the V2 VCDM?

Describe the solution you'd like We would like to see support for the W3C V2 Verifiable Credential Data Model in Veramo, either through an update to the existing credential-w3c package or by creating a new package specifically for V2 VCDM support.

Describe alternatives you've considered As an alternative, we are considering creating our own plugin to support the V2 VCDM and maintaining it ourselves. However, we believe it would be beneficial for the Veramo community to have native support for the latest W3C standards.

Additional context While the V2 VCDM is still in draft, we believe it would be beneficial for the Veramo community to have a roadmap for supporting the W3C V2 Verifiable Credential Data Model once it is finalised. This will help keep Veramo up-to-date with the latest standards and ensure compatibility with other systems and libraries that will likely adopt the new model.

stale[bot] commented 2 weeks ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

vincentkelleher commented 1 week ago

Great you brought up this subject @ashleythedeveloper 🙌

I'm a software engineer of the Gaia-X Lab team and we are basing most of our work on verifiable data.

We use Sphereon's SSI-SDK to implement OpenID Connect for Verifiable Credentials compatibility and this relies on the Veramo Framework. As this issue states, we are using VCDM v2.0 but Veramo isn't compatible with it at the moment.

I think that supporting this data model is something that would be interesting to have out-of-the-box for the community so I will try to raise a pull request about this 😊 (Note to self) We mustn't forget that the project documentation needs to be updated too.

ashleythedeveloper commented 1 week ago

Thanks @vincentkelleher,

Our team is currently in the process of extending Veramo to facilitate the issuance of compliant W3C V2 Verifiable Credentials.

I believe the only thing we have left to do is to update the Data Integrity Cryptographic Suite to support eddsa-rdfc-2022 suite.

Once we have, we can document the changes we have made and point you to a reference implementation.

vincentkelleher commented 1 week ago

That's awesome @ashleythedeveloper 👍

I'm just wondering if the remaining updates should be done separately they are not critical to using VCDM v2.0 ? For example, in our case we use VC-JWT as an enveloping proof 😇

ashleythedeveloper commented 1 week ago

Good point @vincentkelleher.

Let's aim to have the changes we have made document by the end of next week, along with a link to the reference implementation for the community to review.

We would also be interested in knowing about your approach to facilitating the enveloping proof mechanism as this is also something we would like to support but based on our research, we will need to modify some libraries, which we plan to do within the month.

vincentkelleher commented 1 week ago

@ashleythedeveloper don't hesitate to contact me if you need some help on this task 😉

About the enveloping proof, we are currently just making sure everything works correctly between our modules and we will then externalize everything in a specific library to facilitate VC-JWT creation and verification through DIDs 😊

vincentkelleher commented 4 days ago

Hi @ashleythedeveloper 👋

Any updates about your implementation of VCDM v2.0 ? 😊