w3c / vc-data-integrity

W3C Data Integrity Specification
https://w3c.github.io/vc-data-integrity/
Other
42 stars 19 forks source link

`digestMultibase` defined in the vocabulary, not in any contexts #241

Closed iherman closed 3 months ago

iherman commented 8 months ago

As the title says... The term appears in the vocabulary but not in any of the three context files referred to in the DI spec (see list in spec.

dlongley commented 8 months ago

I think the contexts we have now are "clean" or "fit for purpose" and we shouldn't add this property to them. I don't think the pattern of having a context that includes every possible term in a vocabulary is necessarily a good one (and can easily be a bad one for certain use cases). This is perhaps especially true for terms that do not have a very restricted domain, i.e., "global terms".

I think the expectation is that digestMultibase is a property provided by the DI vocabulary that can be added to contexts for documents that need to refer to other resources and include an associated content integrity hash. These documents shouldn't need to use the other contexts we have here or pull in the other terms they pull in; the document's context should just include digestMultibase like we do with the credentials v2 context. We could mint a context that just has that one term in it, but I don't think that's really necessary.

So I recommend we close this issue without action.

iherman commented 8 months ago

@dlongley, I can see your point. But if we go in this direction, this must be documented somewhere in our specs. At this moment, this terms seems to be the only one (apart from the deprecated/reserved terms) that do not appear in any of the contexts that we refer to. If we leave this exactly as is, then what you say, while true, very much appears to be some sort of tribal, unwritten knowledge. I do not think that is good.

dlongley commented 8 months ago

Ok, I think it would be fine to have a non-normative/editorial comment indicating something like: digestMultibase is expected to be added to the context of documents that need to refer to other resources and include an associated content integrity hash, e.g., the verifiable credentials v2 context includes it for this purpose.

iherman commented 8 months ago

the verifiable credentials v2 context includes it for this purpose.

I am not sure I understand. Do you propose to add it to the context file?

dlongley commented 8 months ago

@iherman,

The credentials v2 context already has it: https://github.com/w3c/vc-data-model/blob/main/contexts/credentials/v2#L73-L76

iherman commented 8 months ago

@iherman,

The credentials v2 context already has it: https://github.com/w3c/vc-data-model/blob/main/contexts/credentials/v2#L73-L76

Ah yes, sorry. What is a bit odd, is that it does not appear in the DI related context files.

silverpill commented 8 months ago

+1 I'm working on a non-VC application where digests will be used alongside proofs, and having digestMultibase in data-integrity context would be handy.

msporny commented 4 months ago

PR #264 has been raised to address this issue. This issue will be closed when PR #264 has been merged.