Transfer Ownership of the Customized DID
Customized DID can change the controller because it's not strongly associated with the authentication key. For the customized DID, modifying the multi-signature rule and changing the controller are all changes to the ownership of DID.
Changing the ownership of DID requires the controller of the original DID to sign a Transfer Ticket to one of the new controllers according to the multi-signature rule of the current DID document. The new controller can re-create the DID document, declare new controllers/multi-signature rules, and issue a new DID-to-ID sidechain using the Transfer Ticket provided by the original controller, thus realizing the transfer of DID ownership.
For example, presently, the 2 of 3 DIDs did:elastos:example are held by Alice, Bob and Carol. Their DIDs are:
Alice - did:elastos:iXkgy7RruwjJDP2o3pfPaxpVR65bEzzjtz
Bob - did:elastos:iUCXpvpNZ9B9vwWf6PMFMJ6duRPPiLSWSw
Carol - did:elastos:ignLDwpCumFLA2GrXptr5zNugtMcfvoM4d
Now, the ownership of did:elastos:example needs to be transferred to Dan and Erin, whose DIDs are:
Dan - did:elastos:ice6yo4NuazaJP9hwgXxhgmNVGssusEz7p
Erin - did:elastos:iTsF892QDbDu3JnHXzPbE6udK9b5TZQdTo
1. Alice Created a Transfer Ticket
In DID’s ownership Transfer Ticket, we needed to declare one of the new controllers. The DID example was declared to be transferred to Dan.
The Transfer Ticket created by Alice only received her signature, which didn’t reach the minimum requirement of two. So, Alice needed to serialize this document and give it to Bob or Carol to continue signing through the way provided by the application. This example assumes that Bob would sign it.
2. Bob Signed the Transfer Ticket
After Bob signed the Transfer Ticket, it already contained signatures of Alice and Bob, which met the requirement of the multi-signature rule.
The current controller of example DID only needed to hand over this signed and valid Transfer Ticket to Dan, and Dan could use this ticket to publish a new DID document.
3. Dan and Erin Recreated the DID Document
Then Erin would sign the document:
Because this Transfer Ticket is for Dan, Dan must be one of the controllers of the new DID, and the first published DID document must contain his signature.
4. Use Transfer Ticket to Publish a New DID Document to Complete the Ownership Transfer
After Dan and Erin created and signed a valid DID document, anyone could issue a new DID with the example ticket previously obtained to declare the ownership of it. Suppose Dan published the new DID document example:
When transferring ownership of DID, the Transfer Ticket contains the last chain state of the target DID - once the Transfer Ticket is created, the original controllers shouldn't update it. If there is an update operation, the previously created Transfer Ticket will become invalid. When a new document is published using the invalid ticket, the ID sidechain will reject this transaction.
Last updated