Commit Graph

1008 Commits

Author SHA1 Message Date
Daira Hopwood 66acf80d18 Other cosmetic changes to the batch validation equations.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-06-26 20:57:39 +01:00
Daira Hopwood 45c2b616e2 Fix sign errors in the fixed-base terms of the batch validation equations in Appendices B.1 and B.3.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-06-26 20:57:39 +01:00
Daira Hopwood 3e98e63a6c For Sprout, add an explicit lead byte field to note plaintexts.
For Sapling, define note plaintext lead bytes as just bytes (so that decoding always succeeds and error handling is more explicit).

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-06-26 20:47:32 +01:00
Daira Hopwood a3e4403f50 Delete some 'new' superscripts that only added notational clutter.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-06-26 18:58:17 +01:00
Daira Hopwood 3567634837 Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-06-17 23:32:25 +01:00
Daira Hopwood af41efa40c Protocol spec: ZIP 212 changes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-06-17 23:28:27 +01:00
Daira Hopwood eb222b4fe0 Remove some unused macros.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-06-17 23:01:13 +01:00
Daira Hopwood 8ccd4e656b Add an appendix on Ed25519 batch validation.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-06-17 23:01:13 +01:00
Daira Hopwood 6e781c5905 Ed25519 updates. This corrects an error in the specification of valid public keys
(they are not checked against ExcludedPointEncodings), and includes changes for Canopy.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-06-17 23:01:13 +01:00
Daira Hopwood ec5eda1d9c Better positive square root symbol.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-06-17 23:01:13 +01:00
Daira Hopwood 43e4e71989 Corrections to ZIP references.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-06-17 23:01:13 +01:00
Daira Hopwood 4f063850d5 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-06-17 23:01:13 +01:00
Daira Hopwood 1a24d6232c Consistently use "signing key" and "validating key" for signatures.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-06-17 23:01:13 +01:00
Daira Hopwood f1a4631b9f protocol/Makefile: remove dependency on awk.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-06-15 14:04:24 +01:00
Daira Hopwood 564d7f630e Protocol spec: regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-06-02 18:35:15 +01:00
Daira Hopwood b9fb26f5d5 Protocol spec: fix undefined references for sprout.pdf.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-06-02 18:35:13 +01:00
Daira Hopwood e61e2460a0 Protocol spec: improve index; cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-06-02 18:35:13 +01:00
Daira Hopwood 9bac0682c3 Protocol spec: NU4 -> Canopy; ZIPs 211 and 212 are now published.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-06-02 18:35:13 +01:00
Daira Hopwood d53ab5fcbc Protocol spec: reference ZIP 173 instead of BIP 173.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-06-02 18:35:13 +01:00
Daira Hopwood e4d9d2cace Regenerate PDFs. Note that nufour.pdf is now canopy.pdf.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-05-27 17:28:06 +01:00
Daira Hopwood 66ba1aad3e Network Upgrade 4 is now called Canopy.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-05-27 17:24:29 +01:00
Daira Hopwood 092e6092ef Remove the claim that Discrete Logarithm Independence is stronger than collision resistance of GroupHash.
(That's not clearly true, and it's irrelevant.)

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-05-27 17:20:27 +01:00
Daira Hopwood 8d19a94716 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-05-27 17:18:41 +01:00
Daira Hopwood c8e08b0e96 Improve description of key structures taking into account ZIP 32. fixes #187
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-05-27 15:53:09 +01:00
Daira Hopwood 456c899627 Protocol spec: improve LaTeX portability.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-05-12 17:58:42 +01:00
Daira Hopwood 95240be273 protocol/README.rst updates.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-04-27 15:57:30 +01:00
Daira Hopwood f0ba5495d5 Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-04-22 01:35:48 +01:00
Daira Hopwood ca802490a5 Correct a wording error transposing transparent inputs and transparent outputs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-04-22 01:32:26 +01:00
Daira Hopwood df126fb35b
Merge pull request #332 from daira/zip-0251
[ZIPs 207, 214, 251] Consensus ZIPs for Zcash Development Fund
2020-04-21 23:25:23 +01:00
Daira Hopwood 604532cca1 Makefile: add dot to filename of .Makefile.uptodate
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-04-14 13:06:08 +01:00
Daira Hopwood 5fa56e83bf Protocol spec: add references for the NU4 upgrade.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-04-02 14:49:39 +01:00
Daira Hopwood edc43904c9 Protocol spec: clarify note about hashFinalSaplingRoot/hashLightClientRoot.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-04-02 14:49:39 +01:00
Daira Hopwood a8adb58654 Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-20 16:32:29 +00:00
Daira Hopwood 7fd9cc9f73 Protocol spec: add page break before appendices.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-20 16:28:41 +00:00
Daira Hopwood 4b08221dd2 Protocol spec: wording clarification about motivations for Equihash.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-20 16:10:30 +00:00
Daira Hopwood 32cb319cc7 Protocol spec: cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-20 16:10:30 +00:00
Daira Hopwood a593018417 Protocol spec: fix the Ed25519 specification mess.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-20 16:10:30 +00:00
Daira Hopwood 161c9d05f8 Protocol spec: \hexints and \hexarray macros.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-20 16:10:30 +00:00
Daira Hopwood 9d7f700c35 Protocol spec: LaTeX cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-20 16:10:29 +00:00
Daira Hopwood 2fefae9e47 Protocol spec: RFC references to www.rfc-editor.org, not tools.ietf.org.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-20 16:10:29 +00:00
Daira Hopwood 32a0709ffc Protocol spec: clarify that the transaction and header encodings should be read in the context of consensus rules in those sections.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-20 16:10:29 +00:00
Daira Hopwood 0dc531d04c Protocol spec: add Heartwood consensus rules.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-20 16:10:29 +00:00
Daira Hopwood 731ddfd9f6 Protocol spec: colour-code transaction fields that were added in Sapling.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-20 16:06:52 +00:00
Daira Hopwood 892bdfde1b Protocol spec: colour-code "pre-X" consensus rule markers according to X (since that is when the rule changed).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-20 16:06:52 +00:00
Daira Hopwood ef78d9d94c Protocol spec: make Heartwood colour a darker orange.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-20 16:06:52 +00:00
Daira Hopwood 69562802cf Protocol spec: add macro and Makefile support for NU4.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-20 16:06:52 +00:00
Daira Hopwood 70cc1347f6 protocol/Makefile: make the Heartwood spec the default.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-20 16:06:52 +00:00
Daira Hopwood afae0efdb8 protocol/Makefile: silence noise about index entries.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-20 15:41:18 +00:00
Daira Hopwood 37277c3ef7 protocol/Makefile: remove unneeded files for `make clean` that were only generated by pvc targets.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-20 15:41:18 +00:00
Daira Hopwood 19bfc96a0c protocol/Makefile: remove pvc* targets.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-20 15:41:18 +00:00
Daira Hopwood e87feda358 Protocol spec: add \Makefile macro.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-20 15:11:00 +00:00
Daira Hopwood ef987f67b2 Ensure that changing a Makefile rebuilds everything on the next run.
Also change the default target for protocol/Makefile to not build unconditionally.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-03-10 16:43:19 +00:00
Daira Hopwood 2e5aad23a1 Regenerate PDFs for protocol spec.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-13 14:18:01 +00:00
Daira Hopwood 2e26bb072d Resolve conflicts in the specification of memo fields by deferring to ZIP 302.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-13 14:13:10 +00:00
Daira Hopwood 7af527675b Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-07 10:56:58 +00:00
Daira Hopwood 849d9435ae Use the term monomorphism for an injective homomorphism, in the context of a "signature scheme with key monomorphism".
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-06 23:03:58 +00:00
Daira Hopwood 0d582758dd Specify a retrospective soft fork implemented in zcashd v2.1.1-1 that limits the nTime field
of a block relative to its median-time-past.
Correct the definition of median-time-past for the first PoWMedianBlockSpan blocks in a chain.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-06 22:40:00 +00:00
Daira Hopwood ed6baf0fef Change History entry.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-06 22:38:15 +00:00
Daira Hopwood 0a3ef33991 Update incremental Merkle tree diagram.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-02 16:46:34 +00:00
Daira Hopwood 62251dc54f Change 'Payment address' to 'Shielded payment address' in key components diagrams.
Also remove obsolete key_components.{odg,pdf} files.

Co-Authored-By: Za Wilcox <zancas@protonmail.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-02 16:45:47 +00:00
Daira Hopwood 20d506168b Add Acknowledgements to Henry de Valance, Deirdre Connolly, Chelsea Komlo, and Trail of Bits.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-02 15:10:19 +00:00
Daira Hopwood 8a6dc9c9fe Wording tweak: replace "it" with "the note".
I was able to read this "it" as a reference to "the transaction".
closes #174

Author: Za Wilgustus <zancas@protonmail.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-02-02 15:10:03 +00:00
Daira Hopwood f1230509d8 Regenerate PDFs (and add heartwood.pdf).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-12-27 11:57:21 +00:00
Daira Hopwood b2c58d414c Blossom clarifications.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-12-27 11:57:20 +00:00
Daira Hopwood 54624a8a6f Specify the height at which Blossom activated.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-12-27 11:57:20 +00:00
Daira Hopwood de0d60efff Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-12-27 11:57:20 +00:00
Daira Hopwood 149dfcdb53 Add Makefile changes and macros for Heartwood spec.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-12-27 11:57:20 +00:00
Daira Hopwood 624aa9eaa1 Improve formatting of appendix cross-references.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-12-27 11:57:20 +00:00
Za Wilcox 62e61fd1ac
This relabeling brings the figures into closer agreement with the surrounding text. 2019-11-01 13:47:45 -06:00
Daira Hopwood 89de83447a Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-24 01:34:27 +01:00
Daira Hopwood 59aabd6fb5 Fix a typo in the generator for S_1 found by magrady.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-24 01:32:02 +01:00
Daira Hopwood a5eef5d9fc Clarify the type of v^new when sending a Sapling note. fixes #262
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-24 01:17:48 +01:00
Daira Hopwood 746bcca4b3 Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-24 00:53:05 +01:00
Taylor Hornby a4c521a96c Explain the discrepancy in the number of constraints for BLAKE2s found by QED-it.
Co-authored-by: Taylor Hornby <taylor@defuse.ca>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-24 00:50:12 +01:00
Daira Hopwood 4326655e59 Merge branch 'can' of github.com:nvesely/zips into spec-updates 2019-09-24 00:36:58 +01:00
Daira Hopwood 07417709da Set date for change entry.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-24 00:31:52 +01:00
Daira Hopwood 080cfb00bf Fix an error in the expression for Δ in Pedersen hashing, and add acknowledgement to Kobi Gurkan.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-24 00:30:41 +01:00
Weikeng Chen 3b111df058 fix a small typo in 4.8 Merkle path validity
Similarly, let MerkleCRH be MerkleCRH^{Sprout} for Sprout, or **MerkleDepth^{Sapling}** for Sapling.

becomes

Similarly, let MerkleCRH be MerkleCRH^{Sprout} for Sprout, or **MerkleCRH^{Sapling}** for Sapling.

Co-authored-by: Weikeng Chen <w.k@berkeley.edu>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-24 00:28:12 +01:00
Daira Hopwood d69d5e1a0c Protocol spec Makefile: 'all' is now the default target.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-03 20:51:01 +01:00
Daira Hopwood 8c6eb6c741 Protocol spec Makefile improvements to suppress unneeded output.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-03 20:51:01 +01:00
Daira Hopwood e0ddb5ed54 Remove ZIP 207 as a reference.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-03 20:51:01 +01:00
Daira Hopwood 9dfa6a981b Fix a missing reference warning for the Sprout spec.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-03 20:51:01 +01:00
Daira Hopwood 81767ac18f Update references to ZIPs and to the Electric Coin Company blog.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-09-03 20:51:01 +01:00
Daira Hopwood 485942ecdf Regenerate PDFs. Also remove protocol.ver and adjust .gitignore .
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-08-23 20:05:43 +01:00
Daira Hopwood b7e6c187d4 Replace dummy Blossom activation height with the testnet height, and a reference to ZIP 206.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-08-23 20:02:00 +01:00
Daira Hopwood a7ea92955a Regenerate PDFs, and delete blossom.pdf since Blossom is now included in protocol.pdf.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-08-23 15:29:52 +01:00
Daira Hopwood 0c060a7a4e Add Change History date.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-08-23 15:25:48 +01:00
Daira Hopwood 6a92b3459e Make the Blossom spec the default.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-08-23 15:25:37 +01:00
Daira Hopwood c62ebaa504 Note that zcashd uses ZIP 32 extended spending keys instead of sk.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-08-23 15:24:57 +01:00
Daira Hopwood ae16d11150 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-08-23 15:14:48 +01:00
Daira Hopwood f21cd8eb1b Generalize the definition of c for the Pedersen hash so that people can apply it to other curves (if they're careful!)
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-08-22 19:16:27 +01:00
Daira Hopwood 1c7a9abee6 Correct the packing of nf^old into input elements in the Sapling Spend circuit. fixes #264
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-08-22 18:20:08 +01:00
Daira Hopwood 1cea0d7786 Remove unneeded \textbnx macro.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-08-22 18:17:20 +01:00
Daira Hopwood 8253c352b2 Add epigraph from Hunting of the Snark.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-08-22 18:16:33 +01:00
Daira Hopwood 8e21be9a73 Suppress insignificant "Overfull vbox" warnings.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-08-08 16:38:48 +01:00
Daira Hopwood 1147fe4eff Make the label boxes link to the correct URL.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-08-08 16:37:46 +01:00
Daira Hopwood 588bc39a77 Protocol spec: note the change to the minimum-difficulty threshold time on the test network for Blossom.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-08-07 11:18:57 +01:00
Daira Hopwood ccac68b60f Protocol spec: cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-08-07 11:18:57 +01:00
Daira Hopwood 7ea6510a05 Protocol spec: index improvements.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-08-07 11:18:57 +01:00
Daira Hopwood fbacfdc358 Protocol spec: remove HTML Makefile targets.
The original intent was to allow external linking into the spec, but that never worked for
HTML, and is now possible with PDF. Also, the HTML output was very large, and typographically
unsatisfactory.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-08-07 11:18:57 +01:00