Commit graph

60 commits

Author SHA1 Message Date
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
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
Jack Grigg
4d4c79be58 Move Challenge and ChallengeScalar into the transcript module 2020-12-01 22:40:54 +00:00
Jack Grigg
a63e6e25d8 Restrict visibility of PLONK challenges to plonk module 2020-12-01 21:14:14 +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
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
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
3407d13e4b Move curves and fields into tweedle module 2020-11-12 21:36:59 +00:00
therealyingtong
075988ae4e Introduce Column struct and ColumnType trait 2020-11-06 11:29:42 +08:00
therealyingtong
2034179d82 Rename wire -> column 2020-11-06 11:18:12 +08:00
therealyingtong
5181ca56f1 Bind &[pubinput] in plonk test_proving() 2020-10-14 00:35:36 +08:00
therealyingtong
c3d0a172a7 Create multiopen abstraction 2020-10-14 00:35:25 +08:00
Sean Bowe
7a3caaad59
Fix comments 2020-09-29 08:28:00 -06:00
Sean Bowe
c97da352ee
Remove SRS and replace with ProvingKey/VerifyingKey abstractions
Co-authored-by: therealyingtong <yingtong@electriccoin.co>
2020-09-29 08:25:04 -06:00
Sean Bowe
6d41693af5
Use Blind::default(). 2020-09-25 10:21:15 -06:00
Sean Bowe
56b6d8bd03
Auxilary wires in PLONK are foux blinded just like fixed wires. 2020-09-25 10:21:15 -06:00
Sean Bowe
2d1f69328f
Rename OpeningProof to just Proof. 2020-09-25 09:39:32 -06:00
Sean Bowe
a37c926a89
Address clippy lints 2020-09-20 13:09:03 -06:00
Sean Bowe
73d494a72d
Various changes, including restoring permutation argument to advice wires only for now. 2020-09-19 13:31:56 -06:00
therealyingtong
24fe3fae29
Remove aux_commitments computation from Prover; remove blinding factor when accumulator aux_evals 2020-09-19 12:39:04 -06:00
therealyingtong
c772801f8f
Pass aux_lagrange_polys to prover as a slice 2020-09-19 12:39:04 -06:00
therealyingtong
fd094fccd8
Add aux_commitments and aux_evals to test_proving() example 2020-09-19 12:39:04 -06:00
therealyingtong
9482202a98
Update PLONK test_proving() example 2020-09-19 12:39:04 -06:00
therealyingtong
a257308ba2
Add aux wires to ConstraintSystem 2020-09-19 12:39:04 -06:00
therealyingtong
0caf1d2087
Provide aux_commitments to verifier and aux_lagrange_polys to prover 2020-09-19 12:39:04 -06:00
Sean Bowe
a886663e05
Incorporate MSM/Guard into PLONK verifier API and arithmetic. 2020-09-15 17:32:39 -06:00
Sean Bowe
643077b150
Rename ConstraintSystem to Assignment, and MetaCircuit to ConstraintSystem. 2020-09-13 10:30:02 -06:00
therealyingtong
1eb2a36086
Return MSM from PLONK verifier 2020-09-13 23:10:06 +08:00
therealyingtong
c264208a03
Rename params.msm() to params.empty_msm() 2020-09-13 23:07:05 +08:00
therealyingtong
1a52d8f6b8
Add MSM to PLONK verifier signature 2020-09-13 12:32:32 +08:00
Sean Bowe
116659c1ba
Refactor module tree. 2020-09-07 13:07:51 -06:00
Sean Bowe
21f02a73c2
Don't mutate the witness during permutation argument. Also, adds parallelism and reduces state/multiplications. 2020-09-07 09:43:02 -06:00
Sean Bowe
eff149e734
Fix incorrect indexing into advice_cosets during proving. 2020-09-06 14:10:25 -06:00
therealyingtong
503939db05
Minor cleanups 2020-09-06 06:34:29 +08:00
Sean Bowe
965362c1f5
Don't precompute deltaomega; inline its computation. 2020-09-05 14:44:13 -06:00
Sean Bowe
937861c0b8
Add implementation of daira's algorithm for copy constraint enforcement. 2020-09-05 12:56:45 -06:00
Sean Bowe
869aba389a
Cleanups 2020-09-05 11:40:25 -06:00
Sean Bowe
0651359cb8
[WIP] Finish prover 2020-09-03 17:21:44 -06:00
Sean Bowe
6b9ea1dbeb
Precompute deltaomega vector. 2020-09-03 14:31:57 -06:00
Sean Bowe
4a88d52457
Use the correct permutation values from the SRS. 2020-09-03 14:21:13 -06:00
therealyingtong
c44a020de7
Permutation checks in verifier 2020-09-03 00:45:03 +08:00
therealyingtong
bdd48f6037
Add advice_shifted_evals to Proof struct 2020-09-02 23:19:06 +08:00
therealyingtong
2472ec3291
WIP permutation checks in verifier 2020-09-02 23:19:06 +08:00
Sean Bowe
dc5df10832
Update structured reference string and API for permutation argument. 2020-08-31 10:01:09 -06:00