Commit Graph

2843 Commits

Author SHA1 Message Date
Daira Hopwood 8d9b70b0e4 Cosmetics (spacing in v5 transaction encoding table).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-06-06 20:18:56 +01:00
Daira Hopwood 2336f6f345 Make \crossref{overview} more precise about chain value pools.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-06-06 20:18:56 +01:00
Daira Hopwood b12bb61103 An [NU5 onward] consensus rule requiring the `nConsensusBranchId` field to match
the consensus branch ID used for SIGHASH transaction hashes, should apply only
when effectiveVersion ≥ 5 (since v4 transactions did not explicitly encode the
`nConsensusBranchId` field.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-06-06 20:18:56 +01:00
Daira Hopwood 17042258cd Correct and improve presentation of \crossref{networkupgrades}.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-06-06 20:18:56 +01:00
Daira Hopwood 22b7191bc3 README: update activation date for NU5 and say that it has activated.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-06-06 15:29:09 +01:00
Jack Grigg a0767f42fe Add value of sizeProofsOrchard to protocol spec §7.1 and ZIP 225 2022-06-06 10:17:33 -04:00
Kris Nuttycombe 32870a93af Fix rendering issue. 2022-05-11 21:03:29 -07:00
Kris Nuttycombe a25f2b92a7 Set NU5 activation height in the protocol specification. 2022-05-11 14:31:54 -07:00
Kris Nuttycombe ffc0ed95fa
Merge pull request #613 from nuttycom/set_nu5_activation
Set NU5 Activation Height in ZIP 252
2022-05-11 15:28:16 -06:00
Deirdre Connolly 1905603579 Fill in NU5 mainnet activation version for zebrad 2022-05-11 15:26:09 -06:00
Kris Nuttycombe 43f1404974 Set NU5 Activation Height in ZIP 252 2022-05-11 15:26:05 -06:00
Kris Nuttycombe 78f61ebc25
Merge pull request #609 from daira/zip-0316-first20
ZIP 316: at least the first 20 characters of a UA/UVK MUST be shown
2022-04-28 14:27:07 -06:00
Daira Hopwood e4ed372840 ZIP 316: specify that at least the first 20 characters of a UA/UVK MUST be shown.
fixes #571

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-04-28 21:09:04 +01:00
Daira Hopwood aec1fef7cd Regenerate PDFs. 2022-04-28 20:39:30 +01:00
Daira Hopwood ed82b5bf85 Set Change History entry date.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-04-28 20:34:21 +01:00
Daira Hopwood be7df83b10 Cosmetics.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-04-28 20:33:57 +01:00
Daira Hopwood 2d2508d06c In \crossref{orchardkeycomponents}, do not allow construction of Orchard
spending keys such that the corresponding internal incoming viewing key is 0
or ⊥. (This was already specified for the external incoming viewing key.)
Similarly in \crossref{orchardfullviewingkeyencoding}, do not consider a
decoded key valid if either its external or internal incoming viewing key
would be 0 or ⊥.

fixes #598
2022-04-28 20:33:06 +01:00
Daira Hopwood dbd7339c3f Cleanup: remove duplicate macro \CommitIvkRandom in favour of \CommitIvkRand.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-04-28 20:28:07 +01:00
Daira Hopwood 0c53d8815f Clarify how to determine which table in \crossref{txnencoding} to use for transaction parsing,
depending on the effectiveVersion as determined by the `header` field. fixes #603

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-04-28 20:28:07 +01:00
Daira Hopwood 9000614a63 Add an acknowledgement to Mary Maller for reviewing the Halo 2 security proofs.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-04-28 20:27:15 +01:00
Daira Hopwood 11b44b4490 Cosmetic indexing fixes.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-04-28 20:27:15 +01:00
Daira Hopwood 3c3da6d6dc Correct "block chain branch" to "consensus branch" to match ZIP 200.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-04-28 20:27:15 +01:00
Daira Hopwood deafb410de Add an acknowledgement to Josh Cincinnati for discussions on the Zcash protocol,
and to more people associated with the ZK Podcast.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-04-28 20:27:15 +01:00
Daira Hopwood 99b881e8f2
Merge pull request #608 from daira/zips-32-and-203
Updates to ZIPs 32 and 203
2022-04-28 19:39:03 +01:00
Daira Hopwood d9ab7909ec ZIP 32: Point out that Sapling and Orchard keys can be invalid.
fixes #561

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-04-28 16:38:15 +01:00
Daira Hopwood fb223c206d ZIP 32: Expose DeriveInternalFVK^Orchard for use by the protocol spec.
refs #598

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-04-28 16:38:15 +01:00
Daira Hopwood b870363ae6 ZIP 203: Remove incorrect dependency between expiry heights and lock times.
fixes #569

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-04-28 16:38:15 +01:00
dependabot[bot] d4324bb8cb Bump actions/checkout from 3.0.0 to 3.0.2
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.0.0 to 3.0.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.0.0...v3.0.2)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-27 17:03:59 -04:00
Daira Hopwood ae1180f6d3 ZIP 316: make the limitation on total size of encodings more explicit.
fixes #570

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-04-18 22:25:47 +01:00
Daira Hopwood 5aabc86e21 ZIP 252: Use present tense to refer to zcashd v4.7.0 and say that it needs the `-rescan` option.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-04-15 12:15:59 +01:00
Daira Hopwood 9a742b3e6c ZIP 252: Set NU5 Testnet reactivation height.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-04-14 00:10:07 +01:00
teor aa084d4c89 Update HTML for Zebra NU5 changes 2022-04-06 17:05:11 -04:00
teor bc9427282a Update Zebra release and connection behaviour 2022-04-06 17:05:11 -04:00
Daira Hopwood 12ff90a307 ZIP 252: Clarify that the activation at block 1599200 was on Testnet.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-30 17:24:34 -04:00
Daira Hopwood 0f84a7234e ZIP 252: Update 'Support in Zebra' section.
Co-authored-by: teor <teor@riseup.net>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-30 17:24:34 -04:00
Daira Hopwood 2d538c4888 ZIP 252: clarify that a paragraph applies only to Testnet.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-30 17:24:34 -04:00
Daira Hopwood dec7e4423b ZIP 252: zcashd will disconnect from Testnet nodes with peer protocol version < 170040.
refs zcash/zcash#5753

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-30 17:24:34 -04:00
Daira Hopwood 34c0c8212b ZIP 252: Updates for NU5 Testnet reactivation.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-30 17:24:34 -04:00
Daira Hopwood a223dfd931 ZIP 155: change peer protocol version for `addrv2` support to ${PLACEHOLDER}.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-25 16:49:30 +00:00
Daira Hopwood f6e044429d ZIP 239: remove an inessential reference to the specific peer protocol version that signals NU5 support on Testnet.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-25 16:42:57 +00:00
dependabot[bot] a5a3ffa19c
Bump EndBug/add-and-commit from 8.0.2 to 9 (#595)
* Bump EndBug/add-and-commit from 8.0.2 to 9

Bumps [EndBug/add-and-commit](https://github.com/EndBug/add-and-commit) from 8.0.2 to 9.
- [Release notes](https://github.com/EndBug/add-and-commit/releases)
- [Changelog](https://github.com/EndBug/add-and-commit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/EndBug/add-and-commit/compare/v8.0.2...v9)

---
updated-dependencies:
- dependency-name: EndBug/add-and-commit
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Specify full semver

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>
2022-03-23 17:09:39 -04:00
Daira Hopwood 6b8fca949c Regenerate PDFs. 2022-03-18 08:54:50 +00:00
Daira Hopwood 634e274df6 Set Change History entry date.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-18 08:49:31 +00:00
Daira Hopwood c7ad527f38 Fix an undefined reference in the history entry for 2021.2.17, in pre-Canopy versions.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-18 08:49:31 +00:00
Daira Hopwood 5d3b4ef038 NU5 proposal -> NU5
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-18 01:51:34 +00:00
Daira Hopwood e381ded490 \crossref{coinbasetransactions} effectively defined a coinbase transaction as the first
transaction in a block. This wording was copied from the Bitcoin Developer Reference
(https://developer.bitcoin.org/reference/transactions.html#coinbase-input-the-input-of-the-first-transaction-in-a-block),
but it does not match the implementation in zcashd that was inherited from Bitcoin Core.

Instead, a coinbase transaction should be, and now is, defined as a transaction with a
single null prevout. The specifications of consensus rules have been clarified and adjusted
(without any actual consensus change) to take this into account, as follows:

 * a block MUST have at least one transaction;
 * the first transaction in a block MUST be a coinbase transaction, and subsequent
   transactions MUST NOT be coinbase transactions;
 * a transparent input in a non-coinbase transaction MUST NOT have a null prevout;
 * every non-null prevout MUST point to a unique UTXO in either a preceding block, or a
   *previous* transaction in the same block (this rule was previously not given explicitly
   because it was assumed to be inherited from Bitcoin);
 * the rule that "A coinbase transaction MUST NOT have any transparent inputs with non-null
   prevout fields" is removed as an explicit consensus rule because it is implied by the
   corrected definition of coinbase transaction.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-18 01:51:33 +00:00
Daira Hopwood e123584794 Document the consensus rule that coinbase script length MUST be {2..100} bytes. fixes #589
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-18 01:09:11 +00:00
Daira Hopwood c506a972ac Cosmetics and improvements to indexing.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-18 01:02:24 +00:00
Daira Hopwood 8f77f6f1df Acknowledge the developers of Bitcoin Core (as distinct from the designers of the
Bitcoin protocol).

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-18 00:58:54 +00:00
Daira Hopwood 27f5bb1e68 Correct a type error in the usage of Commit^ivk: the output type Commit^ivk.Output includes 0,
but the type of incoming viewing keys should not include 0 because KA^Orchard.Private does not.
This is now handled by explicitly rejecting 0 as output from Commit^ivk when generating ivk
in \crossref{orchardkeycomponents}.

An encoding of ivk as 0 is also rejected in \crossref{orchardinviewingkeyencoding} when parsing
an incoming viewing key.

The action circuit needed no changes because pk_d already could not be the zero point, and
therefore the 'Diversified address integrity' condition fails when ivk = 0.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-18 00:56:59 +00:00