-
Notifications
You must be signed in to change notification settings - Fork 45
[DID ABNF] How can we support DID Resolution requirements like did:?ping
and did:?methods
?
#171
Comments
@mwherman2000 As we already discussed in other issues, I agree that "pinging" (see w3c/did-resolution#27) and "listing supported methods" (see w3c/did-resolution#26) could be useful features for a DID Resolver, BUT:
|
We also need to consider what the HTTP bindings will be for the DID Resolution protocol: w3c/did-resolution#32 |
Closing, because this belongs in the did-resolution spec/issues, as variously linked in the thread. |
No, this can't be closed because the ABNF specification for DIDs (including any DID Resolution implications) is part of the did-spec. ...or move all of the DID Resolution components of the ABNF specification to the DID Resolution specification. Please re-open this and leave it open until this is resolved. |
Additional reference: w3c/did-resolution#32 |
@mwherman2000 We have a lot of good discussion and implementation ahead of us, with regards to DID resolution and resolvers. However, the url specs for resolvers are completely out of scope for either repo. They’re just regular urls to helper services some people might run. The resolver apis will also differ from resolver to resolver. |
@dmitrizagidulin How and where are these boundaries defined? |
w3c/did-resolution#32 perhaps combines two separable issues: a) HTTP/URL binding and b) specific DID URL constructions. The latter is definitely within the scope of both specs. It is more illuminating to look at them together. |
On Sun, Mar 3, 2019 at 9:42 PM Michael Herman (Toronto) < ***@***.***> wrote:
w3c/did-resolution#32
<w3c/did-resolution#32> perhaps combines
two separable issues: a) HTTP/URL binding and b) specific DID URL
constructions. The latter is definitely within the scope of both specs.
It is more illuminating to look at them together.
Since this question seems to keep coming up, let me propose a "hard line"
between what belongs in the DID Specification vs. the DID Resolution
Specification. This hard line is based on exactly the same hard line drawn
in section 1.2.2 of RFC 3986 <https://www.ietf.org/rfc/rfc3986.txt> (the
URI specification).
A common misunderstanding of URIs is that they are only used to refer
to accessible resources. The URI itself only provides
identification; access to the resource is neither guaranteed nor
implied by the presence of a URI. Instead, any operation associated
with a URI reference is defined by the protocol element, data format
attribute, or natural language text in which it appears.
Given a URI, a system may attempt to perform a variety of operations
on the resource, as might be characterized by words such as "access",
"update", "replace", or "find attributes". Such operations are
defined by the protocols that make use of URIs, not by this
specification. However, we do use a few general terms for describing
common operations on URIs. URI "resolution" is the process of
determining an access mechanism and the appropriate parameters
necessary to dereference a URI; this resolution may require several
iterations. To use that access mechanism to perform an action on the
URI's resource is to "dereference" the URI.
To translate this to DIDs and DID Resolution, this would mean:
1. The DID spec defines the generic structure of the DID URI scheme,
including all forms of a valid DID URL.
2. The DID spec defines the requirements for DID resolution that MUST,
SHOULD, and MAY be specified in the DID Resolution specification. Note that
this includes anything that MUST, SHOULD, or MAY be implemented in DID
resolution to support DID dereferencing.
3. The DID spec defines the requirements for DID methods that MUST,
SHOULD, and MAY be specified in any conformant DID method specification.
Relative to the ABNF, this means the following:
1. The DID spec can specialize (but not violate) the ABNF in RFC 3986.
2. If the DID Resolution spec needs to define ABNF for a URL-based
syntax for DID resolvers, it can specialize (but not violate) the ABNF in
the DID spec.
I hope this helps,
=Drummond
|
Agreed. This was my expectation from the start and the reason why I posted these cross-over issues:
...and, to reconfirm my earlier comments, at this stage when the concrete (aka spec text) is fluid but starting to set for both the DID spec and the DID resolution spec, we need to make sure the DID spec provides in the DID spec ABNF all of the syntactic capabilities required by the DID resolution spec. I believe we can only achieve this be reviewing the patterns in the proposed DID resolution use cases and validating the DID spec ABNF against these patterns. I'm sure we'll discuss this in Thursday's DID resolution call. NOTE the new tabular format for the use cases in w3c/did-resolution#32 |
did:?ping
, anddid:?methods
The current approach for defining the DID Resolution inputs and outputs in the
did-spec
spec and not in thedid-resolution
spec I believe is going to be problematic. See point 1 above as an example. Is it still best/proper to define the syntax for DID Resolution in a document that is separate/different from the DID Resolution spec?Point 2 in Is "DID Resolver" the correct name for the piece of software that performs DID resolution? w3c/did-resolution#29 (comment) is another example of the "wrong document" problem described in point 2 above.
The text was updated successfully, but these errors were encountered: