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
Sean Bowe
2e65229920
Remove unnecessary Clone impl from plonk::permutation::prover::Committed.
2020-12-02 09:50:45 -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
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
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
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
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
875c223748
Simplify h_poly expression evaluation in Proof::create
2020-11-24 23:43:48 +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
therealyingtong
3eb6712c6c
Add aux information to metrics
2020-11-24 09:39:34 +08:00
Jack Grigg
236b3a6692
Collect some verifier metrics
2020-11-23 12:47:51 +00:00
Jack Grigg
d4424db8d4
Collect some prover metrics
2020-11-23 12:47:51 +00:00
Jack Grigg
fb8f67dfe5
Add a simple metrics Recorder for counting things in models
2020-11-23 12:47:42 +00:00
therealyingtong
bffab9953e
Conditionally squeeze scalar hasher before interacting with base hasher
2020-11-16 21:28:37 +00:00
ying tong
15682bf16f
Make init_with_hashers() internal to transcript crate
...
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2020-11-16 21:28:37 +00:00
ying tong
7822201c9c
Remove redundant point checks in commitment verifier
...
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2020-11-16 21:28:37 +00:00
therealyingtong
2375507f4f
Update error handling
2020-11-16 21:26:46 +00:00
therealyingtong
43337dea1b
Make Transcript generic over curve points
...
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2020-11-16 21:26:46 +00:00
Jack Grigg
71111e88b7
Type aliases for the tweedle groups
2020-11-12 21:45:56 +00:00
Jack Grigg
3407d13e4b
Move curves and fields into tweedle module
2020-11-12 21:36:59 +00:00
Jack Grigg
f4c15760f2
Use explicit trait paths in arithmetic macros
2020-11-12 19:38:27 +00:00
ebfull
5a2f474616
Merge pull request #56 from zcash/coset-docs
...
Add to documentation for coset evaluation domain
2020-11-11 08:56:03 -07:00
ebfull
5d1e1a29db
Merge pull request #51 from zcash/update-ci
...
Update Actions CI with improved workflow
2020-11-11 08:52:59 -07:00
ying tong
a856137619
Minor refactors
...
Co-authored-by: str4d <jack@electriccoin.co>
2020-11-11 13:56:34 +08:00
therealyingtong
28e07eab16
Add to documentation for coset evaluation domain
2020-11-10 13:44:52 +08:00