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: Replace Zeromorph with Shplemini in ECCVM #9102

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

maramihali
Copy link
Contributor

This PR switches ECCVM to Shplemini which shaves off ~300k in the tube circuit. Now, on the verifier side, we first execute Shplemini, then reduce the BatchOpeningClaim to a single OpeningClaim by performing the batch_mul delayed by Shplemini. Then, we construct the translation OpeningClaim, and the two are being reduced to a single OpeningClaim by executing a second iteration of Shplonk. Finally, we verify the OpeningClaim via PCS. This could be further optimised as we currently perform 4 batch_muls.

@@ -11,6 +11,7 @@
using namespace bb;

#pragma GCC diagnostic ignored "-Wunused-local-typedefs"
#pragma GCC diagnostic ignored "-Wunused-const-variable"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

my buid was breaking without these warnings

@maramihali maramihali self-assigned this Oct 9, 2024
@maramihali maramihali added the crypto cryptography label Oct 9, 2024

// Construct and verify the combined opening claim
auto batched_opening_claim =
const OpeningClaim batch_opening_claim =
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the naming is a bit confusing, it would be great to clean them up. Maybe like sumcheck_batch_opening claims instead of batch_opening_claims and create an exlpiicit opening claim translation_batch_opening_claim, so that we see what the final batch opening claim is. + constify opening_claims

Copy link
Contributor

@iakovenkos iakovenkos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!
please take care of the naming inside the verifiers

@maramihali maramihali enabled auto-merge (squash) October 9, 2024 11:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
crypto cryptography
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants