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_safe
is the implementation of "safe" merkle tree used in codex, consistent with the one here. -
merkle_circuit
is the Plonky2 Circuit implementation of "safe" merkle tree above. -
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.
writeup coming soon...
see workflow
for how to use the circuits and run them.
see BENCHMARKS.md