Spartan: High-speed zkSNARKs without trusted setup
Перейти к файлу
Srinath Setty 95b9ad35a6 initial commit 2020-07-24 14:41:48 -07:00
.github/workflows initial commit 2020-07-24 14:41:48 -07:00
benches initial commit 2020-07-24 14:41:48 -07:00
src initial commit 2020-07-24 14:41:48 -07:00
.gitignore initial commit 2020-07-24 14:41:48 -07:00
CODE_OF_CONDUCT.md Initial CODE_OF_CONDUCT.md commit 2019-12-16 14:13:31 -08:00
CONTRIBUTING.md initial commit 2020-07-24 14:41:48 -07:00
Cargo.toml initial commit 2020-07-24 14:41:48 -07:00
LICENSE Updating LICENSE to template content 2019-12-16 14:13:34 -08:00
NOTICE.md initial commit 2020-07-24 14:41:48 -07:00
README.md initial commit 2020-07-24 14:41:48 -07:00
SECURITY.md Initial SECURITY.md commit 2019-12-16 14:13:35 -08:00
rustfmt.toml initial commit 2020-07-24 14:41:48 -07:00

README.md

Spartan: High-speed zkSNARKs without trusted setup

Rust

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.

Building libspartan

cargo build
# On a machine that supports avx2 or ifma instructions:
export RUSTFLAGS="-C target_cpu=native" 
cargo build --features "simd_backend" --release

Performance

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"

LICENSE

See LICENSE

Contributing

See CONTRIBUTING