Requirements around the @context
proof property
#104
Labels
CR2
This item was processed during the second Candidate Recommendation Phase
editorial
This item is editorial in nature.
ready for pr
It was highlighted in #102 that the test vectors did not match the specification's algorithms.
Following the thread, I would like to raise an issue around the specific step which instructs issuers to include the
@context
property in their proof for the eddsa-jcs-2022 cryptosuite.The test step in question reads
If unsecuredDocument.@context is present, set proof.@context to unsecuredDocument.@context.
I would like to discuss why was this step included as I understand there is a significant reason in relation with the
ActivityPub
work.I understand it's a feature required when an issuer wants to add a proof set to an already secured document and wants to alter the
@context
value. I'm questioning why should this be a mandatory step for all issuers.Following my comment:
@titusz has replied:
The conformance section reads:
Some algorithms have normative statements, treating the whole algorithm as normative would defy the purpose of those normative statements. The create proof algorithm reads:
By omitting this step, a valid data integrity proof is still produced which can be verified using the Verify Proof algorithm.
It also doesn't prevent other issuers from leveraging this feature in subsequent proofs from my understanding.
I've not heard a compelling reason why this is a requirement, as including this step or omitting it both results in a valid data integrity proof. I would rather clarify this statement with something along the lines of:
If unsecuredDocument.@context is present, implementations MAY set proof.@context to unsecuredDocument.@context.
The inclusion or not of this step won't affect the verification algorithm, and is based on a specific requirement. If any of my understanding of the purpose of these algorithms is wrong, I would like for someone to point it out to me so I can correct my software. There is no verification step that warrants verifying that if the
securedDocument
has an@context
, the proof must also have an@context
.The text was updated successfully, but these errors were encountered: