Commit Graph

1100 Commits

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