Skip to content

Add ZIP 256: Deployment of Consensus Bug Fixes Between NU6.1 and NU6.2 - #1295

Merged
daira merged 3 commits into
zcash:mainfrom
daira:zip-256-consensus-fixes
Jun 30, 2026
Merged

Add ZIP 256: Deployment of Consensus Bug Fixes Between NU6.1 and NU6.2#1295
daira merged 3 commits into
zcash:mainfrom
daira:zip-256-consensus-fixes

Conversation

@daira

@daira daira commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator

Retrospectively documents the consensus and denial-of-service bug fixes deployed between the NU6.1 and NU6.2 activations: zcashd v6.12.0 to v6.12.4 and zebra v4.2.0 to v4.5.1.

Includes the soft-fork exclusion of Orchard $\mathsf{rk} = \mathcal{O}_{\mathbb{P}}$, conformance fixes restoring zcashd/zebra agreement, and DoS/crash hardening. The Orchard counterfeiting mitigation and NU6.2 itself will be documented separately in ZIP 257.

This also applies the corresponding change to ZIP 209 directly (since it has already been deployed): the integer-overflow and value-range hardening in zcashd v6.12.1 extends the chain value pool balance rule to the transparent and deferred development fund pools, and additionally requires the total supply (the sum of the pool balances) not to exceed MAX_MONEY. ZIP 258's pending changes to ZIP 209 are updated to be relative to these.

Finally, it corrects README.template, which a previously merged change had left inconsistent with the generated README.rst (regeneration would otherwise have reverted that change).

closes #1294

Filed with the assistance of Claude Opus 4.8 (1M context)

@daira

daira commented Jun 10, 2026

Copy link
Copy Markdown
Collaborator Author

ZIP number 256 requested.

Comment thread zips/zip-0256.md Outdated
Comment thread zips/zip-0256.md Outdated
Comment thread zips/zip-0256.md Outdated
@daira
daira force-pushed the zip-256-consensus-fixes branch from e76b12a to 87fcf8d Compare June 11, 2026 03:10
@ValarDragon

ValarDragon commented Jun 12, 2026

Copy link
Copy Markdown
Collaborator

I agree on using zip 256 for this!

@daira daira changed the title Add ZIP XXX: Deployment of Consensus Bug Fixes Between NU6.1 and NU6.2 Add ZIP 256: Deployment of Consensus Bug Fixes Between NU6.1 and NU6.2 Jun 13, 2026
@daira
daira force-pushed the zip-256-consensus-fixes branch from 87fcf8d to fab9280 Compare June 13, 2026 20:52
daira added a commit to daira/zips that referenced this pull request Jun 17, 2026
- Title -> "Version 6 Transaction Format"; drop the fee field; coinbase
  empty-Orchard-bundle note; reword the Orchard/Ironwood tree/nullifier-set
  separation.
- Sighash: extend the v6 anchor move (effecting -> auth data) to Sapling as
  well as Orchard and Ironwood; full txid/auth digest trees and the per-node
  personalization table (with _v6 personalizations where the encoding changed).
- Add a "Changes to ZIP 221" section: the Ironwood chain-history MMR node
  fields (hashEarliest/LatestIronwoodRoot, nIronwoodTxCount) [NU6.3 onward],
  mirroring the NU5 Orchard fields.
- Add a ZIP 209 intro citing [^zip-0209]; add the [^zip-0221], [^zip-0252],
  [^zip-0244-txiddigest], and [^zip-0244-authorizingdatacommitment] references.
- Fix the #openissues internal anchor (MMD strips hyphens).

The [0, MAX_MONEY] ZIP 209 change is left as a TODO pending the ZIP 256 update
in zcash#1295.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
daira added a commit to daira/zips that referenced this pull request Jun 17, 2026
- Title -> "Version 6 Transaction Format"; drop the fee field; coinbase
  empty-Orchard-bundle note; reword the Orchard/Ironwood tree/nullifier-set
  separation.
- Sighash: extend the v6 anchor move (effecting -> auth data) to Sapling as
  well as Orchard and Ironwood; full txid/auth digest trees and the per-node
  personalization table (with _v6 personalizations where the encoding changed).
- Add a "Changes to ZIP 221" section: the Ironwood chain-history MMR node
  fields (hashEarliest/LatestIronwoodRoot, nIronwoodTxCount) [NU6.3 onward],
  mirroring the NU5 Orchard fields.
- Add a ZIP 209 intro citing [^zip-0209]; add the [^zip-0221], [^zip-0252],
  [^zip-0244-txiddigest], and [^zip-0244-authorizingdatacommitment] references.
- Fix the #openissues internal anchor (MMD strips hyphens).

The [0, MAX_MONEY] ZIP 209 change is left as a TODO pending the ZIP 256 update
in zcash#1295.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
@daira
daira force-pushed the zip-256-consensus-fixes branch from fab9280 to 7eaef24 Compare June 26, 2026 08:38
have edited README.template instead.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
@daira
daira force-pushed the zip-256-consensus-fixes branch 2 times, most recently from f805cba to 6dfba55 Compare June 26, 2026 09:48
daira and others added 2 commits June 26, 2026 11:16
Retrospectively documents the consensus and denial-of-service bug fixes
deployed between the NU6.1 and NU6.2 activations: zcashd v6.12.0 to v6.12.4
and zebra v4.2.0 to v4.5.1. Includes the soft-fork exclusion of Orchard
rk = 𝓞_ℙ, conformance fixes restoring zcashd/zebra agreement, and DoS/crash
hardening. The Orchard counterfeiting mitigation and NU6.2 itself are
documented separately in ZIP 257.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
ZIP 258: update to be relative to the ZIP 256 changes.

Signed-off-by: Daira-Emma Hopwood <daira@jacaranda.org>
@daira
daira force-pushed the zip-256-consensus-fixes branch from 6dfba55 to d6de3bf Compare June 26, 2026 10:22

@daira daira left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Self-ACK

@daira

daira commented Jun 30, 2026

Copy link
Copy Markdown
Collaborator Author

Merging because it's in the way otherwise.

@daira
daira merged commit 8b9b291 into zcash:main Jun 30, 2026
3 checks passed
@daira
daira deleted the zip-256-consensus-fixes branch June 30, 2026 17:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ZIP 256] Deployment of Consensus Bug Fixes Between NU6.1 and NU6.2

3 participants