Commit Graph

2757 Commits

Author SHA1 Message Date
Daira Hopwood 4ef578706b In \crossref{internalh}, add a security argument for why the SHA-256-based commitment scheme
NoteCommit^Sprout is binding and hiding, under reasonable assumptions about SHA256Compress.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-01-19 18:09:23 +00:00
Daira Hopwood 0cdab5071b In \crossref{joinsplit}, clarify that balance for JoinSplit transfers is enforced by the
JoinSplit statement, and that there is no consensus rule to check it directly.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-01-19 18:09:23 +00:00
Daira Hopwood ac9dd97f77
Merge pull request #577 from str4d/574-changes-to-zip-244-transparent
[ZIP 244] Changes to transparent component of signature digest
2022-01-13 14:32:13 +00:00
Daira Hopwood 2ae8fc6cec Minor wording nits.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-01-13 14:29:30 +00:00
Jack Grigg 1b30e57bde ZIP 244: Commit to scriptPubKey in txin_sig_digest instead of scriptCode
This is a no-op for every scriptPubKey format except P2SH, where we now
commit to the digest of the redeemScript instead instead of redeemScript
directly.
2022-01-12 22:08:22 +00:00
Jack Grigg 509b7a2b0c ZIP 244: Rename script_codes_sig_digest to scriptpubkeys_sig_digest 2022-01-12 16:00:23 +00:00
Jack Grigg 8e74c62a21 ZIP 244: Fix numbering of BIP 341 references
Co-authored-by: Kris Nuttycombe <kris@nutty.land>
2022-01-12 15:58:51 +00:00
Jack Grigg 9e12b49e03 Merge branch 'main' into 574-changes-to-zip-244-transparent 2022-01-12 15:58:36 +00:00
Daira Hopwood aef6aad4fc [Dark mode] Remove unimportant "!important" annotation in section anchor style.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-01-11 13:24:24 +00:00
Daira Hopwood 0ada3050af [Dark mode] Fix the background colour of the section anchor image.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-01-11 13:19:12 +00:00
Daira Hopwood 3ba7b5f246 ZIP 243: clarify in "Backward compatibility" that the reason why the ZIP 243 sighash algorithm
is used for all transactions from Sapling activation, is that v3 transactions are no longer valid.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-01-11 13:09:11 +00:00
Kris Nuttycombe 30ff9f6ddb Regenerate HTML 2022-01-07 16:46:10 -07:00
Deirdre Connolly a3a86b4a44
Update zip-0244.rst
Co-authored-by: str4d <thestr4d@gmail.com>
2022-01-06 13:54:49 -05:00
Daira Hopwood bdfe15bb3f Apply suggestions from code review
Co-authored-by: Kris Nuttycombe <kris.nuttycombe@gmail.com>
2022-01-05 17:37:33 +00:00
Jack Grigg 2671741042 ZIP 244: Regenerate HTML 2022-01-04 00:54:16 +00:00
Jack Grigg 68b6147c02 ZIP 244: Reverse order of value and script_code in txin_sig_digest
This matches the order in which they are committed to in BIP 341 (and
also at the transaction level in S.2).
2022-01-04 00:52:07 +00:00
Jack Grigg 89f46c2d99 ZIP 244: Add hash_type to the S.2 digest input
This was committed to by the ZIP 143 and ZIP 243 transaction digest
algorithms, but had been accidentally omitted from ZIP 244. It is not a
security issue because the encoding of each layer uses sentinel values,
meaning we were indirectly committing to hash_type (unlike BIP 341, which
conditionally omits commitments based on hash_type and therefore needs to
directly commit to it). But not committing directly to hash_type would
complicate security analysis of the digest, and including it keeps the
transparent part of ZIP 244 closer to BIP 341.

We additionally import two new consensus rules from BIP 341 that apply
to hash_type.

Co-authored-by: Daira Hopwood <daira@jacaranda.org>
Co-authored-by: Kris Nuttycom <nuttycom@electriccoin.co>
2022-01-04 00:45:47 +00:00
Jack Grigg c2585a4fc9 ZIP 244: Extend S.2 to be used for shielded signatures
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-01-03 23:49:04 +00:00
Jack Grigg daac926497 ZIP 244: Add new S.2 commitments to input amounts and scriptCodes
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-01-03 23:47:13 +00:00
Jack Grigg 2442192519 ZIP 244: Change semantics of `sequence_sig_digest`
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-01-03 22:39:38 +00:00
Daira Hopwood 8572075604 Regenerate PDFs. 2022-01-03 22:20:04 +00:00
Daira Hopwood 02adb44328 Set Change History entry date, and update version year to 2022.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-01-03 22:15:14 +00:00
Daira Hopwood b57f6d1487 Correct the note about domain separators for PRF^expand in \crossref{abstractprfs},
and ensure that new domain separators for deriving internal keys from ZIPs 32 and 316 are included.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-01-03 22:15:14 +00:00
Daira Hopwood cf1995c2ed Fix stale links, and correct the accenting of [MÁEÁ2010].
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-01-03 22:15:14 +00:00
Daira Hopwood 59a220d59e Change the types of cm_x, Uncommitted^Orchard, and ak in Orchard to { 0 .. q_P-1 },
avoiding type errors and reflecting the implementation in zcashd. This eliminates all uses of P_x
(except that ak in an Orchard full viewing key is still required to be a valid Pallas affine
x-coordinate). Also clarify the coordinate system whenever we refer to coordinates.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-01-03 22:15:14 +00:00
Daira Hopwood b6e00e0d41 Refine the security argument in the note about partitioning oracle attacks.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-01-03 22:15:14 +00:00
Daira Hopwood 1571c1b345 ZIP 316: update Feistel diagrams to include border (needed for dark mode), and add source SVG files.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-31 16:24:58 +00:00
Daira Hopwood 75ae51c6b2 CSS: support dark mode.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-31 13:58:40 +00:00
Daira Hopwood ae78770474 CSS: fix heading bottom padding.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-30 10:14:23 +00:00
Daira Hopwood cfba8e4c59 CSS: tweak heading sizes and spacing.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-30 10:05:49 +00:00
Daira Hopwood abb898f484 ZIP 244: fix heading levels for Orchard digests.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-30 10:05:16 +00:00
Daira Hopwood dfd7a5a561 ZIP 244: add Jack Grigg to authors.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-30 10:03:12 +00:00
Daira Hopwood ee70cc53c3 ZIP 316: update Acknowledgements.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-28 15:30:44 +00:00
Daira Hopwood 1d75ed6548 ZIP 316: more changes to include UVKs and Metadata Items where applicable.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-28 15:30:15 +00:00
Daira Hopwood 200e243e14
Merge pull request #575 from daira/zip-316-key-structure-and-change
[ZIP 316] Change to item ordering; clarifications of metadata/experimental usage; and correction to rationale
2021-12-28 13:43:23 +00:00
Daira Hopwood fbad8acac0 ZIP 316: regenerate HTML.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-28 13:40:13 +00:00
Daira Hopwood 2d5159361e ZIP 316: add rationale for unlinkable address derivation, with a caveat about Metadata Items.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-28 13:39:01 +00:00
Daira Hopwood b7e69cc10a ZIP 316: add rationale for requiring ordering by Typecode.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-28 13:39:01 +00:00
Daira Hopwood e8df7fbb65 ZIP 316: unrecognized metadata items should be dropped when deriving UFVK -> UIVK and UIVK -> UA.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-28 13:14:17 +00:00
Daira Hopwood 06b945bfe7 ZIP 316: change ordering of items.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-22 19:08:13 +00:00
Daira Hopwood 22840e1fc5 ZIP 316: clarify usage of Metadata Items and experiments.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-22 19:07:46 +00:00
Daira Hopwood 1a59063e81 ZIP 316: correct the rationale for the minimum size of the Bech32m-decoded byte sequence.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-22 19:07:19 +00:00
Daira Hopwood 227db1e047
Merge pull request #564 from daira/zip-ivk-changes
ZIPs 32 and 316: Refine how IVK components are derived, and other cleanups
2021-12-08 23:49:47 +00:00
Daira Hopwood 12a1678681 ZIPs 32 and 316: Regenerate HTML.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-08 23:47:06 +00:00
Daira Hopwood 4a23875519 ZIP 316: Clarify derivation of P2PKH IVK from FVK.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-08 23:46:09 +00:00
Deirdre Connolly 96c5ad3f69 ZIP 316: Clarify position of Transparent IVKs in the key tree.
Co-authored-by: Kris Nuttycombe <kris.nuttycombe@gmail.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-08 23:34:12 +00:00
Deirdre Connolly 110fe1a84e ZIP 316: Update wording for Transparent P2PKH Receiver derivation.
Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-08 23:32:02 +00:00
Deirdre Connolly 682308e33b ZIP 32: There will not be a zcashd 4.5.2, there will be 4.6.0. 2021-12-08 21:24:55 +00:00
Daira Hopwood 0db40ef927 ZIP 32: Note that legacy Sapling addresses use hardened derivation for `address_index`. 2021-12-08 21:24:51 +00:00
Daira Hopwood d325f0b3b4 ZIP 316: Fix link.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-12-08 00:29:03 +00:00