Skip to content

Latest commit

 

History

History
26 lines (17 loc) · 1.47 KB

readme.md

File metadata and controls

26 lines (17 loc) · 1.47 KB

Curve Trees

This is a benchmarking implementation of Curve Trees. It is not for production purposes.

This repository contains:

  • A modified version of dalek bulletproofs, which is adapted to support any curve implemented using the arkworks algebra library in addition to batch verification and vector commitments (see Generalized Bulletproofs).
  • Bulletproof constraints to show that a commitment is a rerandomization of a member of the set represented by a curve tree. I.e. the select and rerandomize relation.
  • Extensions for proving that batches of elements are in the set (Curve Forests)
  • Benchmarks of the VCash anonymous payment system.
  • Benchmarks of an accumulator based on opening a commitment extracted using the select and rerandomize relation.

Running Benchmarks

To replicate the benchmarks in the Curve Trees paper run: cargo bench --features bench_prover.

To get single core benchmarks disable default features: cargo bench --features bench_prover --no-default-features.

Acknowledgements

The bulletproofs implementation is based on dalek bulletproofs and the arkworks algebra library.

LICENSE

This code is released under the MIT License.