proof-aggregation/codex-plonky2-circuits/README.md

1.5 KiB

Codex Plonky2 Circuits

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.

Code organization

  • 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.

Documentation

writeup coming soon...

Usage

see workflow for how to use the circuits and run them.

Benchmarks

see BENCHMARKS.md