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

Update references to "UUIDs" in index.bs #4

Merged
merged 4 commits into from
Sep 26, 2024
Merged

Conversation

Tweeddalex
Copy link
Contributor

No description provided.

@peacekeeper
Copy link
Member

I think it would be good to split this PR into two separate PRs.

+1 to changing UUIDs to more generic "unique identifier", depending on what a certain DID method may want to use.

Regarding ambiguity around verification relationships, that's a bit more tricky. First, I think the text doesn't say whether a verification relationship is required at all (and which one), or if it's enough to use any verification method in the DID document. And second, the logic described now in this PR would differ from e.g. how some implementations verify signatures on a VC, and from an algorithm described in the "Controller Documents" spec: https://w3c.github.io/controller-document/#retrieve-verification-method

So I'd propose to maybe make this PR only about the UUIDs, and create a separate PR about the control topic?

Copy link

@ankurdotb ankurdotb left a comment

Choose a reason for hiding this comment

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

Agreed with Markus that we can perhaps split this into two PRs, in case there's more of a debate to be had about the control topic.

@@ -82,14 +82,14 @@ Using traditional web endpoints to store digital resources that are critical for
DID-Linked Resources construction {#contruction}
---------------------

"Resources" SHOULD be identifiable using a Decentralized Identifier (DID) and a Universally Unique Identifier (UUID) that acts as a permanently-accessible identifier to fetch the Resource from a Verifiable Data Registry or other storage endpoint. We refer to this UUID as the "Resource ID".
"Resources" SHOULD be identifiable using a Decentralized Identifier (DID) and a permanently-accessible unique identifier to fetch the Resource from a Verifiable Data Registry or other storage endpoint. We refer to this identifier as the "Resource ID".

Choose a reason for hiding this comment

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

Should we start using RIDs ("Resource Identifiers") like DIDs?

Copy link
Contributor

Choose a reason for hiding this comment

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

Should we start using RIDs ("Resource Identifiers") like DIDs?

Premature abbreviation, I think. TLAs are in short supply, and RID is already overloaded

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@peacekeeper @ankurdotb have removed the "control" section and will keep this just to the changes in identifier

index.bs Outdated
Comment on lines 198 to 203
Control of Linked Resources {#control}
=====================

A DID-Linked Resource can only be created if the transaction is signed by the same Verification Method keys that are defined in the parent DID Document. This ensures that the DID-Linked Resource shares the same cryptographic trust properties as the Parent DID, in terms of its creation and subsequent updates. It also ensures that new versions of a Resource can only be made by the Controller of the parent DID.

<div class="note"> <b>Note:</b> There is ambiguity in the DID Core specification around how Verification Method relationships can be used for different purposes. For example, some methods may use keys embedded within fields like 'capabilityDelegation' or 'keyAgreement' for specific purposes. To avoid ambiguity in implementation, this specification has chosen to require the keys to create DID-Linked Resources to be described in the Verification Method section of the parent DID Document.

Choose a reason for hiding this comment

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

I would say this should be the key(s) mentioned under authentication, which is the normative section in DID Core specification for the DID subject to authenticate. This is a clearer way of stating this, rather than stating the keys in the "Verification Methods" are used. A key might be mentioned under Verification Methods, but NOT referenced under authentication. A good example of this is how Dock defines BBS+ related keys in Verification Methods, but does not reference them in the authentication section. Finally, you can have inline definitions of keys in authentication.

Copy link
Member

Choose a reason for hiding this comment

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

I agree.. My comment was also essentially that both embedded and referenced keys should be supported, to be more aligned with VCs, Controller Documents, and other things.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I like this approach as well

Tweeddalex and others added 2 commits September 25, 2024 15:37
@Tweeddalex Tweeddalex changed the title Update index.bs Update references to "UUIDs" in index.bs Sep 25, 2024
@Tweeddalex Tweeddalex merged commit 9e3ae61 into main Sep 26, 2024
1 check passed
github-actions bot added a commit that referenced this pull request Sep 26, 2024
SHA: 9e3ae61
Reason: push, by @Tweeddalex

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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.

4 participants