2307 Commits

Author SHA1 Message Date
AtHeartEngineer
7204d7f439 Merge branch 'zcash:main' into main 2022-07-08 14:46:30 -04:00
AtHeartEngineer
80c18192f3 e2e: added print statements to make it clear what step is running 2022-07-08 17:56:23 +00:00
AtHeartEngineer
15a2c0d328 E2E Example update 2022-07-08 16:59:18 +00:00
AtHeartEngineer
9aa8d995a9 e2e example documentation 2022-07-08 16:13:10 +00:00
Daira Hopwood
5af2bd3bd7 [Book] Rename "polynomial degree bound" to "maximum constraint degree".
This is because "degree bound" is often defined to be exclusive.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-07-07 18:13:14 -04:00
Daira Hopwood
104101d0eb [Book] Make the permutation diagram stand out against dark backgrounds.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-07-07 18:13:14 -04:00
AtHeartEngineer
44202ebcb3 Add comments and clean up 2022-07-07 20:11:27 +00:00
AtHeartEngineer
ef45ce80cb Initial documentation for e2e example 2022-07-07 19:38:34 +00:00
AtHeartEngineer
f0266df010 End to End Example 2022-07-07 18:48:45 +00:00
str4d
96d9bde905 Merge pull request #612 from zcash/batch-crate-feature
Place `halo2_proofs::plonk::BatchVerifier` behind a (default enabled) crate feature called `batch`.
halo2_gadgets-0.2.0 halo2_proofs-0.2.0
2022-06-23 20:16:37 +01: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
ebfull
912003138f Merge pull request #611 from zcash/release-0.2.0
Release 0.2.0
2022-06-23 12:35:40 -06:00
Jack Grigg
2c06d83ae9 halo2_gadgets 0.2.0 2022-06-23 17:41:52 +00: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
Jack Grigg
f0861db20b halo2_gadgets: Silence clippy lints
They are in code generated by macros from the `uint` crate, that we
can't do anything about from here.
2022-06-23 17:37:19 +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
ebfull
c1159bda1b Merge pull request #1 from daira/msm-optimization-daira
Reduce memory overhead of MSM
2022-06-23 10:04:29 -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
str4d
745f5d1598 Merge pull request #607 from zcash/caching
Cache values in `VerifyingKey` that can be computed on construction
2022-06-22 21:53:32 +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
str4d
f6efecc596 Merge pull request #603 from zcash/batch-verifier-return-rng
Add `BatchVerifier::finalize_and_return_rng`
2022-06-22 17:43:50 +01:00
Jack Grigg
22ec36979c Add BatchVerifier::finalize_and_return_rng 2022-06-21 15:04:08 +00:00
str4d
c9fc4c6720 Merge pull request #601 from zcash/book/update-comparison
[book] Add `U` to `BCMS` comparison table
2022-06-21 03:17:58 +01:00
ying tong
69a980ff40 [book] Add U to BCMS comparison table 2022-06-15 10:40:49 -04:00
str4d
a898d65ae3 Merge pull request #598 from zcash/circuit-value-type
Introduce `halo2_proofs::circuit::Value`
2022-06-13 16:41:26 +01: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
str4d
1cf376e9a6 Merge pull request #597 from zcash/small-perf-improvements
Small performance improvements
2022-06-10 00:48:23 +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
5ed3d2501f halo2_gadgets: Replace Option<V> with Value<V> 2022-06-08 23:31:25 +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
5f1fb166d1 halo2_gadgets: Reduce allocations during var-mul synthesis 2022-06-08 00:50:16 +00:00
str4d
c0db68aa05 Merge pull request #589 from zcash/protocol-rule-links
halo2_gadgets: Add protocol rule links for the chip constraints
2022-05-27 16:46:56 +01:00
Jack Grigg
c1007d8c23 halo2_gadgets: Add protocol rule links for the chip constraints
Part of zcash/zcash#3957.
2022-05-25 22:41:04 +00:00
ying tong
34b2e77a57 Merge pull request #467 from zcash/sha256-tweaks
SHA-256 chip tweaks
2022-05-25 12:51:16 +08:00
str4d
8075b216e8 Merge pull request #584 from trel/remove_dsstore
remove .DS_Store
2022-05-13 15:29:23 +01:00
Terrell Russell
076fa24390 remove .DS_Store 2022-05-13 09:18:59 -04:00
str4d
bf459804f6 Merge pull request #581 from zcash/release-0.1.0
Release `halo2_proofs` and `halo2_gadgets` 0.1.0
halo2_gadgets-0.1.0 halo2_proofs-0.1.0
2022-05-10 23:27:30 +01:00
Jack Grigg
e36041d198 halo2_gadgets 0.1.0
Closes zcash/halo2#460.
2022-05-10 22:05:30 +00:00
Jack Grigg
3bc0c598ef halo2_proofs 0.1.0
Closes zcash/halo2#426.
2022-05-10 22:01:21 +00:00
str4d
50921f95f7 Merge pull request #573 from zcash/str4d/chip-review
Changes from `halo2_gadgets` review
2022-05-10 22:54:45 +01:00
Jack Grigg
91e1106a1e halo2_gadgets: Address review comments 2022-05-10 21:35:52 +00:00