Alonso González
4f8e631550
Prove Starks without constraints ( #1552 )
...
* Enable starks without constraints
* Clippy
* Add test stark without constraints
* Missing file
* Missing changes in the recursive side
* Fix bug with recursion
* Missing import
* Clippy
* Apply suggestions from code review
Co-authored-by: Robin Salen <30937548+Nashtare@users.noreply.github.com>
* Address reviews
* Fix TODO
* Apply suggestions from code review
Co-authored-by: Linda Guiga <101227802+LindaGuiga@users.noreply.github.com>
* More reviews
* Fix bug in eval_helper_columns
* Apply suggestions from code review
Co-authored-by: Robin Salen <30937548+Nashtare@users.noreply.github.com>
* Address reviews
* Allow <= blowup_factor + 1 constraints + reviews
* Add unconstrined Stark
* Missing file
* Remove asserts
---------
Co-authored-by: Robin Salen <30937548+Nashtare@users.noreply.github.com>
Co-authored-by: Linda Guiga <101227802+LindaGuiga@users.noreply.github.com>
2024-03-15 11:43:45 +00:00
Robin Salen
3ec1bfddb3
Update starky and leverage it as dependency for plonky2_evm ( #1503 )
...
* Update prover logic
* Add helper method for CTL data
* Some cleanup
* Update some methods
* Fix
* Some more fixes
* More tweaks
* Final
* Leverage starky crate
* Additional tweaks
* Cleanup
* More cleanup
* Fix
* Cleanup imports
* Fix
* Final tweaks
* Cleanup and hide behind debug_assertions attribute
* Clippy
* Fix no-std
* Make wasm compatible
* Doc and remove todo
* API cleanup and remove TODO
* Add Debug impls
* Add documentation for public items
* Feature-gate alloc imports
* Import method from starky instead
* Add simple crate and module documentation
* Apply comments
* Add lib level documentation
* Add test without lookups
* Fix starks without logup
* Cleanup
* Some more cleanup
* Fix get_challenges for non-lookup STARKs
* Add additional config methods and tests
* Apply comments
* More comments
2024-02-13 11:47:54 -05:00
Robin Salen
06444eaaf3
Switch permutation argument for logUp in starky ( #1496 )
...
* Switch permutation argument for logUp in starky
* Apply comments
* Refactor check_lookup_options
* Comments
* Add more visibility
* std -> core
* Revert "Add more visibility"
This reverts commit 2b4e50e0e7fc7676814b1bc1f4071d9ec0ab9d5c.
* Add more visibility to lookup items
2024-02-06 17:57:40 +00:00
bing
8326db604c
refactor: remove usage of unstable generic_const_exprs in starky ( #1300 )
2023-10-23 20:20:00 -04:00
Hamish Ivey-Law
2c5f6fd62a
Fix compile time problems and generic hash implementation ( #1024 )
...
* Fix egregious magic number.
* Remove generic consts from core permutations.
* Remove redundant `where` clauses.
* Remove HashConfig and friends.
* Refactor Permutation code.
* Remove redundant `where` clauses and `use`s.
* Introduce AlgebraicPermutation to wrap `[Target; WIDTH]`s.
* Remove `generic_const_expr` feature from plonky2!
* Remove `generic_const_expr` feature from plonky2!
* Compile time fixed! Start removing `generic_const_expr` from evm.
* Remove redundant `where` clauses from Starky.
* Remove `generic_const_expr`s from benchmarks.
* Remove redundant HASH_SIZE `where` clause.
* Clippy.
* Fix unrelated OsRng issue in `bench_recursion`.
* Fix function doc.
2023-05-11 02:59:02 +10:00
Robin Salen
9ee47ab745
Move HashConfig into GenericConfig associated types
2023-04-01 09:54:14 -04:00
Robin Salen
e857c020bf
Make hash functions generic
2023-03-31 18:55:06 -04:00
Daniel Lubarov
ff80f28b93
Revert "Set CI to use an older version of nightly"
...
This reverts commit da23fb116b934925f8a5cf37c2f1f092452fdc4d.
2023-02-10 23:10:39 -08:00
Brandon H. Gomes
5dfe1b412e
feat: add no-std support for starky
...
Signed-off-by: Brandon H. Gomes <bhgomes@pm.me>
2022-11-04 16:04:10 -07:00
Brandon H. Gomes
fc3f63398d
wip: start moving starky to no-std
...
Signed-off-by: Brandon H. Gomes <bhgomes@pm.me>
2022-11-03 12:17:03 -07:00
Brandon H. Gomes
e2cdd5a954
feat: upgrade Sampling APIs
...
Signed-off-by: Brandon H. Gomes <bhgomes@pm.me>
2022-11-03 08:26:03 -07:00
Daniel Lubarov
d7d50e9d5a
Minor
2022-09-19 23:04:53 -07:00
Daniel Lubarov
5d4d81c29f
Shape check in starky
2022-09-19 21:41:24 -07:00
wborgeaud
a930c1a823
s/l1/l0
2022-09-12 08:09:17 +02:00
Daniel Lubarov
3346d3f902
field_types -> types (#583 )
...
* `field_types` -> `types`
Here too, I think "field" is usually clear from context, e.g. in `use plonky2::field::types::Field;`.
* fixes
* fmt
2022-06-27 12:24:09 -07:00
Daniel Lubarov
410e03349c
extension_field -> extension (#581 )
...
It seems redundant in most contexts, e.g. `use plonky2::field::extension_field::Extendable;`. One could import `extension_field`, but it's not that common in Rust, and `field::extension` is now about as short.
2022-06-27 07:18:21 -07:00
wborgeaud
6f5c8e46f6
s/right/next
2022-06-02 23:55:56 +02:00
Daniel Lubarov
4fc6fdadd3
Stop suppressing unused/dead warnings globally ( #527 )
...
Most of them were trivial to address; for the remaining warnings I suppressed just the relevant line and added TODOs.
2022-03-31 22:53:47 -07:00
Daniel Lubarov
7d6c0a448d
Halo2 style lookup arguments in System Zero ( #513 )
...
* Halo2 style lookup arguments in System Zero
It's a really nice and simple protocol, particularly for the verifier since the constraints are trivial (aside from the underlying batched permutation checks, which we already support). See the [Halo2 book](https://zcash.github.io/halo2/design/proving-system/lookup.html ) and this [talk](https://www.youtube.com/watch?v=YlTt12s7vGE&t=5237s ) by @daira.
Previously we generated the whole trace in row-wise form, but it's much more efficient to generate these "permuted" columns column-wise. So I changed our STARK framework to accept the trace in column-wise form. STARK impls now have the flexibility to do some generation row-wise and some column-wise (without extra costs; there's a single transpose as before).
* sorting
* fixes
* PR feedback
* into_iter
* timing
2022-03-16 17:37:34 -07:00
wborgeaud
dd4cc21309
PR feedback
2022-02-23 09:36:28 +01:00
wborgeaud
150d764440
Simplification
2022-02-22 17:00:08 +01:00
wborgeaud
064b3c07a8
Forgot to set permutation cap
2022-02-22 16:18:41 +01:00
wborgeaud
6cd2fc62b5
Should work (does not)
2022-02-22 11:44:24 +01:00
wborgeaud
85c1e1d5e0
Should work (does not)
2022-02-21 18:00:03 +01:00
Daniel Lubarov
72d13d0ded
Prover code for permutation argument ( #485 )
...
* Batch multiple perm args into one Z and compute Z columnwise
It's slightly complex because we batch `constraint_degree - 1` permutation arguments into a single `Z` polynomial. This is a slight generalization of the [technique](https://zcash.github.io/halo2/design/proving-system/lookup.html ) described in the Halo2 book.
Without this batching, we would simply have `num_challenges` random challenges (betas and gammas). With this batching, however, we need to use different randomness for each permutation argument within the same batch. Hence we end up generating `batch_size * num_challenges` challenges for all permutation arguments.
* Feedback + updates for recursion code
2022-02-16 01:33:59 -08:00
wborgeaud
42d6532120
PR feedback
2022-02-15 08:35:57 +01:00
wborgeaud
14d8cf2ceb
Merge branch 'main' into recursive_starks
2022-02-15 08:13:50 +01:00
wborgeaud
7af2d05828
Save allocation and add const generic bound
2022-02-13 15:04:40 +01:00
wborgeaud
ae330ff6a7
Clippy
2022-02-08 18:19:11 +01:00
wborgeaud
ba63a37b7d
Compiles
2022-02-08 18:16:33 +01:00
Daniel Lubarov
8f21fddd04
Add a PolynomialValues::selector method for convenience ( #470 )
...
Also adds a test for `eval_l_1_and_l_last`.
2022-02-06 23:06:04 -08:00
wborgeaud
fc502add01
Add quotient_degree_factor function
2022-02-04 20:24:58 +01:00
wborgeaud
431bde2c72
Fix number of quotient polys
2022-02-04 17:04:07 +01:00
wborgeaud
bc5bc8245d
PR feedback
2022-02-03 11:49:44 +01:00
wborgeaud
be44edcd78
Minor
2022-02-02 13:20:49 +01:00
wborgeaud
bff763e3e7
Add distinction between (non-)wrapping constraints
2022-02-02 11:23:03 +01:00
wborgeaud
1e04f4f5a4
Comments
2022-02-01 17:34:03 +01:00
wborgeaud
8ab4f855b2
Add fri_challenges() to Challenger.
2022-02-01 17:02:11 +01:00
wborgeaud
9f8696ada5
Fix bug
2022-02-01 13:57:03 +01:00
wborgeaud
f2369f4fae
Test pass
2022-02-01 10:48:53 +01:00
wborgeaud
b0738c2094
Fix degree issue
2022-01-31 21:05:23 +01:00
wborgeaud
92ea4b65d1
Constraint check working
2022-01-31 18:00:07 +01:00
wborgeaud
d24d26e5c0
Add FRI challenges
2022-01-31 16:19:30 +01:00
wborgeaud
851455a26a
Eval Lagrange
2022-01-31 10:07:01 +01:00
wborgeaud
8993270f80
Progress
2022-01-29 12:49:00 +01:00