Summary for Public
This draft ZIP intends to stop adding new ZEC to the Transparent pool of Zcash. To be clear, users who exclusively use transparent wallets and never interacts with shielded pools (such as Trust Wallet or Exodus Wallet users) won’t be affected, as it doesn’t impact regular transparent-to-transparent transactions. However, it will prevent the transfer of ZEC to Transparent addresses from shielded pools, namely Sapling and Orchard protocols. The primary goal of this ZIP is to reduce the complexities of the Zcash protocol for future generations. The secondary goal is to keep future mining rewards in shielded pools, gradually decreasing the proportion of ZEC in the transparent pool. Another secondary goal of this ZIP is to increase the use and storage of ZEC in these shielded pools. Note that the author also proposed that this ZIP to be activated on the 10th birthday of Zcash, more than 2 years from today.
Important note: The decision to adopt this proposed ZIP is at the hand of the Zcash users and contributors community. Check out Principles for deprecating t2t transactions and Retire Transparent Pool on the 10th Zcash Birthday - Let's Make It Official! for discussions and community preference on this matter.
::
ZIP: unassigned
Title: Disabling Addition of New Value to the Transparent Pool
Status: Draft
Category: Consensus
Created: 2024-10-28
License: MIT
Terminology
The key words “MUST”, “SHOULD”, and “OPTIONAL” in this document are to be interpreted
as described in BCP 14 [#BCP14]_ when, and only when, they appear in all capitals.
The term “network upgrade” in this document is to be interpreted as described in ZIP 200
[#zip-0200]_.
The term “Transparent pool” in this document refers to the Transparent chain value pool which works as in the Bitcoin Protocol and have been used since the launch of the Zcash network [#protocol]_.
The term “Sapling shielded protocol” in this document refers to the shielded payment protocol
introduced in the Sapling network upgrade [#zip-0205]_ [#protocol]_.
The term “Orchard shielded protocol” in this document refers to the shielded payment protocol
introduced in the network upgrade 5 [#zip-0224]_ [#protocol]_.
The term “shielded pools” in this document refers to both Sapling and Orchard shielded protocols.
Abstract
This proposal disables the ability to add new value to the Transparent pool balance.
This takes a step toward being able to remove the Bitcoin Script entirely from the Zcash protocol, thus reducing the overall complexity and attack surface of Zcash.
Motivation
Zcash implements the Decentralized Anonymous Payment scheme Zerocash [#protocol]_ [#zerocash]_.
While supporting shielded payment protocols for anonymity, it also incorporates a Transparent payment scheme identical to Bitcoin. This addition facilitates Zcash integration into existing tools and services compatible with Bitcoin.
As Zcash develops through various network upgrades, the inclusion of legacy Bitcoin Script in its specification and implementation creates complexity and “technical debt.” This complexity stems from the need to support and test both Transparent and shielded payment protocols, including proposed ones like ZSA.
To address this, the initial step is to disallow additions to the Transparent chain’s value pool balance. This measure aims to reduce complexity and potential risks without preventing the extraction of value from Transparent addresses for subsequent transfers to other Transparent addresses.
Specification
Consensus rule: pending technical discussions.
The author is not technical enough to understand what’s consensus changes required for this ZIP implementation. Any technical input on this matter is greatly appreciated.
When this proposal is activated, nodes and wallets MUST disable any facilities to create transparent transactions that have both one or more outputs to Transparent addresses, and one or more inputs from non-Transparent addresses. This SHOULD be made clear in user interfaces and API
documentation.
Notes:
- The facility to send to Transparent pool from shielded pools, even before activation of this proposal, is OPTIONAL for a particular node or wallet implementation.
Rationale
pending technical discussion
Deployment
This proposal will be deployed on the 10th birthday of Zcash, October 28th 2026. Specifically, the implementation of this proposal will be activated at the first block mined after Oct 28, 2026 · 16:19 UTC which is exactly 10 years after the mining of the first block of Zcash [#block_1]_.
References
… [#BCP14] Information on BCP 14 — "RFC 2119: Key words for use in RFCs to Indicate Requirement Levels" and "RFC 8174: Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words" <https://www.rfc-editor.org/info/bcp14>
_
… [#protocol] Zcash Protocol Specification, Version 2023.4.0 [NU5] or later <protocol/protocol.pdf>
_
… [#zip-0200] ZIP 200: Network Upgrade Mechanism <zip-0200.rst>
_
… [#zip-0205] ZIP 205: Deployment of the Sapling Network Upgrade <zip-0205.rst>
_
… [#zip-0224] ZIP 224: Orchard Shielded Protocol <zip-0224.rst>
_
… [#zerocash] Zerocash: Decentralized Anonymous Payments from Bitcoin (extended version) <https://eprint.iacr.org/2014/349>
_
… [#block_1] Zcash block 1 <https://3xpl.com/zcash/block/1>
_