WARNING: This is a work-in-progress prototype, and has not received careful code review. This implementation is NOT ready for production use.
This crate is an implementation of the codex storage proofs circuits for the plonky2 proof system.
-
merkle_circuit
is the Plonky2 Circuit implementation of "safe" merkle tree. -
sample_cells
is the Plonky2 Circuit implementation for sampling cells in dataset merkle tree. -
keyed_compress
is the compression function used in the construction (and reconstruction) of the Merkle tree root. The function takes 2 hash digest (4 Goldilocks field elements each) and a key, then outputs a single hash digest. -
sponge
contains the hash function (with and without padding) used to hash cells and during sampling. -
params
is the parameters used in the circuits. -
utils
contains helper functions. -
circuit_helper
contains a general trait for all Plonky2 circuit to automate the building and proving. -
error
contains the list of error related to the circuits. -
uniform recursion
contains the uniform (2-to-1 tree) recursion circuits for aggregating proofs.
see workflow
for how to use the circuits and run them.
see BENCHMARKS.md