Commit Graph

594 Commits

Author SHA1 Message Date
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
Daira Hopwood 91d4384924 Add protocol.ver.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood b2471394e2 Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood bca7bb75a8 Switch to Ed25519.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood d31e2cd886 Add Coinbase Transactions section.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood e7b578d73e WIP
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood afeecbd7b4 Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood ba826eec2d More reorganisation.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood 50730b8170 Initial reorganisation to split abstract and concrete protocol sections.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-09-04 04:33:45 +01:00
Daira Hopwood aefc864cc9 Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-05-20 23:37:35 +01:00
Daira Hopwood 57a4d1cab5 Switch to Quattrocento font for body text, and clean up some LaTeX warnings that causes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-05-20 23:30:33 +01:00
Daira Hopwood 17741b7cfa Makefile: allow the latex command to be changed more easily.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-05-20 23:30:33 +01:00
Daira Hopwood d5ac4f792c Regenerate PDF for 2016.0-alpha-3.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-05-09 21:18:41 +01:00
Daira Hopwood f7e1889513 Change version numbering convention.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-05-09 21:15:50 +01:00
Daira Hopwood 1226c22929 Regenerate PDF for 2.0-alpha-3.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-05-06 15:48:36 +01:00
Daira Hopwood 365fe6d068 Add change history and reference to https://github.com/zcash/zcash/issues/836
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-05-06 15:47:59 +01:00
Daira Hopwood d6d25dec43 Allow anchoring to any previous output treestate in the same transaction. closes https://github.com/zcash/zcash/issues/604
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-05-06 15:04:08 +01:00
Daira Hopwood 9bb4410e45 Regenerate PDF.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-04-21 03:05:58 +01:00
Daira Hopwood d20080c2c3 Add automatic git versioning. fixes #37
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-04-21 03:04:45 +01:00
Daira Hopwood 465ce90631 Try rerendering the key_components diagram with "Convert text to paths", to
work around a github PDF renderer issue.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-04-19 01:51:43 +01:00
Daira Hopwood 2a322f8647 Key terminology changes. Also remove some unused macros. fixes #44
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-04-18 18:31:22 +01:00
Daira Hopwood 859059fb9d Add note about Merkle tree validity.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-04-11 22:14:15 +01:00
Daira Hopwood 4c062451d3 Minor refinements. refs #14
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-04-08 20:55:49 +01:00
Daira Hopwood c478fa1299 Specify Merkle tree. fixes #14
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-04-08 20:45:53 +01:00
Daira Hopwood dcdb0fb3dc Cosmetics: BLAKE2b-256 macros.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-04-07 01:55:13 +01:00
Daira Hopwood cdae617357 BLAKE2b/256 -> BLAKE2b-256.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-04-06 17:04:04 +01:00
Daira Hopwood 75b8750d59 Require PRF^addr to be collision-resistant. refs ticket:zcash/zcash/836
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-04-06 14:38:58 +01:00
Daira Hopwood e2dbad2448 Cosmetic changes to conformance macros.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-04-04 17:29:16 +01:00
Daira Hopwood 83ae851aad Show Daira as lead author and add "as intended for the Zcash release of summer 2016".
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-04-04 04:33:39 +01:00
Daira Hopwood 7826c99919 Minor correction to what sighashes cover.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-04-04 04:20:19 +01:00
Daira Hopwood 015b607650 Cosmetics: fix spacing in section references.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-04-04 04:20:19 +01:00
Daira Hopwood 9f37a0d3c8 Cosmetics: change font of ASCII strings to bold tt.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-04-04 04:20:19 +01:00
Daira Hopwood 389ae76bdb Change to BLAKE2b/256, and add pubKeyHash indirection. fixes #26
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-04-04 04:20:19 +01:00
Daira Hopwood 76d87e6995 Revert addition of Eli's comments -- moved to eli-comments.0 branch.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-04-04 04:04:07 +01:00
eli.ben.sasson fb15dd2396 comments through section 5 2016-03-31 11:00:04 +03:00
Daira Hopwood 62f615e459 Clarification of endianness, and that uses of BLAKE2b are unkeyed.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-31 02:21:43 +01:00
Daira Hopwood ecba0f9e5d Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-31 02:21:02 +01:00
Daira Hopwood d4d095b33d Update version to 2.0-alpha-1.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-30 15:42:07 +01:00
Daira Hopwood 0bc03313bf Changes to signatures.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-30 15:18:50 +01:00
Daira Hopwood c19f1d1523 Change bit ordering.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-30 14:27:43 +01:00
Daira Hopwood e95fee5ce7 Add lead byte to note plaintext.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-30 03:47:57 +01:00
Daira Hopwood 5b0c01d6d0 Clarify that we're using the IETF definition of AEAD_CHACHA20_POLY1305,
and that hSig is an input to the KDF.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-30 03:32:28 +01:00
Daira Hopwood fb2492d7e5 Switch to Blake2b for KDF and hSig.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-30 03:28:01 +01:00
Daira Hopwood 674c5614f2 \serialNumber -> \nullifier and related macro changes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-30 01:36:34 +01:00
Daira Hopwood 6897bebfe6 Reserve non-UTF-8 lead bytes in memo field.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-29 15:08:15 +01:00
Daira Hopwood 9397a606b9 Change memos from 64 to 128 bytes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-29 03:21:50 +01:00
Daira Hopwood 6f0f88c9de Change r from 192 to 256 bits.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-29 03:15:08 +01:00
Daira Hopwood 3dffb0d9c7 Pour/Xfer -> JoinSplit.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-29 02:28:50 +01:00
Daira Hopwood 263122966a coin -> note in macro names.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-29 02:28:07 +01:00
Daira Hopwood 819eb1dac9 transaction -> \transaction
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-29 01:19:34 +01:00
Daira Hopwood 4036a5d6e4 Make t 8 bits.
(This is not a protocol change, it's just simpler because it avoids endianness issues.)

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-29 01:18:53 +01:00
Daira Hopwood fedfc3c315 Fix an endianness bug.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-29 01:17:36 +01:00
Daira Hopwood 6f049a2c8d Add restriction that either vpubOld or vpubNew is zero.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-29 01:16:06 +01:00
Daira Hopwood c338fd141b Pour descriptions go in transactions, and only indirectly in blocks. fixes #20
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-29 00:40:09 +01:00
Daira Hopwood 5bf271d993 ephemeralKey is a change from Zerocash.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-29 00:31:11 +01:00
Daira Hopwood 31ce718464 Fix endianness bug in an example.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-23 13:28:17 +00:00
Daira Hopwood 8b5c20cd38 Change i to be the first argument to KDF for consistency with other functions.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-22 20:40:52 +00:00
Daira Hopwood d4e95b73f6 Change KDF to SHA-512 and add hSig input.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-22 17:41:57 +00:00
Daira Hopwood 8b9851a431 Remove a_pk from note plaintexts. This also fixes a bug where the recipient
would incorrectly use the decrypted a_pk to check the coin commitment, rather
than its own a_pk.

(The length of encCiphertexts was already computed assuming this change.)

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-20 23:36:54 +00:00
Daira Hopwood 5bbbb0bde6 Use standard AEAD_CHACHA20_POLY1305.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-20 23:32:01 +00:00
Daira Hopwood d98c941429 Switch to little-endian encoding, consistent with Bitcoin serialization.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-20 23:19:38 +00:00
Daira Hopwood 350c5ae598 DecryptCoin -> DecryptNote.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-20 20:37:43 +00:00
Daira Hopwood c55489fa2d Fix some macro uses, and rename rn to nf.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-20 20:29:42 +00:00
Daira Hopwood 5e408580c1 Remove "map" terminology; the spent nullifiers are a set at this level of abstraction.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-20 20:26:37 +00:00
Daira Hopwood d60fda0e3d Rename remnant (serial number) -> nullifier.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-20 19:48:19 +00:00
Daira Hopwood 0b0295e29e Fix some cases where macros were not used consistently.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-20 19:46:19 +00:00
Daira Hopwood 08e25a8b21 WIP - new terminology.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-18 21:09:24 +00:00
Daira Hopwood 0e6953a6eb WIP: Define types for serialized fields.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-18 01:20:44 +00:00
Daira Hopwood 5ebe7b31e0 Specify precisely the data to be signed. This includes a design change
to use a single signature covering all of the transaction except
pourPubKey and pubSig.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-16 01:36:37 +00:00
Daira Hopwood a5096c755a Bibliography: cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-16 01:34:45 +00:00
Daira Hopwood 57d94a0bf9 Specify precise encoding of ECDSA public key. Also improve description
of how the public key is bound to the Pour statement.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-16 00:06:01 +00:00