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

Enforce program counter in SuperNova StepCircuit. #41

Merged
merged 4 commits into from
Sep 8, 2023
Merged

Conversation

porcuquine
Copy link
Contributor

@porcuquine porcuquine commented Sep 7, 2023

This PR formalizes the requirement that the new program counter returned from circuit_supernova::StepCircuit::synthesize() is the one assigned to the circuit that is actually synthesized at each step.

The previous TestROM example actually did not follow this convention but rather used the program counter for its own purposes, as an index into a predetermined sequence of operations — then enforced the correctness of this ad-hoc indexing scheme in each circuit.

The current work enforces the constraint that pc has been correctly calculated and returned from each circuit, requiring that it is interpreted precisely as that circuit's assigned index in the RunningClaims.

In order to make the existing tests pass, they were reworked to re-envision the pseudo-pc enforcement at the start of each circuit — to a calculation (morally $\varphi$) of the new pc to be returned at the 'end' of the circuit. Without this change, the existing tests fail, exactly as expected, since pc was a monotonically increasing value, rather than the index of the chosen next circuit.

The circuit necessarily grows by one constraint.

Since the goal is that for the SuperNova user (the application/protocol/proof developer), the enforcement is performed by a new, internal trait circuit_supernova::EnforcingStepCircuit — which is automatically implemented for types that implement circuit_supernova::StepCircuit.

@porcuquine porcuquine force-pushed the constrain-index branch 3 times, most recently from bd176a1 to 4cbff2b Compare September 7, 2023 00:55
@porcuquine porcuquine marked this pull request as ready for review September 7, 2023 00:56
@hero78119
Copy link
Contributor

hero78119 commented Sep 7, 2023

LGTM! it's nice to formalize and align terminology of pc with Supernova paper, so it will be friendly for audience came from paper reading. Besides it also cover TestROM use case properly in test case, still left the door open for other applications 👍

Copy link
Member

@huitseeker huitseeker left a comment

Choose a reason for hiding this comment

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

Thanks a bunch!

Ok(c)
}

fn next_rom_index_and_pc<F: PrimeField, CS: ConstraintSystem<F>>(
Copy link
Member

Choose a reason for hiding this comment

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

This would benefit from a doctoring no?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'm not sure what you mean. The name? I'm not keen on getting too deep into design/engineering of the 'API' for the toy ROM example, since it's pretty contrived in its current state anyway. But I may also miss what you are suggesting.

@porcuquine porcuquine added this pull request to the merge queue Sep 8, 2023
Merged via the queue into dev with commit d102a28 Sep 8, 2023
2 checks passed
@porcuquine porcuquine deleted the constrain-index branch September 8, 2023 21:58
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 <wyattbenno@gmail.com>
Co-authored-by: Hanting Zhang <hantingz@usc.edu>
Co-authored-by: Ming <hero78119@gmail.com>
Co-authored-by: porcuquine <porcuquine@users.noreply.github.com>
Co-authored-by: Samuel Burnham <45365069+samuelburnham@users.noreply.github.com>
Co-authored-by: Matej Penciak <96667244+mpenciak@users.noreply.github.com>
Co-authored-by: Adrian Hamelink <adrian.hamelink@gmail.com>
huitseeker added a commit to lurk-lab/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-lab/arecibo#2
- lurk-lab/arecibo#3
- lurk-lab/arecibo#10
- lurk-lab/arecibo#16
- lurk-lab/arecibo#23
- lurk-lab/arecibo#30
- lurk-lab/arecibo#28
- lurk-lab/arecibo#41
- lurk-lab/arecibo#45
- lurk-lab/arecibo#50
- lurk-lab/arecibo#56
- lurk-lab/arecibo#51
- lurk-lab/arecibo#72
- lurk-lab/arecibo#92
- lurk-lab/arecibo#95
- lurk-lab/arecibo#97
- lurk-lab/arecibo#101
- lurk-lab/arecibo#110
- lurk-lab/arecibo#106
- lurk-lab/arecibo#112
- lurk-lab/arecibo#114
- lurk-lab/arecibo#119
- lurk-lab/arecibo#120
- lurk-lab/arecibo#127
- lurk-lab/arecibo#123
- lurk-lab/arecibo#131
- lurk-lab/arecibo#174
- lurk-lab/arecibo#175
- lurk-lab/arecibo#182

Co-authored-by: WYATT <wyattbenno@gmail.com>
Co-authored-by: Hanting Zhang <hantingz@usc.edu>
Co-authored-by: Ming <hero78119@gmail.com>
Co-authored-by: porcuquine <porcuquine@users.noreply.github.com>
Co-authored-by: Samuel Burnham <45365069+samuelburnham@users.noreply.github.com>
Co-authored-by: Matej Penciak <96667244+mpenciak@users.noreply.github.com>
Co-authored-by: Adrian Hamelink <adrian.hamelink@gmail.com>
huitseeker added a commit to lurk-lab/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-lab/arecibo#2
- lurk-lab/arecibo#3
- lurk-lab/arecibo#10
- lurk-lab/arecibo#16
- lurk-lab/arecibo#23
- lurk-lab/arecibo#30
- lurk-lab/arecibo#28
- lurk-lab/arecibo#41
- lurk-lab/arecibo#45
- lurk-lab/arecibo#50
- lurk-lab/arecibo#56
- lurk-lab/arecibo#51
- lurk-lab/arecibo#72
- lurk-lab/arecibo#92
- lurk-lab/arecibo#95
- lurk-lab/arecibo#97
- lurk-lab/arecibo#101
- lurk-lab/arecibo#110
- lurk-lab/arecibo#106
- lurk-lab/arecibo#112
- lurk-lab/arecibo#114
- lurk-lab/arecibo#119
- lurk-lab/arecibo#120
- lurk-lab/arecibo#127
- lurk-lab/arecibo#123
- lurk-lab/arecibo#131
- lurk-lab/arecibo#174
- lurk-lab/arecibo#175
- lurk-lab/arecibo#182

Co-authored-by: WYATT <wyattbenno@gmail.com>
Co-authored-by: Hanting Zhang <hantingz@usc.edu>
Co-authored-by: Ming <hero78119@gmail.com>
Co-authored-by: porcuquine <porcuquine@users.noreply.github.com>
Co-authored-by: Samuel Burnham <45365069+samuelburnham@users.noreply.github.com>
Co-authored-by: Matej Penciak <96667244+mpenciak@users.noreply.github.com>
Co-authored-by: Adrian Hamelink <adrian.hamelink@gmail.com>
huitseeker added a commit to lurk-lab/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-lab/arecibo#2
- lurk-lab/arecibo#3
- lurk-lab/arecibo#10
- lurk-lab/arecibo#16
- lurk-lab/arecibo#23
- lurk-lab/arecibo#30
- lurk-lab/arecibo#28
- lurk-lab/arecibo#41
- lurk-lab/arecibo#45
- lurk-lab/arecibo#50
- lurk-lab/arecibo#56
- lurk-lab/arecibo#51
- lurk-lab/arecibo#72
- lurk-lab/arecibo#92
- lurk-lab/arecibo#95
- lurk-lab/arecibo#97
- lurk-lab/arecibo#101
- lurk-lab/arecibo#110
- lurk-lab/arecibo#106
- lurk-lab/arecibo#112
- lurk-lab/arecibo#114
- lurk-lab/arecibo#119
- lurk-lab/arecibo#120
- lurk-lab/arecibo#127
- lurk-lab/arecibo#123
- lurk-lab/arecibo#131
- lurk-lab/arecibo#174
- lurk-lab/arecibo#175
- lurk-lab/arecibo#182

Co-authored-by: WYATT <wyattbenno@gmail.com>
Co-authored-by: Hanting Zhang <hantingz@usc.edu>
Co-authored-by: Ming <hero78119@gmail.com>
Co-authored-by: porcuquine <porcuquine@users.noreply.github.com>
Co-authored-by: Samuel Burnham <45365069+samuelburnham@users.noreply.github.com>
Co-authored-by: Matej Penciak <96667244+mpenciak@users.noreply.github.com>
Co-authored-by: Adrian Hamelink <adrian.hamelink@gmail.com>
huitseeker added a commit to lurk-lab/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-lab/arecibo#2
- lurk-lab/arecibo#3
- lurk-lab/arecibo#10
- lurk-lab/arecibo#16
- lurk-lab/arecibo#23
- lurk-lab/arecibo#30
- lurk-lab/arecibo#28
- lurk-lab/arecibo#41
- lurk-lab/arecibo#45
- lurk-lab/arecibo#50
- lurk-lab/arecibo#56
- lurk-lab/arecibo#51
- lurk-lab/arecibo#72
- lurk-lab/arecibo#92
- lurk-lab/arecibo#95
- lurk-lab/arecibo#97
- lurk-lab/arecibo#101
- lurk-lab/arecibo#110
- lurk-lab/arecibo#106
- lurk-lab/arecibo#112
- lurk-lab/arecibo#114
- lurk-lab/arecibo#119
- lurk-lab/arecibo#120
- lurk-lab/arecibo#127
- lurk-lab/arecibo#123
- lurk-lab/arecibo#131
- lurk-lab/arecibo#174
- lurk-lab/arecibo#175
- lurk-lab/arecibo#182

Co-authored-by: WYATT <wyattbenno@gmail.com>
Co-authored-by: Hanting Zhang <hantingz@usc.edu>
Co-authored-by: Ming <hero78119@gmail.com>
Co-authored-by: porcuquine <porcuquine@users.noreply.github.com>
Co-authored-by: Samuel Burnham <45365069+samuelburnham@users.noreply.github.com>
Co-authored-by: Matej Penciak <96667244+mpenciak@users.noreply.github.com>
Co-authored-by: Adrian Hamelink <adrian.hamelink@gmail.com>
huitseeker added a commit to lurk-lab/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-lab/arecibo#2
- lurk-lab/arecibo#3
- lurk-lab/arecibo#10
- lurk-lab/arecibo#16
- lurk-lab/arecibo#23
- lurk-lab/arecibo#30
- lurk-lab/arecibo#28
- lurk-lab/arecibo#41
- lurk-lab/arecibo#45
- lurk-lab/arecibo#50
- lurk-lab/arecibo#56
- lurk-lab/arecibo#51
- lurk-lab/arecibo#72
- lurk-lab/arecibo#92
- lurk-lab/arecibo#95
- lurk-lab/arecibo#97
- lurk-lab/arecibo#101
- lurk-lab/arecibo#110
- lurk-lab/arecibo#106
- lurk-lab/arecibo#112
- lurk-lab/arecibo#114
- lurk-lab/arecibo#119
- lurk-lab/arecibo#120
- lurk-lab/arecibo#127
- lurk-lab/arecibo#123
- lurk-lab/arecibo#131
- lurk-lab/arecibo#174
- lurk-lab/arecibo#175
- lurk-lab/arecibo#182

Co-authored-by: WYATT <wyattbenno@gmail.com>
Co-authored-by: Hanting Zhang <hantingz@usc.edu>
Co-authored-by: Ming <hero78119@gmail.com>
Co-authored-by: porcuquine <porcuquine@users.noreply.github.com>
Co-authored-by: Samuel Burnham <45365069+samuelburnham@users.noreply.github.com>
Co-authored-by: Matej Penciak <96667244+mpenciak@users.noreply.github.com>
Co-authored-by: Adrian Hamelink <adrian.hamelink@gmail.com>
huitseeker added a commit to lurk-lab/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-lab/arecibo#2
- lurk-lab/arecibo#3
- lurk-lab/arecibo#10
- lurk-lab/arecibo#16
- lurk-lab/arecibo#23
- lurk-lab/arecibo#30
- lurk-lab/arecibo#28
- lurk-lab/arecibo#41
- lurk-lab/arecibo#45
- lurk-lab/arecibo#50
- lurk-lab/arecibo#56
- lurk-lab/arecibo#51
- lurk-lab/arecibo#72
- lurk-lab/arecibo#92
- lurk-lab/arecibo#95
- lurk-lab/arecibo#97
- lurk-lab/arecibo#101
- lurk-lab/arecibo#110
- lurk-lab/arecibo#106
- lurk-lab/arecibo#112
- lurk-lab/arecibo#114
- lurk-lab/arecibo#119
- lurk-lab/arecibo#120
- lurk-lab/arecibo#127
- lurk-lab/arecibo#123
- lurk-lab/arecibo#131
- lurk-lab/arecibo#174
- lurk-lab/arecibo#175
- lurk-lab/arecibo#182

Co-authored-by: WYATT <wyattbenno@gmail.com>
Co-authored-by: Hanting Zhang <hantingz@usc.edu>
Co-authored-by: Ming <hero78119@gmail.com>
Co-authored-by: porcuquine <porcuquine@users.noreply.github.com>
Co-authored-by: Samuel Burnham <45365069+samuelburnham@users.noreply.github.com>
Co-authored-by: Matej Penciak <96667244+mpenciak@users.noreply.github.com>
Co-authored-by: Adrian Hamelink <adrian.hamelink@gmail.com>
huitseeker added a commit to lurk-lab/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-lab/arecibo#2
- lurk-lab/arecibo#3
- lurk-lab/arecibo#10
- lurk-lab/arecibo#16
- lurk-lab/arecibo#23
- lurk-lab/arecibo#30
- lurk-lab/arecibo#28
- lurk-lab/arecibo#41
- lurk-lab/arecibo#45
- lurk-lab/arecibo#50
- lurk-lab/arecibo#56
- lurk-lab/arecibo#51
- lurk-lab/arecibo#72
- lurk-lab/arecibo#92
- lurk-lab/arecibo#95
- lurk-lab/arecibo#97
- lurk-lab/arecibo#101
- lurk-lab/arecibo#110
- lurk-lab/arecibo#106
- lurk-lab/arecibo#112
- lurk-lab/arecibo#114
- lurk-lab/arecibo#119
- lurk-lab/arecibo#120
- lurk-lab/arecibo#127
- lurk-lab/arecibo#123
- lurk-lab/arecibo#131
- lurk-lab/arecibo#174
- lurk-lab/arecibo#175
- lurk-lab/arecibo#182

Co-authored-by: WYATT <wyattbenno@gmail.com>
Co-authored-by: Hanting Zhang <hantingz@usc.edu>
Co-authored-by: Ming <hero78119@gmail.com>
Co-authored-by: porcuquine <porcuquine@users.noreply.github.com>
Co-authored-by: Samuel Burnham <45365069+samuelburnham@users.noreply.github.com>
Co-authored-by: Matej Penciak <96667244+mpenciak@users.noreply.github.com>
Co-authored-by: Adrian Hamelink <adrian.hamelink@gmail.com>
huitseeker added a commit to lurk-lab/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-lab/arecibo#2
- lurk-lab/arecibo#3
- lurk-lab/arecibo#10
- lurk-lab/arecibo#16
- lurk-lab/arecibo#23
- lurk-lab/arecibo#30
- lurk-lab/arecibo#28
- lurk-lab/arecibo#41
- lurk-lab/arecibo#45
- lurk-lab/arecibo#50
- lurk-lab/arecibo#56
- lurk-lab/arecibo#51
- lurk-lab/arecibo#72
- lurk-lab/arecibo#92
- lurk-lab/arecibo#95
- lurk-lab/arecibo#97
- lurk-lab/arecibo#101
- lurk-lab/arecibo#110
- lurk-lab/arecibo#106
- lurk-lab/arecibo#112
- lurk-lab/arecibo#114
- lurk-lab/arecibo#119
- lurk-lab/arecibo#120
- lurk-lab/arecibo#127
- lurk-lab/arecibo#123
- lurk-lab/arecibo#131
- lurk-lab/arecibo#174
- lurk-lab/arecibo#175
- lurk-lab/arecibo#182

Co-authored-by: WYATT <wyattbenno@gmail.com>
Co-authored-by: Hanting Zhang <hantingz@usc.edu>
Co-authored-by: Ming <hero78119@gmail.com>
Co-authored-by: porcuquine <porcuquine@users.noreply.github.com>
Co-authored-by: Samuel Burnham <45365069+samuelburnham@users.noreply.github.com>
Co-authored-by: Matej Penciak <96667244+mpenciak@users.noreply.github.com>
Co-authored-by: Adrian Hamelink <adrian.hamelink@gmail.com>
huitseeker added a commit to lurk-lab/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-lab/arecibo#2
- lurk-lab/arecibo#3
- lurk-lab/arecibo#10
- lurk-lab/arecibo#16
- lurk-lab/arecibo#23
- lurk-lab/arecibo#30
- lurk-lab/arecibo#28
- lurk-lab/arecibo#41
- lurk-lab/arecibo#45
- lurk-lab/arecibo#50
- lurk-lab/arecibo#56
- lurk-lab/arecibo#51
- lurk-lab/arecibo#72
- lurk-lab/arecibo#92
- lurk-lab/arecibo#95
- lurk-lab/arecibo#97
- lurk-lab/arecibo#101
- lurk-lab/arecibo#110
- lurk-lab/arecibo#106
- lurk-lab/arecibo#112
- lurk-lab/arecibo#114
- lurk-lab/arecibo#119
- lurk-lab/arecibo#120
- lurk-lab/arecibo#127
- lurk-lab/arecibo#123
- lurk-lab/arecibo#131
- lurk-lab/arecibo#174
- lurk-lab/arecibo#175
- lurk-lab/arecibo#182

Co-authored-by: WYATT <wyattbenno@gmail.com>
Co-authored-by: Hanting Zhang <hantingz@usc.edu>
Co-authored-by: Ming <hero78119@gmail.com>
Co-authored-by: porcuquine <porcuquine@users.noreply.github.com>
Co-authored-by: Samuel Burnham <45365069+samuelburnham@users.noreply.github.com>
Co-authored-by: Matej Penciak <96667244+mpenciak@users.noreply.github.com>
Co-authored-by: Adrian Hamelink <adrian.hamelink@gmail.com>
huitseeker added a commit to lurk-lab/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-lab/arecibo#2
- lurk-lab/arecibo#3
- lurk-lab/arecibo#10
- lurk-lab/arecibo#16
- lurk-lab/arecibo#23
- lurk-lab/arecibo#30
- lurk-lab/arecibo#28
- lurk-lab/arecibo#41
- lurk-lab/arecibo#45
- lurk-lab/arecibo#50
- lurk-lab/arecibo#56
- lurk-lab/arecibo#51
- lurk-lab/arecibo#72
- lurk-lab/arecibo#92
- lurk-lab/arecibo#95
- lurk-lab/arecibo#97
- lurk-lab/arecibo#101
- lurk-lab/arecibo#110
- lurk-lab/arecibo#106
- lurk-lab/arecibo#112
- lurk-lab/arecibo#114
- lurk-lab/arecibo#119
- lurk-lab/arecibo#120
- lurk-lab/arecibo#127
- lurk-lab/arecibo#123
- lurk-lab/arecibo#131
- lurk-lab/arecibo#174
- lurk-lab/arecibo#175
- lurk-lab/arecibo#182

Co-authored-by: WYATT <wyattbenno@gmail.com>
Co-authored-by: Hanting Zhang <hantingz@usc.edu>
Co-authored-by: Ming <hero78119@gmail.com>
Co-authored-by: porcuquine <porcuquine@users.noreply.github.com>
Co-authored-by: Samuel Burnham <45365069+samuelburnham@users.noreply.github.com>
Co-authored-by: Matej Penciak <96667244+mpenciak@users.noreply.github.com>
Co-authored-by: Adrian Hamelink <adrian.hamelink@gmail.com>
huitseeker added a commit to lurk-lab/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-lab/arecibo#2
- lurk-lab/arecibo#3
- lurk-lab/arecibo#10
- lurk-lab/arecibo#16
- lurk-lab/arecibo#23
- lurk-lab/arecibo#30
- lurk-lab/arecibo#28
- lurk-lab/arecibo#41
- lurk-lab/arecibo#45
- lurk-lab/arecibo#50
- lurk-lab/arecibo#56
- lurk-lab/arecibo#51
- lurk-lab/arecibo#72
- lurk-lab/arecibo#92
- lurk-lab/arecibo#95
- lurk-lab/arecibo#97
- lurk-lab/arecibo#101
- lurk-lab/arecibo#110
- lurk-lab/arecibo#106
- lurk-lab/arecibo#112
- lurk-lab/arecibo#114
- lurk-lab/arecibo#119
- lurk-lab/arecibo#120
- lurk-lab/arecibo#127
- lurk-lab/arecibo#123
- lurk-lab/arecibo#131
- lurk-lab/arecibo#174
- lurk-lab/arecibo#175
- lurk-lab/arecibo#182

Co-authored-by: WYATT <wyattbenno@gmail.com>
Co-authored-by: Hanting Zhang <hantingz@usc.edu>
Co-authored-by: Ming <hero78119@gmail.com>
Co-authored-by: porcuquine <porcuquine@users.noreply.github.com>
Co-authored-by: Samuel Burnham <45365069+samuelburnham@users.noreply.github.com>
Co-authored-by: Matej Penciak <96667244+mpenciak@users.noreply.github.com>
Co-authored-by: Adrian Hamelink <adrian.hamelink@gmail.com>
huitseeker added a commit to lurk-lab/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-lab/arecibo#2
- lurk-lab/arecibo#3
- lurk-lab/arecibo#10
- lurk-lab/arecibo#16
- lurk-lab/arecibo#23
- lurk-lab/arecibo#30
- lurk-lab/arecibo#28
- lurk-lab/arecibo#41
- lurk-lab/arecibo#45
- lurk-lab/arecibo#50
- lurk-lab/arecibo#56
- lurk-lab/arecibo#51
- lurk-lab/arecibo#72
- lurk-lab/arecibo#92
- lurk-lab/arecibo#95
- lurk-lab/arecibo#97
- lurk-lab/arecibo#101
- lurk-lab/arecibo#110
- lurk-lab/arecibo#106
- lurk-lab/arecibo#112
- lurk-lab/arecibo#114
- lurk-lab/arecibo#119
- lurk-lab/arecibo#120
- lurk-lab/arecibo#127
- lurk-lab/arecibo#123
- lurk-lab/arecibo#131
- lurk-lab/arecibo#174
- lurk-lab/arecibo#175
- lurk-lab/arecibo#182

Co-authored-by: WYATT <wyattbenno@gmail.com>
Co-authored-by: Hanting Zhang <hantingz@usc.edu>
Co-authored-by: Ming <hero78119@gmail.com>
Co-authored-by: porcuquine <porcuquine@users.noreply.github.com>
Co-authored-by: Samuel Burnham <45365069+samuelburnham@users.noreply.github.com>
Co-authored-by: Matej Penciak <96667244+mpenciak@users.noreply.github.com>
Co-authored-by: Adrian Hamelink <adrian.hamelink@gmail.com>
huitseeker added a commit to lurk-lab/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-lab/arecibo#2
- lurk-lab/arecibo#3
- lurk-lab/arecibo#10
- lurk-lab/arecibo#16
- lurk-lab/arecibo#23
- lurk-lab/arecibo#30
- lurk-lab/arecibo#28
- lurk-lab/arecibo#41
- lurk-lab/arecibo#45
- lurk-lab/arecibo#50
- lurk-lab/arecibo#56
- lurk-lab/arecibo#51
- lurk-lab/arecibo#72
- lurk-lab/arecibo#92
- lurk-lab/arecibo#95
- lurk-lab/arecibo#97
- lurk-lab/arecibo#101
- lurk-lab/arecibo#110
- lurk-lab/arecibo#106
- lurk-lab/arecibo#112
- lurk-lab/arecibo#114
- lurk-lab/arecibo#119
- lurk-lab/arecibo#120
- lurk-lab/arecibo#127
- lurk-lab/arecibo#123
- lurk-lab/arecibo#131
- lurk-lab/arecibo#174
- lurk-lab/arecibo#175
- lurk-lab/arecibo#182

Co-authored-by: WYATT <wyattbenno@gmail.com>
Co-authored-by: Hanting Zhang <hantingz@usc.edu>
Co-authored-by: Ming <hero78119@gmail.com>
Co-authored-by: porcuquine <porcuquine@users.noreply.github.com>
Co-authored-by: Samuel Burnham <45365069+samuelburnham@users.noreply.github.com>
Co-authored-by: Matej Penciak <96667244+mpenciak@users.noreply.github.com>
Co-authored-by: Adrian Hamelink <adrian.hamelink@gmail.com>
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.

None yet

4 participants