Commit Graph

580 Commits

Author SHA1 Message Date
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
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