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 supernova module to avoid needless pass-by-value #28

Merged
merged 1 commit into from
Aug 28, 2023

Conversation

huitseeker
Copy link
Contributor

  • Modified SuperNovaAugmentedCircuitParams to be passed by reference in test_recursive_circuit_with function and associated instances in test.rs.
  • Updated SuperNovaAugmentedCircuit::new method to match changes in the test_recursive_circuit_with function.
  • Revamped arguments handling in synthesize_non_base_case and synthesize functions in circuit.rs, changing from owned types to references to reduce unnecessary cloning.
  • Altered function body to accommodate the changes for referenced values in circuit.rs.

@huitseeker huitseeker requested a review from porcuquine August 27, 2023 17:33
@huitseeker huitseeker force-pushed the needless_pass_by_values branch from 0d8f67a to 1935059 Compare August 27, 2023 17:36
porcuquine
porcuquine previously approved these changes Aug 27, 2023
Copy link
Contributor

@porcuquine porcuquine 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 once CI passes. Consider merging #23 first then applying changes there for simplicity if this is still incomplete.

porcuquine
porcuquine previously approved these changes Aug 27, 2023
@huitseeker huitseeker force-pushed the needless_pass_by_values branch 2 times, most recently from 5ef7ea2 to a25bc5b Compare August 28, 2023 05:08
porcuquine
porcuquine previously approved these changes Aug 28, 2023
@huitseeker huitseeker added this pull request to the merge queue Aug 28, 2023
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to a conflict with the base branch Aug 28, 2023
@huitseeker huitseeker force-pushed the needless_pass_by_values branch from a25bc5b to 5785b4b Compare August 28, 2023 18:20
- Modified `SuperNovaAugmentedCircuitParams` to be passed by reference in `test_recursive_circuit_with` function and associated instances in `test.rs`.
- Updated `SuperNovaAugmentedCircuit::new` method to match changes in the `test_recursive_circuit_with` function.
- Revamped arguments handling in `synthesize_non_base_case` and `synthesize` functions in `circuit.rs`, changing from owned types to references to reduce unnecessary cloning.
- Altered function body to accommodate the changes for referenced values in `circuit.rs`.
@huitseeker huitseeker force-pushed the needless_pass_by_values branch from 5785b4b to caa1255 Compare August 28, 2023 18:34
@huitseeker huitseeker enabled auto-merge August 28, 2023 18:47
@huitseeker huitseeker added this pull request to the merge queue Aug 28, 2023
Merged via the queue into dev with commit b1f971b Aug 28, 2023
@huitseeker huitseeker deleted the needless_pass_by_values branch August 28, 2023 19:35
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 lurk-lang/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:
- lurk-lang/arecibo#2
- lurk-lang/arecibo#3
- lurk-lang/arecibo#10
- lurk-lang/arecibo#16
- lurk-lang/arecibo#23
- lurk-lang/arecibo#30
- lurk-lang/arecibo#28
- lurk-lang/arecibo#41
- lurk-lang/arecibo#45
- lurk-lang/arecibo#50
- lurk-lang/arecibo#56
- lurk-lang/arecibo#51
- lurk-lang/arecibo#72
- lurk-lang/arecibo#92
- lurk-lang/arecibo#95
- lurk-lang/arecibo#97
- lurk-lang/arecibo#101
- lurk-lang/arecibo#110
- lurk-lang/arecibo#106
- lurk-lang/arecibo#112
- lurk-lang/arecibo#114
- lurk-lang/arecibo#119
- lurk-lang/arecibo#120
- lurk-lang/arecibo#127
- lurk-lang/arecibo#123
- lurk-lang/arecibo#131
- lurk-lang/arecibo#174
- lurk-lang/arecibo#175
- lurk-lang/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 lurk-lang/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:
- lurk-lang/arecibo#2
- lurk-lang/arecibo#3
- lurk-lang/arecibo#10
- lurk-lang/arecibo#16
- lurk-lang/arecibo#23
- lurk-lang/arecibo#30
- lurk-lang/arecibo#28
- lurk-lang/arecibo#41
- lurk-lang/arecibo#45
- lurk-lang/arecibo#50
- lurk-lang/arecibo#56
- lurk-lang/arecibo#51
- lurk-lang/arecibo#72
- lurk-lang/arecibo#92
- lurk-lang/arecibo#95
- lurk-lang/arecibo#97
- lurk-lang/arecibo#101
- lurk-lang/arecibo#110
- lurk-lang/arecibo#106
- lurk-lang/arecibo#112
- lurk-lang/arecibo#114
- lurk-lang/arecibo#119
- lurk-lang/arecibo#120
- lurk-lang/arecibo#127
- lurk-lang/arecibo#123
- lurk-lang/arecibo#131
- lurk-lang/arecibo#174
- lurk-lang/arecibo#175
- lurk-lang/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 lurk-lang/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:
- lurk-lang/arecibo#2
- lurk-lang/arecibo#3
- lurk-lang/arecibo#10
- lurk-lang/arecibo#16
- lurk-lang/arecibo#23
- lurk-lang/arecibo#30
- lurk-lang/arecibo#28
- lurk-lang/arecibo#41
- lurk-lang/arecibo#45
- lurk-lang/arecibo#50
- lurk-lang/arecibo#56
- lurk-lang/arecibo#51
- lurk-lang/arecibo#72
- lurk-lang/arecibo#92
- lurk-lang/arecibo#95
- lurk-lang/arecibo#97
- lurk-lang/arecibo#101
- lurk-lang/arecibo#110
- lurk-lang/arecibo#106
- lurk-lang/arecibo#112
- lurk-lang/arecibo#114
- lurk-lang/arecibo#119
- lurk-lang/arecibo#120
- lurk-lang/arecibo#127
- lurk-lang/arecibo#123
- lurk-lang/arecibo#131
- lurk-lang/arecibo#174
- lurk-lang/arecibo#175
- lurk-lang/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 lurk-lang/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:
- lurk-lang/arecibo#2
- lurk-lang/arecibo#3
- lurk-lang/arecibo#10
- lurk-lang/arecibo#16
- lurk-lang/arecibo#23
- lurk-lang/arecibo#30
- lurk-lang/arecibo#28
- lurk-lang/arecibo#41
- lurk-lang/arecibo#45
- lurk-lang/arecibo#50
- lurk-lang/arecibo#56
- lurk-lang/arecibo#51
- lurk-lang/arecibo#72
- lurk-lang/arecibo#92
- lurk-lang/arecibo#95
- lurk-lang/arecibo#97
- lurk-lang/arecibo#101
- lurk-lang/arecibo#110
- lurk-lang/arecibo#106
- lurk-lang/arecibo#112
- lurk-lang/arecibo#114
- lurk-lang/arecibo#119
- lurk-lang/arecibo#120
- lurk-lang/arecibo#127
- lurk-lang/arecibo#123
- lurk-lang/arecibo#131
- lurk-lang/arecibo#174
- lurk-lang/arecibo#175
- lurk-lang/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 lurk-lang/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:
- lurk-lang/arecibo#2
- lurk-lang/arecibo#3
- lurk-lang/arecibo#10
- lurk-lang/arecibo#16
- lurk-lang/arecibo#23
- lurk-lang/arecibo#30
- lurk-lang/arecibo#28
- lurk-lang/arecibo#41
- lurk-lang/arecibo#45
- lurk-lang/arecibo#50
- lurk-lang/arecibo#56
- lurk-lang/arecibo#51
- lurk-lang/arecibo#72
- lurk-lang/arecibo#92
- lurk-lang/arecibo#95
- lurk-lang/arecibo#97
- lurk-lang/arecibo#101
- lurk-lang/arecibo#110
- lurk-lang/arecibo#106
- lurk-lang/arecibo#112
- lurk-lang/arecibo#114
- lurk-lang/arecibo#119
- lurk-lang/arecibo#120
- lurk-lang/arecibo#127
- lurk-lang/arecibo#123
- lurk-lang/arecibo#131
- lurk-lang/arecibo#174
- lurk-lang/arecibo#175
- lurk-lang/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 lurk-lang/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:
- lurk-lang/arecibo#2
- lurk-lang/arecibo#3
- lurk-lang/arecibo#10
- lurk-lang/arecibo#16
- lurk-lang/arecibo#23
- lurk-lang/arecibo#30
- lurk-lang/arecibo#28
- lurk-lang/arecibo#41
- lurk-lang/arecibo#45
- lurk-lang/arecibo#50
- lurk-lang/arecibo#56
- lurk-lang/arecibo#51
- lurk-lang/arecibo#72
- lurk-lang/arecibo#92
- lurk-lang/arecibo#95
- lurk-lang/arecibo#97
- lurk-lang/arecibo#101
- lurk-lang/arecibo#110
- lurk-lang/arecibo#106
- lurk-lang/arecibo#112
- lurk-lang/arecibo#114
- lurk-lang/arecibo#119
- lurk-lang/arecibo#120
- lurk-lang/arecibo#127
- lurk-lang/arecibo#123
- lurk-lang/arecibo#131
- lurk-lang/arecibo#174
- lurk-lang/arecibo#175
- lurk-lang/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 lurk-lang/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:
- lurk-lang/arecibo#2
- lurk-lang/arecibo#3
- lurk-lang/arecibo#10
- lurk-lang/arecibo#16
- lurk-lang/arecibo#23
- lurk-lang/arecibo#30
- lurk-lang/arecibo#28
- lurk-lang/arecibo#41
- lurk-lang/arecibo#45
- lurk-lang/arecibo#50
- lurk-lang/arecibo#56
- lurk-lang/arecibo#51
- lurk-lang/arecibo#72
- lurk-lang/arecibo#92
- lurk-lang/arecibo#95
- lurk-lang/arecibo#97
- lurk-lang/arecibo#101
- lurk-lang/arecibo#110
- lurk-lang/arecibo#106
- lurk-lang/arecibo#112
- lurk-lang/arecibo#114
- lurk-lang/arecibo#119
- lurk-lang/arecibo#120
- lurk-lang/arecibo#127
- lurk-lang/arecibo#123
- lurk-lang/arecibo#131
- lurk-lang/arecibo#174
- lurk-lang/arecibo#175
- lurk-lang/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 lurk-lang/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:
- lurk-lang/arecibo#2
- lurk-lang/arecibo#3
- lurk-lang/arecibo#10
- lurk-lang/arecibo#16
- lurk-lang/arecibo#23
- lurk-lang/arecibo#30
- lurk-lang/arecibo#28
- lurk-lang/arecibo#41
- lurk-lang/arecibo#45
- lurk-lang/arecibo#50
- lurk-lang/arecibo#56
- lurk-lang/arecibo#51
- lurk-lang/arecibo#72
- lurk-lang/arecibo#92
- lurk-lang/arecibo#95
- lurk-lang/arecibo#97
- lurk-lang/arecibo#101
- lurk-lang/arecibo#110
- lurk-lang/arecibo#106
- lurk-lang/arecibo#112
- lurk-lang/arecibo#114
- lurk-lang/arecibo#119
- lurk-lang/arecibo#120
- lurk-lang/arecibo#127
- lurk-lang/arecibo#123
- lurk-lang/arecibo#131
- lurk-lang/arecibo#174
- lurk-lang/arecibo#175
- lurk-lang/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 lurk-lang/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:
- lurk-lang/arecibo#2
- lurk-lang/arecibo#3
- lurk-lang/arecibo#10
- lurk-lang/arecibo#16
- lurk-lang/arecibo#23
- lurk-lang/arecibo#30
- lurk-lang/arecibo#28
- lurk-lang/arecibo#41
- lurk-lang/arecibo#45
- lurk-lang/arecibo#50
- lurk-lang/arecibo#56
- lurk-lang/arecibo#51
- lurk-lang/arecibo#72
- lurk-lang/arecibo#92
- lurk-lang/arecibo#95
- lurk-lang/arecibo#97
- lurk-lang/arecibo#101
- lurk-lang/arecibo#110
- lurk-lang/arecibo#106
- lurk-lang/arecibo#112
- lurk-lang/arecibo#114
- lurk-lang/arecibo#119
- lurk-lang/arecibo#120
- lurk-lang/arecibo#127
- lurk-lang/arecibo#123
- lurk-lang/arecibo#131
- lurk-lang/arecibo#174
- lurk-lang/arecibo#175
- lurk-lang/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 lurk-lang/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:
- lurk-lang/arecibo#2
- lurk-lang/arecibo#3
- lurk-lang/arecibo#10
- lurk-lang/arecibo#16
- lurk-lang/arecibo#23
- lurk-lang/arecibo#30
- lurk-lang/arecibo#28
- lurk-lang/arecibo#41
- lurk-lang/arecibo#45
- lurk-lang/arecibo#50
- lurk-lang/arecibo#56
- lurk-lang/arecibo#51
- lurk-lang/arecibo#72
- lurk-lang/arecibo#92
- lurk-lang/arecibo#95
- lurk-lang/arecibo#97
- lurk-lang/arecibo#101
- lurk-lang/arecibo#110
- lurk-lang/arecibo#106
- lurk-lang/arecibo#112
- lurk-lang/arecibo#114
- lurk-lang/arecibo#119
- lurk-lang/arecibo#120
- lurk-lang/arecibo#127
- lurk-lang/arecibo#123
- lurk-lang/arecibo#131
- lurk-lang/arecibo#174
- lurk-lang/arecibo#175
- lurk-lang/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 lurk-lang/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:
- lurk-lang/arecibo#2
- lurk-lang/arecibo#3
- lurk-lang/arecibo#10
- lurk-lang/arecibo#16
- lurk-lang/arecibo#23
- lurk-lang/arecibo#30
- lurk-lang/arecibo#28
- lurk-lang/arecibo#41
- lurk-lang/arecibo#45
- lurk-lang/arecibo#50
- lurk-lang/arecibo#56
- lurk-lang/arecibo#51
- lurk-lang/arecibo#72
- lurk-lang/arecibo#92
- lurk-lang/arecibo#95
- lurk-lang/arecibo#97
- lurk-lang/arecibo#101
- lurk-lang/arecibo#110
- lurk-lang/arecibo#106
- lurk-lang/arecibo#112
- lurk-lang/arecibo#114
- lurk-lang/arecibo#119
- lurk-lang/arecibo#120
- lurk-lang/arecibo#127
- lurk-lang/arecibo#123
- lurk-lang/arecibo#131
- lurk-lang/arecibo#174
- lurk-lang/arecibo#175
- lurk-lang/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 lurk-lang/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:
- lurk-lang/arecibo#2
- lurk-lang/arecibo#3
- lurk-lang/arecibo#10
- lurk-lang/arecibo#16
- lurk-lang/arecibo#23
- lurk-lang/arecibo#30
- lurk-lang/arecibo#28
- lurk-lang/arecibo#41
- lurk-lang/arecibo#45
- lurk-lang/arecibo#50
- lurk-lang/arecibo#56
- lurk-lang/arecibo#51
- lurk-lang/arecibo#72
- lurk-lang/arecibo#92
- lurk-lang/arecibo#95
- lurk-lang/arecibo#97
- lurk-lang/arecibo#101
- lurk-lang/arecibo#110
- lurk-lang/arecibo#106
- lurk-lang/arecibo#112
- lurk-lang/arecibo#114
- lurk-lang/arecibo#119
- lurk-lang/arecibo#120
- lurk-lang/arecibo#127
- lurk-lang/arecibo#123
- lurk-lang/arecibo#131
- lurk-lang/arecibo#174
- lurk-lang/arecibo#175
- lurk-lang/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 lurk-lang/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:
- lurk-lang/arecibo#2
- lurk-lang/arecibo#3
- lurk-lang/arecibo#10
- lurk-lang/arecibo#16
- lurk-lang/arecibo#23
- lurk-lang/arecibo#30
- lurk-lang/arecibo#28
- lurk-lang/arecibo#41
- lurk-lang/arecibo#45
- lurk-lang/arecibo#50
- lurk-lang/arecibo#56
- lurk-lang/arecibo#51
- lurk-lang/arecibo#72
- lurk-lang/arecibo#92
- lurk-lang/arecibo#95
- lurk-lang/arecibo#97
- lurk-lang/arecibo#101
- lurk-lang/arecibo#110
- lurk-lang/arecibo#106
- lurk-lang/arecibo#112
- lurk-lang/arecibo#114
- lurk-lang/arecibo#119
- lurk-lang/arecibo#120
- lurk-lang/arecibo#127
- lurk-lang/arecibo#123
- lurk-lang/arecibo#131
- lurk-lang/arecibo#174
- lurk-lang/arecibo#175
- lurk-lang/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.

2 participants