Skip to content

Hyperplonk ZK-SNARK with Halo2 circuit frontend

License

Notifications You must be signed in to change notification settings

summa-dev/plonkish

 
 

Repository files navigation

Plonkish

Research focused repository on plonkish arithmetization.

Benchmark

Proof systems

On different proof systems with KZG polynomial commitment scheme.

Usage: cargo bench --bench proof_system -- [OPTIONS]

Options:
  --system <SYSTEM>    Proof system(s) to run. [possible values: hyperplonk, halo2, espresso_hyperplonk]
  --circuit <CIRCUIT>  Circuit to run. [possible values: vanilla_plonk, aggregation]
  --k <K>              (Range of) log number of rows.

For example to compare different proof systems on vanilla PLONK, run:

cargo bench --bench proof_system -- \
    --system hyperplonk \
    --system halo2 \
    --system espresso_hyperplonk \
    --circuit vanilla_plonk \
    --k 20..24

Then the proving time (in millisecond) will be written to target/bench/{hyperplonk,halo2,espresso_hyperplonk} respectively.

To further see cost breakdown of proving time without witness collecting time, run the same bench commanad with an extra cargo flag --features timer, then pipe the output to plotter cargo run plotter -- -, and the result will be rendered in target/bench. For example:

cargo bench --bench proof_system --features timer -- ... \
  | cargo run plotter -- -

Note that plotter requires gnuplot installed already.

Acknowledgements

About

Hyperplonk ZK-SNARK with Halo2 circuit frontend

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%