decentralized-identity / trustdidweb

Trust DID Web (did:tdw)
https://identity.foundation/trustdidweb/
Other
27 stars 10 forks source link

How to distinguish between witness proofs and controller proofs #114

Open brianorwhatever opened 2 months ago

brianorwhatever commented 2 months ago

Currently the only difference between a witness proof and a controller's proof is that the witness will likely be a did:tdw. This isn't a particularly useful way to determine which is which. I think we need a better technique.. might be one reason for #66

swcurran commented 2 months ago

As I was writing this — I think the answer is that the DID of the DID Controller MUST be a did:key, and MUST be in the authorized key array. Conversely, witness did’s MUST NOT be did:key, and witness DIDs MUST be in the witness list.

A bit of data sniffing, but I don’t think outrageous. The question is whether it is better or worse than using Proof Chains, given their lack of implementations?

swcurran commented 1 month ago

@brianorwhatever -- do you want to see this added to the spec? Seems it would be useful.

brianorwhatever commented 1 month ago

For now what I am doing is checking if the verification method is a did:tdw or did:key. tdw is assumed to be a witness and key is assumed to be a controller

swcurran commented 1 month ago

Action: As a clarification, without changing the version. @swcurran