You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update draft spec and READMEs to document accumulator non-revocation additions
Bumps PROTOCOL_ID to CREDKIT-PROOFS-V4, adds Section 7 (accumulator non-revocation), new wire format sections for accumulator params/updates/proofs, and expanded security/privacy considerations. Adds references for VB20, VB-ATTACK, KB21, ALLOSAUR, and CH09. Updates package tables to include @credkit/accumulator, test counts (371 → 459), and README prose across proofs, cryptosuite, and accumulator packages. Adds a .claude/launch.json dev configuration for the vgw-dmv app.
@@ -28,32 +29,38 @@ The construction is specified in the **[draft specification](https://tmarkovski.
28
29
-**Predicates over hidden values.** Range and arbitrary-set membership proofs are bound directly
29
30
to signed numeric messages: prove a hidden birth date satisfies an age threshold, or a hidden
30
31
state belongs to an allowed set, without revealing the value.
32
+
-**Privacy-preserving revocation.** A holder proves membership in the issuer's current unrevoked
33
+
set without revealing the credential's revocation id. Issuance does not change the registry;
34
+
public deletion-only updates let every non-revoked holder refresh a witness offline.
31
35
-**JSON-LD credentials and presentations.** Issue and verify W3C-shaped credentials, and present
32
-
one or more credentials under a single merged challenge.
36
+
one or more credentials—including verifier-required non-revocation gates—under a single merged
37
+
challenge.
33
38
34
-
All predicate and linkage proofs are bound to the BBS proofs inside one Fiat-Shamir transcript,
35
-
so a verifier checks a single presentation rather than loosely coupled sub-proofs.
39
+
All predicate, non-revocation, and linkage proofs are bound to the BBS proofs inside one
40
+
Fiat-Shamir transcript, so a verifier checks a single presentation rather than loosely coupled
41
+
sub-proofs.
36
42
37
43
## Packages
38
44
39
45
| Package | What it provides |
40
46
|---|---|
41
47
|`@credkit/bbs`| IETF BBS core, blind commitment and issuance, and DISCLOSE/HIDE proof modes. All 33 vendored fixtures pass byte-for-byte with the SHA-256 and SHAKE-256 ciphersuites. |
42
48
|`@credkit/range`| CCS set-membership and range proofs over BLS12-381, exposed as split-phase protocols for composition under an external challenge. |
43
-
|`@credkit/proofs`| Multi-statement BBS presentations, one merged Fiat-Shamir challenge, hidden-witness equality, range predicates, and set-membership predicates. |
44
-
|`@credkit/cryptosuite`| JSON-LD credential issuance and verification, numeric claim encoding, selective disclosure, predicates, holder binding, and single- or multi-credential Verifiable Presentations. |
49
+
|`@credkit/accumulator`| VB positive accumulator for additions-static, deletion-only revocation registries, public witness updates, and a split-phase zero-knowledge membership proof. |
50
+
|`@credkit/proofs`| Multi-statement BBS presentations, one merged Fiat-Shamir challenge, hidden-witness equality, range and set-membership predicates, and accumulator non-revocation gates. |
51
+
|`@credkit/cryptosuite`| JSON-LD credential issuance and verification, selective disclosure, predicates, holder binding, revocable credentials, and single- or multi-credential Verifiable Presentations. |
45
52
46
53
```text
47
54
@credkit/cryptosuite JSON-LD credentials and presentations
48
55
|
49
56
@credkit/proofs composite transcript and witness binding
50
-
/ \
51
-
@credkit/bbs @credkit/range
52
-
BBS + blind hidden-value predicates
53
-
issuance
57
+
/ | \
58
+
@credkit/bbs @credkit/range @credkit/accumulator
59
+
BBS + blind hidden-value private non-revocation
60
+
issuance predicates
54
61
```
55
62
56
-
The suite has **371 passing tests** across the four packages and both ciphersuites.
63
+
The suite has **459 passing tests** across all five packages and both ciphersuites.
57
64
Golden-vector and negative tests pin the custom transcripts and wire formats; the BBS package
58
65
also uses the vendored upstream fixtures.
59
66
@@ -66,9 +73,10 @@ The standards boundary is intentional:
0 commit comments