Commit Graph

943 Commits

Author SHA1 Message Date
therealyingtong 19c1b20063 Add lookup::verifier methods 2020-12-03 10:50:20 +08:00
therealyingtong c692311a12 Add Evaluated::open() and Evaluated::build() to lookup::prover 2020-12-03 10:50:20 +08:00
therealyingtong 6ccf58fc7c Add Constructed::evaluate() to lookup::prover 2020-12-03 10:50:20 +08:00
therealyingtong 39df4954b5 Add Committed::construct() to lookup::prover 2020-12-03 10:50:20 +08:00
therealyingtong 2d0f4a11e3 Add commit_product() to lookup::prover 2020-12-03 10:50:20 +08:00
therealyingtong 46eed7be93 Add commit_permuted() in lookup::prover 2020-12-03 10:50:20 +08:00
therealyingtong 02344eb711 Add lookup mod and structs 2020-12-03 10:50:20 +08:00
therealyingtong 2ba44cff9f Add theta challenge 2020-12-03 10:50:20 +08:00
therealyingtong 5d891e029d Add fixed_values to ProvingKey 2020-12-03 10:50:20 +08:00
ebfull ae20f75f7a
Merge pull request #83 from zcash/touchups
Minor touchups
2020-12-02 16:28:13 -07:00
Sean Bowe 2e65229920
Remove unnecessary Clone impl from plonk::permutation::prover::Committed. 2020-12-02 09:50:45 -07:00
Sean Bowe a5d04725bd
We depend on subtle 2.3 for `Option<T>: From<CtOption<T>>`. 2020-12-02 09:50:43 -07:00
ebfull d5927d66c0
Merge pull request #70 from zcash/internal-api
Extract permutation argument and introduce typed challenges
2020-12-02 08:54:36 -07:00
ebfull ee13dbca1a
Merge pull request #81 from zcash/wasm-targets
CI: Build for WASM targets
2020-12-01 15:42:30 -07:00
Jack Grigg 4d4c79be58 Move Challenge and ChallengeScalar into the transcript module 2020-12-01 22:40:54 +00:00
Jack Grigg 2e6ca274a4 Fix challenge types in poly::multiopen and poly::commitment
The argument to the poly::commitment prover and verifier was mistakenly
represented as a challenge, when in fact the commitments may be opened at
any scalar (which just happens to be a challenge within poly::multiopen).

The poly::commitment APIs are now public again.
2020-12-01 22:34:18 +00:00
Jack Grigg 3d6afd7b8e permutation: Clean up opening chains 2020-12-01 22:09:50 +00:00
Jack Grigg dd3d1dd68b Small type annotation cleanups 2020-12-01 21:49:07 +00:00
Jack Grigg f0723dbbcc multiopen: Rename [x_4, x_5] challenges to [x_1, x_2]
Also added types for these challenges, even though it's not technically
necessary yet because we don't pass these around anywhere.
2020-12-01 21:42:32 +00:00
Jack Grigg eb7ce442f9 Rename ChallengeX6 to ChallengeZ 2020-12-01 21:40:16 +00:00
Jack Grigg 914d150a6b CI: Build for WASM targets 2020-12-01 21:26:52 +00:00
Jack Grigg a63e6e25d8 Restrict visibility of PLONK challenges to plonk module 2020-12-01 21:14:14 +00:00
Jack Grigg 7422efca72 s/permutation::Proof::commit/permutation::Argument::commit
Once we refactor the permutation argument implementation to be integrated
as Vec<permutation::Proof>, we can change this again to just map from the
Vec<permutation::Argument> inside ConstraintSystem.
2020-12-01 21:10:31 +00:00
Jack Grigg 66240800a3 Move permutation keygen into plonk::permutation::keygen 2020-12-01 21:10:31 +00:00
Jack Grigg f63f3ff2af Introduce typed challenge scalars
This also centralises the challenge generation logic in Challenge::get,
ensuring it is consistent across the codebase.
2020-12-01 21:09:03 +00:00
Jack Grigg 63e3bc1e15 Remove unnecessary Transcript::init_with_hashers constructor 2020-12-01 21:03:31 +00:00
Jack Grigg 4a3b830165 Extract permutation argument into a submodule 2020-12-01 21:03:31 +00:00
ebfull 3bcfe7825f
Merge pull request #61 from zcash/ff-traits
Migrate to ff traits
2020-12-01 13:59:06 -07:00
Jack Grigg cdbc41148a Migrate to ff traits
The `Field` trait in this crate is now `FieldExt: ff::PrimeField`.
2020-12-01 20:55:03 +00:00
str4d a66cc66f82
Merge pull request #59 from zcash/optimise-polycommit
Documentation updates + clippy fixes
2020-11-30 20:25:53 +00:00
therealyingtong 72471dc07e Clippy fixes 2020-11-30 23:57:48 +08:00
therealyingtong 0b2ec8965f Update documentation in polycommit verifier 2020-11-30 15:28:19 +08:00
therealyingtong d168f5c21b Parallelize and rename methods in msm.rs 2020-11-30 15:28:19 +08:00
str4d f86fce83ef
Merge pull request #71 from zcash/use-latest-stable
Use latest stable Rust
2020-11-27 15:44:26 +00:00
Jack Grigg a0a9538132 Use renamed broken_intra_doc_links lint 2020-11-27 14:40:37 +00:00
Jack Grigg e5e6700e10 Pin most recent metrics alpha 2020-11-25 19:56:52 +00:00
Jack Grigg 6c85ad14a9 Use latest stable Rust
We don't need to commit to an MSRV yet, and this avoids the problem
where some of our in-flux dependencies bump their MSRV (or don't have
a defined MSRV and make changes to use more recent features) causing
our CI to break.
2020-11-25 19:38:03 +00:00
str4d 6f6a6a6bb0
Merge pull request #48 from zcash/small-optimisations
Small optimisations
2020-11-25 14:01:23 +00:00
Jack Grigg 875c223748 Simplify h_poly expression evaluation in Proof::create 2020-11-24 23:43:48 +00:00
Jack Grigg 61cddec3b8 Update crate authors 2020-11-24 18:25:56 +00:00
Jack Grigg 61c9392475 Remove query allocations from Proof::create
multiopen::Proof::create takes `instances: IntoIterator`, so we can just
pass it an iterator directly.
2020-11-24 18:25:55 +00:00
Jack Grigg 6360da1f4e Remove query allocations from Proof::verify
multiopen::Proof::verify takes `queries: IntoIterator`, so we can just
pass it an iterator directly.
2020-11-24 18:23:27 +00:00
Jack Grigg 7f29ab913d Simplify h(x_3) computation in verifier using Horner's rule
Closes zcash/halo2#45
2020-11-24 18:18:45 +00:00
Jack Grigg feba8e2fdf Allocate permutation_modified_advice once in Proof::create 2020-11-24 18:18:45 +00:00
str4d cc5f45231d
Merge pull request #42 from zcash/plonk-benches
PLONK benchmarks
2020-11-24 18:14:07 +00:00
Jack Grigg 9a4f27056c Fix clippy lint in metrics model doctest 2020-11-24 17:56:33 +00:00
str4d e8bf35d853
Merge pull request #43 from zcash/transcript-merge
Make transcript generic over curve point
2020-11-24 17:50:18 +00:00
therealyingtong 3eb6712c6c Add aux information to metrics 2020-11-24 09:39:34 +08:00
Jack Grigg 37c4927dac model: Measure keygen and prover separately 2020-11-23 12:47:51 +00:00
Jack Grigg 236b3a6692 Collect some verifier metrics 2020-11-23 12:47:51 +00:00