Skip to content

Conversation

@msporny
Copy link
Member

@msporny msporny commented Dec 18, 2025

This PR is an attempt to address issue #229 and #209 by removing the hashlink parameter from the specification.

Merge PR #261 before merging this PR.


Preview | Diff

(e.g., `contentType`, proof, versioning) which an application can use to validate a user's cryptographic keys,
service endpoints, or status.
By invoking a <a>DID resolver</a> using the standard <code>resolve(did, resolutionOptions)</code> interface (as defined in
the <a href="#resolving">DID Resolution section</a>) one can obtain a <a>DID document</a> and accompanying metadata
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
the <a href="#resolving">DID Resolution section</a>) one can obtain a <a>DID document</a> and accompanying metadata
the <a href="#resolving">DID Resolution section</a>), one can obtain a <a>DID document</a> and accompanying metadata

Comment on lines +203 to +208
For example, a wallet app could resolve <code>did:example:123?versionTime=2021-05-10T17:00:00Z</code>
using the `versionTime` parameter to retrieve the state of that DID at a past time, or a client could
dereference a DID URL
like <code>did:example:123?service=files&relativeRef=/resume.pdf</code>
(see <a href="#example-dereferencing-to-service-endpoint-url">here for detailed example</a>)
to fetch a user's resume stored via a service declared in the DID document.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
For example, a wallet app could resolve <code>did:example:123?versionTime=2021-05-10T17:00:00Z</code>
using the `versionTime` parameter to retrieve the state of that DID at a past time, or a client could
dereference a DID URL
like <code>did:example:123?service=files&relativeRef=/resume.pdf</code>
(see <a href="#example-dereferencing-to-service-endpoint-url">here for detailed example</a>)
to fetch a user's resume stored via a service declared in the DID document.
For example, a wallet app could resolve `did:example:123?versionTime=2021-05-10T17:00:00Z`
using the `versionTime` parameter to retrieve the state of that DID at a past time, or a client could
dereference a DID URL
like `did:example:123?service=files&relativeRef=/resume.pdf`
(see <a href="#example-dereferencing-to-service-endpoint-url">here for detailed example</a>)
to fetch a user's resume stored via a service declared in the DID document.

the <a href="#resolving">DID Resolution section</a>) one can obtain a <a>DID document</a> and accompanying metadata
(e.g., `contentType`, proof, versioning) which an application can use to validate a user's cryptographic keys,
service endpoints, or status.
By invoking a <a>DID resolver</a> using the standard <code>resolve(did, resolutionOptions)</code> interface (as defined in
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
By invoking a <a>DID resolver</a> using the standard <code>resolve(did, resolutionOptions)</code> interface (as defined in
By invoking a <a>DID resolver</a> using the standard `resolve(did, resolutionOptions)` interface (as defined in

service endpoints, or status.
By invoking a <a>DID resolver</a> using the standard <code>resolve(did, resolutionOptions)</code> interface (as defined in
the <a href="#resolving">DID Resolution section</a>) one can obtain a <a>DID document</a> and accompanying metadata
(e.g., `contentType`, proof, versioning) which an application can use to validate a user's cryptographic keys,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
(e.g., `contentType`, proof, versioning) which an application can use to validate a user's cryptographic keys,
(e.g., `contentType`, proof, versioning), which an application can use to validate a user's cryptographic keys,

normative MUSTs and error conditions (such as invalid DIDs, deactivated DIDs, unsupported methods,
relative URL expansion, etc.) to ensure that client applications can reliably depend on correct resolution behavior
Further, the specification's <a href="#dereferencing-algorithm">DID URL dereferencing algorithm</a> shows how
a client can follow a fragment (e.g., <code>#key-1</code>) to extract a particular verification method from
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
a client can follow a fragment (e.g., <code>#key-1</code>) to extract a particular verification method from
a client can follow a fragment (e.g., `#key-1`) to extract a particular verification method from

A decentralized address book: By using DIDs as identifiers for people and organizations
within an address book, the controllers of those DIDs can independently update the contents of
their DID documents. Through DID resolution these DIDs can be resolved to obtain the
their DID documents. Through DID resolution these DIDs can be resolved to obtain the
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
their DID documents. Through DID resolution these DIDs can be resolved to obtain the
their DID documents. Through DID resolution, these DIDs can be resolved to obtain the

Comment on lines +275 to 277
Within the credential, if issuers and holders are identified using a DID, the verifier can
use DID resolution to resolve the DID documents of the identified issuer and holder to obtain
the verification material necessary to verify the signatures on the Verifiable Presentation.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Within the credential, if issuers and holders are identified using a DID, the verifier can
use DID resolution to resolve the DID documents of the identified issuer and holder to obtain
the verification material necessary to verify the signatures on the Verifiable Presentation.
By using DIDs to identify issuers and holders within a credential, an issuer enables a verifier to
use DID resolution to resolve the DID documents of the identified issuers and holders to obtain
the verification material necessary to verify the signatures on the Verifiable Presentation.

at a specific point in time or for a specific version. This can be used to audit the historical
verifiable actions of a DID controller. For example, the issuance of a verifiable receipt or the
at a specific point in time or for a specific version. This can be used to audit the historical
verifiable actions of a DID controller. For example, the issuance of a verifiable receipt or the
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
verifiable actions of a DID controller. For example, the issuance of a verifiable receipt or the
verifiable actions of a DID controller; for example, the issuance of a verifiable receipt or the

</li>
<li>
DID URL based resource retrieval: A DID controller can add service endpoints to their DID document
that point to resources they control, for example a profile picture. By referencing these resources
Copy link
Member

@TallTed TallTed Dec 18, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
that point to resources they control, for example a profile picture. By referencing these resources
that point to resources they control; for example, a profile picture. If DID URLs are used to reference

Comment on lines +288 to 290
using a DID URL, a web application can use DID resolution and DID URL dereferencing to retrieve the
current version of the resource. The DID URL can act as a persistent, dereferencable identifier
for this resource, while the DID controller can independently change the resource over time.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
using a DID URL, a web application can use DID resolution and DID URL dereferencing to retrieve the
current version of the resource. The DID URL can act as a persistent, dereferencable identifier
for this resource, while the DID controller can independently change the resource over time.
these resources, web applications can use DID resolution and DID URL dereferencing to retrieve the
current version of the resource(s). The DID URL can be used as a persistent, dereferenceable identifier
for these resources, while the DID controller can independently change the resource over time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants