You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 lines
1.5 KiB

4 years ago
  1. # Spartan: High-speed zkSNARKs without trusted setup
  2. ![Rust](https://github.com/microsoft/Spartan/workflows/Rust/badge.svg)
  3. Spartan 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.
  4. The current repository includes a library that implements
  5. a 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).
  6. ## Building libspartan
  7. cargo build
  8. # On a machine that supports avx2 or ifma instructions:
  9. export RUSTFLAGS="-C target_cpu=native"
  10. cargo build --features "simd_backend" --release
  11. ## Performance
  12. cargo build
  13. # On a machine that supports avx2 or ifma instructions:
  14. export RUSTFLAGS="-C target_cpu=native"
  15. cargo build --features "simd_backend,profile" --release
  16. ./target/release/profiler
  17. cargo bench
  18. # On a machine that supports avx2 or ifma instructions:
  19. export RUSTFLAGS="-C target_cpu=native"
  20. cargo bench --features "simd_backend"
  21. ## LICENSE
  22. See [LICENSE](./LICENSE)
  23. ## Contributing
  24. See [CONTRIBUTING](./CONTRIBUTING.md)