34 Commits

Author SHA1 Message Date
wborgeaud
fe9cd3f76b Working commitments and verifier 2021-06-17 21:34:04 +02:00
wborgeaud
100ab6ce48 Merge branch 'main' into optimize_reductions
# Conflicts:
#	src/fri/verifier.rs
#	src/proof.rs
2021-06-17 19:43:32 +02:00
wborgeaud
f27620ca90 First impl 2021-06-17 19:40:41 +02:00
wborgeaud
bfd5f06384 Hardcode Plonk polynomials indices and blinding flags. 2021-06-17 11:54:31 +02:00
wborgeaud
930e117185 Minor 2021-06-17 11:35:10 +02:00
wborgeaud
5bebc746f6 PR feedback 2021-06-17 11:31:14 +02:00
wborgeaud
eaba5238a6 Change PoW to checking leading zeros 2021-06-17 09:49:41 +02:00
wborgeaud
89b25c528c PR feedback fixes 2021-06-15 19:13:15 +02:00
wborgeaud
b44a01c975 Merge main 2021-06-15 09:20:00 +02:00
wborgeaud
19b47b5251 Clippy 2021-06-14 10:33:38 +02:00
wborgeaud
4b1f368e89 Use Frobenius optimization in the circuit 2021-06-11 14:16:40 +02:00
wborgeaud
20741cfb4a Implement out-of-circuit repeated_frobenius using hardcoded constants 2021-06-11 13:45:51 +02:00
wborgeaud
1ebeab2c3a Implement Frobenius optimization discussed in #61 comments to avoid calling the Frobenius for every wires. 2021-06-11 10:27:03 +02:00
wborgeaud
dea6db00ac Rotation gadgets 2021-06-10 17:45:45 +02:00
Daniel Lubarov
60f3773a23
Try to simplify open_plonk and fri_combine_initial a bit more (#59)
* Try to simplify open_plonk and fri_combine_initial a bit more

- Use `alpha.powers()` in `open_plonk` instead of the more "manual" approach
- No more "manually" reducing with `alpha_powers`; now using helper methods for that.
- Renaming & other small tweaks

* Remove type hint

* Feedback
2021-06-09 16:17:56 -07:00
wborgeaud
7f63276623 Merge branch 'main' into recursive_verifier 2021-06-09 10:04:45 +02:00
Daniel Lubarov
72c2e19bc5
Bit of verifier work (#54)
* Bit of verifier work

* Minor

* next_plonk_zs now available after William's changes
2021-06-08 21:23:52 -07:00
wborgeaud
42d5b80a7a BaseSum gate 2021-06-04 15:40:54 +02:00
Daniel Lubarov
7334341cfa Attempt at simplification 2021-06-01 23:27:09 -07:00
wborgeaud
9eb35c3c82 Remove D=1 case 2021-06-01 22:00:46 +02:00
wborgeaud
b465bcd8be Clippy + comments 2021-06-01 11:17:54 +02:00
wborgeaud
2794cb9a95 Open wires at single point if D=1 2021-06-01 11:03:04 +02:00
wborgeaud
d882283761 Working with blindings 2021-05-31 18:19:44 +02:00
wborgeaud
6ee9ceacd5 Don't check Frobenius if D=1. 2021-05-31 18:00:53 +02:00
wborgeaud
abc0ca3bf1 Rewrite LPC code to be more PLONK-specific 2021-05-31 17:49:04 +02:00
wborgeaud
845382b472 Working base field check for (non-batch) opening 2021-05-27 17:20:26 +02:00
wborgeaud
78f71672a3 Change Field::exp to using a u64 power. 2021-05-19 12:17:43 +02:00
wborgeaud
9cd00532ce Generic tests 2021-05-18 16:06:47 +02:00
wborgeaud
adf5c2d4ec Const generics everywhere 2021-05-18 15:44:50 +02:00
wborgeaud
a2cf2c03b6 Working FRI with field extensions 2021-05-18 15:22:06 +02:00
wborgeaud
ce0507ba12 Blinding parameter can be set differently for each Merkle tree in a FRI proof. 2021-05-11 09:56:21 +02:00
wborgeaud
0bae47bedb LPC batch opening 2021-05-06 17:09:55 +02:00
wborgeaud
03d761ead6 Double blinding 2021-05-06 00:00:08 +02:00
wborgeaud
1f3f7d5b70 FRI reorg 2021-05-05 18:23:59 +02:00