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

Tracking issue for trimmable SRS #284

Closed
wants to merge 1 commit into from
Closed

Conversation

weikengchen
Copy link
Contributor

@weikengchen weikengchen commented Jul 21, 2021

Motivation

This PR would consist of implementations toward making SRS trimmable.

There are many things involved. We are currently at the first stage.

  • make PolyCommit support SRS that is trimmable.
    It is not finished yet.

This seems to already involve much changes, since SRS is not only about powers of g, but also:

  • powers of gamma_g which in Marlin you only need 2 elements.
  • negative powers of g in G2 which is not needed in Marlin but used in Sonic PC.
  • powers of g but with degree max_degree - i which is used for degree bounds. In Marlin, all it needs has the shape of 2^t - 2.

Currently the setup is too long: it generates, up to the max_degree, of all of these.
And the SRS is too long: it contains all of these.

If we look at Marlin specifically, the actual effort of setup should be only 1/3, and the SRS would also be 1/3.

Then, you can trim it further if you know that you only index and prove circuits of a specific level of complication.

Test Plan

Will need several tests to ensure that the PC proof generated from the trimmed SRS matches those from the old, full SRS. Especially, pay attention to the hiding bounds.

@weikengchen
Copy link
Contributor Author

Adding that we also need infrastructure for proving key.

Why? Since the majority of the proving key is the PC committer key, which is circuit-independent. So, indeed, pk would be also succinct.


pub struct UniversalSetupParameters<E: PairingEngine> {
pub powers_of_g : Vec<E::G1Affine>,

Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change

@ljedrz
Copy link
Collaborator

ljedrz commented Jul 21, 2021

I started browsing the PR, but it seems like it's still a work in progress, right?

@weikengchen
Copy link
Contributor Author

Yes, it is halfway.

@aphelionz
Copy link

@weikengchen Please mark it as a draft if you're still able to, that way we'll know not to jump and start reviewing

@weikengchen weikengchen marked this pull request as draft July 21, 2021 13:42
@weikengchen
Copy link
Contributor Author

This has been partially done in #317. So I closed this issue.

@weikengchen weikengchen closed this Aug 2, 2021
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