Commit Graph

2131 Commits

Author SHA1 Message Date
str4d 1e6bb51790
Merge pull request #540 from zcash/release-0.1.0-beta.4
Release halo2_proofs 0.1.0-beta.4
2022-04-06 12:23:23 +01:00
therealyingtong 75b5c1e923 halo2_gadgets 0.1.0-beta.3 2022-04-06 12:28:36 +08:00
therealyingtong a11cb9796e halo2_proofs 0.1.0-beta.4 2022-04-06 12:24:28 +08:00
str4d 95df0af86d
Merge pull request #537 from zcash/fix-stack-overflow
Reduce depth of AST by special casing the application of Horner's rule
2022-04-04 23:13:30 +01:00
Sean Bowe 6a31a0e6a1
Apply @str4d's review suggestions. 2022-04-04 14:07:31 -06:00
Sean Bowe fa069a7455
Use unwrap_or_default() instead of unwrap_or(HashMap::new()) 2022-04-03 10:06:19 -06:00
Sean Bowe fd7e9ddbb0
rustfmt 2022-04-02 15:38:46 -06:00
Sean Bowe 4163b8765a
Reduce depth of AST by special casing the application of Horner's rule.
The existing code will fold together a very deep AST that applies Horner's
rule to each gate in a proof -- which could include multiple circuits and
so for some applications will quickly grow such that when we recursively
descend later during evaluation the stack will easily overflow.

This change special cases the application of Horner's rule to a
"DistributePowers" AST node to keep the tree depth from exploding in size.
2022-04-02 13:13:46 -06:00
str4d 406f622e33
Merge pull request #531 from zcash/release-0.1.0-beta.3
Release `halo2_proofs 0.1.0-beta.3`
2022-03-22 20:29:09 +00:00
Jack Grigg 11dcfb88ba halo2_gadgets 0.1.0-beta.2 2022-03-22 20:04:14 +00:00
Jack Grigg 8acd4abfb3 halo2_proofs 0.1.0-beta.3 2022-03-22 19:59:10 +00:00
Jack Grigg e39c8e94d2 Update changelogs 2022-03-22 19:55:53 +00:00
str4d 8abd7b74db
Merge pull request #417 from zcash/fix-assigned-usage
Expand `Assigned<F>` APIs
2022-03-22 19:46:51 +00:00
ying tong 084ecf185a
Merge pull request #523 from zcash/therealyingtong-patch-1
[book] Correct typo in Q_0 of protocol description.
2022-03-18 12:56:36 +08:00
str4d 642efc1536
Merge pull request #521 from zcash/reconstruct-selectors
Remove selector_map from pinned verification key and remove VerificationKey serialization
2022-03-18 00:14:36 +00:00
str4d 31b68fab25
Merge pull request #524 from zcash/fix-docs-rs-build
Fix docs.rs build
2022-03-17 19:34:52 +00:00
Jack Grigg c6b4fcaf34 Fix docs.rs build
The published source code for each package needs to include the required
header file, and the path to that header file needs to be relative to
the package source (not the repository source). We therefore need to
have the header file present in each workspace package.

Closes zcash/halo2#506.
2022-03-17 19:14:11 +00:00
Jack Grigg d3f2980349 Remove VerifyingKey serialization from sha256 gadget benchmark 2022-03-17 18:58:53 +00:00
ying tong 2194973aa8
[book] Correct typo in protocol description.
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-03-17 21:35:06 +08:00
Sean Bowe f46d77763e
Remove logic for reading and writing VerificationKey to/from buffers. 2022-03-16 14:19:33 -06:00
Sean Bowe 819bc3c2f5
Stop placing the selector_map (which is an internal API detail) in the pinned verification key. 2022-03-16 14:19:13 -06:00
Sean Bowe e10f4e1d0e
Add mechanism for generating a new proof in test. 2022-03-16 12:53:04 -06:00
str4d c12620c598
Merge pull request #505 from zcash/ci-updates
CI updates
2022-02-16 13:54:19 +00:00
Jack Grigg 82bb4e6141 CI: Test against Windows and macOS in addition to Ubuntu 2022-02-15 23:35:11 +00:00
Jack Grigg e2932427ed CI: Update `codecov/codecov-action` to v2.1.0 2022-02-15 23:34:43 +00:00
str4d c63828b51a
Merge pull request #504 from zcash/release-0.1.0-beta.2
`halo2 0.1.0-beta.2` etc.
2022-02-15 01:57:34 +00:00
Daira Hopwood c5cdea1eb0
Merge pull request #487 from daira/book-improve-incomplete-addition
Improve the explanation of incomplete addition
2022-02-15 01:05:00 +00:00
Jack Grigg 80953d02c2 halo2 0.1.0-beta.2 2022-02-14 22:03:40 +00:00
Jack Grigg c9852c61ec halo2_gadgets 0.1.0-beta.1 2022-02-14 21:58:20 +00:00
Jack Grigg f642727e51 halo2_proofs 0.1.0-beta.2 2022-02-14 21:58:20 +00:00
Jack Grigg 1d2f698aca Update license dates and links 2022-02-14 21:58:20 +00:00
Jack Grigg e0cc7b39d3 Update changelogs 2022-02-14 21:29:42 +00:00
ebfull 247cd620ee
Merge pull request #502 from zcash/simplify-ipa-equation
halo2_proofs: change IPA check equation to match the book
2022-02-14 11:17:11 -07:00
Sean Bowe 0b73c74f72
Address comments brought up by @str4d. 2022-02-14 10:44:14 -07:00
Sean Bowe f2daf91315
halo2_proofs: change IPA check equation to match the book
The verifier's check in the inner product argument used to assume that the
G'_0 value had an additional (trivial) blinding factor term, which makes
it slightly easier to reason that it never is the point at infinity.
However, we never sample challenges that are zeroes (both for security
and completeness reasons) so this element would never be the point at
infinity anyway. Thus, we can simplify the check with the added benefit of
matching the book's description of the protocol.
2022-02-14 09:37:57 -07:00
ebfull 8c0deb10aa
Merge pull request #495 from zcash/book-consistency
halo2_proofs: rename variables for consistency
2022-02-14 09:24:20 -07:00
str4d 552c5beb23
Merge pull request #501 from zcash/hardcoded-proof
Add hardcoded proof to plonk_api test
2022-02-14 16:07:52 +00:00
Sean Bowe 90bebdf29a
halo2_proofs: add hardcoded proof to plonk_api test for backwards compatibility testing 2022-02-14 08:48:03 -07:00
Sean Bowe 289f24bb8b
Improvements due to @daira's code review. 2022-02-11 08:50:55 -07:00
Sean Bowe a129490517
Minor changes 2022-02-10 08:08:20 -07:00
Sean Bowe a4d3c328b9
halo2_proofs: rename variables for consistency
This changes variable names in the multiopen and commitment opening implementations
and the book's protocol description to keep names and indicies consistent with one
another.

Co-Authored-By: Jack Grigg <jack@electriccoin.co>
2022-02-09 13:37:50 -07:00
str4d b45180273e
Merge pull request #486 from rex4539/typos
Fix typos
2022-02-08 17:52:28 +00:00
str4d 9617336d46
Merge pull request #489 from zcash/ci-book-pin-nightly
CI: Pin nightly version in book workflow
2022-02-04 01:27:43 +00:00
Jack Grigg 53427d19db CI: Pin nightly version in book workflow
We require nightly Rust to build the documentation, but latest nightly
has a bug where `--no-deps` causes an ICE.
2022-02-04 01:23:32 +00:00
str4d 457739593e
Merge pull request #488 from zcash/fix-ci-rustdoc
CI: Fix rustdoc rendering to handle workspace
2022-02-04 01:04:54 +00:00
Jack Grigg 0ce0280b26 CI: Fix rustdoc rendering to handle workspace
`cargo rustdoc` only works for a single package. To render docs for
a workspace while passing config options to `rustdoc`, we need to use
the `RUSTDOCFLAGS` environment variable.

We also add several other flags to handle the switch to `cargo doc`:
- `--no-deps` ensures we only build packages in the workspace.
- `--enable-index-page` (unstable) adds a landing page showing the list
  of rendered crate docs.
2022-02-04 01:03:52 +00:00
Daira Hopwood c4bdab59e3 Improve the explanation of incomplete addition:
* use biimplication in the correctness argument to ensure both soundness and completeness;
* avoid introducing lambda at all; it's unnecessary and omitting it shortens the explanation.

Co-authored-by: Jack Grigg <str4d@electriccoin.co>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-02-03 22:06:05 +00:00
Dimitris Apostolou e2f88e450b
Fix typos 2022-02-03 18:01:22 +02:00
str4d ee14e3f985
Merge pull request #481 from zcash/457-deprecated-bigint
halo2_gadgets: Migrate from bigint to uint
2022-02-02 00:40:30 +00:00
Jack Grigg c6886600a9 halo2_gadgets: Migrate from bigint to uint
Closes zcash/halo2#457.
2022-02-01 16:19:53 +00:00