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
c6f80ba59a
Merge pull request #490 from mir-protocol/batchable
...
Simplify batched gate code
2022-02-16 09:36:47 +01:00
wborgeaud
f8dfc3986b
PR feedback
2022-02-16 09:26:16 +01:00
wborgeaud
08e255a2bb
Remove params in GateInstance
2022-02-16 09:02:21 +01:00
wborgeaud
661a6b44ef
Delete GMiMC files
2022-02-16 08:33:52 +01:00
Hamish Ivey-Law
f4ef692aad
Quintic extension fields ( #489 )
...
* Initial implementation of quintic extensions.
* Update to/from_biguint() methods.
* cargo fmt
* Fix call to test suite.
* Small optimisation in try_inverse().
* Replace multiplicative group generator and document requirement.
2022-02-16 10:38:24 +11:00
wborgeaud
3fd5258191
Comments
2022-02-15 18:00:53 +01:00
wborgeaud
2d4d2d21a0
Simplification
2022-02-15 17:35:12 +01:00
wborgeaud
3f7cefbc6b
Merge pull request #486 from mir-protocol/recursive_starks
...
Recursive STARK verifier
2022-02-15 17:24:34 +01:00
wborgeaud
d0da2fe1ad
Remove debug info
2022-02-15 17:01:16 +01:00
wborgeaud
c74b0c91c8
Progress towards using generators
2022-02-15 16:59:17 +01:00
wborgeaud
0aefe92b8c
Merge MultiOpsGate into Gate
2022-02-15 15:30:34 +01:00
wborgeaud
5e3177520b
Fixes
2022-02-15 15:08:53 +01:00
wborgeaud
6d2c9b11a6
Merge branch 'main' into batchable
...
# Conflicts:
# plonky2/src/gates/gmimc.rs
# plonky2/src/hash/gmimc.rs
# plonky2/src/plonk/circuit_builder.rs
2022-02-15 14:43:12 +01:00
wborgeaud
42d6532120
PR feedback
2022-02-15 08:35:57 +01:00
wborgeaud
acd62f1221
Changes after #481
2022-02-15 08:17:07 +01:00
wborgeaud
14d8cf2ceb
Merge branch 'main' into recursive_starks
2022-02-15 08:13:50 +01:00
wborgeaud
f4640bb5a1
Merge pull request #481 from mir-protocol/fix_hash_or_noop_merkle_proof
...
Use `hash_or_noop` for Merkle tree leaves
2022-02-15 08:12:36 +01:00
Daniel Lubarov
8d699edf21
Move some methods outside impl System ( #484 )
...
I didn't really have a good reason for putting there; seems more idiomatic to make them global since they don't need `self`/`Self`.
2022-02-14 13:47:33 -08:00
Nicholas Ward
96c9a2385b
Merge pull request #488 from mir-protocol/ecdsa_pub_hash
...
Impled `Hash` for `AffinePoint`
2022-02-14 11:57:22 -08:00
BGluth
1467732616
Impled Hash for AffinePoint
2022-02-14 12:41:24 -07:00
wborgeaud
b104dfce2a
Working
2022-02-14 19:37:24 +01:00
Nicholas Ward
983c066b80
Merge pull request #487 from mir-protocol/ecdsa_more_derive
...
Derived more traits for ecdsa types
2022-02-14 10:36:21 -08:00
BGluth
c9171517a4
Derived more traits for ecdsa types
2022-02-14 10:55:11 -07:00
wborgeaud
7820ba965c
Minor
2022-02-14 10:23:26 +01:00
wborgeaud
1686cb021f
verify_stark_proof -> recursively_verify_stark_proof
2022-02-14 10:20:59 +01:00
wborgeaud
6dca4e26af
Unused
2022-02-14 10:16:02 +01:00
wborgeaud
83701096c4
More visibility changes
2022-02-14 10:14:31 +01:00
wborgeaud
cff39c5550
Change visibility
2022-02-14 10:12:24 +01:00
wborgeaud
3db9c775b4
Add set_fri_openings
2022-02-14 10:09:08 +01:00
wborgeaud
80e3c928bb
Clippy
2022-02-14 10:00:37 +01:00
wborgeaud
b0de3328c1
Working
2022-02-14 09:53:33 +01:00
wborgeaud
2e008eac23
Change Merkle tree lead hashing (to change back when #481 lands)
2022-02-14 09:35:08 +01:00
Daniel Lubarov
55ca718a77
Test no longer ignored
2022-02-13 10:51:27 -08:00
wborgeaud
7af2d05828
Save allocation and add const generic bound
2022-02-13 15:04:40 +01:00
wborgeaud
736b65b0a7
PR feedback
2022-02-12 15:18:20 +01:00
wborgeaud
59d4e04bce
Merge pull request #480 from mir-protocol/fix_mul_sub_typo
...
Fix `mul_add` -> `mul_sub` typo
2022-02-11 19:12:00 +01:00
wborgeaud
f7256a6efc
Other fixes
2022-02-11 16:41:44 +01:00
wborgeaud
1d013b95dd
Fix hash_or_noop in Merkle proof.
2022-02-11 16:22:57 +01:00
wborgeaud
d22fa8895b
Fix one error to get another one
2022-02-11 10:37:17 +01:00
wborgeaud
7c71eb6690
Fix mul_add -> mul_sub typo
2022-02-11 10:25:51 +01:00
Daniel Lubarov
645d45f227
Column definitions for addition, range checks & lookups ( #477 )
...
* Column definitions for addition, range checks & lookups
I implemented addition (unsigned for now) as an example of how the arithmetic unit can interact with the 16-bit range check unit.
Range checks and lookups aren't implemented yet.
* Missing constraints
* Tweaks to get tests passing
* Reorg registers into files
* Minor
2022-02-10 12:05:04 -08:00
BGluth
387ce463fe
Merge pull request #478 from mir-protocol/from_partial_use_slice
...
`from_partial` now takes in a slice
2022-02-10 07:48:55 -08:00
wborgeaud
24c201477c
Recursive stark test (failing)
2022-02-10 16:14:18 +01:00
wborgeaud
3aa192a7f6
Add witness generation for stark proofs
2022-02-10 16:04:46 +01:00
BGluth
b2c747b171
Also did the same to the circuit version
...
- And removed the `debug_assert!`.
2022-02-09 23:38:35 -07:00
Daniel Lubarov
cfe52ad604
Add PrimeField, PrimeField64 traits ( #457 )
...
* Add PrimeField, PrimeField64 traits
* fix
* fixes
* fix
* `to_biguint` -> `to_canonical_biguint`
2022-02-09 21:50:18 -08:00
BGluth
adf5444f3f
from_partial (non-target) now takes in a slice
...
- Doesn't need to take in a `Vec`.
2022-02-09 18:31:58 -07:00
BGluth
fe89fa949e
Merge pull request #476 from mir-protocol/ecdsa_derive
...
Added `Debug`, `Clone`, and `Copy` to ecdsa types
2022-02-09 13:35:52 -08:00
BGluth
8262389edd
Added Debug, Clone, and Copy to ecdsa types
2022-02-09 14:22:13 -07:00