w3c-ccg / did-spec

Please see README.md for latest version being developed by W3C DID WG.
https://w3c.github.io/did-core/
Other
124 stars 45 forks source link

[TERMINOLOGY] DID Method - overloading issues - Representations of DID Documents are written to the Ledger. ...not DIDs. ...misuse of "DID" #127

Closed mwherman2000 closed 5 years ago

mwherman2000 commented 5 years ago

In https://w3c-ccg.github.io/did-spec/#terminology, it states.

DID Method A definition of how a specific DID scheme can be implemented on a specific distributed ledger or network, including the precise method(s) by which DIDs and DID Documents can be read, written, and revoked.

  1. RE: "including the precise method(s) by which DIDs and DID Documents can be read, written, and revoked."
    The use of "DIDs", "DID Documents" and "DIDs and DID Documents" are being overloaded here and not being disambiguated ...leading to overloading and #confudsion. A DID is an atrributed inside a DID Document. Only DID Documents or representations of DID Documents are read, written, revoked on the Ledger.

  2. Misuse of "DID" ...see https://github.com/w3c-ccg/did-spec/issues/121#issuecomment-455267182

Reference: Hyperledger Indy/Sovrin Comprehensive Architecture Reference Model (INDY ARM) - latest version - bullets (12) thru (16) in both the diagram, Narration, and principles.

OR13 commented 5 years ago

It might help to add ...including the precise method(s) by which DIDs are constructed, how DIDs are resolved to DID Documents, how DID Documents are created, updated, and revoked.

A related confusion is the concept of revoking a DID... to my knowledge this is always implemented by some update to the DID Document. The spec seems to have the same ambiguity in this section:

https://w3c-ccg.github.io/did-spec/#delete-revoke

Maybe the spec should clarify that DIDs cannot be revoked, but a DID that resolves to a DID Document which is revoked, is considered revoked.

mwherman2000 commented 5 years ago

@OR13 ...misuse of "DID" ...please see the original comment for this issue (updated) ...or checkout https://github.com/w3c-ccg/did-spec/issues/121#issuecomment-455267182

mwherman2000 commented 5 years ago

https://github.com/w3c-ccg/did-spec/commit/dddc566ea6d3f9f4005b088bdc3dd312a5307734 doesn't address the specific wording issue highlighted at the beginning of this issue. The changes affect many other things but not the wording problem highlighted in this issue. Please re-open this issue until it is resolved.

The key question is: what precisely is being "read, written, and revoked", etc.? I don't believe it is the DID. Only DID Documents are written to the VDR; one case being a degenerate DID Document that only contains a DID. A degenerate DID Document that only contains a DID is still a DID Document. A degenerate DID Document that only contains a DID is not a DID.

Suggestion: Change "DID and DID Document" to "DID Document"

rhiaro commented 5 years ago

Michael, is the following better?

A definition of how a specific DID scheme can be implemented on a specific distributed ledger or network, including the precise method(s) by which DIDs are resolved and deactivated and DID Documents are written and updated.

mwherman2000 commented 5 years ago

@rhiaro Yes, thank you.

rhiaro commented 5 years ago

Done! https://github.com/w3c-ccg/did-spec/commit/639956490c8b81e16fd109e1cd88080e95367921

talltree commented 5 years ago

Amy, please see note inline below.

On Sun, Mar 3, 2019 at 5:54 PM Amy Guy notifications@github.com wrote:

Michael, is the following better:

A definition of how a specific DID scheme

I believe we should never use the term "DID scheme". It could be very confusing relative to the definition of "URI scheme" in RFC 3986. "did:" is the one an only DID scheme.

We should always use the term "DID method".

can be implemented on a specific distributed ledger or network, including the precise method(s) by which DIDs are resolved and deactivated and DID Documents are written and updated.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/w3c-ccg/did-spec/issues/127#issuecomment-469041229, or mute the thread https://github.com/notifications/unsubscribe-auth/ADLkTVBRbdjDf0MtPyqVYLtvOudlYaXgks5vS_47gaJpZM4Zc3u4 .

rhiaro commented 5 years ago

@talltree "specific DID scheme" is used throughout the spec with regards to DID method schemes (and "generic DID scheme" is used intermittently for did:). If this terminology is wrong, we might need to open a new issue about it.

talltree commented 5 years ago

@rhiaro Very good point. As you and I had a chance to discuss at the W3C Verifiable Claims Working Group meeting lunch today, if the terminology for talking about the structure of a DID that conforms to a specific DID method is "DID method scheme", I'm fine with that, because it sufficiently differentiates what is meant by a "scheme" from what RFC 3986 defines as "URI scheme".

But we should never say "DID scheme" unless we mean the generic DID scheme ("did:").

Hopefully that avoids the need to raise a new issue. What do you think?