decentralized-identity / ion

The Identity Overlay Network (ION) is a DID Method implementation using the Sidetree protocol atop Bitcoin
https://identity.foundation/ion
Apache License 2.0
1.23k stars 170 forks source link

Multiple DID Controllers #268

Open bdesiderio opened 2 years ago

bdesiderio commented 2 years ago

I would like to know if sidetree or ION support the scenario of multiple controllers for the same DID.

csuwildcat commented 2 years ago

Currently it is assumed to be the creator of the DID and doesn't support modification or multiple controllers. Doing so would require a spec and implementation update. What's the scenario that you have?

bdesiderio commented 2 years ago

We need to modify DID controller and in some cases add multiples DID Controllers.

We are working with many scenarios, one of them implies that an object has a DID but we want the controller to be the owner of the object, e.g. a car or company.

This way, the controller could change the DID Document of the object without having two private keys. On the other hand if the owner of the object changes, the old owner can transfer the DID of the object to the new owner without passing private keys.

In other scenary we are working with a keeper of your identity. This keeper is a second controller of your identity trustworthy for you. If you lost your private keys, you could get other private keys and other DID, but the keeper could set the new DID as controller of the previous DID. This way, you change your private keys but you don't lost your original DID, so you can conserve all information related to your first DID including your VCs and you don't change your identity as such.

OR13 commented 2 years ago

You can fork the implementation / use ietf-json patch, or use a did method like did web that supports arbitrary json better.