mirror of
https://github.com/logos-storage/plonky2.git
synced 2026-01-11 18:23:09 +00:00
* Tree of scopes
This is an extension of the context concept.
Earlier I was planning to store a simple stack of contexts, but I ended up storing the whole history, in a tree structure. This gives us more control over the output, i.e. we can print the gate count of a parent scope before those of its child scopes, which seems more user-friendly.
Sample gate count output:
[2021-07-19T18:09:24Z INFO plonky2::circuit_builder] 27829 gates to root
[2021-07-19T18:09:24Z INFO plonky2::circuit_builder] | 2373 gates to evaluate the vanishing polynomial at our challenge point, zeta.
[2021-07-19T18:09:24Z INFO plonky2::circuit_builder] | | 1284 gates to evaluate gate constraints
[2021-07-19T18:09:24Z INFO plonky2::circuit_builder] | 25312 gates to verify FRI proof
[2021-07-19T18:09:24Z INFO plonky2::circuit_builder] | | 650 gates to verify 0'th FRI query
[2021-07-19T18:09:24Z INFO plonky2::circuit_builder] | | | 96 gates to check FRI initial proof
[2021-07-19T18:09:24Z INFO plonky2::circuit_builder] | | | 65 gates to compute x from its index
[2021-07-19T18:09:24Z INFO plonky2::circuit_builder] | | | 233 gates to combine initial oracles
...
Sample copy constraint failure:
Error: Copy constraint 'root > verify FRI proof > verify 0'th FRI query > check FRI initial proof > verify 0'th initial Merkle proof > check Merkle root: 0-th hash element' between wire 12 of gate #2550 [...] and wire 0 of gate #0 [...] is not satisfied. Got values of 6861386743364621393 and 0 respectively.
* No min
* info -> debug
* Move to its own file
31 lines
567 B
Rust
31 lines
567 B
Rust
#![feature(destructuring_assignment)]
|
|
|
|
pub mod circuit_builder;
|
|
pub mod circuit_data;
|
|
pub mod context_tree;
|
|
pub mod copy_constraint;
|
|
pub mod field;
|
|
pub mod fri;
|
|
pub mod gadgets;
|
|
pub mod gates;
|
|
pub mod generator;
|
|
pub mod gmimc;
|
|
pub mod hash;
|
|
pub mod merkle_proofs;
|
|
mod merkle_tree;
|
|
mod permutation_argument;
|
|
pub mod plonk_challenger;
|
|
pub mod plonk_common;
|
|
pub mod polynomial;
|
|
pub mod proof;
|
|
pub mod prover;
|
|
pub mod recursive_verifier;
|
|
pub mod rescue;
|
|
pub mod target;
|
|
pub mod util;
|
|
pub mod vanishing_poly;
|
|
pub mod vars;
|
|
pub mod verifier;
|
|
pub mod wire;
|
|
pub mod witness;
|