Fork of https://github.com/0xPARC/pod2
* merkletree: custom poseidon to use flag as initial state. This allows to do the merkletree related hashing in 1 gate instead of 2, reducing ~23% of gates per merkle proof. | tree levels | 10 | 16 | 32 | 40 | 64 | 128 | 130 | 250 | 256 | |---------------|----|----|-----|-----|-----|-----|-----|------|------| | old num gates | 50 | 76 | 144 | 178 | 280 | 554 | 564 | 1076 | 1102 | | new num gates | 39 | 59 | 111 | 137 | 215 | 425 | 433 | 825 | 845 | * update docs with new tree hashing approach * add inline comment stating clear how the flag is used in the state permutation |
||
|---|---|---|
| .github/workflows | ||
| book | ||
| examples | ||
| src | ||
| .gitignore | ||
| build.rs | ||
| Cargo.toml | ||
| README.md | ||
| rust-analyzer.toml | ||
| rust-toolchain.toml | ||
| rustfmt.toml | ||
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
- mdbook:
cargo install mdbook - mdbook-katex:
cargo install mdbook-katex
- mdbook:
- Go to the book directory:
cd book - Run the mdbook:
mdbook serve