| Crates.io | vb_accumulator |
| lib.rs | vb_accumulator |
| version | 0.29.0 |
| created_at | 2021-09-09 16:10:26.335083+00 |
| updated_at | 2025-08-03 19:20:36.40505+00 |
| description | Positive and universal bilinear map accumulator and proof of membership and non-membership protocol |
| homepage | |
| repository | https://github.com/docknetwork/crypto |
| max_upload_size | |
| id | 448935 |
| size | 678,441 |
Dynamic Positive and Universal accumulators according to the paper: Dynamic Universal Accumulator with Batch Update over Bilinear Groups
Implements
PositiveAccumulator, that supports membership proofs.UniversalAccumulator, that supports membership and non-membership proofs.ProofProtocol as described in the paper.
These are essentially proofs of knowledge of a weak-BB signatureAllows
Both accumulators implement that trait Accumulator that contains the common functionality.
Both MembershipWitness and NonMembershipWitness can be updated either using secret key or using public
info published by accumulator manager called Omega.
Most of the update logic is in the trait Witness which is implemented by both MembershipWitness
and NonMembershipWitness.
The implementation tries to use the same variable names as the paper and thus violate Rust's naming conventions at places.
Dynamic Positive and Universal accumulators according to the paper: Efficient Constructions of Pairing Based Accumulators
Implements
KBPositiveAccumulator, that supports membership proofs. Based on construction 2 in the paper.KBUniversalAccumulator, that supports membership and non-membership proofs. Based on construction 3 in the paperAllows batch updates to the accumulator and the witness using the techniques from vb_accumulator
The implementation uses type-3 pairings compared to type-1 in the paper.