-
Notifications
You must be signed in to change notification settings - Fork 12
DIDs: did:webvh #102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@wenjing I created a branch to develop and test the did:webvh integration. As discussed, my first approach is to use the Python implementation for generation first. The Additionally, it contains an - admittedly lengthy - description of how to create a did:webvh with the Python implementation. I'm wondering a bit about how to proceed from here. The described procedure with the Python implementation is certainly not optimal w.r.t. usability. At the same time, the TSP SDK must support resolving did:webvh, but I would assume that creation of those is not its main concern. Unfortunately, the generation of did:webvh is quite an involved process, which means that we need to invest a decent amount of resources if we want to implement it as part of the TSP SDK to improve usability. At the same time, we run into the risk of having an outdated, incompatible implementation as the webvh specification evolves. Maybe you can have a look at the mentioned description and let me know if we should prioritize an implementation of webvh generation. If so, we should consider developing this in the (currently empty) provisioner directory of the Decentralized Identity Foundation repository. |
Maybe another way to clarify is to take a step back and look at what we need to have for demonstrating TSP SDK: (0) First is creation of a DID - for testing and demo purposes. We should modify the "tsp create" command so that it can be used to create various types of VIDs. i.e. a unified "tsp create --type {did:web | did:webvh | did:peer ... } just for illustration. this is just to make the cli structure simpler than it is today. (1) Now we need to implement "tsp create --type did:webvh" as a new type (the other two already exist). One half of this is similar to did:web and can be reused. (2) This new type of DID also supports a new operation that the python implementation calls "update", for example for key rotation. So we need a new CLI command: maybe something like "tsp update" ... (3) Verify must be enhanced to handle extra verification of the history - for the receiving end verification by the SDK, this would be in rust. (4) Same for CLI "tsp verify" command from the initial sender used by the demo. This is ok to be in python. I may still be missing something, e.g. all the show/display functions also need to be updated to show/display the extra information. I am not sure if there's anyway to be any less than the above list? |
I'm not sure how feasible - but a possible alternative is to use the current did:web implementation and enhance it with history (creation, verify, and update operations). The benefit is that you already have most of the operations, and wallet, and did support system. We could still use the python demo as reference and maybe even reuse some basic modules? |
Yes, I'll do this still. Just wanted to get the functionality ready first. Thanks for the reminder.
Yes, also true. I used it for this proof-of-concept, as did:webvh essentially embeds a did:web in a verifiable history.
✅ This already happens
True In essence, I would continue by automating the manual procedure. This requires a working Python installation of the computer that we execute the |
DIDs: did:webvh: https://identity.foundation/didwebvh/
supprted and used for all M2-2 demos and tests.
The text was updated successfully, but these errors were encountered: