Repository navigation
Commit d2716a6
feat(proof-methods): disclosed-credential re-evaluation method and Q1-Q5 baseline (#6788)
* feat(proof-methods): disclosed-credential re-evaluation method and Q1-Q5 baseline
Adds a detached proof-methods workspace with
urn:sparq:vcq:method:disclosed-reevaluation v1: the holder discloses the
credentials and the salt, and the verifier runs the authenticated-RDF v5
relation natively. Its dataset commitment equals the zkVM method's, so one
verifier-agreed commitment serves both. Includes synthetic signed payment
credentials, the Q1-Q5 query set, tests and a measurement example.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015CB7XiW3NDsggNCuDcuJJo
* test(proof-methods): use the paper's payment credential and Q1-Q5 texts
The first fixture credential is PAYMENT_DOCUMENT byte for byte (its
signature equals the recorded PAYMENT_SIGNATURE); copies for n > 1 change
subject, credential id and payment months. Queries are copied verbatim from
zk/sparql-evaluator/fixtures/paper/.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015CB7XiW3NDsggNCuDcuJJo
* ci(proof-methods): check formatting of this workspace's own crate only
--all also formats path dependencies in the root workspace.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015CB7XiW3NDsggNCuDcuJJo
* fix(proof-methods): bound disclosed evidence before copying it; scope the method claim
- verify checks credential count, signature length and document sizes before
cloning the disclosed credentials; decode_proof bounds the JSON encoding
before parsing it.
- Reject DESCRIBE and FROM / FROM NAMED, which the answer specification
excludes from version 1 and the shared relation would otherwise evaluate.
- Document how the method fixes the choice where SPARQL 1.1 permits more than
one result, and that the crate does not yet implement the full section 9
proof-method profile.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015CB7XiW3NDsggNCuDcuJJo
* fix(proof-methods): holder checks request and credential capacities before copying
present now checks the request's key table, the query form and the credentials'
counts and sizes before building the witness, and moves the credentials into
it instead of cloning them; verify checks the key table before copying the
request. The README states that credential order does not affect the result
and that the evidence is transferable.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015CB7XiW3NDsggNCuDcuJJo
---------
Co-authored-by: Claude <noreply@anthropic.com>1 parent bd483cb commit d2716a6
11 files changed
Lines changed: 1966 additions & 0 deletions
File tree
- .github/workflows
- proof-methods
- disclosed
- examples
- src
- tests
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
0 commit comments