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

refactor: Refactor public parameters setup to remove optionality of commitment key size hint #95

Merged
merged 3 commits into from
Nov 3, 2023

Conversation

huitseeker
Copy link
Contributor

@huitseeker huitseeker commented Nov 3, 2023

Context

See #5 and microsoft/Nova#203, by which public parameter creation takes a size hint. This size hint carries the particular requirements of the final compressing SNARK the user expected to use with these public parameters.

This avoids setting the size of public parameters too conservatively for all users of the code base, but rather limits the use of "big" public parameters to those constructions that will eventually need them.

In this PR

We slightly simplify the API of passing a commitment key size hint when creating public parameters. We apply this to Supernova, closing #53.

Companion Lurk PR at argumentcomputer/lurk-beta#843

In detail

  • Converted CommitmentKeyHint<G> from a boxed dynamic trait object to a direct dynamic trait object in r1cs/mod.rs.
  • Changed the commitment_key function to always require a commitment key floor, eliminating the need for default behavior when a floor function isn't provided.
  • Updated the r1cs_shape function across various files to take in a CommitmentKeyHint instead of it being optional and introduce a closure as an argument.
  • Relevant modifications and updates were made in the r1cs_shape and commitment_key function calls within the test functions for various modules.
  • Ported use of commitment key hint to Supernova, closing Manage CommitmentKeyHints properly in supernova #53.
  • This PR puts Arecibo in line with the latest state of feat: Make commitment key generation configurable with an optional parameter microsoft/Nova#203

@huitseeker huitseeker force-pushed the commitment_key_alignment branch 2 times, most recently from 8114f05 to 11f2a89 Compare November 3, 2023 13:58
Copy link
Contributor

@adr1anh adr1anh left a comment

Choose a reason for hiding this comment

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

Changes look good to me. Only noted a typo in the comments.

Idea: Define a default CommitmentKeyHint which just returns 0, instead of having &(|_| 0).

src/lib.rs Outdated Show resolved Hide resolved
src/supernova/mod.rs Outdated Show resolved Hide resolved
@huitseeker
Copy link
Contributor Author

Idea: Define a default CommitmentKeyHint which just returns 0, instead of having &(|_| 0).

Done!

huitseeker added a commit to huitseeker/lurk-rs that referenced this pull request Nov 3, 2023
huitseeker added a commit to huitseeker/lurk-rs that referenced this pull request Nov 3, 2023
mpenciak
mpenciak previously approved these changes Nov 3, 2023
Copy link
Contributor

@mpenciak mpenciak left a comment

Choose a reason for hiding this comment

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

Looks good other than a small unimportant naming thing!

src/lib.rs Outdated Show resolved Hide resolved
…ommitment key size hint

- Converted `CommitmentKeyHint<G>` from a boxed dynamic trait object to a direct dynamic trait object in `r1cs/mod.rs`.
- Changed the `commitment_key` function to always require a commitment key floor, eliminating the need for default behavior when a floor function isn't provided.
- Updated the `r1cs_shape` function across various files to take in a `CommitmentKeyHint` instead of it being optional and introduce a closure as an argument.
- Relevant modifications and updates were made in the `r1cs_shape` and `commitment_key` function calls within the test functions for various modules.
- Ported use of commitment key hint to Supernova, closing #53.
- This PR puts Arecibo in line with microsoft/Nova#203
- Enhanced the `PublicParams` struct within `./src/supernova/mod.rs` with detailed comments
- Introduced a new function `default_commitment_key_hint` in `nova_snark` package to provide a clearer default sizing hint for the commitment key,
- Replaced hard-coded zero values throughout the codebase with calls to `default_commitment_key_hint` function,
Copy link
Contributor

@adr1anh adr1anh left a comment

Choose a reason for hiding this comment

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

All looks good to me!

@huitseeker huitseeker added this pull request to the merge queue Nov 3, 2023
@huitseeker huitseeker removed this pull request from the merge queue due to a manual request Nov 3, 2023
@huitseeker huitseeker added this pull request to the merge queue Nov 3, 2023
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Nov 3, 2023
@huitseeker huitseeker added this pull request to the merge queue Nov 3, 2023
Merged via the queue into dev with commit 5854fff Nov 3, 2023
2 of 3 checks passed
@huitseeker huitseeker deleted the commitment_key_alignment branch November 3, 2023 22:14
github-merge-queue bot pushed a commit to argumentcomputer/lurk-beta that referenced this pull request Nov 3, 2023
* fix: adapt to CK hint API changes in Arecibo

Companion PR to argumentcomputer/arecibo#95

* chore: point to arecibo dev branch
huitseeker added a commit that referenced this pull request Dec 17, 2023
This backports the following Arecibo PRs:
- #2
- #3
- #10
- #16
- #23
- #30
- #28
- #41
- #45
- #50
- #56
- #51
- #72
- #92
- #95
- #97
- #101
- #110
- #106
- #112
- #114
- #119
- #120
- #127
- #123
- #131
- #174
- #175
- #182

Co-authored-by: WYATT <[email protected]>
Co-authored-by: Hanting Zhang <[email protected]>
Co-authored-by: Ming <[email protected]>
Co-authored-by: porcuquine <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: Matej Penciak <[email protected]>
Co-authored-by: Adrian Hamelink <[email protected]>
huitseeker added a commit to argumentcomputer/Nova that referenced this pull request Dec 17, 2023
This implements [Supernova](https://eprint.iacr.org/2022/1758), allowing:
- a 'pay-as-you-go' cost structure for folding operations, through the SuperNova folding scheme,
- a final SNARK that efficiently compresses an instance of this folded proof, through batching techniques.

References:
- the [blog post](https://blog.lurk-lang.org/posts/arecibo-supernova/#technical-release-note-supernova-protocol-integration-into-nova) goes into our construction,
  and links to two more specialized notes on [the `CompressedSNARK` for Supernova](https://hackmd.io/@adr1anh/BJw1g0aBT) along with our variant of the [public input padding issue](https://hackmd.io/@adr1anh/Sy08YaVBa).
- the Readme at `src/supernova/Readme.md`

This backports the following Arecibo PRs:
- argumentcomputer/arecibo#2
- argumentcomputer/arecibo#3
- argumentcomputer/arecibo#10
- argumentcomputer/arecibo#16
- argumentcomputer/arecibo#23
- argumentcomputer/arecibo#30
- argumentcomputer/arecibo#28
- argumentcomputer/arecibo#41
- argumentcomputer/arecibo#45
- argumentcomputer/arecibo#50
- argumentcomputer/arecibo#56
- argumentcomputer/arecibo#51
- argumentcomputer/arecibo#72
- argumentcomputer/arecibo#92
- argumentcomputer/arecibo#95
- argumentcomputer/arecibo#97
- argumentcomputer/arecibo#101
- argumentcomputer/arecibo#110
- argumentcomputer/arecibo#106
- argumentcomputer/arecibo#112
- argumentcomputer/arecibo#114
- argumentcomputer/arecibo#119
- argumentcomputer/arecibo#120
- argumentcomputer/arecibo#127
- argumentcomputer/arecibo#123
- argumentcomputer/arecibo#131
- argumentcomputer/arecibo#174
- argumentcomputer/arecibo#175
- argumentcomputer/arecibo#182

Co-authored-by: WYATT <[email protected]>
Co-authored-by: Hanting Zhang <[email protected]>
Co-authored-by: Ming <[email protected]>
Co-authored-by: porcuquine <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: Matej Penciak <[email protected]>
Co-authored-by: Adrian Hamelink <[email protected]>
huitseeker added a commit to argumentcomputer/Nova that referenced this pull request Dec 18, 2023
This implements [Supernova](https://eprint.iacr.org/2022/1758), allowing:
- a 'pay-as-you-go' cost structure for folding operations, through the SuperNova folding scheme,
- a final SNARK that efficiently compresses an instance of this folded proof, through batching techniques.

References:
- the [blog post](https://blog.lurk-lang.org/posts/arecibo-supernova/#technical-release-note-supernova-protocol-integration-into-nova) goes into our construction,
  and links to two more specialized notes on [the `CompressedSNARK` for Supernova](https://hackmd.io/@adr1anh/BJw1g0aBT) along with our variant of the [public input padding issue](https://hackmd.io/@adr1anh/Sy08YaVBa).
- the Readme at `src/supernova/Readme.md`

This backports the following Arecibo PRs:
- argumentcomputer/arecibo#2
- argumentcomputer/arecibo#3
- argumentcomputer/arecibo#10
- argumentcomputer/arecibo#16
- argumentcomputer/arecibo#23
- argumentcomputer/arecibo#30
- argumentcomputer/arecibo#28
- argumentcomputer/arecibo#41
- argumentcomputer/arecibo#45
- argumentcomputer/arecibo#50
- argumentcomputer/arecibo#56
- argumentcomputer/arecibo#51
- argumentcomputer/arecibo#72
- argumentcomputer/arecibo#92
- argumentcomputer/arecibo#95
- argumentcomputer/arecibo#97
- argumentcomputer/arecibo#101
- argumentcomputer/arecibo#110
- argumentcomputer/arecibo#106
- argumentcomputer/arecibo#112
- argumentcomputer/arecibo#114
- argumentcomputer/arecibo#119
- argumentcomputer/arecibo#120
- argumentcomputer/arecibo#127
- argumentcomputer/arecibo#123
- argumentcomputer/arecibo#131
- argumentcomputer/arecibo#174
- argumentcomputer/arecibo#175
- argumentcomputer/arecibo#182

Co-authored-by: WYATT <[email protected]>
Co-authored-by: Hanting Zhang <[email protected]>
Co-authored-by: Ming <[email protected]>
Co-authored-by: porcuquine <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: Matej Penciak <[email protected]>
Co-authored-by: Adrian Hamelink <[email protected]>
huitseeker added a commit to argumentcomputer/Nova that referenced this pull request Jan 3, 2024
This implements [Supernova](https://eprint.iacr.org/2022/1758), allowing:
- a 'pay-as-you-go' cost structure for folding operations, through the SuperNova folding scheme,
- a final SNARK that efficiently compresses an instance of this folded proof, through batching techniques.

References:
- the [blog post](https://blog.lurk-lang.org/posts/arecibo-supernova/#technical-release-note-supernova-protocol-integration-into-nova) goes into our construction,
  and links to two more specialized notes on [the `CompressedSNARK` for Supernova](https://hackmd.io/@adr1anh/BJw1g0aBT) along with our variant of the [public input padding issue](https://hackmd.io/@adr1anh/Sy08YaVBa).
- the Readme at `src/supernova/Readme.md`

This backports the following Arecibo PRs:
- argumentcomputer/arecibo#2
- argumentcomputer/arecibo#3
- argumentcomputer/arecibo#10
- argumentcomputer/arecibo#16
- argumentcomputer/arecibo#23
- argumentcomputer/arecibo#30
- argumentcomputer/arecibo#28
- argumentcomputer/arecibo#41
- argumentcomputer/arecibo#45
- argumentcomputer/arecibo#50
- argumentcomputer/arecibo#56
- argumentcomputer/arecibo#51
- argumentcomputer/arecibo#72
- argumentcomputer/arecibo#92
- argumentcomputer/arecibo#95
- argumentcomputer/arecibo#97
- argumentcomputer/arecibo#101
- argumentcomputer/arecibo#110
- argumentcomputer/arecibo#106
- argumentcomputer/arecibo#112
- argumentcomputer/arecibo#114
- argumentcomputer/arecibo#119
- argumentcomputer/arecibo#120
- argumentcomputer/arecibo#127
- argumentcomputer/arecibo#123
- argumentcomputer/arecibo#131
- argumentcomputer/arecibo#174
- argumentcomputer/arecibo#175
- argumentcomputer/arecibo#182

Co-authored-by: WYATT <[email protected]>
Co-authored-by: Hanting Zhang <[email protected]>
Co-authored-by: Ming <[email protected]>
Co-authored-by: porcuquine <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: Matej Penciak <[email protected]>
Co-authored-by: Adrian Hamelink <[email protected]>
huitseeker added a commit to argumentcomputer/Nova that referenced this pull request Jan 4, 2024
This implements [Supernova](https://eprint.iacr.org/2022/1758), allowing:
- a 'pay-as-you-go' cost structure for folding operations, through the SuperNova folding scheme,
- a final SNARK that efficiently compresses an instance of this folded proof, through batching techniques.

References:
- the [blog post](https://blog.lurk-lang.org/posts/arecibo-supernova/#technical-release-note-supernova-protocol-integration-into-nova) goes into our construction,
  and links to two more specialized notes on [the `CompressedSNARK` for Supernova](https://hackmd.io/@adr1anh/BJw1g0aBT) along with our variant of the [public input padding issue](https://hackmd.io/@adr1anh/Sy08YaVBa).
- the Readme at `src/supernova/Readme.md`

This backports the following Arecibo PRs:
- argumentcomputer/arecibo#2
- argumentcomputer/arecibo#3
- argumentcomputer/arecibo#10
- argumentcomputer/arecibo#16
- argumentcomputer/arecibo#23
- argumentcomputer/arecibo#30
- argumentcomputer/arecibo#28
- argumentcomputer/arecibo#41
- argumentcomputer/arecibo#45
- argumentcomputer/arecibo#50
- argumentcomputer/arecibo#56
- argumentcomputer/arecibo#51
- argumentcomputer/arecibo#72
- argumentcomputer/arecibo#92
- argumentcomputer/arecibo#95
- argumentcomputer/arecibo#97
- argumentcomputer/arecibo#101
- argumentcomputer/arecibo#110
- argumentcomputer/arecibo#106
- argumentcomputer/arecibo#112
- argumentcomputer/arecibo#114
- argumentcomputer/arecibo#119
- argumentcomputer/arecibo#120
- argumentcomputer/arecibo#127
- argumentcomputer/arecibo#123
- argumentcomputer/arecibo#131
- argumentcomputer/arecibo#174
- argumentcomputer/arecibo#175
- argumentcomputer/arecibo#182

Co-authored-by: WYATT <[email protected]>
Co-authored-by: Hanting Zhang <[email protected]>
Co-authored-by: Ming <[email protected]>
Co-authored-by: porcuquine <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: Matej Penciak <[email protected]>
Co-authored-by: Adrian Hamelink <[email protected]>
huitseeker added a commit to argumentcomputer/Nova that referenced this pull request Jan 16, 2024
This implements [Supernova](https://eprint.iacr.org/2022/1758), allowing:
- a 'pay-as-you-go' cost structure for folding operations, through the SuperNova folding scheme,
- a final SNARK that efficiently compresses an instance of this folded proof, through batching techniques.

References:
- the [blog post](https://blog.lurk-lang.org/posts/arecibo-supernova/#technical-release-note-supernova-protocol-integration-into-nova) goes into our construction,
  and links to two more specialized notes on [the `CompressedSNARK` for Supernova](https://hackmd.io/@adr1anh/BJw1g0aBT) along with our variant of the [public input padding issue](https://hackmd.io/@adr1anh/Sy08YaVBa).
- the Readme at `src/supernova/Readme.md`

This backports the following Arecibo PRs:
- argumentcomputer/arecibo#2
- argumentcomputer/arecibo#3
- argumentcomputer/arecibo#10
- argumentcomputer/arecibo#16
- argumentcomputer/arecibo#23
- argumentcomputer/arecibo#30
- argumentcomputer/arecibo#28
- argumentcomputer/arecibo#41
- argumentcomputer/arecibo#45
- argumentcomputer/arecibo#50
- argumentcomputer/arecibo#56
- argumentcomputer/arecibo#51
- argumentcomputer/arecibo#72
- argumentcomputer/arecibo#92
- argumentcomputer/arecibo#95
- argumentcomputer/arecibo#97
- argumentcomputer/arecibo#101
- argumentcomputer/arecibo#110
- argumentcomputer/arecibo#106
- argumentcomputer/arecibo#112
- argumentcomputer/arecibo#114
- argumentcomputer/arecibo#119
- argumentcomputer/arecibo#120
- argumentcomputer/arecibo#127
- argumentcomputer/arecibo#123
- argumentcomputer/arecibo#131
- argumentcomputer/arecibo#174
- argumentcomputer/arecibo#175
- argumentcomputer/arecibo#182

Co-authored-by: WYATT <[email protected]>
Co-authored-by: Hanting Zhang <[email protected]>
Co-authored-by: Ming <[email protected]>
Co-authored-by: porcuquine <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: Matej Penciak <[email protected]>
Co-authored-by: Adrian Hamelink <[email protected]>
huitseeker added a commit to argumentcomputer/Nova that referenced this pull request Jan 25, 2024
This implements [Supernova](https://eprint.iacr.org/2022/1758), allowing:
- a 'pay-as-you-go' cost structure for folding operations, through the SuperNova folding scheme,
- a final SNARK that efficiently compresses an instance of this folded proof, through batching techniques.

References:
- the [blog post](https://blog.lurk-lang.org/posts/arecibo-supernova/#technical-release-note-supernova-protocol-integration-into-nova) goes into our construction,
  and links to two more specialized notes on [the `CompressedSNARK` for Supernova](https://hackmd.io/@adr1anh/BJw1g0aBT) along with our variant of the [public input padding issue](https://hackmd.io/@adr1anh/Sy08YaVBa).
- the Readme at `src/supernova/Readme.md`

This backports the following Arecibo PRs:
- argumentcomputer/arecibo#2
- argumentcomputer/arecibo#3
- argumentcomputer/arecibo#10
- argumentcomputer/arecibo#16
- argumentcomputer/arecibo#23
- argumentcomputer/arecibo#30
- argumentcomputer/arecibo#28
- argumentcomputer/arecibo#41
- argumentcomputer/arecibo#45
- argumentcomputer/arecibo#50
- argumentcomputer/arecibo#56
- argumentcomputer/arecibo#51
- argumentcomputer/arecibo#72
- argumentcomputer/arecibo#92
- argumentcomputer/arecibo#95
- argumentcomputer/arecibo#97
- argumentcomputer/arecibo#101
- argumentcomputer/arecibo#110
- argumentcomputer/arecibo#106
- argumentcomputer/arecibo#112
- argumentcomputer/arecibo#114
- argumentcomputer/arecibo#119
- argumentcomputer/arecibo#120
- argumentcomputer/arecibo#127
- argumentcomputer/arecibo#123
- argumentcomputer/arecibo#131
- argumentcomputer/arecibo#174
- argumentcomputer/arecibo#175
- argumentcomputer/arecibo#182

Co-authored-by: WYATT <[email protected]>
Co-authored-by: Hanting Zhang <[email protected]>
Co-authored-by: Ming <[email protected]>
Co-authored-by: porcuquine <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: Matej Penciak <[email protected]>
Co-authored-by: Adrian Hamelink <[email protected]>
huitseeker added a commit to argumentcomputer/Nova that referenced this pull request Jan 25, 2024
This implements [Supernova](https://eprint.iacr.org/2022/1758), allowing:
- a 'pay-as-you-go' cost structure for folding operations, through the SuperNova folding scheme,
- a final SNARK that efficiently compresses an instance of this folded proof, through batching techniques.

References:
- the [blog post](https://blog.lurk-lang.org/posts/arecibo-supernova/#technical-release-note-supernova-protocol-integration-into-nova) goes into our construction,
  and links to two more specialized notes on [the `CompressedSNARK` for Supernova](https://hackmd.io/@adr1anh/BJw1g0aBT) along with our variant of the [public input padding issue](https://hackmd.io/@adr1anh/Sy08YaVBa).
- the Readme at `src/supernova/Readme.md`

This backports the following Arecibo PRs:
- argumentcomputer/arecibo#2
- argumentcomputer/arecibo#3
- argumentcomputer/arecibo#10
- argumentcomputer/arecibo#16
- argumentcomputer/arecibo#23
- argumentcomputer/arecibo#30
- argumentcomputer/arecibo#28
- argumentcomputer/arecibo#41
- argumentcomputer/arecibo#45
- argumentcomputer/arecibo#50
- argumentcomputer/arecibo#56
- argumentcomputer/arecibo#51
- argumentcomputer/arecibo#72
- argumentcomputer/arecibo#92
- argumentcomputer/arecibo#95
- argumentcomputer/arecibo#97
- argumentcomputer/arecibo#101
- argumentcomputer/arecibo#110
- argumentcomputer/arecibo#106
- argumentcomputer/arecibo#112
- argumentcomputer/arecibo#114
- argumentcomputer/arecibo#119
- argumentcomputer/arecibo#120
- argumentcomputer/arecibo#127
- argumentcomputer/arecibo#123
- argumentcomputer/arecibo#131
- argumentcomputer/arecibo#174
- argumentcomputer/arecibo#175
- argumentcomputer/arecibo#182

Co-authored-by: WYATT <[email protected]>
Co-authored-by: Hanting Zhang <[email protected]>
Co-authored-by: Ming <[email protected]>
Co-authored-by: porcuquine <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: Matej Penciak <[email protected]>
Co-authored-by: Adrian Hamelink <[email protected]>
huitseeker added a commit to argumentcomputer/Nova that referenced this pull request Jan 31, 2024
This implements [Supernova](https://eprint.iacr.org/2022/1758), allowing:
- a 'pay-as-you-go' cost structure for folding operations, through the SuperNova folding scheme,
- a final SNARK that efficiently compresses an instance of this folded proof, through batching techniques.

References:
- the [blog post](https://blog.lurk-lang.org/posts/arecibo-supernova/#technical-release-note-supernova-protocol-integration-into-nova) goes into our construction,
  and links to two more specialized notes on [the `CompressedSNARK` for Supernova](https://hackmd.io/@adr1anh/BJw1g0aBT) along with our variant of the [public input padding issue](https://hackmd.io/@adr1anh/Sy08YaVBa).
- the Readme at `src/supernova/Readme.md`

This backports the following Arecibo PRs:
- argumentcomputer/arecibo#2
- argumentcomputer/arecibo#3
- argumentcomputer/arecibo#10
- argumentcomputer/arecibo#16
- argumentcomputer/arecibo#23
- argumentcomputer/arecibo#30
- argumentcomputer/arecibo#28
- argumentcomputer/arecibo#41
- argumentcomputer/arecibo#45
- argumentcomputer/arecibo#50
- argumentcomputer/arecibo#56
- argumentcomputer/arecibo#51
- argumentcomputer/arecibo#72
- argumentcomputer/arecibo#92
- argumentcomputer/arecibo#95
- argumentcomputer/arecibo#97
- argumentcomputer/arecibo#101
- argumentcomputer/arecibo#110
- argumentcomputer/arecibo#106
- argumentcomputer/arecibo#112
- argumentcomputer/arecibo#114
- argumentcomputer/arecibo#119
- argumentcomputer/arecibo#120
- argumentcomputer/arecibo#127
- argumentcomputer/arecibo#123
- argumentcomputer/arecibo#131
- argumentcomputer/arecibo#174
- argumentcomputer/arecibo#175
- argumentcomputer/arecibo#182

Co-authored-by: WYATT <[email protected]>
Co-authored-by: Hanting Zhang <[email protected]>
Co-authored-by: Ming <[email protected]>
Co-authored-by: porcuquine <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: Matej Penciak <[email protected]>
Co-authored-by: Adrian Hamelink <[email protected]>
huitseeker added a commit to argumentcomputer/Nova that referenced this pull request Feb 21, 2024
This implements [Supernova](https://eprint.iacr.org/2022/1758), allowing:
- a 'pay-as-you-go' cost structure for folding operations, through the SuperNova folding scheme,
- a final SNARK that efficiently compresses an instance of this folded proof, through batching techniques.

References:
- the [blog post](https://blog.lurk-lang.org/posts/arecibo-supernova/#technical-release-note-supernova-protocol-integration-into-nova) goes into our construction,
  and links to two more specialized notes on [the `CompressedSNARK` for Supernova](https://hackmd.io/@adr1anh/BJw1g0aBT) along with our variant of the [public input padding issue](https://hackmd.io/@adr1anh/Sy08YaVBa).
- the Readme at `src/supernova/Readme.md`

This backports the following Arecibo PRs:
- argumentcomputer/arecibo#2
- argumentcomputer/arecibo#3
- argumentcomputer/arecibo#10
- argumentcomputer/arecibo#16
- argumentcomputer/arecibo#23
- argumentcomputer/arecibo#30
- argumentcomputer/arecibo#28
- argumentcomputer/arecibo#41
- argumentcomputer/arecibo#45
- argumentcomputer/arecibo#50
- argumentcomputer/arecibo#56
- argumentcomputer/arecibo#51
- argumentcomputer/arecibo#72
- argumentcomputer/arecibo#92
- argumentcomputer/arecibo#95
- argumentcomputer/arecibo#97
- argumentcomputer/arecibo#101
- argumentcomputer/arecibo#110
- argumentcomputer/arecibo#106
- argumentcomputer/arecibo#112
- argumentcomputer/arecibo#114
- argumentcomputer/arecibo#119
- argumentcomputer/arecibo#120
- argumentcomputer/arecibo#127
- argumentcomputer/arecibo#123
- argumentcomputer/arecibo#131
- argumentcomputer/arecibo#174
- argumentcomputer/arecibo#175
- argumentcomputer/arecibo#182

Co-authored-by: WYATT <[email protected]>
Co-authored-by: Hanting Zhang <[email protected]>
Co-authored-by: Ming <[email protected]>
Co-authored-by: porcuquine <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: Matej Penciak <[email protected]>
Co-authored-by: Adrian Hamelink <[email protected]>
huitseeker added a commit to argumentcomputer/Nova that referenced this pull request Mar 7, 2024
This implements [Supernova](https://eprint.iacr.org/2022/1758), allowing:
- a 'pay-as-you-go' cost structure for folding operations, through the SuperNova folding scheme,
- a final SNARK that efficiently compresses an instance of this folded proof, through batching techniques.

References:
- the [blog post](https://blog.lurk-lang.org/posts/arecibo-supernova/#technical-release-note-supernova-protocol-integration-into-nova) goes into our construction,
  and links to two more specialized notes on [the `CompressedSNARK` for Supernova](https://hackmd.io/@adr1anh/BJw1g0aBT) along with our variant of the [public input padding issue](https://hackmd.io/@adr1anh/Sy08YaVBa).
- the Readme at `src/supernova/Readme.md`

This backports the following Arecibo PRs:
- argumentcomputer/arecibo#2
- argumentcomputer/arecibo#3
- argumentcomputer/arecibo#10
- argumentcomputer/arecibo#16
- argumentcomputer/arecibo#23
- argumentcomputer/arecibo#30
- argumentcomputer/arecibo#28
- argumentcomputer/arecibo#41
- argumentcomputer/arecibo#45
- argumentcomputer/arecibo#50
- argumentcomputer/arecibo#56
- argumentcomputer/arecibo#51
- argumentcomputer/arecibo#72
- argumentcomputer/arecibo#92
- argumentcomputer/arecibo#95
- argumentcomputer/arecibo#97
- argumentcomputer/arecibo#101
- argumentcomputer/arecibo#110
- argumentcomputer/arecibo#106
- argumentcomputer/arecibo#112
- argumentcomputer/arecibo#114
- argumentcomputer/arecibo#119
- argumentcomputer/arecibo#120
- argumentcomputer/arecibo#127
- argumentcomputer/arecibo#123
- argumentcomputer/arecibo#131
- argumentcomputer/arecibo#174
- argumentcomputer/arecibo#175
- argumentcomputer/arecibo#182

Co-authored-by: WYATT <[email protected]>
Co-authored-by: Hanting Zhang <[email protected]>
Co-authored-by: Ming <[email protected]>
Co-authored-by: porcuquine <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: Matej Penciak <[email protected]>
Co-authored-by: Adrian Hamelink <[email protected]>
huitseeker added a commit to argumentcomputer/Nova that referenced this pull request May 2, 2024
This implements [Supernova](https://eprint.iacr.org/2022/1758), allowing:
- a 'pay-as-you-go' cost structure for folding operations, through the SuperNova folding scheme,
- a final SNARK that efficiently compresses an instance of this folded proof, through batching techniques.

References:
- the [blog post](https://blog.lurk-lang.org/posts/arecibo-supernova/#technical-release-note-supernova-protocol-integration-into-nova) goes into our construction,
  and links to two more specialized notes on [the `CompressedSNARK` for Supernova](https://hackmd.io/@adr1anh/BJw1g0aBT) along with our variant of the [public input padding issue](https://hackmd.io/@adr1anh/Sy08YaVBa).
- the Readme at `src/supernova/Readme.md`

This backports the following Arecibo PRs:
- argumentcomputer/arecibo#2
- argumentcomputer/arecibo#3
- argumentcomputer/arecibo#10
- argumentcomputer/arecibo#16
- argumentcomputer/arecibo#23
- argumentcomputer/arecibo#30
- argumentcomputer/arecibo#28
- argumentcomputer/arecibo#41
- argumentcomputer/arecibo#45
- argumentcomputer/arecibo#50
- argumentcomputer/arecibo#56
- argumentcomputer/arecibo#51
- argumentcomputer/arecibo#72
- argumentcomputer/arecibo#92
- argumentcomputer/arecibo#95
- argumentcomputer/arecibo#97
- argumentcomputer/arecibo#101
- argumentcomputer/arecibo#110
- argumentcomputer/arecibo#106
- argumentcomputer/arecibo#112
- argumentcomputer/arecibo#114
- argumentcomputer/arecibo#119
- argumentcomputer/arecibo#120
- argumentcomputer/arecibo#127
- argumentcomputer/arecibo#123
- argumentcomputer/arecibo#131
- argumentcomputer/arecibo#174
- argumentcomputer/arecibo#175
- argumentcomputer/arecibo#182

Co-authored-by: WYATT <[email protected]>
Co-authored-by: Hanting Zhang <[email protected]>
Co-authored-by: Ming <[email protected]>
Co-authored-by: porcuquine <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: Matej Penciak <[email protected]>
Co-authored-by: Adrian Hamelink <[email protected]>
huitseeker added a commit to argumentcomputer/Nova that referenced this pull request May 3, 2024
This implements [Supernova](https://eprint.iacr.org/2022/1758), allowing:
- a 'pay-as-you-go' cost structure for folding operations, through the SuperNova folding scheme,
- a final SNARK that efficiently compresses an instance of this folded proof, through batching techniques.

References:
- the [blog post](https://blog.lurk-lang.org/posts/arecibo-supernova/#technical-release-note-supernova-protocol-integration-into-nova) goes into our construction,
  and links to two more specialized notes on [the `CompressedSNARK` for Supernova](https://hackmd.io/@adr1anh/BJw1g0aBT) along with our variant of the [public input padding issue](https://hackmd.io/@adr1anh/Sy08YaVBa).
- the Readme at `src/supernova/Readme.md`

This backports the following Arecibo PRs:
- argumentcomputer/arecibo#2
- argumentcomputer/arecibo#3
- argumentcomputer/arecibo#10
- argumentcomputer/arecibo#16
- argumentcomputer/arecibo#23
- argumentcomputer/arecibo#30
- argumentcomputer/arecibo#28
- argumentcomputer/arecibo#41
- argumentcomputer/arecibo#45
- argumentcomputer/arecibo#50
- argumentcomputer/arecibo#56
- argumentcomputer/arecibo#51
- argumentcomputer/arecibo#72
- argumentcomputer/arecibo#92
- argumentcomputer/arecibo#95
- argumentcomputer/arecibo#97
- argumentcomputer/arecibo#101
- argumentcomputer/arecibo#110
- argumentcomputer/arecibo#106
- argumentcomputer/arecibo#112
- argumentcomputer/arecibo#114
- argumentcomputer/arecibo#119
- argumentcomputer/arecibo#120
- argumentcomputer/arecibo#127
- argumentcomputer/arecibo#123
- argumentcomputer/arecibo#131
- argumentcomputer/arecibo#174
- argumentcomputer/arecibo#175
- argumentcomputer/arecibo#182

Co-authored-by: WYATT <[email protected]>
Co-authored-by: Hanting Zhang <[email protected]>
Co-authored-by: Ming <[email protected]>
Co-authored-by: porcuquine <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: Matej Penciak <[email protected]>
Co-authored-by: Adrian Hamelink <[email protected]>
huitseeker added a commit to argumentcomputer/Nova that referenced this pull request Jun 8, 2024
This implements [Supernova](https://eprint.iacr.org/2022/1758), allowing:
- a 'pay-as-you-go' cost structure for folding operations, through the SuperNova folding scheme,
- a final SNARK that efficiently compresses an instance of this folded proof, through batching techniques.

References:
- the [blog post](https://blog.lurk-lang.org/posts/arecibo-supernova/#technical-release-note-supernova-protocol-integration-into-nova) goes into our construction,
  and links to two more specialized notes on [the `CompressedSNARK` for Supernova](https://hackmd.io/@adr1anh/BJw1g0aBT) along with our variant of the [public input padding issue](https://hackmd.io/@adr1anh/Sy08YaVBa).
- the Readme at `src/supernova/Readme.md`

This backports the following Arecibo PRs:
- argumentcomputer/arecibo#2
- argumentcomputer/arecibo#3
- argumentcomputer/arecibo#10
- argumentcomputer/arecibo#16
- argumentcomputer/arecibo#23
- argumentcomputer/arecibo#30
- argumentcomputer/arecibo#28
- argumentcomputer/arecibo#41
- argumentcomputer/arecibo#45
- argumentcomputer/arecibo#50
- argumentcomputer/arecibo#56
- argumentcomputer/arecibo#51
- argumentcomputer/arecibo#72
- argumentcomputer/arecibo#92
- argumentcomputer/arecibo#95
- argumentcomputer/arecibo#97
- argumentcomputer/arecibo#101
- argumentcomputer/arecibo#110
- argumentcomputer/arecibo#106
- argumentcomputer/arecibo#112
- argumentcomputer/arecibo#114
- argumentcomputer/arecibo#119
- argumentcomputer/arecibo#120
- argumentcomputer/arecibo#127
- argumentcomputer/arecibo#123
- argumentcomputer/arecibo#131
- argumentcomputer/arecibo#174
- argumentcomputer/arecibo#175
- argumentcomputer/arecibo#182

Co-authored-by: WYATT <[email protected]>
Co-authored-by: Hanting Zhang <[email protected]>
Co-authored-by: Ming <[email protected]>
Co-authored-by: porcuquine <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: Matej Penciak <[email protected]>
Co-authored-by: Adrian Hamelink <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants