Commit Graph

1045 Commits

Author SHA1 Message Date
Daira Hopwood fb64b2e430 Regenerate PDFs. 2020-08-03 12:19:11 +01:00
Daira Hopwood 17def33bf8 Use abstBytes_{Ed25519} and reprBytes_{Ed25519} for conversions in Ed25519 batch signature validation, and
fix a missing requirement that S_j < \ell for all signatures.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-03 12:14:34 +01:00
Daira Hopwood ff3c7c2bce Move the footnote about (x, y) notation for Ed25519 to where this notation is first used.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-03 12:11:08 +01:00
Daira Hopwood 13b6f0e120 Delete a potentially misleading Sprout-specific comment.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-03 12:10:20 +01:00
Daira Hopwood 31b844c37c Give a definition for SHA-512. Also some refactoring of hash macros.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-03 12:09:33 +01:00
Daira Hopwood 6a4b1f5f6c Add a reference to [BCCGLRT2014].
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-08-03 12:05:33 +01:00
Daira Hopwood 1e6b2f8815 Regenerate PDFs. 2020-07-13 18:54:03 +01:00
Daira Hopwood b2f033f84d Add spec changes for ZIPs 207 and 214.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-13 18:45:16 +01:00
Daira Hopwood bc809dae5d Add note about full viewing key decryption of mempool transactions.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-13 18:45:16 +01:00
Daira Hopwood 0248a44a05 Change instances of "the production network" to "Mainnet", and "the test network" to "Testnet".
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-13 18:45:16 +01:00
Daira Hopwood baad229598 Update stale references to Bitcoin documentation.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-13 18:45:16 +01:00
Daira Hopwood 5d2a48ce9d Regenerate PDFs. 2020-07-07 00:25:02 +01:00
Daira Hopwood a67b74aede Corrections to a note in section 'Ed25519'.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-07 00:21:14 +01:00
Daira Hopwood 9473b9d4af Regenerate PDFs. 2020-07-06 23:10:15 +01:00
Daira Hopwood 0bfbbd54e2 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-06 22:58:29 +01:00
Daira Hopwood 4d148920ae Add a missing cross reference for Jubjub.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-06 22:58:29 +01:00
Daira Hopwood 5e8ae9bb89 Precisely specify the encoding and decoding of Ed25519 points.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-06 22:58:29 +01:00
Daira Hopwood 3e3bf8a79b Add 'Mainnet and Testnet' section.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-06 22:58:29 +01:00
Daira Hopwood e87177f97f Add end comments for conditional blocks in history entries.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-06 22:58:29 +01:00
Daira Hopwood 3f41a13087 Corrections to the specification of \abstJ and the security argument for GroupHash.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-06 22:58:29 +01:00
Daira Hopwood 32a55b0939 Add Jane Lusby and Teor to acknowledgements.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-06 22:58:29 +01:00
Daira Hopwood 5504c17ab0 Make duplicate labels work as intended.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-06 22:58:29 +01:00
Daira Hopwood 9acf1b6667 Makefiles: add 'release' targets that perform a protocol spec release.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-05 17:27:20 +01:00
Daira Hopwood b398183fb0 Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-04 04:02:54 +01:00
Daira Hopwood 9321a0d9fc Arguments to PRF^expand don't need to be specified as hex.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-04 03:59:17 +01:00
Daira Hopwood 553be0f9eb In RedDSA verification, clarify that \underline{R} used as part of the input to H^\ast must be exactly as encoded in the signature.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-04 03:59:17 +01:00
Daira Hopwood cbf4cb52f1 Adjust the order of operations in Sapling decryption to more closely match the implementation, and improve the notes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-04 03:59:17 +01:00
Daira Hopwood 47a2c78990 Correct a bug: esk is only to be checked against ToScalar(PRF^expand_rseed([4])) when the lead byte != 0x01.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-04 03:28:36 +01:00
Daira Hopwood 5689d59d32 Specify that shielded outputs of coinbase transactions MUST use v2 note plaintexts after Canopy activation.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-04 03:28:36 +01:00
Daira Hopwood 9b55332fc2 Add Ying Tong Lai and Kris Nuttycombe as Zcash protocol designers.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-04 03:18:52 +01:00
Daira Hopwood b915222d96 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-04 03:18:16 +01:00
Daira Hopwood 154da511c6 Specify \abstJ to be as implemented, and adjust the security argument for \GroupJHash.
Also modify \exclusivefun to take an excluded set rather than a single element.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-04 03:17:49 +01:00
Daira Hopwood a7f7befe24 Add \optsqrt macro for "arbitrary square root".
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-04 03:12:00 +01:00
Daira Hopwood e4315ad6a7 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-07-01 19:22:38 +01:00
Daira Hopwood 03932d2335 Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-06-26 21:24:41 +01:00
Daira Hopwood a333649a4e Cosmetic change to the 2020.1.6 history entry. 2020-06-26 20:57:39 +01:00
Daira Hopwood 3ce9bd9823 Replace the block interval 32256 with the constant ZIP212GracePeriod.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2020-06-26 20:57:39 +01:00
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