Commit Graph

2826 Commits

Author SHA1 Message Date
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
Daira Hopwood 5c7c728e63 In \crossref{blockchain}, define what a settled network upgrade is, specify requirements
for checkpointing, and allow nodes to impose a limitation on rollback depth. Also in
\crossref{bctv}, note that this checkpointing requirement mitigates the risks of not
performing BCTV14 zk proof verification.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-18 00:50:06 +00:00
dependabot[bot] a2efd493bb Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [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/v2...v3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-02 16:29:17 -05:00
Daira Hopwood c94c2a5517 ZIP 239: regenerate HTML.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-02-23 21:26:59 +00:00
Daira Hopwood 6bf7703684
ZIP 239: Clarify the behaviour of zcashd and the intended behaviour for unrecognized inventory types (#545)
* ZIP 239: Clarify the behaviour of zcashd and the intended behaviour for unrecognized inventory types.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>

* Update zip-0239.rst

Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>
2022-02-23 16:21:28 -05:00
Daira Hopwood 28a3404ce0 Fix typo in README.template (which generates README.rst and index.html).
Co-authored-by: mg0716 <matt.galligan@gmail.com>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-02-16 21:07:06 +00:00
mg0716 0275b41fb0 Fix typo in README.rst 2022-02-16 15:19:23 -05:00
dependabot[bot] 73dc201033 Bump EndBug/add-and-commit from 7.5.0 to 8.0.2
Bumps [EndBug/add-and-commit](https://github.com/EndBug/add-and-commit) from 7.5.0 to 8.0.2.
- [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/v7.5.0...v8.0.2)

---
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>
2022-02-10 19:51:17 -05:00
github-actions ba9137def1 Commit from GitHub Actions (Render pdfs) 2022-02-09 21:46:28 +00:00
Deirdre Connolly f56cf0d38e
Add GitHub Actions workflow that renders and commits spec pdfs (#579)
* Add GitHub Actions workflow that renders and commits the spec pdfs

* Try to run make

* Try our custom action

* Add link to Dockerfile to make action happy

* Update render workflow to manual render only

* Update .github/actions/render-protocol-pdf/action.yml

* Update .github/dependabot.yml
2022-02-09 16:34:55 -05:00
Daira Hopwood 81af218ef3 ZIP 316: further clarify which OVK is to be used when the sending Account is undetermined.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-02-07 14:51:53 +00:00
Daira Hopwood 0bfb157db3 ZIPs 143 and 243: fix links to zcash-test-vectors code.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-01-29 22:27:56 +00:00
Daira Hopwood dba647f121 ZIP 224: fix a broken link.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-01-29 21:02:24 +00:00
Daira Hopwood 8e2215c577 ZIP 32: Fix an error in #588; "ZcashIP32_Sprout" was a personalization for BLAKE2b-512, not BLAKE2b-256.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-01-28 18:33:31 +00:00
Daira Hopwood 2a4ab049b9
Merge pull request #588 from daira/zip-32-remove-sprout-hd
ZIP 32: Remove Sprout-related specifications
2022-01-28 18:24:51 +00:00
Daira Hopwood 7bd2845dbd ZIP 32: Remove Sprout-related specifications. fixes #581
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-01-28 17:44:15 +00:00
Deirdre Connolly de6dcad4df
Merge pull request #587 from str4d/zip-244-coinbase-fix
ZIP 244: Fix ill-defined commitments for shielded coinbase
2022-01-26 16:20:01 -05:00
Jack Grigg 4075c18cc4 ZIP 244: Fix ill-defined commitments for shielded coinbase
In zcash/zips#577 we altered ZIP 244 to have shielded signatures commit
to the same data as transparent inputs, in transactions that contain
transparent components. However, the edge case of shielded coinbase was
not correctly handled; they contain both a consensus-required "dummy"
transparent input, and binding signatures which would be required to
commit to a `CTxOut` that does not exist.

We resolve this by partially reverting one of the zcash/zips#577 changes,
by having S.2 for coinbase transactions be identical to T.2. This reverts
binding signatures in coinbase transactions to effectively signing the
transaction ID.

At the same time, we also revert the same change for transactions with no
transparent inputs but some transparent outputs; these also now revert to
using the transaction ID for all shielded signatures (like fully-shielded
transactions). The hardware wallet edge case does not apply here, as all
input values are shielded and therefore directly committed to.
2022-01-24 22:46:41 +00:00