Skip to content

Latest commit

 

History

History
77 lines (43 loc) · 4.7 KB

did-resolution-collected-diagrams.md

File metadata and controls

77 lines (43 loc) · 4.7 KB

DID Resolution collected diagrams

Markus Sabadello, Danube Tech (https://danubetech.com), Vienna, July 17th 2019

The DID Resolution spec is a work item of the W3C Credentials Community Group (CCG) that builds on the main DID spec. A version v0.1 has recently been released as part of the CCG's Work Item Process. The released v0.1 is still an early draft; work now continues on v0.2.

The following is a collection of the diagrams that have been used so far to illustrate various key topics of DID Resolution.

DIDs and DID URLs

Resolving a DID basically means executing the "Read" operation of the applicable DID method. Dereferencing a DID URL involves additional, method-independent logic (see below).

The result of "resolving a DID" is a DID Document or a DID Resolution Result.

The result of "dereferencing a DID URL" is a DID Document, or part of it, or a service endpoint URL, or another resource.

DID Resolver Architectures

See this part of the DID Resolution spec.

A "local" DID Resolver (e.g. invoked via local code or command line tool) retrieving a DID Document through "local" execution of the DID method's "Read" operation (e.g. by direct access to a blockchain full node):

A "local" DID Resolver retrieving a DID Document through "remote" execution of the DID method's "Read" operation (e.g. by using a remote blockchain explorer API):

A "remote" DID Resolver (e.g. invoked via the HTTP(S) binding or the DIDComm binding):

A DID Resolver that supports multiple DID methods:

A "local" DID Resolver that invokes a "remote" DID Resolver, which in turn supports multiple DID methods:

DID URL Dereferencing

See this part of the DID Resolution spec.

The DID URL is just the DID itself. The DID URL is dereferenced to the DID Document:

The DID URL contains a service matrix parameter. The DID URL is dereferenced to a service endpoint URL:

The DID URL contains a fragment. The DID URL is dereferenced to a part of the DID Document (a service):

The DID URL contains a fragment and is dereferenced to a part of the DID Document (a public key):

The DID URL contains a version-time matrix parameter and a fragment. The DID URL is dereferenced to a part of the DID Document (a public key) at a specific point in time:

The DID URL contains a version-time matrix parameter and a service matrix parameter. The DID URL is dereferenced to a service endpoint URL at a specific point in time: