testudo/README.md
README.mdRaw
1# Spartan: High-speed zkSNARKs without trusted setup
2
3
4
5Spartan is a research project to design high-speed zero-knowledge proof systems, a cryptographic protocol that enables a prover to prove a mathematical statement (e.g., that a given program was executed correctly) without revealing anything besides the validity of the statement.
6
7The current repository includes a library that implements
8a zero-knowledge succinct non-interactive arguments of knowledge (zkSNARKs), a type of zero-knowledge proof system with short proofs and verification times. Unlike many other zkSNARKs, Spartan does not require a trusted setup and its security relies on the hardness of computing discrete logarithms (a well-studied assumption). The scheme is described in our [paper](https://eprint.iacr.org/2019/550).
9
10## Building libspartan
11 cargo build
12 # On a machine that supports avx2 or ifma instructions:
13 export RUSTFLAGS="-C target_cpu=native"
14 cargo build --features "simd_backend" --release
15
16## Performance
17 cargo build
18 # On a machine that supports avx2 or ifma instructions:
19 export RUSTFLAGS="-C target_cpu=native"
20 cargo build --features "simd_backend,profile" --release
21 ./target/release/profiler
22
23 cargo bench
24 # On a machine that supports avx2 or ifma instructions:
25 export RUSTFLAGS="-C target_cpu=native"
26 cargo bench --features "simd_backend"
27
28
29## LICENSE
30
31See [LICENSE](./LICENSE)
32
33## Contributing
34
35See [CONTRIBUTING](./CONTRIBUTING.md)