This is a benchmarking implementation for the anonymous payment system Veksel. It is not for production purposes.
This repository contains:
- Sage scripts to generate the Jabberwock curve over Ristretto25519 scalar field (
curve
folder) - Bulletproof constraints to check rerandomization of coins and whether they are permissible (
randomize
folder) - A simplified version of the set membership schemes from CBFGK19 (
membership
folder as well as this repo) - an implementation of proofs for "coin collection" transactions (depositing a coin into your account) from the above building blocks (in
lib.rs
)
Run cargo test
or cargo bench
in folder.
We rely on the Bulletproofs implementation from dalek.
Most of our implementation for set membership depends on code written by Kobi Gurkan.
We rely on the implementation of cryptographic accumulators from cambrian.
This code is released under the MIT License.