Commit graph

779 commits

Author SHA1 Message Date
ebfull
1e4b449934
Merge pull request #125 from zcash/circuit-traits
Circuit component traits
2021-01-12 09:23:21 -07:00
Sean Bowe
e1a772d6e1
Remove transcript forking API. 2021-01-12 07:40:31 -07:00
Sean Bowe
f308eb969c
Remove deterministic square root calculation as it's no longer needed. 2021-01-12 07:40:26 -07:00
Sean Bowe
98c1d80c90
Avoid square challenges and forking in inner product argument
This modifies the scheme to be almost identical to the construction
outlined in Appenix A.2 of "Proof-Carrying Data from Accumulation
Schemes" (https://eprint.iacr.org/2020/499). The only remaining
difference is that we do not compute [v] U but instead subtract
[v] G_0 from the commitment before opening.
2021-01-12 07:40:20 -07:00
str4d
8ed9bb7bf3
Merge pull request #134 from zcash/book-design-sections
book: Reorganize design subsections
2021-01-12 10:32:34 +13:00
Jack Grigg
afdb4a8981 book: Add design notes about implementation of proofs
Adapted from https://github.com/zcash/halo2/pull/111
2021-01-11 21:21:05 +00:00
Jack Grigg
fb411b12e8 book: Reorganize design subsections 2021-01-11 21:07:45 +00:00
str4d
6d7e9afdb7
Merge pull request #133 from zcash/eli15
book: Add background material
2021-01-12 09:50:56 +13:00
Jack Grigg
f8c5c2e28e book: Add background material
Co-authored-by: Sean Bowe <ewillbefull@gmail.com>
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
Co-authored-by: ying tong <yingtong@z.cash>
2021-01-11 20:44:53 +00:00
ying tong
1b4b5a301b
Merge pull request #132 from zcash/book-patch-compression-2
[book] SHA-256: add compression digest gate
2021-01-11 23:57:07 +08:00
therealyingtong
d23fcd1ccd [book] SHA-256: add compression digest gate 2021-01-11 23:56:23 +08:00
ying tong
42aebe01d8
Merge pull request #131 from zcash/book-patch-compression-1
[book] SHA-256 compression table patch
2021-01-11 01:30:25 +08:00
therealyingtong
34defb4577 Remove unnecessary spreads for a_new, e_new 2021-01-11 00:49:37 +08:00
therealyingtong
c920bdf9a6 Split choice table into two tables 2021-01-11 00:22:07 +08:00
str4d
67c4790ce6
Merge pull request #129 from zcash/mdbook-update
Use mdbook 0.4.5
2021-01-09 15:44:16 +13:00
Jack Grigg
30b1c0c1ad Use mdbook 0.4.5
https://blog.rust-lang.org/2021/01/04/mdbook-security-advisory.html
2021-01-09 02:37:05 +00:00
ying tong
c944268671
Merge pull request #128 from zcash/book-patch-compression
[book] sha256: Simplify compression region to reuse message schedule …
2021-01-09 01:30:28 +08:00
therealyingtong
42988ce1d0 [book] sha256: Simplify compression region to reuse message schedule gates 2021-01-09 01:29:16 +08:00
str4d
9612656fd6
Merge pull request #126 from zcash/mockprover-lint-fix
Remove unnecessary trailing semicolon
2021-01-08 15:27:46 +13:00
Jack Grigg
d94e9b3daf Remove unnecessary trailing semicolon 2021-01-08 02:22:16 +00:00
Jack Grigg
f24b60b5b0 Add a placeholder module for gadgets 2021-01-08 01:55:10 +00:00
Jack Grigg
7e2406cc77 Implement a simple single-chip layouter 2021-01-08 01:54:44 +00:00
Jack Grigg
17da891b25 General traits and structs for implementing circuits 2021-01-08 01:54:18 +00:00
str4d
c968ea8091
Merge pull request #95 from zcash/mock-prover
Add MockProver for developing circuits
2021-01-08 11:40:18 +13:00
ying tong
2d81d762ad
Merge pull request #123 from zcash/book-patch-sha256-1
[book] sha-256: Remove superfluous fixed columns
2021-01-08 00:25:54 +08:00
therealyingtong
68166c27ac Remove superfluous selector columns 2021-01-08 00:24:21 +08:00
Jack Grigg
08da49353e Fix clippy lints in MockProver 2021-01-07 12:42:04 +00:00
Jack Grigg
8590211585 Remove unnecessary parts from MockProver per review comments 2021-01-06 21:52:56 +00:00
Jack Grigg
49f1598c0e Add example to MockProver documentation
Also fixes a bug in MockProver::verify (which was exposing an internal
implementation detail as an incorrect row numbering).
2021-01-06 21:52:56 +00:00
Jack Grigg
64b06735bf Expose MockProver in crate, and add documentation 2021-01-06 21:52:56 +00:00
therealyingtong
fb939f17a9 Add permutation check to MockProver 2021-01-06 21:52:56 +00:00
Jack Grigg
6eebf3994b Add MockProver for developing circuits 2021-01-06 21:52:56 +00:00
Sean Bowe
c8dedf2ec3
Fix challenge multiplications as per #119. 2021-01-06 10:47:06 -07:00
Sean Bowe
c5e0364962
Remove the Read/Write type parameters from Transcript{Read,Write}. 2021-01-06 10:45:11 -07:00
Sean Bowe
dff5a3a692
Generate the URS using a homebrew mixture of blake2b and try-and-increment. 2021-01-06 10:45:11 -07:00
Sean Bowe
a2999accb5
Rename DummyHash{Reader,Writer} to DummyHash{Read,Write}. 2021-01-06 10:45:11 -07:00
Sean Bowe
7ffd28a1b5
Remove unnecessary separate msm from commitment::verify_proof. 2021-01-06 10:45:11 -07:00
Sean Bowe
4ecbfb548e
Remove unnecessary lifetimes. 2021-01-06 10:45:11 -07:00
Sean Bowe
06552eec44
Update the PLONK implementation to adapt to the new transcript API. 2021-01-06 10:45:11 -07:00
Sean Bowe
5be7d9525d
Update multiopen APIs to reflect changes made to Transcript APIs 2021-01-06 10:45:10 -07:00
Sean Bowe
d30c6b62e4
Modification of the polynomial commitment scheme to compensate for Transcript API changes. 2021-01-06 10:40:26 -07:00
Sean Bowe
fb232ddec0
Change API for dealing with transcripts to integrate proof reading/writing. 2021-01-06 10:39:11 -07:00
str4d
fb37172ffa
Merge pull request #119 from zcash/fix-rust-breakage
Fix breakage of trait resolution in Rust 1.49.0
2021-01-07 04:15:00 +13:00
ying tong
0ed37a937f
Merge pull request #122 from zcash/book-patch-compression
[book] Fix compression table formatting
2021-01-06 20:41:42 +08:00
therealyingtong
1a3fccd71b [book] Fix compression table formatting 2021-01-06 20:41:13 +08:00
ying tong
b0fc9a0b37
Merge pull request #121 from zcash/book-sha256-compression
[book] Add compression region to table16.md
2021-01-06 20:31:11 +08:00
therealyingtong
38c78b8c50 [book] Add compression region to table16.md 2021-01-06 20:30:28 +08:00
Jack Grigg
ac75aac455 CI: Set toolchain for book tests 2021-01-06 00:48:29 +00:00
Jack Grigg
f49e1e6177 Fix breakage of trait resolution in Rust 1.49.0
Previously, `ChallengeScalar` could use the operator traits defined on
the `F: Field` type it wrapped, due to its `impl Deref<Target = F>`.
This was technically ambiguous, and Rust 1.49.0 makes that ambiguity an
error.

We could fix this by adding operator impls with `ChallengeScalar` on the
RHS, but that would conflict with zcash/halo2#111. Instead we manually
dereference every challenge scalar when used in an arithmetic operation.
2021-01-06 00:48:29 +00:00
ying tong
26346adb9b
Merge pull request #118 from zcash/book-patch-sha256-4
[book] table16.md: Add sb1 selector
2021-01-04 23:57:01 +08:00