Commit graph

526 commits

Author SHA1 Message Date
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
therealyingtong
29738d4214 Add sb1 selector 2020-12-28 22:57:50 +08:00
ying tong
71c26f0497
Merge pull request #115 from zcash/book-patch-sha256-3
[book] sha-256: Standardise notation and add sb selector to check subpieces
2020-12-28 15:11:43 +08:00
therealyingtong
50e6920ed7 Standardise notation and add sb column to check subpieces 2020-12-28 14:57:33 +08:00