Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add dependency on CID spec. #877

Open
wants to merge 6 commits into
base: main
Choose a base branch
from
Open

Add dependency on CID spec. #877

wants to merge 6 commits into from

Conversation

msporny
Copy link
Member

@msporny msporny commented Jan 3, 2025

This PR is an attempt to address issue #854 by normatively referencing the Controlled Identifiers specification.

WARNING: This is a BIG PR -- as was requested by the WG. Please keep discussions and change requests limited to editorial changes and suggestions and raise a separate issue, if needed, to track larger structural change requests.


Preview | Diff

@msporny msporny marked this pull request as ready for review January 4, 2025 17:57
@msporny msporny requested review from mccown and danpape as code owners January 4, 2025 17:57
Copy link
Member

@TallTed TallTed left a comment

Choose a reason for hiding this comment

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

Small editorial tweaks

Comment on lines +1268 to +1269
<a data-cite="INFRA#string">strings</a>, each of which conforms to the URL
syntax which are compatible with Section <a href="#did-syntax"></a>.
Copy link
Member

Choose a reason for hiding this comment

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

I don't understand what the compatibility is, in order to rephrase to make the sentence say so. Is it each of the strings or the URL syntax that is compatible with Section <a href="#did-syntax">?

Suggested change
<a data-cite="INFRA#string">strings</a>, each of which conforms to the URL
syntax which are compatible with Section <a href="#did-syntax"></a>.
<a data-cite="INFRA#string">strings</a>, each of which conforms to the URL
syntax which are compatible with Section <a href="#did-syntax"></a>.

Comment on lines +1280 to +1281
<a data-cite="INFRA#string">strings</a>, each of which conforms to the URL
syntax which are compatible with Section <a href="#did-syntax"></a>.
Copy link
Member

Choose a reason for hiding this comment

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

Again, I don't understand what the compatibility is, in order to rephrase to make the sentence say so. Is it each of the strings or the URL syntax that is compatible with Section <a href="#did-syntax">?

might take many parameters. An example of this is a set of five cryptographic
keys from which any three are required to contribute to a cryptographic
threshold signature.
A <a>DID document</a> can express <a>verification methods</a>, as defined
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 <a>DID document</a> can express <a>verification methods</a>, as defined
A <a>DID document</a> can express <a>verification methods</a>, as defined in

<a href="#data-model">data model</a>); see <a href="#did-controller"></a>.
<p>
A <a>DID document</a> can express <a>verification relationships</a>, as defined
<a data-cite="CID#verification-relationships">Section 2.3: Verification
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 data-cite="CID#verification-relationships">Section 2.3: Verification
in <a data-cite="CID#verification-relationships">Section 2.3: Verification

<code>publicKeyMultibase</code> at the same time is prohibited.
</p>
<p>
A <a>DID document</a> can express <a>services</a>, as defined
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 <a>DID document</a> can express <a>services</a>, as defined
A <a>DID document</a> can express <a>services</a>, as defined in

made; for example, it was anchored on a blockchain.
</li>
<li>
For the resolved <a>DID document</a> metadata, the `updated` timestamp is
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 the resolved <a>DID document</a> metadata, the `updated` timestamp is
In the resolved <a>DID document</a> metadata, the `updated` timestamp is

Comment on lines +2735 to +2739
In systems that are willing to admit metadata other than those constituting
cryptographic input, similar trust may be achieved -- but always on the
same basis where a careful judgment is made about whether a
<a>DID document</a>'s content at the moment of a signing event
contained the expected content.
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
In systems that are willing to admit metadata other than those constituting
cryptographic input, similar trust may be achieved -- but always on the
same basis where a careful judgment is made about whether a
<a>DID document</a>'s content at the moment of a signing event
contained the expected content.
Similar trust may be achieved in systems that are willing to accept metadata
beyond that which constitutes cryptographic input -- but this always requires
a careful judgment about whether a <a>DID document</a>'s content included the
expected content at the moment of a signing event.

Comment on lines +2760 to +2761
Performing recovery proactively on an infrequent but regular basis, can help to
ensure that control has not been lost.
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
Performing recovery proactively on an infrequent but regular basis, can help to
ensure that control has not been lost.
Proactively performing recovery, on an infrequent but regular basis, can help to
prevent loss of control.

Comment on lines +2777 to +2779
Recovery is advised when a <a>controller</a> or services trusted to act on their
behalf no longer have the exclusive ability to perform DID operations as
described in <a href="#method-operations"></a>.
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
Recovery is advised when a <a>controller</a> or services trusted to act on their
behalf no longer have the exclusive ability to perform DID operations as
described in <a href="#method-operations"></a>.
Recovery is advised when a <a>controller</a> or any service trusted to act on
their behalf no longer has the exclusive ability to perform DID operations as
described in <a href="#method-operations"></a>.

Comment on lines +3090 to +3096
not remedial, and is an embedded default. Readers are urged to read the
<a data-cite="?CID#privacy-considerations">Privacy Considerations</a> section
in the [[[CID]]] specification before reading this section is it contains
more general privacy considerations that also apply to <a>DIDs</a>. The rest
of this section covers privacy considerations that are specific to
<a>decentralized identifiers</a> beyond the guidance provided in the
[[[CID]]] specification.
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
not remedial, and is an embedded default. Readers are urged to read the
<a data-cite="?CID#privacy-considerations">Privacy Considerations</a> section
in the [[[CID]]] specification before reading this section is it contains
more general privacy considerations that also apply to <a>DIDs</a>. The rest
of this section covers privacy considerations that are specific to
<a>decentralized identifiers</a> beyond the guidance provided in the
[[[CID]]] specification.
not remedial, and is an embedded default. Before reading this section, readers
are urged to read the
<a data-cite="?CID#privacy-considerations">Privacy Considerations</a> section
of the [[[CID]]] specification, as it contains
more general privacy considerations that also apply to <a>DIDs</a>. The rest
of this section covers privacy considerations that are specific to
<a>decentralized identifiers</a> and are in addition to the guidance provided
in the [[[CID]]] specification.

@w3cbot
Copy link

w3cbot commented Jan 9, 2025

This was discussed during the #did meeting on 09 January 2025.

View the transcript

w3c/did-core#877

wip: Manu has done a lot of work to align this with other spec.

manu: The group requested that we do this as a PR. Normally I try to do this as an editorial change, but it's a massive change.
… What this is trying to do is that over the last year decisions have been made, and there's a subset of people that wanted to see a controlled identifier specification but use the web platform. That's the CID spec.
… That was basically a copy/paste of the DID spec, but with the DID stuff taken out.
… So we are removing duplication from the DID spec.
… It defers to the CID spec, saying that if you want to do things like "also known as", go to the CID spec, with the modulo that DIDs are allowed as well.
… and makes DID a requirement for the document ID.
… The only other issue I ran into is that since the CID spec is not published yet and is in TR space, a subset of the terminology is not yet published.
… That will hopefully be fixed in the next month, which should fix it. The PR is ready for review.
… It's a massive PR to layer the specs correctly.

ivan: The CID spec is not published in the TR space under that name. It was published under the name of Controller Document, just to be clear.
… Manu, last time you sent an email saying that there's a PR there but don't review it yet. Is it now ready for review?

manu: I removed the draft state and it is now ready for review.

markus_sabadello: Can you comment what this means for the abstract data model and consumption and production of entries that are set for update?

manu: I tried to make those changes in this PR and it became complicated. Some of the sections are still useful, but I'm going to try to do those in a separate PR.
… This PR does not attempt to remove the abstract data model. There is still some misalignment between the CID and DID specs, so I expect to make those changes later.


Copy link
Member

@iherman iherman left a comment

Choose a reason for hiding this comment

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

This is a PR for a FPWD draft version, so the result will still undergo a multitude of reviews and changes; I did not look at all the details (it is way too complex to review it that way. I have spotted, however, two major and a minor issue; I think the major issues should be taken care of before merging.

  • The PR still uses the "Controlled Identifiers Document" title for the CID specification, but the name has been changed (again) for "Controlled Identifier 1.0" by the VC WG. That should be used overall.

  • In §5.1.1 Did Subject the new text does not make it clear that, in a DID document, the value of id MUST be a DID. It sounds obvious, but the previous version makes a stronger statement.

    It may be that this requirement is between the lines in other places of the document; I think re-enforcing here would still make sense

    The same comment applies to the DID controller section.

  • Minor knit in §9 Privacy Consideration: "specification before reading this section is it contains more general privacy considerations" should say "specification before reading this section as it contains more general privacy considerations" ("is" -> "as")

@TallTed
Copy link
Member

TallTed commented Jan 13, 2025

The PR still uses the "Controlled Identifiers Document" title for the CID specification, but the name has been changed (again) for "Controlled Identifier 1.0" by the VC WG. That should be used overall.

I think the new title is Controlled Identifiers 1.0 (with the pural), like Decentralized Identifiers, no?

@msporny
Copy link
Member Author

msporny commented Jan 13, 2025

I think the new title is Controlled Identifiers 1.0 (with the pural), like Decentralized Identifiers, no?

Yes, correct.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
class 3 Other changes that do not add new features
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants