w3c / did-resolution

RELEASED DRAFT: Decentralized Identifier Resolution (DID Resolution) 0.2 Specification
https://w3c.github.io/did-resolution/
Other
14 stars 9 forks source link

[Abstract] DID Subject: There's issues with DID Subject not being well defined #16

Closed mwherman2000 closed 4 years ago

mwherman2000 commented 5 years ago

DID Subject is not well defined in the draft DID spec: see https://github.com/w3c-ccg/did-spec/issues/115

talltree commented 5 years ago

Totally agreed. This is one of the issues I've been wanting to tackle in the WORST way. In the next draft of the spec, I think we need to make the term "DID Subject" clear as a bell: it is the term for the entity identified by a DID. Full stop.

On Thu, Feb 7, 2019 at 6:52 AM Michael Herman (Toronto) < notifications@github.com> wrote:

DID Subject is not well defined in the draft DID spec: see w3c-ccg/did-spec#115 https://github.com/w3c-ccg/did-spec/issues/115

— 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-resolution/issues/16, or mute the thread https://github.com/notifications/unsubscribe-auth/ADLkTUDga4UhtR7uBcig_UML7F_z0Rt1ks5vLC-jgaJpZM4anVkW .

peacekeeper commented 5 years ago

+1, defining this clearly in the main DID spec will also help us with clear language in DID Resolution.

mwherman2000 commented 5 years ago

I think we need to make the term "DID Subject" clear as a bell: it is the term for the entity identified by a DID. Full stop.

@talltree If I''m following your explanation (aka dreaming the same dream), maybe DID Subject (once clarified) is the same thing I've been wanting to call a DID Entity in the INDY ARM "DID Subjects" viewpoint (https://github.com/mwherman2000/indy-arm/blob/master/README.md#6-did-subjects-viewpoint)?

...or is DID Subject more of an abstract/virtual/business thing similar to/like Actor (9) and Thing (10) in the Business layer of above viewpoint?

I think DID Subject is the latter.

talltree commented 5 years ago

Mike, I'm not sure if I completely understand your question. But I can clarify the very simple clear way I think about this based on my 20 years of working with identifiers: an identifier is the label on a directed edge in a graph that always points at a single node.

In the case of the DID spec, the identifier is called a DID, and what we need to agree on is the term we will use for the completely generic concept of the node being identified by the DID.

The proposal on the table is DID Subject. While there are a number of other candidates that could work, such as DID Entity, I like DID Subject because it is parallel to the same term in the Verifiable Claims Working Group, i.e., the entity described by a verifiable claim is called the Subject.

Thoughts?

On Fri, Feb 8, 2019 at 7:53 AM Michael Herman (Toronto) < notifications@github.com> wrote:

I think we need to make the term "DID Subject" clear as a bell: it is the term for the entity identified by a DID. Full stop.

@talltree https://github.com/talltree If I''m following your explanation (aka dreaming the same dream), maybe DID Subject (once clarified) is the same thing I've been wanting to call a DID Entity in the INDY ARM "DID Subjects" viewpoint ( https://github.com/mwherman2000/indy-arm/blob/master/README.md#5-did-entity-did-subject-viewpoint )?

...or is DID Subject more of an abstract/virtual/business thing similar to/like Actor (9) and Thing (10) in the Business layer of above viewpoint?

I think the later?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/w3c-ccg/did-resolution/issues/16#issuecomment-461848592, or mute the thread https://github.com/notifications/unsubscribe-auth/ADLkTe6WV9siQv8JpgFF1lOnHeD81_Pkks5vLZ2EgaJpZM4anVkW .

mwherman2000 commented 5 years ago

But I can clarify the very simple clear way I think about this based on my 20 years of working with identifiers: an identifier is the label on a directed edge in a graph that always points at a single node.

@talltree. I'm extraordinarily familiar with graphs and graph structures (having written more than 12 articles on the application of graphs and graph databases (e.g. https://hyperonomy.com/?s=neo4j). I invented the term #graphizitation. ...but I don't see any connection between how labeling an edge in a graph can be equated with an identifier of a "subject"/entity.

Edges are typically used to represent relationships between a pair of entities (aka nodes/vertices) ..unless some sort of weird graph inversion is in play. Both edges and nodes can have "identifiers" associated with them ...without exclusion.

I don't follow your edge "identifier" analogy at all.

@talltree Do you agree with this definition of an "identifier"?

image

Reference: https://hyperonomy.com/2019/01/02/whats-more-important-the-name-of-something-or-the-something/

@talltree Restating my question: Is DID Subject more of an abstract/virtual/business thing similar to/like Actor (9) and Thing (10) in the Business layer of the following viewpoint?

INDY ARM: DID Subject Vewpoiny

Reference: https://github.com/mwherman2000/indy-arm/blob/master/README.md#6-did-subjects-viewpoint

mwherman2000 commented 5 years ago

@talltree In addition, this fellow captured the essence of what a DID is (and is not) fairly succinctly back in December ...

image

talltree commented 5 years ago

Michael, yes, I agree with the Wikipedia definition of "identifier".

RE my graph analogy, maybe I should have clarified that I was talking about an "identifier graph", i.e., a graph in which each edge is an identifier and each node is the "object being identified" to use the Wikipedia definition.

DNS is a classic example of an identifier graph. Every DNS dot-delimited name segment (.e.g, "www.example.com" is three name segments) is a label on an edge of a directed identifier graph. And the nodes are the Internet servers each name points to (identifies).

With DIDs, each DID is an edge in the identifier graph and the object the DID points to (identifies) is the DID Subject.

I don't think I can answer your question about what "type" of object a DID Subject might represent because a DID Subject can be literally "anything that can be identified". That is essentially the same thing as what the IETF and W3C call a Resource, which is the R in URL (Uniform Resource Locator), and in URI (Uniform Resource Identifier, RFC 3986).

On Sat, Feb 9, 2019 at 10:47 PM Michael Herman (Toronto) < notifications@github.com> wrote:

@talltree https://github.com/talltree Do you agree with this definition of an "identifier"?

[image: image] https://user-images.githubusercontent.com/6101736/52530483-8b5ec700-2cc3-11e9-8f73-3b2bed1d0c19.png

Reference: https://hyperonomy.com/2019/01/02/whats-more-important-the-name-of-something-or-the-something/

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/w3c-ccg/did-resolution/issues/16#issuecomment-462108523, or mute the thread https://github.com/notifications/unsubscribe-auth/ADLkTX3r3ImssbewGl_-CYVZCRIEAkm0ks5vL8BrgaJpZM4anVkW .

peacekeeper commented 4 years ago

Closing, since defining the DID subject belongs into the main DID spec rather than DID Resolution spec. See https://w3c.github.io/did-spec/#terminology and https://w3c.github.io/did-spec/#did-subject and https://github.com/w3c/did-spec/issues/4.