Expand description
proof-cat: PLONKish bridge to sumcheck proving.
Given a ConstraintSet (the output of
plonkish_cat::compile) and a satisfying Witness,
this crate produces a cryptographic Proof that the
witness is valid, without the verifier needing to know the witness.
§Architecture
plonkish_cat::compile(graph, path) -> ConstraintSet<F>
|
proof_cat::prove(constraints, witness)
|
Proof<F>
|
proof_cat::verify(constraints, proof)
|
Ok(true)Internally the proof uses the sumcheck protocol over
multilinear polynomials, with a Merkle tree commitment to
the witness. The sumcheck protocol, Merkle commitment,
multilinear polynomial type, and Fiat-Shamir transcript all
live in proof_cat_core so they can be shared with
STARK-flavored downstreams.
§Modules
Field types live in field_cat. Sumcheck, multilinear
polynomial, Merkle tree, and transcript primitives live in
proof_cat_core.
Re-exports§
pub use error::Error;pub use prove::Proof;pub use prove::Witness;pub use prove::prove;pub use prove::verify;