Skip to content

Conversation

@huitseeker
Copy link
Contributor

@huitseeker huitseeker commented Jan 17, 2024

Summary

This gathers the changes to the pre-processing SNARK excerpted from the Supernova implementation in PR #283. The main changes extracted here are the introduction of the masked eq polynomial (and its use fixing this issue), additional sum-check tooling, removal of two calls to evaluation argument.

Main reference Arecibo PRs:

More details (click to expand)
  • Enhancement of polynomial related code in Spartan protocol including new polynomial types, modified existing types, better evaluation methods, and improved polynomial operations.
  • Introduction of squares function and change in the generation of t_pow in Spartan.
  • Addition of a new polynomial type through MaskedEqPolynomial with methods for its creation and evaluation.
  • Enhancements in UniPoly struct by addition of PartialEq, and Eq traits.
  • Improvements in snark.rs for proving and verifying batch evaluation claims, leveraging gamma and rho for random linear combinations, and optimizing various variable computations.
  • Updates in multilinear.rs with refactoring, optimization, error handling, and supplementing unit tests.
  • Refactor in spartan/mod.rs with import updates, function overhauls, struct visibility changes, and asynchronous operations for efficient calculations.
  • Additions and amendments in sumcheck.rs for batch verification, handling of vectors of claims, handling of cubic bounds with additive terms, visibility adjustments, and typo fixes.
  • Modifications in eq.rs including a debug derive for EqPolynomial, enhanced visibility of r vector, provision of evals_from_points for enhanced evaluation, and addition of FromIterator implementation.

This gathers the changes to the pre-processing SNARK excerpted from the Supernova implementation in PR microsoft#283.
The main changes extracted here are the introduction of the masked eq polynomial (and its use fixing [this issue](https://hackmd.io/@adr1anh/Sy08YaVBa)), additional sum-check tooling, removal of two calls to evaluation argument.

Main reference Arecibo PRs:
- lurk-lang/arecibo#106
- lurk-lang/arecibo#131
- lurk-lang/arecibo#174
- lurk-lang/arecibo#182

- Enhancement of polynomial related code in Spartan protocol including new polynomial types, modified existing types, better evaluation methods, and improved polynomial operations.
- Introduction of `squares` function and change in the generation of `t_pow` in Spartan.
- Addition of a new polynomial type through `MaskedEqPolynomial` with methods for its creation and evaluation.
- Enhancements in `UniPoly` struct by addition of `PartialEq`, and `Eq` traits.
- Improvements in `snark.rs` for proving and verifying batch evaluation claims, leveraging `gamma` and `rho` for random linear combinations, and optimizing various variable computations.
- Updates in `multilinear.rs` with refactoring, optimization, error handling, and supplementing unit tests.
- Refactor in `spartan/mod.rs` with import updates, function overhauls, struct visibility changes, and asynchronous operations for efficient calculations.
- Additions and amendments in `sumcheck.rs` for batch verification, handling of vectors of claims, handling of cubic bounds with additive terms, visibility adjustments, and typo fixes.
- Modifications in `eq.rs` including a debug derive for `EqPolynomial`, enhanced visibility of `r` vector, provision of `evals_from_points` for enhanced evaluation, and addition of `FromIterator` implementation.

Co-authored-by: porcuquine <porcuquine@users.noreply.github.com>
Co-authored-by: Matej Penciak <96667244+mpenciak@users.noreply.github.com>
Co-authored-by: Adrian Hamelink <adrian.hamelink@gmail.com>
@srinathsetty srinathsetty merged commit 499ba16 into microsoft:main Jan 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants