Srinath Setty 290bbc0897 | 4 years ago | |
---|---|---|
.github/workflows | 4 years ago | |
benches | 4 years ago | |
src | 4 years ago | |
.gitignore | 4 years ago | |
CODE_OF_CONDUCT.md | 4 years ago | |
CONTRIBUTING.md | 4 years ago | |
Cargo.toml | 4 years ago | |
LICENSE | 4 years ago | |
NOTICE.md | 4 years ago | |
README.md | 4 years ago | |
SECURITY.md | 4 years ago | |
rustfmt.toml | 4 years ago |
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.
The current repository includes a library that implements 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.
cargo build
# On a machine that supports avx2 or ifma instructions:
export RUSTFLAGS="-C target_cpu=native"
cargo build --features "simd_backend" --release
cargo build
# On a machine that supports avx2 or ifma instructions:
export RUSTFLAGS="-C target_cpu=native"
cargo build --features "simd_backend,profile" --release
./target/release/profiler
cargo bench
# On a machine that supports avx2 or ifma instructions:
export RUSTFLAGS="-C target_cpu=native"
cargo bench --features "simd_backend"
See LICENSE
See CONTRIBUTING