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

Add non-deterministic ivc test. #92

Merged
merged 1 commit into from
Nov 2, 2023
Merged

Add non-deterministic ivc test. #92

merged 1 commit into from
Nov 2, 2023

Conversation

porcuquine
Copy link
Contributor

@porcuquine porcuquine commented Nov 2, 2023

This PR adds a test exercising support for non-deterministic hints in NIVC. It is based on the equivalent test for IVC in Nova. Instead of proving a series of sequential fifth-root computations (which would be expensive to calculate directly, so instead are calculated in reverse to produce the sequence of hints) — we produce a sequence of alternating cube and fifth roots. This alternation exercises NIVC. We hardcode the next program-counter into the circuit, so that alternation is enforce.

The other changes are fixing typos in the code ('unifrom' -> 'uniform') and removing the default implementation of circuit_index for circuit_supernova::StepCircuit — which proved error-prone (confirming a suggestion @arthurpaulino made previously).

TODO:

@porcuquine porcuquine force-pushed the nondet-nivc-test branch 6 times, most recently from cb91766 to 295c47d Compare November 2, 2023 09:01
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.

Merging the NonUniformCircuit and StepCircuit data types was something I was missing in the examples in #52. This strategy of writing the main loop over the circuits themselves also seems like the better way of doing things.

In #52 I was using a combination of getting the program counter via recursive_snark.get_program_counter() and then turning it into an augmented_circuit_index and finally calling prove_step using nonuniform_circuit.primary_circuit(augmented_circuit_index). This avoids all of the juggling of program counters.

I've convinced myself that these two approaches are equivalent, but I can see a (somewhat contrived) situation where the second approach might still come up:

If the circuit writer is exceptionally lazy, and just wants to calculate the "next_pc" in the circuit, and then write their proving loop by choosing which circuit synthesize at each step using that calculated program counter.

Anyway this is just my personal musings about the different shapes that the Supernova API allows the user to write their NIVC calculations. I'm approving (pending the final addition of a CompressedSNARK part of the test)

Merged via the queue into dev with commit 16cfdff Nov 2, 2023
3 checks passed
@porcuquine porcuquine deleted the nondet-nivc-test branch November 2, 2023 22:24
@huitseeker huitseeker mentioned this pull request Nov 3, 2023
8 tasks
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

3 participants