BilinearAccumulatorProver
Off-chain prover for the BLS12-381 Bilinear Accumulator.
Supports both G1-accumulator (acc on G1, Ethereum ceremony compatible) and G2-accumulator (acc on G2, cheaper on-chain verification). Generates trusted setups, accumulators, and membership/non-membership proofs. After setup, tau is no longer needed — all operations use the CRS points directly via multi-scalar multiplication.
Attributes
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
Members list
Type members
Classlikes
Self-contained CRS with powers of tau on both G1 and G2.
Self-contained CRS with powers of tau on both G1 and G2.
After trustedSetup, tau can be destroyed. All accumulator and proof operations use only the CRS points.
Attributes
- Companion
- object
- Supertypes
-
trait Serializabletrait Producttrait Equalsclass Objecttrait Matchableclass AnyShow all
Value members
Concrete methods
Compute G1 accumulator: acc = P_U(tau)*G1.
Compute G1 accumulator: acc = P_U(tau)*G1.
Attributes
Compute G2 accumulator: acc = P_U(tau)*G2.
Compute G2 accumulator: acc = P_U(tau)*G2.
Attributes
Generate G1 membership proof: commit(Q, G1) where Q = P_fullSet / P_subset.
Generate G1 membership proof: commit(Q, G1) where Q = P_fullSet / P_subset.
Attributes
Generate G2 membership proof: commit(Q, G2) where Q = P_fullSet / P_subset.
Generate G2 membership proof: commit(Q, G2) where Q = P_fullSet / P_subset.
Attributes
Generate G1 non-membership proof using extended GCD. Returns (commit(S, G2), commit(T, G1)) where SP_U + TP_D = 1.
Generate G1 non-membership proof using extended GCD. Returns (commit(S, G2), commit(T, G1)) where SP_U + TP_D = 1.
Attributes
Generate G2 non-membership proof using extended GCD. Returns (commit(S, G1), commit(T, G2)) where SP_U + TP_D = 1.
Generate G2 non-membership proof using extended GCD. Returns (commit(S, G1), commit(T, G2)) where SP_U + TP_D = 1.
Attributes
Generate a trusted setup with powers of tau on both G1 and G2.
Generate a trusted setup with powers of tau on both G1 and G2.
WARNING: This is intended for testing only. In production, use a multi-party ceremony where tau is never known to any single party. Anyone who knows tau can forge arbitrary proofs.
Value parameters
- maxDegree
-
maximum polynomial degree to support
- tau
-
the secret scalar (must be random and destroyed after setup)
Attributes
Verify G1 membership proof by delegating to on-chain verifier.
Verify G1 membership proof by delegating to on-chain verifier.
Attributes
Verify G2 membership proof by delegating to on-chain verifier.
Verify G2 membership proof by delegating to on-chain verifier.
Attributes
Verify G1 non-membership proof by delegating to on-chain verifier.
Verify G1 non-membership proof by delegating to on-chain verifier.
Attributes
Verify G2 non-membership proof by delegating to on-chain verifier.
Verify G2 non-membership proof by delegating to on-chain verifier.
Attributes
Concrete fields
BLS12-381 scalar field prime
BLS12-381 scalar field prime