Skip to content

Commit a0020fe

Browse files
nuttycomclaude
andcommitted
[ZIP 226]: Register ZIP 248 bundle type.
- Register OrchardZSA bundle type in the V6 bundle registry - Update digest section to reference effects_bundles_digest and auth_bundles_digest - Add reference to extensible transaction format ZIP - Remove unused ZIP 244 and ZIP 246 references Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 0a63130 commit a0020fe

File tree

1 file changed

+34
-9
lines changed

1 file changed

+34
-9
lines changed

zips/zip-0226.rst

Lines changed: 34 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,27 @@ Privacy Implications
8383
- When including new Assets we would like to maintain the amount and identifiers
8484
of Assets private, which is achieved with the design.
8585

86+
Bundle Type Registration
87+
========================
88+
89+
This ZIP registers the OrchardZSA bundle type in the V6 transaction bundle
90+
type registry defined in ZIP 248 [#zip-0248]_:
91+
92+
+------------+----------------------+--------------------+------------------+-------------+
93+
| BundleType | ``mValuePoolDeltas`` | ``mEffectBundles`` | ``mAuthBundles`` | Bundle kind |
94+
+============+======================+====================+==================+=============+
95+
| TBD |✅ |✅ |✅ | OrchardZSA |
96+
+------------+----------------------+--------------------+------------------+-------------+
97+
98+
The OrchardZSA bundle has value pool deltas (transfers move value in and out of
99+
the transparent transaction value pool), effecting data (the OrchardZSA actions
100+
and burn information), and authorizing data (the proofs and binding signature).
101+
102+
A transaction MUST NOT contain both an Orchard bundle (type 3) and an OrchardZSA
103+
bundle. The OrchardZSA bundle replaces the Orchard bundle for transactions that
104+
transfer Custom Assets.
105+
106+
86107
Specification
87108
=============
88109

@@ -363,7 +384,7 @@ The transaction format for v6 transactions is described in ZIP 230 [#zip-0230]_.
363384
The ZSA-related changes in v6 include:
364385

365386
* updates to the transaction structure [#zip-0230-transaction-format]_ and the
366-
sighash digest computation [#zip-0246]_;
387+
sighash digest computation [#zip-0248]_;
367388
* new note plaintext formats for both Sapling and Orchard outputs [#zip-0230-note-plaintexts]_,
368389
with corresponding changes to the note decryption algorithms for incoming and
369390
outgoing viewing keys [#zip-2005]_.
@@ -387,13 +408,18 @@ The following requirements on wallets are specified and motivated in ZIP 230
387408
temporarily inaccessible, until the wallet is upgraded to fully support v6 and to
388409
rescan outputs since v6 activation.
389410

390-
Sighash modifications relative to ZIP 244 [#zip-0244]_
391-
------------------------------------------------------
411+
Modifications to Digest Algorithms
412+
----------------------------------
413+
414+
The OrchardZSA bundle contributes to the transaction identifier and signature
415+
digest via the ``effects_bundles_digest`` and ``auth_bundles_digest`` defined
416+
in ZIP 248 [#zip-0248]_.
392417

393-
Relative to the sighash algorithm defined in ZIP 244 [#zip-0244]_, the sighash algorithm
394-
that applies to v6 transactions differs by altering the Orchard bundle within
395-
the tree hash to match the corresponding OrchardZSA changes. See ZIP 246 [#zip-0246]_
396-
for details.
418+
The OrchardZSA bundle's value pool deltas (for both ZEC and Custom Assets) are
419+
committed via ``value_pool_deltas_digest``. The OrchardZSA effecting data
420+
(actions and burn information) is committed via ``effects_bundles_digest``.
421+
The OrchardZSA authorizing data (proofs and binding signature) is committed
422+
via ``auth_bundles_digest``.
397423

398424
Transaction Fees
399425
----------------
@@ -449,8 +475,7 @@ References
449475
.. [#zip-0230-note-plaintexts] `ZIP 230: Version 6 Transaction Format — Note Plaintexts <zip-0230.rst#note-plaintexts>`_
450476
.. [#zip-0230-orchard-note-plaintext] `ZIP 230: Version 6 Transaction Format — Orchard Note Plaintext <zip-0230.rst#orchard-note-plaintext>`_
451477
.. [#zip-0230-implications-for-wallets] `ZIP 230: Version 6 Transaction Format — Implications for Wallets <zip-0230.rst#implications-for-wallets>`_
452-
.. [#zip-0244] `ZIP 244: Transaction Identifier Non-Malleability <zip-0244.rst>`_
453-
.. [#zip-0246] `ZIP 246: Digests for the Version 6 Transaction Format <zip-0246.rst>`_
478+
.. [#zip-0248] `ZIP 248: Extensible Transaction Format <zip-0248.rst>`_
454479
.. [#zip-0307] `ZIP 307: Light Client Protocol for Payment Detection <zip-0307.rst>`_
455480
.. [#zip-2005] `ZIP 2005: Quantum Recoverability <zip-2005.md>`_
456481
.. [#protocol] `Zcash Protocol Specification, Version 2025.6.2 [NU6.1] or later. <protocol/protocol.pdf>`_

0 commit comments

Comments
 (0)