Commit Graph

458 Commits

Author SHA1 Message Date
Jack Grigg 3fc245343e Return results from assigned regions
This makes it easier to pass variables out of a region.
2021-02-01 21:42:57 +00:00
Jack Grigg db0477a606 impl<F: FieldExt> {Neg, Sub} for Expression<F> 2021-02-01 21:42:57 +00:00
ebfull f566bf7fe0
Merge pull request #145 from zcash/circuit-annotations
Circuit annotations and developer tooling
2021-02-01 12:57:39 -07:00
Jack Grigg 0a378c3d0f Require Circuit::Config implement Clone instead of Copy 2021-02-01 19:05:19 +00:00
Jack Grigg c95f0b7c0c circuit_layout: Darken the cells of the region that have been assigned to
We record every instance of a cell assignment, so that cells which are
double-assigned (which is usually a mistake) will appear darker.
2021-02-01 18:38:22 +00:00
Jack Grigg 3c1132ec59 Add halo2::dev::circuit_layout behind dev-graph feature flag
This method renders circuits as tables, showing how the various regions
within them have been layed out.
2021-02-01 18:38:20 +00:00
Jack Grigg 7dd6e65a5f Add halo2::dev::circuit_dot_graph behind dev-graph feature flag
This method renders circuits as dot graphs, to help circuit developers
understand their structure.
2021-02-01 18:38:16 +00:00
Jack Grigg 82da677add Add name field to ConstraintSystem::create_gate
The name has type `&'static str`, as gates apply to every row and thus
do not require any runtime information to name.
2021-02-01 18:38:13 +00:00
Jack Grigg bf771a7446 Add namespacing and gadget name collection to Layouter 2021-02-01 18:38:04 +00:00
Jack Grigg 60061f64fd Add name field to Layouter::assign_region 2021-02-01 18:34:24 +00:00
Jack Grigg 4c3adf59d5 Add annotations to Region::{assign_advice, assign_fixed}
This enables circuits to annotate individual cells with variable names
or similar protocol-specific metadata.
2021-02-01 18:33:25 +00:00
ebfull fb82730d85
Merge pull request #149 from zcash/transcript-blake2b
Replace DummyHash with BLAKE2b
2021-02-01 10:00:27 -07:00
therealyingtong 48bfea9782 Replace DummyHash with BLAKE2b 2021-02-02 00:53:53 +08:00
ebfull a05f48be8f
Merge pull request #143 from zcash/multiproof
Multi-proof prover
2021-02-01 09:35:38 -07:00
therealyingtong ea14d99a83 Renaming and cleanups from code review
Co-authored-by: Sean Bowe <ewillbefull@gmail.com>
2021-02-02 00:05:55 +08:00
str4d a0282e7e15
Merge pull request #159 from daira/background-update2
Further clarify notation and make sure that the discussion is correct for non-cyclic groups
2021-02-02 00:33:02 +13:00
therealyingtong a00d7c2fa6 Cleanups from code review
Co-authored-by: Kris Nuttycombe <kris.nuttycombe@gmail.com>
Co-authored-by: Sean Bowe <ewillbefull@gmail.com>
2021-01-31 11:48:32 +08:00
therealyingtong de86391f0e Update test to pass multiple ConcreteCircuits 2021-01-31 11:48:32 +08:00
therealyingtong def65609b1 Refactor PLONK verifier 2021-01-31 11:45:40 +08:00
therealyingtong 02b5b8442b Refactor PLONK prover 2021-01-31 11:45:40 +08:00
ebfull 5f89227cdd
Merge pull request #135 from zcash/serialize-params
Serialize params
2021-01-30 11:43:55 -07:00
Daira Hopwood 20f33f427f Further clarify notation and make sure that the discussion is correct for non-cyclic groups.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-01-30 16:16:22 +00:00
Daira Hopwood fc0bddad8a
Merge pull request #158 from daira/background-update
Improvements to background section
2021-01-30 03:25:24 +00:00
Daira Hopwood 13f406acc1
Fix link 2021-01-30 03:24:35 +00:00
Daira Hopwood 7a5915ab09
Apply some suggestions from code review
Co-authored-by: str4d <thestr4d@gmail.com>
2021-01-30 02:49:40 +00:00
Daira Hopwood cda768aa00 Improvements to background section:
* describe groups in general, rather than via the example of F_p^*
* explain the isomorphism between group elements and scalars, and how it is useful
* corrections and pedantry :-)

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-01-30 01:43:24 +00:00
str4d 7448f9b930
Merge pull request #156 from zcash/clippy-fixes
Clippy lint fixes
2021-01-30 13:14:46 +13:00
str4d f437bffc97
Merge pull request #137 from zcash/layouter-strategy
Simple layouter strategy to track column usage
2021-01-30 13:06:16 +13:00
Jack Grigg 8b2082877e Remove unnecessary let bindings 2021-01-29 23:43:13 +00:00
str4d 3f96821d83
Merge pull request #155 from zcash/eli15-template
Add an issue template for improving the Halo 2 book
2021-01-30 12:40:20 +13:00
Jack Grigg d84a4cbbfc book: Add a link from "Background Material" to the issue tracker
This will hopefully encourage readers to submit feedback as they read
the book, enabling us to catch things that could be explained better.
2021-01-29 20:59:39 +00:00
Jack Grigg db930f706a Add an issue template for improving the Halo 2 book 2021-01-29 20:57:50 +00:00
Daira Hopwood 723ea8feac Clarifications for background, from pairing with Kris.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-01-29 19:51:48 +00:00
therealyingtong 2255fbec8b Make RegionShape struct public 2021-01-28 10:55:17 +08:00
therealyingtong faf5da15c9 Track column usage in RegionShape.
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2021-01-28 10:55:02 +08:00
therealyingtong ffdd739f85 Only write k in Params; calculate n when reading
Co-authored-by: Jack Grigg <jack@electriccoin.co>
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-01-24 08:07:30 +08:00
therealyingtong e0f9fe1dcf Clippy fixes + address review comments
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2021-01-24 08:07:30 +08:00
therealyingtong 58479fbcc3 Refactor keygen to generate pk from vk. 2021-01-24 08:07:30 +08:00
therealyingtong b9737ada93 Add serialization support for polycommit Params. 2021-01-24 08:05:58 +08:00
Sean Bowe ba591c3b39 Add serialization support for PLONK verifying keys. 2021-01-24 08:05:58 +08:00
Sean Bowe a0d7998785 Add implementations of read/write to CurveAffine and FieldExt. 2021-01-24 08:05:58 +08:00
Sean Bowe d9d20bfe36 Break out domain creation logic into separate method. 2021-01-24 08:04:13 +08:00
str4d 963a91464a
Merge pull request #120 from daira/sqrt_ratio
Add sqrt_ratio implementation.
2021-01-24 07:58:14 +13:00
ebfull d9ff25048d
Merge pull request #146 from zcash/init-changelog
Initialize the changelog
2021-01-23 11:24:28 -07:00
ebfull e56373fa33
Merge pull request #110 from nuttycom/remove_cs_rotations
Remove rotations from ConstraintSystem & use Rotation instead of i32 for circuit methods.
2021-01-23 11:22:13 -07:00
Jack Grigg d4a76edee5 Initialize the changelog 2021-01-22 23:54:31 +00:00
str4d dee884dc12
Merge pull request #142 from daira/concepts-update
Make terminology more consistent with the ZKProof reference and Sean's usage
2021-01-22 12:58:20 +13:00
Daira Hopwood c7a12ee178
Add documentation of perfect hash parameters. 2021-01-17 02:24:09 +00:00
Daira Hopwood adc3c9c2ea
Fix incorrect variable name in a comment.
Co-authored-by: str4d <thestr4d@gmail.com>
2021-01-17 01:52:49 +00:00
Daira Hopwood 847c41d5c8 Make terminology more consistent with the ZKProof reference and Sean's usage.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-01-16 15:48:43 +00:00