Commit Graph

1364 Commits

Author SHA1 Message Date
Daira Hopwood 1258385ab5 Add reference to [SVPBABW2012] for the idea of using multiplicative inverses for nonzero constraints.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-05-01 10:57:45 +01:00
Daira Hopwood feae1e7e12 Fix a spec error in Founders' Reward calculation during slow start period.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-05-01 10:57:31 +01:00
Daira Hopwood 5e5413f536 Adjust Founders' Reward payment.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-05-01 10:43:05 +01:00
Daira Hopwood b934946949 Revert "ZIP 207 changes"
This reverts commit d6ed011d5e.

Co-authored-by: Jack Grigg <jack@z.cash>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-05-01 10:43:05 +01:00
Daira Hopwood 7f17eaaab1 Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-04-18 17:28:39 +01:00
Daira Hopwood 395af7f309 Cosmetics and Change History date.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-04-18 17:24:36 +01:00
Daira Hopwood 18184803f4 The block time is not 2.5 minutes after Blossom activation.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-04-18 17:24:16 +01:00
Daira Hopwood 6d714ee508 Add acknowledgement to Mary Maller for the observation that
diversified address unlinkability can be proven in the same
way as key privacy for ElGamal.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-04-18 17:23:54 +01:00
Daira Hopwood 81b9eaf515 Zerocoin Electric Coin Company -> Electric Coin Company.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-04-18 17:22:46 +01:00
Daira Hopwood 4faaf8d305 Use "ctEdwards" to refer to complete twisted Edwards curves.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-04-18 17:21:22 +01:00
Daira Hopwood b4e384cb22 Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-04-18 17:17:05 +01:00
Daira Hopwood e47ed372d4 Add Change History entries for protocol spec README and Makefile.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-04-18 17:06:41 +01:00
Daira Hopwood 3c0fd3f56c Update protocol/README.rst for Blossom changes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-04-18 17:04:35 +01:00
Daira Hopwood 03e3e19a4f Update git commits for sam2p and pdfsizeopt.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-04-18 17:03:40 +01:00
Daira Hopwood cca702c505 Fix Makefile bugs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-04-18 17:03:25 +01:00
str4d 9c65d64012
Merge pull request #209 from str4d/zips-207-208
Update protocol spec with ZIPs 207 and 208
2019-03-08 17:59:17 +13:00
Daira Hopwood ce803ea0b4 Correct generators for BLS12-381.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-02-24 05:59:14 +00:00
Daira Hopwood 86319cfe89 Address Daira's review comments.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-02-24 02:06:23 +00:00
Daira Hopwood 5cf59663d9 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-02-24 02:05:58 +00:00
Daira Hopwood 4284a49a20 Add bibliography entries for ZIPs 207 and 208.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-02-24 02:02:54 +00:00
Daira Hopwood fa41eae110 Fix a Makefile bug.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-02-24 02:02:16 +00:00
Jack Grigg d6ed011d5e
ZIP 207 changes 2019-02-23 19:21:19 +00:00
Jack Grigg 2fc1b8cc9c
ZIP 208 changes
Includes additional changes to constants in sections 7.7 and 7.8 which
are needed to compile, and not part of ZIP 208, but will be altered by
ZIP 207.
2019-02-23 19:21:17 +00:00
Daira Hopwood 1fa1a91f32 Regenerate PDFs (including the new blossom.pdf).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-02-22 13:54:50 +00:00
Daira Hopwood 5097fc7c4e Add macros and Makefile support for building the Blossom specification.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-02-22 13:49:08 +00:00
Daira Hopwood 7f435cd37d Fix a typo in appendix B.2 and clarify the costs of Groth16 batch verification.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-02-22 13:49:08 +00:00
Daira Hopwood f3c5ed99e2 Remove the rule that miners SHOULD NOT mine blocks that chain to other blocks with version number > 4.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-02-22 13:49:08 +00:00
Daira Hopwood 06725e94b9 Correct the rule about when a transaction is permitted to have no transparent inputs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-02-22 13:34:25 +00:00
Daira Hopwood 95d95bc4c4 Clarify which transaction fields are added by Overwinter and Sapling.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-02-22 13:33:39 +00:00
Daira Hopwood 8e9171d512 Clarify that Equihash is based on a *variation* of the GBP, and cite [AR2017].
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-02-22 13:17:07 +00:00
Daira Hopwood c57d51d7a0 More references and corrected description of Groth16.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-02-22 12:49:22 +00:00
Daira Hopwood 0b626b087a Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-02-10 03:30:26 +00:00
Daira Hopwood ba949107ab Correct isis agora lovecruft's name.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-02-10 03:20:47 +00:00
Daira Hopwood 2dc3a10bfe Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-02-09 01:02:01 +00:00
Daira Hopwood 64c268fdd7 Add Eirik Ogilvie-Wigley and Benjamin Winston to acknowledgements.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-02-09 01:00:03 +00:00
Daira Hopwood fb9faa3835 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-02-09 00:37:00 +00:00
Daira Hopwood 0988966fdc Remaining fixes and clarifications for BCTV14 vulnerability.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-02-09 00:37:00 +00:00
Daira Hopwood e17905a0a3 Specify the difficulty adjustment change on testnet.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-02-09 00:37:00 +00:00
Daira Hopwood d4a9158323 Say when Sapling activated, and reference ZIP 205.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-02-09 00:37:00 +00:00
Daira Hopwood d18edb4abc Rename zk-SNARK Parameters sections according to the proving system.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-02-08 22:59:38 +00:00
Daira Hopwood 0d8430799c Correct [SBB2019] to [SWB2019], and note that the BCTV14 vulnerability affected Soundness.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-02-05 19:29:31 +00:00
Daira Hopwood 36eeeba15e Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-02-05 16:55:42 +00:00
Daira Hopwood 9a7ebd326e Disclose BCTV14 vulnerability.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2019-02-05 16:45:09 +00:00
Daira Hopwood 9515d73aac Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-11-14 02:05:26 +00:00
Daira Hopwood 680af418cf Fill in another constraint cost.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-11-14 02:02:17 +00:00
Daira Hopwood af17ba2485 Adjust the notation used for scalar multiplication in Appendix A to allow bit sequences as scalars.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-11-14 02:01:59 +00:00
Daira Hopwood 9aba6af281 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-11-14 02:01:01 +00:00
Daira Hopwood 538d1f1eb0 Add a description of the Sapling output circuit.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-11-14 01:05:39 +00:00
Daira Hopwood 79b3d81e42 Complete the description of the Sapling spend circuit.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-11-13 23:15:54 +00:00
Daira Hopwood 5531006f08 Fix or complete various calculations of constraint costs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-11-13 23:11:53 +00:00
Daira Hopwood 7419c0a366 Describe 2-bit window lookup with conditional negation.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-11-13 23:09:34 +00:00
Daira Hopwood 39b498fed9 Remove a todo.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-11-13 22:07:18 +00:00
Daira Hopwood 0835c3837e Modify the description of fixed-base scalar multiplication to match sapling-crypto.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-11-13 22:06:36 +00:00
Daira Hopwood 2f868aca8d Add LEBStoIP.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-11-13 22:00:41 +00:00
Daira Hopwood 43e83effb4 Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-10-24 16:18:39 +01:00
Daira Hopwood e24f7cede5 Clarify the description of the Merkle path check in Appendix A.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-10-24 16:14:28 +01:00
Daira Hopwood 066d424d3a Correct the input to H⊛ used to derive the nonce r in RedDSA.Sign, from T || M to T || _vk_ || M.
This matches the sapling-crypto implementation; the spec was unintentionally changed in 2018.0-beta-20.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-10-24 16:14:28 +01:00
Daira Hopwood 34c6a5c0d6 Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-10-01 16:47:28 +01:00
Daira Hopwood c04c0542e8 Cosmetics (pagination in Appendix A).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-10-01 16:44:31 +01:00
Daira Hopwood bb52ce246c Clarify notation in the proof of A.3.3.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-10-01 15:44:11 +01:00
Daira Hopwood 223b8db3a7 Minor tweak to the statement of Theorem A.3.4 to make the contradiction clearer.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-10-01 11:22:49 +01:00
Daira Hopwood da7c6fe190 Correct the statement and proof of Theorem A.3.2.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-10-01 11:21:02 +01:00
Daira Hopwood 25b64382e4 Clarify the notes concerning domain separation of prefixes for MerkleCRH^Sapling and NoteCommit^Sapling.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-10-01 11:00:45 +01:00
Daira Hopwood 2a7002a010 Add the QED-it report to the acknowledgements.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-10-01 10:45:19 +01:00
Daira Hopwood bc48ebe898 Improved cross-referencing in Pedersen hash section.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-10-01 10:43:48 +01:00
Daira Hopwood 74c39f073d Correct a use of \GroupJ that should have been \MontCurve.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-10-01 10:34:56 +01:00
Daira Hopwood 691922ebd1 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-10-01 10:27:34 +01:00
Daira Hopwood dc81e21c2b Correct uses of LEOS2IP_l in RedDSAVerify and RedDSABatchVerify to ensure l is a multiple of 8.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-10-01 10:27:34 +01:00
Daira Hopwood 5524822ed5 Correct some uses of r_J that should have been r_S or q.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-10-01 10:27:34 +01:00
Daira Hopwood dc41de37f3 Avoid clashing notation. Refer to the Montgomery form of Jubjub as \mathbb{M}.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-10-01 10:27:34 +01:00
Noah Vesely ace2fbe622
Add missing 'can' 2018-09-10 16:19:53 -07:00
Daira Hopwood 88e255b63f Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-09-02 09:06:22 +01:00
Daira Hopwood 3ecbe6b903 The rest for beta-30 (sorry, I have a flight to catch).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-09-02 09:06:22 +01:00
Daira Hopwood b909f2a482 Add dates to Change History.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-09-02 09:06:22 +01:00
Daira Hopwood a1f90a56cf Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-09-02 09:06:22 +01:00
Daira Hopwood bfc9ba5b21 Add security argument about DiversifyHash.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-09-02 09:06:22 +01:00
Daira Hopwood 5fd898adea Makefile fixes and improvements.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-09-02 09:06:22 +01:00
Daira Hopwood 5361fc591e Cosmetics (pagination in Appendix A).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-09-02 09:06:22 +01:00
Daira Hopwood 2cf4dfacef Correct the description of the N-ary AND optimization (not used in Sapling):
a run of N-1 one bits in c yields an N-ary AND.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-09-02 09:06:22 +01:00
Daira Hopwood 58a12371d1 Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-15 15:42:35 +01:00
Daira Hopwood 3049a53843 Remove a resolved TODO.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-15 15:40:35 +01:00
Daira Hopwood 4d1cb63baf Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-15 15:38:15 +01:00
Daira Hopwood 8364aff29c Change the description of BLAKE2s to correct the constraint count and to describe batched equality checks performed by the sapling-crypto implementation.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-15 15:07:23 +01:00
Daira Hopwood ad0479ac77 Finish the description of range checks in Appendix A.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-15 14:52:50 +01:00
Daira Hopwood bc6a430edc Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-14 10:45:52 +01:00
Daira Hopwood 0351335662 Minor corrections to affine Edwards variable-base multiplication in Appendix A.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-14 10:43:05 +01:00
Daira Hopwood 3b16c62958 Finish the Appendix A description of BLAKE2s.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-14 10:41:40 +01:00
Daira Hopwood 5d8fe05d37 Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-12 17:21:08 +01:00
Daira Hopwood 10019825e9 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-12 16:57:38 +01:00
Daira Hopwood 324d634a29 Define "represented subgroup".
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-12 16:57:23 +01:00
Daira Hopwood 36bcc8f3f0 Correct the Change History entry of this version for Sprout.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-12 16:57:07 +01:00
Daira Hopwood 745da1e36d Minor improvement to the type of z_j used in RedDSA batch verification.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-12 16:35:58 +01:00
Daira Hopwood a902df4c5c Correct the description of Groth16 batch verification
to explicitly take account of how verification depends on primary inputs.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-12 16:35:26 +01:00
Daira Hopwood f90012ce5e Clarify order checking for proof elements.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-12 16:33:03 +01:00
Daira Hopwood 05d72a4b71 Add Charles Rackoff, Rafail Ostrovsky, and Amit Sahai to the acknowledgements.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-12 16:30:21 +01:00
Daira Hopwood 998cb2ff95 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-12 16:28:59 +01:00
Daira Hopwood 81598de991 Notational changes:
- Use a superscript (r) to mark the subgroup order, instead of a subscript.
- Use G^{(r)∗} for the set of r_G-order points in G.
(r)
- Mark the subgroup order in pairing groups, e.g. use G_1^{(r)} instead of G_1.
- Make the bit-representation indicator (five-pointed star) an affix instead of a superscript.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-12 16:24:15 +01:00
Daira Hopwood b605fe1061 Cosmetics and minor wording improvements.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-11 21:09:53 +01:00
Daira Hopwood b2f42d987c Macro simplifications.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-11 21:05:19 +01:00
Daira Hopwood 0a1a01513f Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-05 17:31:42 +01:00
Daira Hopwood ade889eef7 Add an appendix on Groth16 batch verification.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-05 17:30:04 +01:00
Daira Hopwood 2e74200366 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-05 17:29:44 +01:00
Daira Hopwood ef1cee8dcf Regenerate PDFs. Also fix a Makefile problem: protocol.pdf can't be a symlink
because GitHub doesn't follow symlinks, so links to protocol.pdf would break.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-05 16:05:40 +01:00
Daira Hopwood 34cf757891 Add the hashes of parameter files for Sapling.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-05 10:06:52 +01:00
Daira Hopwood af90f0c4af Add cross references for RedDSA batch verification appendix.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-05 10:06:26 +01:00
Daira Hopwood 7450495335 Cosmetics: fix a warning about Unicode in headings.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-05 10:03:46 +01:00
Daira Hopwood 996045013e Makefile: name the Sprout version as sprout.pdf and link protocol.pdf to the Sapling verison.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-05 10:02:24 +01:00
Daira Hopwood d5c79e2592 Put the change history back in the correct order (beta-23 and -24 were reversed).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-08-05 08:54:03 +01:00
Daira Hopwood ff397a6aff Add a missing consensus rule for v4 transactions: if there are no Sapling spends or outputs, valueBalance MUST be 0.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-07-31 03:47:26 +01:00
Daira Hopwood 854f6eddcc Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-07-27 22:05:29 +01:00
Daira Hopwood 2f0c68b616 Add an appendix on RedDSA batch verification.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-07-27 22:05:29 +01:00
Daira Hopwood 90692541aa Update RedDSA verification to use cofactor multiplication.
This is necessary in order for the output of batch verification to match unbatched verification in all cases.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-07-27 22:05:29 +01:00
Daira Hopwood ea61325c25 Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-07-18 11:20:32 +01:00
Daira Hopwood 4d8031f659 Make the Sprout version of the spec say [Sprout] in the version.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-07-18 11:20:32 +01:00
Daira Hopwood e1ee4e615e Updates to take account that Overwinter has activated.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-07-18 11:20:32 +01:00
Daira Hopwood 89c05c0303 The recommendation for transactions without JoinSplit descriptions to be v1
applies only before Overwinter, not before Sapling.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-07-18 11:20:32 +01:00
Daira Hopwood 71617341c9 Wording improvements for the effect of upgrades on sighash.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-07-18 11:20:32 +01:00
Daira Hopwood c2b8ba2052 Rename nuzero macro names to overwinter.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-07-18 11:20:32 +01:00
Daira Hopwood 45f9005714 Add TODO to check whether the circuit sometimes omits curve checks.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-07-18 11:20:32 +01:00
Daira Hopwood f11a24afc3 Delete or clarify unused optimizations in Appendix A.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-07-18 11:20:32 +01:00
Daira Hopwood 6e4a9455df Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-07-18 11:20:32 +01:00
Daira Hopwood 128a4fc862 Cross-reference PRF^ock for Sapling encryption.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-07-18 11:20:32 +01:00
Daira Hopwood 53e6f29d18 Clarify the selection of ovk in sending Sapling notes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-07-18 11:20:32 +01:00
Daira Hopwood 699a78e749 Clarify the use of cv^new and cm^new in sending Sapling notes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-07-18 11:20:32 +01:00
Daira Hopwood b0b1f60cc2 Reword the conclusion from theorem A.3.4 for precision.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-07-18 11:20:32 +01:00
Daira Hopwood 0200f63ace Complete the proof of theorem A.3.4.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-07-18 11:20:32 +01:00
Daira Hopwood dcd929291a Add note about the nonsmall-order check on rk.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-07-18 11:20:32 +01:00
Daira Hopwood db3ea270c5 The \difference macro was not used consistently; use \setminus instead.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-07-18 11:20:32 +01:00
Daira Hopwood 45b7cc8047 Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:57:30 +01:00
Daira Hopwood 92eb6c5751 Correct the conformance requirement for fOverwintered.
This addresses a Least Authority issue.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:49:49 +01:00
Daira Hopwood f3ba658772 Note which conformance requirements of BIP 173 (Bech32) apply.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:49:49 +01:00
Daira Hopwood da5909bff5 Improve acknowledgements section.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:49:49 +01:00
Daira Hopwood 911bc3a9ed Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:49:49 +01:00
Daira Hopwood 52428befa7 Correct an error in RedDSA.Verify: vk is given, not computed from sk.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:49:49 +01:00
Daira Hopwood 432e39ee4c Correct the argument that the sum of value commitments is in range.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:49:49 +01:00
Daira Hopwood 001474760a Corrections related to outgoing viewing keys and ciphertexts.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:49:49 +01:00
Daira Hopwood 398cc64619 Add section on signature hashing, and a note on malleability of proofs.
Also describe the changes in sighash computation relative to Bitcoin.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:49:49 +01:00
Daira Hopwood be632b4a21 P2PKH addresses use a hash of a compressed, not an uncompressed ECDSA key representation.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:49:49 +01:00
Daira Hopwood d1a6e2809d Say that Sprout interstitial treestates form a tree.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:49:49 +01:00
Daira Hopwood e083d27e82 Add a consensus rule that valueBalance is in the range {-MAX_MONEY..MAX_MONEY}.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:49:48 +01:00
Daira Hopwood 4525a1fffd Refine the caveat about the claimed security of shielded transactions.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:49:48 +01:00
Daira Hopwood 7aa8765dc0 Enforce stronger constraints on the types of pk_d, ak, nk, cv, epk, and rk, and ensure esk is not zero when encrypting.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:49:43 +01:00
Daira Hopwood 0617ca2aae Instantiate PRF^ock, and correct some types. Also enforce that esk is canonical.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:48:25 +01:00
Daira Hopwood eb6a8c7d62 Type changes for cmu in an Output description.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:14:27 +01:00
Daira Hopwood 57f16ea6da Refactoring/type changes for commitment randomness and outputs.
This also affects the type of Sapling note plaintexts.
Includes potential consensus changes (which *should* match the implementation)!

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:14:16 +01:00
Daira Hopwood cb730f241e Wording, cross-referencing, and minor type improvements.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:11:46 +01:00
Daira Hopwood 8dd6074164 More cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:11:46 +01:00
Daira Hopwood 1f02902d6e Clarify that the square root notation refers to the positive square root.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:11:46 +01:00
Daira Hopwood 8c80decd3b Group Hash and DiversifyHash refactoring. Also fix an error in the definition of set difference.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:11:30 +01:00
Daira Hopwood f480f351b7 Generalize PRF^expand to accept an arbitrary-length input.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:08:45 +01:00
Daira Hopwood 0334dde7a2 Resolve a potential ambiguity in use of the ?: notation by adding parentheses.
This addresses a Least Authority comment.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:08:45 +01:00
Daira Hopwood a35f4275a1 Clarify the wording of the abstract.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:08:45 +01:00
Daira Hopwood da298474ea Add Jubjub bird image to the title page and cite Carroll references.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:08:45 +01:00
Daira Hopwood 4a144dec07 Change the background for the Overwinter and Sapling spec to white, indicating that it is no longer a draft.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:08:45 +01:00
Daira Hopwood c9f6d7ae07 Change the notation for a multiplication constraint to avoid potential confusion with cartesian product.
This addresses a Least Authority comment.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:08:45 +01:00
Daira Hopwood 51c84b7556 Cosmetics, mainly spacing.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:08:45 +01:00
Daira Hopwood 6199179685 Bibliography cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:08:45 +01:00
Daira Hopwood 8abebf4296 Type corrections and precision improvements. Also add more cross-references.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:08:45 +01:00
Daira Hopwood 4035e4c5e0 Correct a reference.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:08:45 +01:00
Daira Hopwood 11163742b7 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:08:45 +01:00
Daira Hopwood ce35640ec0 Remove the consensus rule "If nJoinSplit > 0, the transaction MUST NOT use SIGHASH types other than SIGHASH_ALL.",
which was never implemented.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:08:45 +01:00
Daira Hopwood 32b696b875 Makefile refinements (have LaTeX halt immediately on error).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-06-22 22:08:45 +01:00
Daira Hopwood 948c910987 Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-05-22 23:30:47 +01:00
Daira Hopwood ae491d4a4b cm in an Output description encodes only the u-coordinate of the note commitment, not the full curve point.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-05-22 23:28:08 +01:00
Daira Hopwood 48d9fcbc79 Change the notation H^\star to H^\circledast in the description of RedDSA, to avoid confusion with the ^\star convention for representations of group elements.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-05-22 23:26:20 +01:00
Daira Hopwood 1c61ec5cf9 Correct a reference to RedDSA.RandomizePrivate that was intended to be RedDSA.RandomizePublic.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-05-22 23:26:20 +01:00
Daira Hopwood 30f4dfc545 Correct an error in the computation of generators for Pedersen hashes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-05-22 23:26:20 +01:00
Daira Hopwood 62f0c6a49b Correct the statement about FindGroupHash^J never returning \bot.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-05-22 23:26:20 +01:00
Daira Hopwood b59e8d45b5 Minor improvements to cross-references.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-05-22 23:26:20 +01:00
Daira Hopwood d236700a8d Ensure \AuthSignBase (\mathcal{G}) is defined where used.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-05-22 23:26:13 +01:00
Daira Hopwood df02fcf9ac Make the public key prefix part of the input to the hash function in RedDSA, not part of the message.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-05-22 23:14:07 +01:00
Daira Hopwood 0517e2dc3a Change terminology describing constraint systems.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-05-22 23:14:07 +01:00
Daira Hopwood 05094f8641 Correct a type error in RedDSA.Sign.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-05-22 23:14:07 +01:00
Daira Hopwood 3c0198fb99 Correct a type error in the definition of GroupHash^J.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-05-22 23:14:06 +01:00
Daira Hopwood 5dce44d0a0 Fix the description of the Sapling balancing value.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-05-22 23:14:06 +01:00
Daira Hopwood 7b6df9f623 Correct the order of arguments to RedDSA.Randomize{Private,Public}.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-05-18 21:21:41 +01:00
Daira Hopwood f4facef8c8 Add Michael Dixon and Andrew Poelstra to acknowledgements.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-05-18 21:18:40 +01:00
Daira Hopwood 7e0b51011a Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-23 13:30:20 +01:00
Daira Hopwood 275aee328b Minor clarifications.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-23 13:28:34 +01:00
Daira Hopwood b6bf914478 Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-23 03:54:04 +01:00
Daira Hopwood 76e1213c8b Remove redundant crossref.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-23 03:52:08 +01:00
Daira Hopwood 0481da1724 Minor corrections.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-23 03:43:14 +01:00
Daira Hopwood fdfd9a6760 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-23 03:43:13 +01:00
Daira Hopwood a7eda35419 Clarify the security argument for balance in \Sapling.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-23 03:43:13 +01:00
Daira Hopwood 06b0a6e79f Correct a subtle problem with the type of the value input to ValueCommit.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-23 03:43:13 +01:00
Daira Hopwood b11064a39c Fix the loss of tightness in the use of PRF^nfSapling by specifying the keyspace more precisely.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-23 03:43:13 +01:00
Daira Hopwood 62429657d0 Be more careful about which notes are normative.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-23 03:43:13 +01:00
Daira Hopwood 1ad35c6a59 Correct type ambiguities for rho in Sapling.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-23 03:43:13 +01:00
Daira Hopwood df2f80f13b Specify the representation of i in group G_2 of BLS-381.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-23 01:42:16 +01:00
Daira Hopwood 8f445e4309 Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-21 12:00:33 +01:00
Daira Hopwood b5effeea70 Cosmetics (pagination).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-21 11:57:38 +01:00
Daira Hopwood f41b95b72f Fix a bug in the definition of DefaultDiversifier.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-21 11:57:00 +01:00
Daira Hopwood 2e2200a0bc Add \maybe macro.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-21 11:56:12 +01:00
Daira Hopwood 97b3a9be51 Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-21 08:21:46 +01:00
Daira Hopwood 8ca0f473f5 Type clarification.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-21 08:19:56 +01:00
Daira Hopwood 80ec1b52ce Clarify the authority obtained by a delegated prover.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-21 08:19:35 +01:00
Daira Hopwood ab4e2c2f7a [BLS2002] shouldn't be cited only for the Change History in Sprout version of the spec.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-21 07:37:53 +01:00
Daira Hopwood bf03ab51fc Specify KA^Sapling.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-21 07:29:14 +01:00
Daira Hopwood 7481181d43 Complete the algorithm for generating dummy Sapling input notes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-21 07:29:14 +01:00
Daira Hopwood 8c0e7b85f4 8 -> h_J for Jubjub cofactor.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-21 07:29:07 +01:00
Daira Hopwood 31578a6f3c bellman uses combined parameter files.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-21 07:28:03 +01:00
Daira Hopwood 4dfdfd74d4 Corrections and clarifications.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-21 07:27:55 +01:00
Daira Hopwood b086930d5a Add references for BLS and BN curves.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-21 07:25:15 +01:00
Daira Hopwood 34714e064c Add DefaultDiversifier.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-21 07:25:15 +01:00
Daira Hopwood 741fb7a4be Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-21 07:25:15 +01:00
Daira Hopwood 60a43d3894 Acknowledge Brian Warner, Mary Maller, and Least Authority.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-21 07:25:14 +01:00
Daira Hopwood 65c6bef43a OutputIndex is no longer needed.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-21 07:25:14 +01:00
Daira Hopwood b447deaac8 Correct an error in the specifications of the G1/2 generators.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-20 04:44:16 +01:00
Daira Hopwood 95193a22df Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-20 04:44:16 +01:00
Daira Hopwood 25ed3f0043 Overwinter consensus cleanups.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-20 04:23:20 +01:00
Daira Hopwood 5b54c35a41 Add Sprout block chain scanning algorithm.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-20 04:23:20 +01:00
Daira Hopwood 6a5e901530 Add circuit constraint section on conditional equality.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-20 04:23:20 +01:00
Daira Hopwood 633ca00f25 Specify the randomness beacon.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-20 04:23:20 +01:00
Daira Hopwood 3909fe6897 Specify support for BIP 111 (NODE_BLOOM service bit).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-20 04:23:20 +01:00
Daira Hopwood 49ab63e322 Correct explanation of commitments in overview to apply to Sapling.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-20 04:23:20 +01:00
Daira Hopwood 9cfe4b9243 Move the section on Sprout dummy notes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-20 04:23:20 +01:00
Daira Hopwood 69762401ec Caveat the claim about note traceability set in the overview.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-20 04:23:20 +01:00
Daira Hopwood fa9bd00e49 Explicitly note that outputs from coinbase transactions include Founders' Reward outputs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-20 04:22:06 +01:00
Daira Hopwood 36cfb95cec Sprout only -> Pre-Sapling.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-20 04:22:06 +01:00
Daira Hopwood 1a383e60f7 Sapling consensus changes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-20 04:22:06 +01:00
Daira Hopwood 6e6704411d Curve25519 -> \KASproutCurve; Ed25519 clarifications.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-20 04:19:28 +01:00
Daira Hopwood 7234e33f21 References for optimal ate pairings.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-19 18:53:52 +01:00
Daira Hopwood 07221bc89c Change citation keys to abbreviate fewer author names; other minor bibliography fixes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-19 18:49:29 +01:00
Daira Hopwood 2bb48c67eb Cosmetics and minor corrections.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-19 18:03:52 +01:00
Daira Hopwood 34181a7701 Refactor signature definitions and add public-to-private key homomorphism abstraction.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-12 22:26:09 +01:00
Daira Hopwood 1fe6f0a0b1 Make the Description columns of tables ragged-right.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-11 07:46:34 +01:00
Daira Hopwood 052188d218 Move some of the LaTeX hacks around to put potentially document-independent stuff first.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-11 07:41:02 +01:00
Daira Hopwood cda5339eba Correct an error in the Montgomery addition formulae (the constraints were correct).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-10 21:48:35 +01:00
Daira Hopwood 2109a721e6 Cosmetics and trivial corrections.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-10 21:46:19 +01:00
Daira Hopwood 9d18ef7fe8 Bibliography cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-07 18:57:50 +01:00
Daira Hopwood b95eaf6889 Makefile improvements to ensure optimized PDFs are only written once.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-05 16:07:36 +01:00
Daira Hopwood a5408376bd Tweaks to pdfsizeopt options.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-05 16:07:36 +01:00
Daira Hopwood cfa437b3e8 Tweaks to HTML generation options and documentation.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-05 16:07:36 +01:00
Daira Hopwood c3fae92bb4 Support for building size-optimized PDFs, and other Makefile and README improvements.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-04-05 16:07:36 +01:00
Daira Hopwood 0ce9a44e66 Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-19 00:03:39 +00:00
Daira Hopwood 40ec72bb46 Add specification of Output statement.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-19 00:01:25 +00:00
Daira Hopwood d029d67779 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-18 23:57:09 +00:00
Daira Hopwood fc71b29163 Minor clarifications.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-18 23:54:36 +00:00
Daira Hopwood bffc16b0ee Updates to transaction format and consensus rules for Overwinter and Sapling.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-18 22:02:42 +00:00
Daira Hopwood a6245e3f68 Clarify conversions between bit and byte sequences.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-18 21:45:27 +00:00
Daira Hopwood 9498de38f9 Updates to Sapling construction, changing how the nullifier is computed and separating it from the randomized spend verifying key (rk).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-18 21:43:57 +00:00
Daira Hopwood 9d96abe629 Change MerkleDepth^Sapling from 29 to 32. Fixes #143
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-18 21:00:17 +00:00
Daira Hopwood d63c0f5f0f Clarify bit ordering of SHA-256 and SHA256Compress.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-18 21:00:17 +00:00
Daira Hopwood 5cac8e9b6a The first rule of Fork Club is: We don't talk about "forks".
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-18 21:00:17 +00:00
Daira Hopwood 108fa4daa0 Add DiversifyHash, and change the type of diversifiers to a bit sequence.
Fix the generation of diversified addresses to repeatedly try diversifiers.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-18 21:00:17 +00:00
Daira Hopwood 752156da97 Minor corrections and improvements; add missing notation definitions.
Remove things from Sprout spec that shouldn't be there.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-18 21:00:17 +00:00
Daira Hopwood a8052562e4 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-18 21:00:16 +00:00
Daira Hopwood b19733320c Replace \nstrut hack (for consistent spacing in table of contents) with a better, less intrusive hack.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-18 21:00:16 +00:00
Daira Hopwood 6995ada467 Makefile improvements to avoid a reload for each run of pdflatex (and occasional hangs due to a partially written PDF), in PDF readers that monitor files.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-18 21:00:16 +00:00
Daira Hopwood 58fe013949 Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-11 21:46:11 +00:00
Daira Hopwood aeab72d534 Update Change History.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-11 21:36:55 +00:00
Daira Hopwood 2fa37c1f1f Improve security definitions for signatures.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-11 21:31:33 +00:00
Daira Hopwood cd930a18be Clean up diversification.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-11 21:31:18 +00:00
Daira Hopwood de01f6ed18 Various minor improvements and cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-11 21:29:49 +00:00
Daira Hopwood 877ce30283 Simplify FindGroupHash to use a single-byte index.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-11 21:22:53 +00:00
Daira Hopwood b44beb7141 Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-11 17:44:17 +00:00
Daira Hopwood 38b460aa6f Appendix A updates:
* categorize components into larger sections
* fill in the [de]compression and validation algorithm
* more precisely state the assumptions for inputs and outputs
* delete not-all-one component which is no longer needed
* factor out xor into its own component
* specify [un]packing more precisely; separate it from boolean constraints
* optimize checking for non-small order
* notation in variable-base multiplication algorithm.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-11 17:42:49 +00:00
Daira Hopwood 1b1acc05d7 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-11 17:27:43 +00:00
Daira Hopwood 4443e647ec fixup 2018-03-11 17:09:42 +00:00
Daira Hopwood 618e6ebf37 Change Uncommitted^Sapling to be a u-coordinate for which there is no point on the curve.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-11 17:09:32 +00:00
Daira Hopwood f55ad120ff Minor corrections and improvements.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-11 14:02:22 +00:00
Daira Hopwood 7cde004f83 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-11 14:00:00 +00:00
Daira Hopwood 96cfbe9232 Cosmetics: use 'Of' macros.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-11 12:49:42 +00:00
Daira Hopwood 03918a759c Don't use cofactor multiplication in derivation of nf.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-11 12:49:42 +00:00
Daira Hopwood 757cc5b7b4 negligible -> insignificant. refs #92
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-11 12:49:42 +00:00
Daira Hopwood 87efd20a9c Change PRF^nr to produce computationally uniform output.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-11 12:49:42 +00:00
Daira Hopwood 82d794060d Change how (ask, rsk) are derived from sk.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-11 12:49:42 +00:00
Daira Hopwood 963987d5cd Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-10 21:06:47 +00:00
Daira Hopwood 678ec1043f Bitbox cosmetics (use \strut to ensure consistent vertical alignment).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-10 21:00:27 +00:00
Daira Hopwood ebd2a5964e Macro refactoring.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-10 20:47:34 +00:00
Daira Hopwood 76f3b1d0fd Add comments at closing braces saying which construct is being closed.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-10 04:11:23 +00:00
Daira Hopwood 2924ff85e1 Add space between bibliography entries.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-10 04:03:29 +00:00
Daira Hopwood cda5cd5c7b Use less distracting colours for hyperlinks.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-10 04:03:08 +00:00
Daira Hopwood f27f528724 Update PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-06 23:09:15 +00:00
Daira Hopwood 19cd38b782 Update Change History for 2018.0-beta-12.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-06 23:09:15 +00:00
Daira Hopwood cf0c5a47e6 Update Merkle hashes, add unused layer argument to MerkleHash^Sprout.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-06 23:09:15 +00:00
Daira Hopwood 39780602bf WIP on Sapling statements.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-06 23:09:15 +00:00
Daira Hopwood a6b342f22e Additions to Appendix A: packing modulo the field size, and range checks.
Also update some notes.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-06 23:09:15 +00:00
Daira Hopwood b198e08388 Rename "raw" to "homomorphic" Pedersen commitments
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-06 23:09:15 +00:00
Daira Hopwood 77ee3b4fc4 Update algorithm for variable-base scalar multiplication to what is
implemented in sapling-crypto.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-06 23:09:15 +00:00
Daira Hopwood 34bae57edb Add definition of PRF^nr.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-06 23:09:15 +00:00
Daira Hopwood 79c5c67906 Add re-randomizable signature section.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-06 23:09:15 +00:00
Daira Hopwood e6c507c995 Cosmetic bibliography changes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-06 23:09:15 +00:00
Daira Hopwood bb79519d1b Add Overwinter ZIPs and update section on Overwinter/Sapling transitions.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-06 23:09:15 +00:00
Daira Hopwood e21a090af8 Add references [FKMSSS2016] and [CDG1987].
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-06 23:09:15 +00:00
Daira Hopwood 63843cf2d3 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-03-06 23:09:15 +00:00
Daira Hopwood 7c3e4a765e Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-26 11:50:00 +00:00
Daira Hopwood 2b2238b0b5 Minor improvements.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-26 11:44:33 +00:00
Daira Hopwood 8d9b9a00b8 Fix range of ivk.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-26 11:44:01 +00:00
Daira Hopwood 9f67a5d977 Cosmetics and trivial fixes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-26 11:42:52 +00:00
Daira Hopwood 625d35fce7 Add sections on Spend and Output descriptions.
Swap order of cv and rt in a Spend description for consistency.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-26 11:41:15 +00:00
Daira Hopwood c16011243b Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-26 09:45:44 +00:00
Daira Hopwood 977d881064 Work in progress.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-26 09:44:19 +00:00
Daira Hopwood a626f28117 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-24 03:15:09 +00:00
Daira Hopwood 59331fca67 SHA fixup 2018-02-24 02:08:14 +00:00
Daira Hopwood bf9bd313a2 Add BLAKE2 section.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-24 02:05:09 +00:00
Daira Hopwood 9ee098adda Add SHA-256 section; clarify the definition of SHA256Compress.
Rename SHA-256 and hash-box macros.
fixes #100

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-24 01:56:32 +00:00
Daira Hopwood e1ac22992d Add fact[s] macros.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-14 08:04:45 +00:00
Daira Hopwood 518c7da42d Add a macro for cross-referencing theorems.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-14 08:02:10 +00:00
Daira Hopwood efd8551ddf Fill in Appendix A description of Pedersen hashes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-12 13:21:21 +00:00
Daira Hopwood ce5b24f72f WIP for commitments in Appendix A.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-12 13:21:21 +00:00
Daira Hopwood 99ad9689e9 Generalize Pedersen hash spec to make chunks per segment variable.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-12 13:21:21 +00:00
Daira Hopwood 0325aa2fd6 Generalize the distinct-x proof to allow negative indices.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-12 13:21:21 +00:00
Daira Hopwood 25fd603a7e Notation.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-12 13:16:36 +00:00
Daira Hopwood eefd9052d6 Nicer notation for selection of u and v.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-12 13:16:36 +00:00
Daira Hopwood 50720eadb6 Change hex integers to mathtt font (to enable length comparison).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-12 13:16:36 +00:00
Daira Hopwood d1ead6560d Correct an error in the Pedersen hash specification.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-12 13:16:36 +00:00
Daira Hopwood a5759a0c04 PRF^nr must be collision-resistant.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-12 13:16:36 +00:00
Daira Hopwood 002983854a Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-10 11:32:08 +00:00
Daira Hopwood 04aa3a5350 Bibliography cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-10 11:30:52 +00:00
Daira Hopwood 28c67daf9a Specify GroupHash and Pedersen hashes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-10 11:30:37 +00:00
Daira Hopwood a871fc52d3 Specify coinbase constraints. fixes #81
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-08 22:24:14 +00:00
Daira Hopwood ce66c0e31b Lifting the 100000-byte transaction size limit is likely to be delayed to Sapling.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-08 22:23:02 +00:00
Daira Hopwood 258110f4e1 Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-08 01:25:15 +00:00
Daira Hopwood 1a230efc6a Stub for instantiation of group hash for Jubjub.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-08 01:23:26 +00:00
Daira Hopwood 02482b695a Add note about endianness of repr_J.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-08 01:23:26 +00:00
Daira Hopwood 39bb59e4d0 Add instantiation of hash extractor for Jubjub.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-08 01:23:18 +00:00
Daira Hopwood 0dcb3d5bc8 Make the background lighter and the Sapling green darker.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-08 01:22:02 +00:00
Daira Hopwood b9654c2823 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-07 15:47:05 +00:00
Daira Hopwood 8f647e0f08 Add instantiation of CRHivk.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-07 15:45:58 +00:00
Daira Hopwood a91c06aa7f Regenerate PDFs, and the PNG of the Merkle tree.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-07 12:07:15 +00:00
Daira Hopwood 4d245b4c4c Remove stray Sprouts in the pre-Sprout spec.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-07 12:04:10 +00:00
Daira Hopwood 3f8b1c31a7 libsnark has moved in-tree.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-07 11:56:47 +00:00
Daira Hopwood d82c9cf44c Sapling work-in-progress.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-07 11:56:47 +00:00
Daira Hopwood d3eeb28deb Add PRG section and reference security definitions for PRFs and PRGs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-07 11:56:47 +00:00
Daira Hopwood de60c26bb9 Specify that 0xF6 followed by zeros encodes an empty memo.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-07 11:56:47 +00:00
Daira Hopwood a11f8a5fe0 Specify the 100000-byte transaction size limit (pre-Overwinter).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-07 11:56:47 +00:00
Daira Hopwood 137121cf30 Terminology and notation changes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-07 11:56:47 +00:00
Daira Hopwood d4cf9d501e Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-07 11:56:47 +00:00
Daira Hopwood d214aee5f3 More macros!
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-07 10:21:25 +00:00
Daira Hopwood 1f64dcd31e LaTeX cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-02-07 10:02:05 +00:00
Daira Hopwood 0a528207c6 Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-01-31 01:00:14 +00:00
Daira Hopwood ef68ba8681 Sapling WIP.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-01-31 00:58:58 +00:00
Daira Hopwood f3d210742e Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-01-31 00:52:59 +00:00
Daira Hopwood f361159dfe Make $v$ more distinguishable from $u$.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-01-31 00:48:43 +00:00
Daira Hopwood 0f27fcb181 Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-01-30 00:43:39 +00:00
Daira Hopwood 8356e7b3b0 Specify more precisely the requirements on Ed25519 public keys and signatures.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-01-30 00:42:35 +00:00
Daira Hopwood 488195b804 Sapling work in progress.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-01-29 23:08:08 +00:00
Daira Hopwood ca27322269 Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-01-25 20:22:23 +00:00
Daira Hopwood b7f565ce9e Add history entry.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-01-25 20:20:53 +00:00
Daira Hopwood 893bfa3c16 Add Makefile targets for building without latexmk.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-01-25 20:14:28 +00:00
Daira Hopwood 44b370013f Add details about Sapling payment addresses and keys.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-01-25 11:16:21 +00:00
Daira Hopwood 68bba3c692 Add latexmk to dependencies.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-01-25 10:34:33 +00:00
Daira Hopwood 9cf85c87c3 Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-01-22 18:25:37 +00:00
Daira Hopwood 91056b0736 Sapling WIP.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2018-01-22 18:24:16 +00:00
Daira Hopwood d4e2da7dfc Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-12-17 00:46:30 +00:00
Daira Hopwood fad74d8574 Refer to NU0 as Overwinter.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-12-17 00:40:39 +00:00
Daira Hopwood a04949caf3 Put zk-SNARK statements in a subsection to prepare for Sapling.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-12-17 00:40:38 +00:00
Daira Hopwood 8f3da545ea Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-12-17 00:40:38 +00:00
Daira Hopwood 179752ae57 Update viewing key encoding.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-12-17 00:10:09 +00:00
Daira Hopwood 2b883b7182 Terminology change: incoming viewing keys.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-12-17 00:08:57 +00:00
Daira Hopwood afc82502b5 Specify that sk_enc MUST be clamped in a viewing key encoding.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-12-16 23:40:34 +00:00
Daira Hopwood cfe4d4bd09 Remove "key tuple" abstraction.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-12-16 23:40:34 +00:00
Daira Hopwood f565d642b4 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-12-16 23:40:34 +00:00
Daira Hopwood 497f295c72 Add an encoding format for viewing keys.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-12-16 23:40:34 +00:00
Daira Hopwood fb456b8a38 Separate viewing keys (a_pk, sk_enc) from receiving keys sk_enc.
Also fix a minor error in the specification of note decryption.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-12-16 23:40:34 +00:00
Daira Hopwood 8a36de79df Regenerate PDFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-12-02 02:11:41 +00:00
Daira Hopwood f330c9e59b Work in progress for Sapling.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-12-02 02:04:39 +00:00
Daira Hopwood 44e989f741 Add NU0 to Sapling version of spec.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-12-02 02:03:23 +00:00
Daira Hopwood 1b394b58fa Add Groth16 proving system, and split Sprout and Sapling statements.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-12-02 02:00:10 +00:00
Daira Hopwood 50cda40f7b HTML generation.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-12-02 01:39:17 +00:00
Daira Hopwood 4a94c063c4 Generalization needed for Sapling: represented groups and pairings.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-12-02 01:03:17 +00:00
Daira Hopwood 2d80ec90d3 Support for subsubsubsections.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-08-03 16:07:05 +01:00
Daira Hopwood 6241003d1b Bibliography tweaks.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-08-03 16:05:29 +01:00
Daira Hopwood e73c7c04fd Refine macros for Sapling version of spec.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-08-03 15:58:28 +01:00
Daira Hopwood b1113c131c zcash.bib: use Unicode.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-08-03 15:58:12 +01:00
Daira Hopwood 83618bd71b Makefile changes to support latexmk and building sapling.pdf.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-07-26 11:38:26 +01:00
Daira Hopwood 2608958c59 Add Makefile/macro support for producing the Sapling version of the spec.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-07-11 07:58:57 +01:00
Daira Hopwood fc73e03c12 Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-07-10 05:38:35 +01:00
Daira Hopwood c4d9a90ea9 Fix an off-by-one error in the specification of the Equihash algorithm binding condition.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-07-10 05:36:52 +01:00
Daira Hopwood 215aca1c15 Correct the types and consensus rules for tx and block version numbers.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-07-10 05:35:56 +01:00
Daira Hopwood a197958131 Clarify the computation of h_i in a JoinSplit statement.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-07-09 22:13:20 +01:00
Daira Hopwood 93a8881f9b Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-05-11 07:46:23 +01:00
Daira Hopwood 0e6e7327f8 The error concerning nTime in the Bitcoin Developer Reference has been corrected.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-05-09 01:24:30 +01:00
Daira Hopwood eb7970142f Be more precise when talking about curve points and pairing groups.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-05-09 01:23:27 +01:00
Daira Hopwood b2f78a33cc Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-05-09 01:17:56 +01:00
Daira Hopwood f189fb122f Remove unneeded bold-extra package.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-03-08 01:14:37 +00:00
Daira Hopwood 26b3c254f1 Improved (AMS) blackboard math font.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-03-08 01:14:12 +00:00
Daira Hopwood 051044253e Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-03-07 21:00:19 +00:00
Daira Hopwood 1cb178753b Merge branch 'zips115.update-testnet-fr-addresses.1'
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-03-07 20:57:53 +00:00
Daira Hopwood bbae605075 Cosmetics (font in subscript of Sym.{Encrypt,Decrypt}).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-03-07 20:54:12 +00:00
Daira Hopwood 248567fbcd Correct a statement about indistinguishability of JoinSplit descriptions.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-03-07 20:53:25 +00:00
Daira Hopwood d4bfecea9b Correct the order of arguments to COMM in its instantiation.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-03-07 20:52:53 +00:00
Daira Hopwood 91895ee7a7 Clarify what a note commitment opens to in 'Omission in Zerocash security proof' section.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-03-07 20:52:04 +00:00
Daira Hopwood 5fe9d6d525 Clarify the consensus rule preventing double-spends.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-03-04 23:25:28 +00:00
Daira Hopwood e81610adb4 Change the Founders' Reward addresses, for the test network only, to
reflect https://github.com/zcash/zcash/issues/2113 . fixes #115

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-27 20:48:47 +00:00
Daira Hopwood b34edb5e40 Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-25 06:27:07 +00:00
Daira Hopwood 6b89a6d618 Pagination.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-25 06:25:53 +00:00
Daira Hopwood 920186e24e Generalize the description of the InternalH attack to include finding collisions on (a_pk, rho).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-25 06:25:38 +00:00
Daira Hopwood 95fa51d785 Explain a variation on the Faerie Gold attack and why it is prevented.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-25 06:24:47 +00:00
Daira Hopwood f6da7897d8 Rename enforce to enforceMerklePath.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-25 06:23:37 +00:00
Daira Hopwood d1adee3045 Unindent second paragraph of abstract. fixes #108
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-21 20:35:35 +00:00
Daira Hopwood ca59a53109 Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-12 05:55:33 +00:00
Daira Hopwood 6a3b4b1f8a Explain the use of interstitial treestates in chained JoinSplits. fixes #82
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-12 05:52:59 +00:00
Daira Hopwood 63e5bba91a Specify G_2 more precisely.
(We use the same notation as in [BGG2016], but explicitly give the
representation of xi as a polynomial modulo t^2 + 1, which is taken from
71883bc168/src/algebra/curves/alt_bn128/alt_bn128_init.cpp (L135) .)

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-12 05:51:31 +00:00
Daira Hopwood 6e63920461 Specify security requirements on SHA256Compress for COMM to be a secure commitment.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-12 05:44:15 +00:00
Daira Hopwood 9641a7a0a5 CryptoNote is a protocol so should be boldfaced, like Zcash, Zerocash and Bitcoin.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-12 00:02:23 +00:00
Daira Hopwood eb75858bc0 Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-11 23:55:08 +00:00
Daira Hopwood 693b3a7708 Reference the white paper on MPC parameter generation
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-11 23:54:35 +00:00
Daira Hopwood d6f015c1e5 Give a definition of statistical zero knowledge.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-11 23:53:38 +00:00
Daira Hopwood 8de5358871 Specify the maximum block size. fixes #91
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-06 06:30:25 +00:00
Daira Hopwood 0f87dae7a8 \ell_Merkle is a bit length, not a byte length.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-06 06:30:25 +00:00
Daira Hopwood 5b95343f4a Cosmetics: vertical spacing and pagination.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-06 03:37:01 +00:00
Daira Hopwood 335cf44064 Clarify wording of consensus rule for transparent value pool.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-06 03:37:01 +00:00
Daira Hopwood b123d3bd67 Add [0]^\ell to the Notation section.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-06 01:23:09 +00:00
Daira Hopwood 2307cc9d4d Delete redundant "The notation ..." in Notation section.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-06 01:22:20 +00:00
Daira Hopwood 3133bbb04d Delete commented-out bit/byte order examples.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-06 01:20:34 +00:00
Daira Hopwood 67868fd21c Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-04 04:39:41 +00:00
Daira Hopwood e5e4054ddb Cosmetics and minor wording changes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-04 04:36:12 +00:00
Daira Hopwood b6ae95bd2c Define how nodes select a best chain. fixes #97
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-04 04:36:12 +00:00
Daira Hopwood 91c5ec922d Split "The Block Chain" and "Transactions and Treestates" sections.
Remove the concept of 'block chain views'.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-04 04:36:12 +00:00
Daira Hopwood b96212bb6e Fix a typo in the definition of nullifier integrity.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-04 04:04:59 +00:00
Daira Hopwood ed38112661 Add abstract and keywords.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-02-04 04:04:13 +00:00
Daira Hopwood 739abb13f4 Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-01-20 04:33:24 +00:00
Daira Hopwood 96b298f111 Add reference for DigiShield. (There doesn't appear to be any better reference than the source.)
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-01-20 04:31:45 +00:00
Daira Hopwood 43e6eb74d9 Call Nat, PosInt and Rat types rather than sets, for consistency.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-01-20 02:39:07 +00:00
Daira Hopwood f6b351de4c Zcash has been launched, so more care needs to be taken in reporting security bugs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-01-20 02:38:12 +00:00
Daira Hopwood da7c5d9352 Specify difficulty adjustment.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-01-20 02:36:58 +00:00
Daira Hopwood b1186b35a3 Fixes to consensus rules and block header field descriptions.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-01-20 02:35:11 +00:00
Daira Hopwood c15a2f20af Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-01-20 02:26:22 +00:00
Daira Hopwood 963f042eb9 Improve pagination.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-01-20 02:24:49 +00:00
Daira Hopwood 1982700426 Improve macros for list comprehensions, case expressions, and formula blocks.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-01-19 22:46:40 +00:00
Daira Hopwood 90563ab376 Define PRF^addr in section 4.2.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-01-09 19:53:02 +00:00
Daira Hopwood 4dd33d9db6 Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-01-09 19:12:09 +00:00
Daira Hopwood 6500e7be27 Add cross references from payment address and spending key encoding sections
to where the key components are specified.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-01-09 19:10:53 +00:00
Daira Hopwood 01a4f5141a Update the hashes of proving and verifying keys for the final Sprout parameters. fixes #99
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2017-01-06 21:27:25 +00:00
Daira Hopwood a90e3aefec Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-12-19 21:18:09 +00:00
Daira Hopwood b60fb345df Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-12-19 21:14:17 +00:00
Daira Hopwood 31cc757c58 Note that due to an oversight, the Zcash genesis block does not follow BIP-34.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-12-19 21:14:17 +00:00
Daira Hopwood 60b787eed4 Specify a check on the order of pi_B in a zk-proof.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-12-19 21:14:17 +00:00
Daira Hopwood 939cce4562 Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-30 02:07:29 +00:00
Daira Hopwood 9970c98439 Update reference to the Equihash paper.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-30 02:06:42 +00:00
Daira Hopwood 0e65f7fc9c Clarify the discussion of proof size.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-30 02:03:51 +00:00
Daira Hopwood 30d6ea7129 Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-28 04:41:49 +01:00
Daira Hopwood 2596dda01d Add Founders' Reward addresses for the production network.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-28 04:40:46 +01:00
Daira Hopwood a3aba45fa5 Protected -> shielded.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-28 04:39:04 +01:00
Daira Hopwood 11e373a33b Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-04 22:07:31 +01:00
Daira Hopwood 6f6847ea84 Add Contents to PDF index.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-04 22:06:26 +01:00
Daira Hopwood af4b9a0f53 Update address prefixes again. refs zcash/zcash#812
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-04 21:11:44 +01:00
Daira Hopwood 2ccd1ac58a Add reference to Bitcoin protocol doc.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-03 07:15:19 +01:00
Daira Hopwood 83acc60074 OP_CODESEPARATOR has been disabled, and no longer affects signature hashes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-03 07:12:56 +01:00
Daira Hopwood 488e8f443c Correct the representation type of the block nVersion field to uint32_t.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-03 07:11:58 +01:00
Daira Hopwood 3dd475ea77 Specify lead bytes for P2SH and P2PKH addresses.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-03 07:11:04 +01:00
Daira Hopwood 891f21bac9 Add a section on which BIPs apply to Zcash. fixes #87
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-02 22:26:28 +01:00
Daira Hopwood 61aa04e01b Change the representation type of vpubOld and vpubNew to be unsigned.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-02 18:27:30 +01:00
Daira Hopwood 63fb1c275c Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-02 04:02:21 +01:00
Daira Hopwood 6e2d907191 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-02 04:00:59 +01:00
Daira Hopwood e66abc29e0 Clarify Founders' Reward consensus rule. fixes #63
refs https://github.com/zcash/zcash/issues/1460

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-10-02 04:00:59 +01:00
Daira Hopwood ea1d2053ed Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-26 21:33:30 +01:00
Daira Hopwood 6f2526bddf Refine magenta highlighting.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-26 21:32:08 +01:00
Daira Hopwood ccd8cdb5b1 Make the notation for sampling from randomized algorithms more explicit.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-26 21:31:38 +01:00
Daira Hopwood dbfba45abf Add a note about PRF^nf corresponding to PRF^sn in \Zerocash.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-26 17:26:16 +01:00
Daira Hopwood c56507447c Clarify a note about SU-CMA security for signatures.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-26 17:24:55 +01:00
Daira Hopwood 414610c5ac Add acknowledgements for John Tromp, Paige Peterson, Maureen Walsh, Jay Graber, and Jack Gavigan.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-26 17:06:31 +01:00
Daira Hopwood 979d10a4c7 Clarify why BLAKE2b-l is different from truncated BLAKE2b-512.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-26 17:06:31 +01:00
Daira Hopwood 7e9e88b5e5 Fix an error in the definition of the sortedness condition for Equihash.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-26 17:06:31 +01:00
Daira Hopwood 5052394759 Correct the number of bytes in the encoding of solutionSize.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-26 17:06:31 +01:00
Daira Hopwood 7c126822bb Update encoding of transparent addresses
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-26 17:06:31 +01:00
Daira Hopwood f1e7a06818 Add note about the 256-bit key for AEAD_CHACHA20_POLY1305.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-24 04:09:31 +01:00
Daira Hopwood 1e69529de3 Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-22 17:08:15 +01:00
Daira Hopwood 549641cb0a Clarifications partly addressing Eli's review.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-22 17:04:52 +01:00
Daira Hopwood 1a467ea267 Update testnet Founders' Reward addresses.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-22 16:10:05 +01:00
Daira Hopwood 70d38440be Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-19 02:49:12 +01:00
Daira Hopwood 8cb0f10b25 Specify block subsidy, miner subsidy, and Founders' Reward.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-19 02:46:11 +01:00
Daira Hopwood e192c35a0a Minor wording fixes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-19 02:44:18 +01:00
Daira Hopwood c872968acf Improvements to notation to remove ambiguity.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-19 01:57:28 +01:00
Daira Hopwood 8a0e10c520 Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-16 14:56:31 +01:00
Daira Hopwood 1edddf2d32 Update acknowledgements.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-16 14:53:25 +01:00
Daira Hopwood 11a2fe08c5 The JoinSplit proof is more precisely of type ZK_JoinSplit.Proof, not ZK.Proof.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-16 14:53:25 +01:00
Daira Hopwood 6dbda8500f Correct the omission of solutionSize from the block header format, and
document that compactSize uintencodings must be canonical.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-16 14:53:25 +01:00
Daira Hopwood 14566c910d Tweak to dates for RFCs in bibliography.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-16 14:48:07 +01:00
Daira Hopwood ad36f17760 Add definition of conformance language.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-16 14:47:44 +01:00
Daira Hopwood 5a5a822016 Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-11 01:16:10 +01:00
Daira Hopwood d78b13f767 Remove GeneralCRH in favour of specifying hSigCRH and EquihashGen directly in terms of BLAKE2b.
Correct the security requirement for EquihashGen.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-11 01:14:03 +01:00
Daira Hopwood b000393347 Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-05 21:26:13 +01:00
Daira Hopwood 3f781707c0 Add Change history entry for 2016.0-beta-1.1.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-05 21:25:26 +01:00
Daira Hopwood 05316fd931 Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-05 21:16:35 +01:00
Daira Hopwood dc54c7e5b6 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-05 21:15:28 +01:00
Daira Hopwood 1fba55a213 Specify ZK keypair generation as a randomized algorithm.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-05 21:15:19 +01:00
Daira Hopwood 26c0ad45b6 Add specification of signatures.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-05 21:14:29 +01:00
Daira Hopwood 0d182e6ab8 Move some macros around.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-05 21:11:09 +01:00
Daira Hopwood ac9da8aee8 Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:39:37 +01:00
Daira Hopwood 92060d3ace summer -> autumn in subtitle.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:38:31 +01:00
Daira Hopwood 2cb38b806f Update the change history.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 5f71974c5d Cosmetics and minor fixes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 5c46c915d3 The Equihash parameters are *probably* final now.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 43145ed6ba Add type declarations for primary and auxiliary inputs to JoinSplit statement.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 6f7bfbc59e Add consensus rule that JoinSplit proofs must verify :-)
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 08ba32a4aa Add section on JoinSplit parameters.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 45edaca45f Updates to notes and commitments.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 4fc9bc21aa Updates to JoinSplit signatures.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 15c838b510 Updates to encryption and key agreement.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 67d4ceb280 Add section on sending notes, and specify use of dummy notes. fixes #38
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood b64eec8c89 Fix type signatures of PRFs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood e6d177e6a3 Use \pnote macro.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood ff6a51bba2 Change personalized todo macros to the generic \todo (or delete them).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 6a6d01e2e9 Split GeneralCRH into hSigCRH and EquihashGen.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 8d16a496ec Cosmetics and small wording changes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 7218bfe7e5 Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 4547644dd1 UTXO -> UTXO set.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 660d1eadef Fill in a todo.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood c96ba5289b Improve description of key components.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 646910a2a7 Add missing label.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 3b0733bdb6 Improve description of note tuple.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 7ace9fcae0 Add macro for POUR.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood e52a62a57a Delete description of Curve25519 usage that shouldn't be in the abstract section.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 6cdf177ba6 Improve description of note components.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 9858b29eea The JoinSplit statement constrains sum of values to be in {0..2^64-1}.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood ce762b4b7b Add TODO for warning about linkage between abstract and concrete protocol.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 170d78800a Add paragraph about the range of monetary values.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 63893b9d1b Update paragraph about the differences in note fields.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood e0be611e63 Update acknowledgements.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood a6a50618c8 Add a paragraph about security proofs for the encryption scheme.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 0b0e4a6bb7 State that Blake2b is used in sequential mode.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 751d4cdaac Mark which constants have changed.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 2bae7ae367 The Merkle tree depth is 29, not 32.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 3e740f923f Move section on memos.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 7215a8c641 Update section on changes to PRF inputs and truncation.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood d44f7d4959 Update description of commitment scheme.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 7cc7ae34d1 Minor bibliography updates.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood fb2bb361ab Updates relating to transactions.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood e403054733 value pool -> transparent value pool.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 96d74886ef Add note about nullifiers.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 1b9ffe2d60 Update ZK proof sections and terminology.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood a33d638e45 Update Key Agreement and Key Derivation security definitions.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 39956624b4 Fix an error in the description of KA.DerivePublic.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 43fc38666e Update acknowledgements.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 66d4622356 Fix to the change history.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood db13a7a2d8 Updates to note commitments.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood dd6b873d9c Updates to random seed.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 5aef065ad6 Move some macros around.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood aed050ab47 The date on the CryptoNote whitepaper is allegedly forged.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 1ee72c7f48 Note anonymity set -> traceability set.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 7a3cdbc5fa Add URL visited dates to all references.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 48f06c1640 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 01130ae98b Improve error handling in Makefile.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 38d26b51e9 Bibliography cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 3154db02b8 Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood ea5b19bca8 Resize the key components diagram.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood bd6c83e527 Wording refinement for list comprehensions.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 79450e00e4 Typographical conventions.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood a0062a68ba Add a cross-reference.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 792a06e93e Spacing after e.g. and i.e.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood b9bc2323ec Fix an error in the definition of 'mod'.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood a0094e1876 Fix a bits/bytes error.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood e246607844 Add "High-level Overview".
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood c959ccefd8 Remove an unused macro.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 35b92011c1 Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 578528027a Update the change history.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood ed5f0e1533 Minor correction to a statement about consequences of breaking ECDHP.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 7600dc52f3 Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 71927bee38 Fix definitions for GeneralCRH.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood f42710fa0d Complete the abstract PRF type signatures, and avoid redundancy in the concrete PRF section.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 8f88ea117b Equihash spec: fix the case where m does not divide N.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 6630f73957 Be explicit about the reading order of box diagrams.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 4e0fc36f2d Running pdflatex three times apparently isn't always sufficient, sigh.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 3e891ce3f3 Cite the Bitcoin whitepaper.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood a30278068a Copy-editing; add missing section summaries to Introduction.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood b234041b8e Update build dependencies.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 65a7c9cbb1 Introduction: note security fixes, and reference the "Differences from Zerocash" section
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 02973be906 Fix the citation format. This required switching to biber and biblatex,
which allowed adding backreferences.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood ec548052fc Add citation for to Bitcoin Developer Reference for nbits.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood fab3eed6cd Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood f96c039fe2 Fix crossrefs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 4884885a75 Document a subtle point raised by Alex Balducci.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 8285a1e274 I overuse "note that".
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 3106e79b27 Tweaks to Equihash section; add rationale for mixed endianness.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 999fd21d90 Fix a typo pointed out by @benblaxill.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 29b6b0697c Corrections to Equihash/PoW spec.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood e5b62fb2db Misc changes to avoid rebase conflicts.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 4bb05803d8 WIP: add Note Components, concrete Symmetric Encryption, Key Agreement, and (empty) Signatures sections.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 34b5ee0cd0 WIP for abstract PRF definitions.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 3220eebe58 Move the Key Components section.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 5fcbf2e732 The specification that PRFaddr must be collision-resistant is changed from Zerocash.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood b30dc16eb3 Add requirement for computing square roots.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 4993fde31a Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 9bc3446de0 Add concensus rule for ranges of vpubOld and vpubNew.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood fbef8a863e Add sections on Block headers and Equihash.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 22d834f604 Improve definitions and macros.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood a0006c8f8d Reorganise block chain sections.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 9f697b0926 Change the memo size to 512 bytes, and move ciphertexts to the end
of a JoinSplit description.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 2620654375 Add section on proving system, and change the proof encoding size to 296 bytes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 3333a4b877 Fill in "Omission in Zerocash security proof" section.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 7d816b6304 Fill in "In-band secret distribution" comparison section.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood df2247b648 Acknowledge Jack Grigg and Simon Liu.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 1b9111e8c4 Reference the extended Zerocash paper, not the conference version.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 1e6e788d0c Cosmetics and copy-editing.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood b189e26191 Abstractify uses of Curve25519.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood f633c7bc4d Add changelog section for 2016.0-beta-1.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 1fd8ead32d More consistent dates in references.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 4729293da7 Add citation to 'Fixing Vulnerabilities in the Zcash Protocol' blog post.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 4a8889b958 Add acknowledgement for jl777.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 6aa2753f16 Fix the lead bytes in payment address and spending key encodings.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 8e2d942f69 Remove some unused macros that were associated with selective transparency.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 94e426342e Add Key Derivation Functions in the abstract protocol section.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood c94e27261b Add JoinSplit operations in the Concepts section.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 2ab5d2fef0 Move the KDF instantiation section to be in the same order as the abstract protocol.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood b1225f91ae COMM trapdoor -> commitment trapdoor.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood e9d69b242b Add definitions for key agreement schemes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 12144bf2df Fix Makefile portability problem.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00