Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/batched grand products #481

Merged
merged 51 commits into from
Nov 7, 2024
Merged

Feat/batched grand products #481

merged 51 commits into from
Nov 7, 2024

Conversation

moodlezoup
Copy link
Collaborator

@moodlezoup moodlezoup commented Oct 21, 2024

This PR changes the way we batch grand products to reduce proof size and verifier cost.

Previously, a batch of k grand products, each of size n, would be batched via random linear combination into a single grand product of size n. With this batching approach, the grand product proof contains 2*k claimed polynomial evaluations per layer.

With this PR, a batch of k grand products, each of size n, would be proven as a single circuit: this can be viewed as simply laying out the individual grand product circuits side-by-side, so that the output layer is of size k. With this new approach, the grand product proof contains only 2 claims per layer.

In addition, this PR implements the Dao-Thaler optimization for EQ polynomials: https://eprint.iacr.org/2024/1210.pdf

@wiz-a16z
Copy link

wiz-a16z bot commented Nov 4, 2024

Wiz Scan Summary

Scan Module Critical High Medium Low Info Total
IaC Misconfigurations 0 0 0 0 0 0
Vulnerabilities 0 0 0 0 3 3
Sensitive Data 0 0 0 0 0 0
Secrets 0 0 0 0 0 0
Total 0 0 0 0 3 3

View scan details in Wiz

To detect these findings earlier in the dev lifecycle, try using Wiz Code VS Code Extension.

@moodlezoup moodlezoup marked this pull request as ready for review November 7, 2024 22:23
@moodlezoup moodlezoup merged commit 6649562 into main Nov 7, 2024
10 checks passed
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.

1 participant