| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Bulletproofs.ArithmeticCircuit
Synopsis
- generateProof :: forall p m. (MonadRandom m, KnownNat p) => ArithCircuit (PrimeField p) -> ArithWitness (PrimeField p) -> m (ArithCircuitProof (PrimeField p))
- verifyProof :: KnownNat p => [Point] -> ArithCircuitProof (PrimeField p) -> ArithCircuit (PrimeField p) -> Bool
- data ArithCircuitProof f = ArithCircuitProof {}
- data ArithCircuit f = ArithCircuit {
- weights :: GateWeights f
- commitmentWeights :: [[f]]
- cs :: [f]
- data ArithWitness f = ArithWitness {
- assignment :: Assignment f
- commitments :: [Point]
- commitBlinders :: [f]
- data GateWeights f = GateWeights {}
- data Assignment f = Assignment {}
Documentation
generateProof :: forall p m. (MonadRandom m, KnownNat p) => ArithCircuit (PrimeField p) -> ArithWitness (PrimeField p) -> m (ArithCircuitProof (PrimeField p)) Source #
Generate a zero-knowledge proof of computation for an arithmetic circuit with a valid witness
verifyProof :: KnownNat p => [Point] -> ArithCircuitProof (PrimeField p) -> ArithCircuit (PrimeField p) -> Bool Source #
Verify that a zero-knowledge proof holds for an arithmetic circuit given committed input values
data ArithCircuitProof f Source #
Constructors
| ArithCircuitProof | |
Fields
| |
Instances
data ArithCircuit f Source #
Constructors
| ArithCircuit | |
Fields
| |
Instances
data ArithWitness f Source #
Constructors
| ArithWitness | |
Fields
| |
Instances
data GateWeights f Source #
Constructors
| GateWeights | |
Instances
data Assignment f Source #
Constructors
| Assignment | |