https://github.com/arkworks-rs/sumcheck
linear-time sumcheck protocol for multilinear polynomials and related addends
Science Score: 20.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
○DOI references
-
✓Academic publication links
Links to: arxiv.org -
✓Committers with academic emails
3 of 10 committers (30.0%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.7%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
linear-time sumcheck protocol for multilinear polynomials and related addends
Basic Info
Statistics
- Stars: 78
- Watchers: 6
- Forks: 36
- Open Issues: 9
- Releases: 1
Topics
Metadata Files
README.md
Linear-Time Sumcheck
linear-sumcheck is a Rust library that implements the sumcheck protocol.
This crate implements the following protocols:
- MLSumcheck: The sumcheck protocol for
products of multilinear polynomials in evaluation form over boolean hypercube.
- GKRRoundSumcheck: The sumcheck protocol for GKR Round Function.
This protocol takes MLSumcheck as a subroutine.
WARNING: This is an academic proof-of-concept prototype, and in particular has not received careful code review. This implementation is NOT ready for production use.
Build guide
The library compiles on the stable toolchain of the Rust compiler. To install the latest version of Rust, first install rustup by following the instructions here, or via your platform's package manager. Once rustup is installed, install the Rust toolchain by invoking:
bash
rustup install stable
After that, use cargo (the standard Rust build tool) to build the library:
bash
git clone https://github.com/arkworks-rs/sumcheck.git
cd sumcheck
cargo build --release
This library comes with some unit and integration tests. Run these tests with:
bash
cargo test
Lastly, this library is instrumented with profiling infrastructure that prints detailed traces of execution time. To enable this, compile with cargo build --features print-trace.
Benchmarks
To run the benchmarks, install the nightly Rust toolchain, via rustup install nightly, and then run the following command:
shell
cargo +nightly bench --all-features
All benchmarks below are performed over BLS12-381 scalar field implemented in the ark-test-curves library. Benchmarks were run on a machine with an Intel Xeon 6136 CPU running at 3.0 GHz.
Benchmarks for MLSumcheck


Benchmarks for GKRRoundSumcheck


License
This library is licensed under either of the following licenses, at your discretion.
Unless you explicitly state otherwise, any contribution that you submit to this library shall be dual licensed as above (as defined in the Apache v2 License), without any additional terms or conditions.
Reference Paper
Libra: Succinct Zero-Knowledge Proofs with Optimal Prover Computation
Tiancheng Xie, Jiaheng Zhang, Yupeng Zhang, Charalampos Papamanthou, Dawn Song
Time-Optimal Interactive Proofs for Circuit Evaluation
Justin Thaler
Owner
- Name: arkworks
- Login: arkworks-rs
- Kind: organization
- Website: arkworks.rs
- Twitter: arkworks_rs
- Repositories: 25
- Profile: https://github.com/arkworks-rs
An ecosystem for developing and programming with zkSNARKs
GitHub Events
Total
- Watch event: 17
- Issue comment event: 1
- Pull request event: 3
- Fork event: 7
- Create event: 1
Last Year
- Watch event: 17
- Issue comment event: 1
- Pull request event: 3
- Fork event: 7
- Create event: 1
Committers
Last synced: almost 3 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Tom Shen | t****n@b****u | 4 |
| Weikeng Chen | w****k@b****u | 3 |
| Dev Ojha | V****n@u****m | 2 |
| Jay White | J****7@u****m | 2 |
| dependabot[bot] | 4****]@u****m | 2 |
| Ethan-000 | s****0@e****k | 1 |
| Fanghao Yang | y****o@g****m | 1 |
| Thor | 7****4@u****m | 1 |
| dependabot-preview[bot] | 2****]@u****m | 1 |
| zhenfei | z****g@h****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 20
- Total pull requests: 63
- Average time to close issues: 3 months
- Average time to close pull requests: 28 days
- Total issue authors: 9
- Total pull request authors: 17
- Average comments per issue: 0.8
- Average comments per pull request: 0.68
- Merged pull requests: 46
- Bot issues: 2
- Bot pull requests: 17
Past Year
- Issues: 0
- Pull requests: 4
- Average time to close issues: N/A
- Average time to close pull requests: 3 days
- Issue authors: 0
- Pull request authors: 4
- Average comments per issue: 0
- Average comments per pull request: 0.5
- Merged pull requests: 1
- Bot issues: 0
- Bot pull requests: 1
Top Authors
Issue Authors
- tsunrise (9)
- drobissout (2)
- Pratyush (2)
- dependabot-preview[bot] (2)
- alireza-shirzad (1)
- weikengchen (1)
- maciejskorski (1)
- mmagician (1)
- thor314 (1)
Pull Request Authors
- tsunrise (24)
- dependabot[bot] (10)
- dependabot-preview[bot] (9)
- mmagician (7)
- weikengchen (3)
- ValarDragon (2)
- Olexandr88 (2)
- Guayaba221 (2)
- SuccinctPaul (1)
- PatStiles (1)
- thor314 (1)
- Pratyush (1)
- JayWhite2357 (1)
- yangfh2004 (1)
- zhenfeizhang (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- cargo 4,910 total
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 3
- Total maintainers: 1
crates.io: ark-linear-sumcheck
A library for efficient sumcheck protocols
- Homepage: https://arkworks.rs
- Documentation: https://docs.rs/ark-linear-sumcheck/
- License: MIT/Apache-2.0
-
Latest release: 0.4.0
published about 2 years ago
Rankings
Maintainers (1)
Dependencies
- actions-rs/cargo v1 composite
- actions-rs/toolchain v1 composite
- actions/cache v2 composite
- actions/checkout v2 composite
- actions/checkout v1 composite
- ark-test-curves ^0.3.0 development
- ark-ff ^0.3.0
- ark-poly ^0.3.0
- ark-serialize ^0.3.0
- ark-std ^0.3.0
- blake2 0.9
- hashbrown 0.13.1
- rayon 1