Commit graph

389 commits

Author SHA1 Message Date
Sean Bowe
ec2d8db8cb
Multiopen prover never needed evals to be specified.
The Lagrange interpolation we were doing was pointless. kate_division sheds the constant
term off each time it is invoked because the quotient polynomial isn't affected by it.
This means we were modifying coefficients that end up getting discarded anyway; the
quotient polynomial coefficients are already determined exactly by the leading coefficients
and the fact that a root exists at each of the points.
2021-01-13 17:22:32 -07:00
ebfull
ccca639591
Merge pull request #111 from zcash/transcript-api-2
New Transcript API (and modified commitment scheme)
2021-01-13 16:50:47 -07:00
Sean Bowe
1f510016d8
Simplifications to some logic.
Co-authored-by: Jack Grigg <jack@electriccoin.co>
2021-01-13 15:51:48 -07:00
Sean Bowe
775151a67d
Change absorb_ to read_ in subprotocols. 2021-01-13 15:47:35 -07:00
Sean Bowe
9a26ef1acd
Refactor the Committed structure. 2021-01-13 15:44:37 -07:00
Sean Bowe
cc6b0bb7f2
Rename blind to \xi for consistency. 2021-01-13 15:24:44 -07:00
Sean Bowe
47d021ceb3
Add reference to issue in TODO comment. 2021-01-13 08:41:14 -07:00
Daira Hopwood
5413049a10
Merge pull request #130 from daira/fix-w-numbering
[Book] Fix W numbering in SHA-256 table16 doc.
2021-01-13 12:15:28 +00:00
Daira Hopwood
adf1c2f451
Merge pull request #113 from zcash/avoid-square-challenges
Avoid square challenges in inner product argument
2021-01-13 12:14:36 +00:00
Daira Hopwood
0caf66b261 [Book] Fix W numbering in SHA-256 table16 doc.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-01-12 21:50:24 +00:00
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