Commit Graph

724 Commits

Author SHA1 Message Date
ebfull 0101014268
Use constants where applicable in field implementations
Co-authored-by: str4d <jack@electriccoin.co>
2020-12-11 11:54:32 -07:00
str4d 2aea582865
book: Note that roots don't have to be constant
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2020-12-11 18:45:14 +00:00
str4d 653cb6ca88
book: Use \cdot for multiplications
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2020-12-11 18:36:46 +00:00
str4d 8f929888af
book: Describe a lookup table as representing a relation
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2020-12-11 18:34:59 +00:00
Jack Grigg e1c770a591 book: Add some more placeholder sections to the user guide 2020-12-10 20:44:50 +00:00
Jack Grigg 2a7df99478 book: Start collecting tips and tricks 2020-12-10 20:44:50 +00:00
Jack Grigg e16946f56b CI: Build crate and make it available to book tests 2020-12-10 20:44:50 +00:00
Jack Grigg a9146ae472 book: Add KaTeX support 2020-12-10 20:44:50 +00:00
ebfull 7e5ed236ba
Merge pull request #86 from zcash/vanishing-argument
Vanishing argument
2020-12-08 08:49:44 -07:00
therealyingtong 8360b94f89 Extract plonk::vanishing::{Argument, Proof} from prover and verifier
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2020-12-08 00:57:14 +08:00
Sean Bowe 81345e0cf1
Change ZETA constant of Fp to make it consistent with the endomorphism over Fq. 2020-12-07 09:42:33 -07:00
ebfull cf734f7875
Merge pull request #53 from zcash/lookup
Lookup argument implementation
2020-12-07 09:33:19 -07:00
therealyingtong e5f55a8576 Abstract add_rotation() helper in plonk::circuit 2020-12-06 07:19:44 +08:00
therealyingtong 4273bbb2ba [Documentation] Consistently use zero-based numbering 2020-12-06 07:10:09 +08:00
ying tong 30c13d5a6a Further cleanups
Co-authored-by: ebfull <ewillbefull@gmail.com>
2020-12-05 13:14:50 +08:00
Sean Bowe e7c4213537
Remove duplicative from_bytes_wide method in fq.rs; it already exists in the trait impl for FieldExt. 2020-12-04 17:22:02 -07:00
Sean Bowe 3b91899a19
Make comment consistent between fq.rs / fp.rs 2020-12-04 15:01:44 -07:00
ebfull adff5b8747
Merge pull request #87 from zcash/book-skeleton
Book skeleton
2020-12-04 14:35:24 -07:00
Jack Grigg 0bc95f2776 Add initial book skeleton 2020-12-04 17:19:17 +00:00
Jack Grigg e21c72a5a6 CI: Run book tests 2020-12-04 16:15:06 +00:00
Jack Grigg cb54205600 Actions workflow to deploy book to GH Pages 2020-12-04 16:14:54 +00:00
Jack Grigg c10e89ab35 Initialise empty mdBook 2020-12-04 16:13:04 +00:00
ying tong ecc805fa35 Correct privacy of lookup structs + minor cleanups
Co-authored-by: str4d <jack@electriccoin.co>
2020-12-04 09:19:15 +08:00
Sean Bowe 6c0e6f7348
cargo fmt 2020-12-03 13:59:17 -07:00
Sean Bowe 95e41fcfcf
Rename curves to Pallas/Vesta (Pasta). 2020-12-03 13:47:47 -07:00
Sean Bowe 7536af8b69
Implement Fp/Fq for the Pallas and Vesta curves.
Co-authored-by: Kris Nuttycombe <kris@electriccoin.co>
2020-12-03 13:46:13 -07:00
therealyingtong 2284bbd0d8 Deduplicate Argument::commit_permuted() and rename {input,table}_values -> {input,table}_columns 2020-12-03 14:00:16 +08:00
therealyingtong 9a3d1b1d05 Optimisations and documentation updates 2020-12-03 12:54:25 +08:00
therealyingtong e51ab7eaa7 Linearise state transition from Argument -> Permuted -> Committed 2020-12-03 12:11:00 +08:00
therealyingtong 0a85e93714 Add lookup to circuit and test 2020-12-03 10:50:20 +08:00
therealyingtong 0c81e9adab Use lookup mod in plonk::prover and plonk::verifier 2020-12-03 10:50:20 +08:00
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