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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Daira Hopwood
7985249119
Protocol spec: remove "optimized" Makefile targets (which actually produced a larger PDF, with TeXLive 2019).
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-08-07 11:18:57 +01:00
Daira Hopwood
cad4baf2e1
Protocol spec: silence overfull/underfull hbox warnings from the theorem list.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-08-07 11:18:57 +01:00
Daira Hopwood
6dc1d7fff0
Protocol spec: silence a spurious warning from imakeidx.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-08-07 11:18:57 +01:00
Daira Hopwood
8d14678190
Protocol spec: set date of Change History entry. Also fix a typo.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-07-23 15:04:31 +01:00