Find a file
Eduard S. 641d8dabdd
Merkle tree for custom predicate batches (#471)
Resolve https://github.com/0xPARC/pod2/issues/466

Now batches are identified by the root of a merkle tree that contains all the predicates (using sequential indices as keys).  This means that the format to identify a custom predicate reference is still a hash + index, but the calculation of the hash is different.
The MainPod circuit now isn't limited by number of batches but instead number of custom predicates; and for each one we verify a merkle proof to verify the batch id.

I've removed a bunch of tests from lang that were testing splitting into multiple batches because there's no longer any need for that.  In a future PR we'll remove the code that handles batch splitting.

Each custom predicate needs 148.2 gates (which is very close to my estimate of 142.7 in https://github.com/0xPARC/pod2/issues/466#issuecomment-3823531286 where I actually made a mistake and considered 5 predicates per batch instead of 4 in the previous Params).
2026-02-04 11:12:32 +01:00
.github/workflows Add versioning features (#387) 2025-08-08 09:33:44 -07:00
book Merkle tree for custom predicate batches (#471) 2026-02-04 11:12:32 +01:00
examples Improved predicate splitting (#445) 2026-01-27 21:54:21 -08:00
src Merkle tree for custom predicate batches (#471) 2026-02-04 11:12:32 +01:00
.gitignore Aard custom (#49) 2025-02-24 09:05:30 -08:00
build.rs Feat/disk cache (#354) 2025-07-24 12:15:31 +02:00
Cargo.toml Create multiple PODs where resource limits for a single POD are exceeded (#444) 2026-01-28 07:44:04 +01:00
README.md Featurize middleware types that are actually defined by the backend (#94) 2025-02-27 14:15:31 +01:00
rust-analyzer.toml chore(qol): add rust-analyzer.toml (#187) 2025-04-08 08:33:49 +10:00
rust-toolchain.toml Feat/disk cache (#354) 2025-07-24 12:15:31 +02:00
rustfmt.toml Organize imports (#188) 2025-04-07 16:19:13 -07:00

POD2

Usage

  • Run tests: cargo test --release
  • Rustfmt: cargo fmt
  • Check typos: typos -c .github/workflows/typos.toml

Book

The book contains the specification of POD2. A rendered version of the site can be found at: https://0xparc.github.io/pod2/

To run it locally:

  • Requirements
  • Go to the book directory: cd book
  • Run the mdbook: mdbook serve