han0110
984105592c
feat: Cache table when same identifier and improve permutation checks in `MockProver`
2022-08-19 16:00:51 +08:00
han0110
f08632016f
feat: use nightly rust and fix warnings
2022-08-19 16:00:51 +08:00
Brechtpd
182ec2dd99
Reduce lifetime of advice polys
2022-08-19 16:00:51 +08:00
Brechtpd
70cfe70a01
Add `plonk::evaluation` for prover optimization
2022-08-19 16:00:51 +08:00
NoCtrlZ
5b3bf56ca6
Add `ConstraintSystem::lookup_any`
2022-08-19 16:00:51 +08:00
Zhang Zhuo
31efabd369
Add name in `lookup::Argument`
2022-08-19 16:00:51 +08:00
Zhang Zhuo
1e967eb35f
Add `MockProver::verify_at_rows`
2022-08-19 16:00:51 +08:00
Brechtpd
8e87a74180
Parallelized `eval_polynomial`
2022-08-19 16:00:51 +08:00
Brechtpd
8916c60b1a
Add `Expression::evaluate_lazy` and `Expression::identifier`
2022-08-19 16:00:51 +08:00
Brechtpd
f9923c8dd6
Use `HashMap` to count cell assignment in `dev::Region`
2022-08-19 16:00:51 +08:00
kilic
51d523df60
Commitment scheme abstraction
...
Add SHPLONK and GWC varians of KZG
2022-08-19 16:00:51 +08:00
ChihChengLiang
25b47f23c8
add back diffs
2022-08-19 11:52:07 +08:00
ChihChengLiang
63b42c96cd
Merge branch 'upstream' into purely-upstream
2022-08-19 11:47:43 +08:00
Brechtpd
9015e5432b
Reduce memory use in h evaluation
2022-08-08 18:20:26 +02:00
Han
6ec2f49ee3
Merge pull request #85 from scroll-tech/parallel-mockprover-verify
...
Add Mockprover::verify_par()
2022-08-08 13:31:43 +08:00
spherel
55bae7c687
Fix parallel function signature.
2022-08-07 20:44:36 +00:00
han0110
8ff5b1e3af
feat: make `Expression::{Fixed,Advice,Instance}` to wrap their own `Query` struct
2022-07-15 10:33:47 -04:00
pinkiebell
f12f082b71
add doc strings
2022-07-12 07:35:42 +00:00
pinkiebell
2b625a2802
Params,ParamsVerifier: make k & n public
...
Used for decision making in downstream projects that want to infer
certain bounds given a `Params{Verifier}` structure.
2022-07-12 06:53:28 +00:00
spherel
0b83e58b30
Add Mockprover::verify_par()
2022-07-09 03:23:44 +00:00
Sean Bowe
deef0e1416
Place `halo2_proofs::plonk::BatchVerifier` behind a (default enabled) crate feature called `batch`.
2022-06-23 12:51:47 -06:00
Jack Grigg
7a22f3c9b6
halo2_proofs 0.2.0
2022-06-23 17:40:23 +00:00
Jack Grigg
5641a64d3c
halo2_proofs: Fix clippy lints
2022-06-23 17:38:11 +00:00
str4d
dac6cfb5d7
Merge pull request #610 from zcash/rework-batch-verifier
...
Rework `halo2_proofs::plonk::BatchVerifier`
2022-06-23 18:15:24 +01:00
Jack Grigg
dd94fb95a4
Rework `halo2_proofs::plonk::BatchVerifier`
...
`BatchVerifier` now manages the entire batch verification process.
Individual proofs are verified on a threadpool, and the resulting MSMs
are then batch-checked as before. The addition of parallelism here
couples with zcash/halo2#608 to make parallelism less fine-grained and
reduce the overhead of multi-threading.
2022-06-23 16:52:08 +00:00
ebfull
7087c33658
Merge pull request #608 from ebfull/msm-optimization
...
MSM optimizations
2022-06-23 10:49:22 -06:00
Daira Hopwood
2ed70a3f08
Reduce memory overhead of MSM by 64 bytes per "other" base, and add tests.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-06-23 14:15:37 +01:00
Sean Bowe
6b4af24a5f
Deduplicate the extra (scalar, base) pairs in MSMs.
2022-06-22 14:31:00 -06:00
Sean Bowe
6939ac47ab
Remove parallelism from within MSM scalar operations.
2022-06-22 13:41:45 -06:00
Jack Grigg
05f37ee8a6
Cache the constraint system degree in `VerifyingKey`
...
This means we only compute the degree in a verification context during
construction, instead of twice per proof in the permutation argument.
2022-06-22 19:33:36 +00:00
Jack Grigg
4802936c56
Cache the representative of `VerifyingKey` used in transcripts
...
This means we only need to `Debug`-format the `PinnedVerificationKey`
once on construction, instead of once per proof.
2022-06-22 19:25:32 +00:00
Jack Grigg
22ec36979c
Add `BatchVerifier::finalize_and_return_rng`
2022-06-21 15:04:08 +00:00
han0110
3966f4efff
fix: negate the subtrahend when processing `Expression::Sum` in `Evaluator::add_expression`
2022-06-21 15:02:28 +08:00
str4d
7cb71b4814
Update halo2_proofs/src/circuit/value.rs
...
Co-authored-by: ying tong <yingtong@z.cash>
2022-06-13 16:41:05 +01:00
Jack Grigg
5752adf0e5
halo2_proofs: `impl {Add, Sub, Mul} for &Value<V>`
2022-06-09 22:44:25 +00:00
Jack Grigg
521d6edd1c
halo2_proofs: Make `Value::{known, unknown}` const
2022-06-09 22:40:11 +00:00
Jack Grigg
47f25ad632
halo2_proofs: Replace `Option<V>` with `Value<V>`
2022-06-08 23:03:16 +00:00
Jack Grigg
c17d52e5bf
halo2_proofs: Add `halo2_proofs::circuit::Value<V>`
...
This is a more usable and type-safe replacement for `Option<V>` in
circuit synthesis.
2022-06-08 22:29:14 +00:00
Jack Grigg
515f97769f
halo2_gadgets: Enable more inversions to be batched during synthesis
2022-06-08 00:50:16 +00:00
Jack Grigg
3bc0c598ef
halo2_proofs 0.1.0
...
Closes zcash/halo2#426 .
2022-05-10 22:01:21 +00:00
Brecht Devos
bffb83e4d1
Use a hash map to track cell assignment ( #71 )
2022-05-09 18:47:54 +02:00
Jack Grigg
96d4a31d39
halo2_gadgets: Batch inversions in `SinsemillaChip::hash_to_point`
...
This saves around 3.7% in proving time for a 2-action Orchard bundle on
a Ryzen 9 5950X.
2022-05-08 03:28:34 +00:00
ebfull
6fb622a1fc
Merge pull request #543 from NoCtrlZ/feat/fft-optimization
...
Optimize Fft
2022-05-05 14:05:13 -06:00
ebfull
a1d1371ce3
Merge pull request #563 from parazyd/clone-impls-keys
...
plonk: Derive Clone for VerifyingKey and ProvingKey.
2022-05-05 13:59:44 -06:00
Taylor Hornby
64e7efb0d4
Merge pull request #542 from zcash/relicense-mit-or-apache-2.0
...
Relicense Halo 2 crates as MIT OR Apache 2.0
2022-05-05 13:50:45 -06:00
Brecht Devos
9992785dca
Small changes for EVM circuit updates ( #54 )
...
* Lazy evaluation + Make column index public
* Feedback
2022-05-05 18:08:08 +02:00
Jack Grigg
e04c8bfb4b
Migrate to `ff 0.12`
2022-05-04 23:36:18 +00:00
kilic
bee00e16d4
Tag pairing dependency
2022-05-03 22:14:36 +02:00
Carlos Pérez
ae2aa5bce0
Merge pull request #66 from scroll-tech/speedup-param-read
...
Speedup param read
2022-05-03 15:28:43 +02:00
Carlos Pérez
cfea08dd62
Merge pull request #44 from Brechtpd/opt_poly
...
Poly optimizations
2022-05-03 09:35:01 +02:00