What are ZIPs?

Zcash Improvement Proposals (ZIPs) are the way to:

Contributing

The authors of a ZIP are responsible for building consensus within the community and documenting / addressing dissenting opinions.

Anyone can write a ZIP! We encourage community contributions and decentralization of work on the Zcash protocol. If you’d like to bounce ideas off people before formally writing a ZIP, we encourage it! Visit the Zcash Community Forum to talk about your idea.

Participation in the Zcash project is subject to a Code of Conduct.

The Zcash protocol is documented in its Protocol Specification.

To start contributing, first read ZIP 0 which documents the ZIP process. Then clone this repo from GitHub, and start adding your draft ZIP, formatted either as reStructuredText or as Markdown, into the zips/ directory.

For example, if using reStructuredText, use a filename matching zips/draft-*.rst. Use make to check that you are using correct reStructuredText or Markdown syntax, and double-check the generated rendered/draft-*.html file before filing a Pull Request. See here for the project dependencies.

NU6.1 Candidate ZIPs

The following ZIPs are under consideration for inclusion in NU6.1:

This list is only provided here for easy reference; no decision has been made on whether to include each of these ZIPs.

ZIP 255: Deployment of the NU6.1 Network Upgrade will define which ZIPs are included in NU6.1.

NU7 Candidate ZIPs

The following ZIPs are under consideration for inclusion in NU7:

In addition, ZIP 317: Proportional Transfer Fee Mechanism may be updated.

This list is only provided here for easy reference; no decision has been made on whether to include each of these ZIPs.

draft-arya-deploy-nu7: Deployment of the NU7 Network Upgrade will define which ZIPs are included in NU7.

License

Unless otherwise stated in this repository’s individual files, the contents of this repository are released under the terms of the MIT license. See COPYING for more information or see https://opensource.org/licenses/MIT .

Released ZIPs

ZIP Title Status
0 ZIP Process Active
32 Shielded Hierarchical Deterministic Wallets Final
129 Zcash Transparent Multisig Setup
143 Transaction Signature Validation for Overwinter Final
155 addrv2 message Proposed
173 Bech32 Format Final
200 Network Upgrade Mechanism Final
201 Network Peer Management for Overwinter Final
202 Version 3 Transaction Format for Overwinter Final
203 Transaction Expiry Final
205 Deployment of the Sapling Network Upgrade Final
206 Deployment of the Blossom Network Upgrade Final
207 Funding Streams [Revision 0: Canopy, Revision 1: NU6] Final
208 Shorter Block Target Spacing Final
209 Prohibit Negative Shielded Chain Value Pool Balances Final
211 Disabling Addition of New Value to the Sprout Chain Value Pool Final
212 Allow Recipient to Derive Ephemeral Secret from Note Plaintext Final
213 Shielded Coinbase Final
214 Consensus rules for a Zcash Development Fund [Revision 0: Canopy, Revision 1: NU6] Final, [Revision 2: NU6.1] Proposed
215 Explicitly Defining and Modifying Ed25519 Validation Rules Final
216 Require Canonical Jubjub Point Encodings Final
221 FlyClient - Consensus-Layer Changes Final
224 Orchard Shielded Protocol Final
225 Version 5 Transaction Format Final
236 Blocks should balance exactly Final
239 Relay of Version 5 Transactions Final
243 Transaction Signature Validation for Sapling Final
244 Transaction Identifier Non-Malleability Final
250 Deployment of the Heartwood Network Upgrade Final
251 Deployment of the Canopy Network Upgrade Final
252 Deployment of the NU5 Network Upgrade Final
253 Deployment of the NU6 Network Upgrade Final
255 Deployment of the NU6.1 Network Upgrade Proposed
271 Dev Fund Extension and One-Time Disbursement Proposed
300 Cross-chain Atomic Transactions Proposed
301 Zcash Stratum Protocol Active
308 Sprout to Sapling Migration Active
316 Unified Addresses and Unified Viewing Keys [Revision 0] Active, [Revision 1] Proposed
317 Proportional Transfer Fee Mechanism Active
320 Defining an Address Type to which funds can only be sent from Transparent Addresses Active
321 Payment Request URIs Active
401 Addressing Mempool Denial-of-Service Active
1014 Establishing a Dev Fund for ECC, ZF, and Major Grants Active
1015 Block Subsidy Allocation for Non-Direct Development Funding Final
1016 Community and Coinholder Funding Model Proposed
2001 Lockbox Funding Streams Final

Draft ZIPs

These are works-in-progress that have been assigned ZIP numbers. These will eventually become either Proposed (and thus Released), or one of Withdrawn, Rejected, or Obsolete.

In some cases a ZIP number is reserved by the ZIP Editors before a draft is written.

ZIP Title Status Discussions-To
1 Network Upgrade Policy and Scheduling Reserved zips#343
2 Design Considerations for Network Upgrades Reserved zips#362
48 Transparent Multisig Wallets Draft zips#1059
68 Relative lock-time using consensus-enforced sequence numbers Draft
76 Transaction Signature Validation before Overwinter Reserved zips#130
112 CHECKSEQUENCEVERIFY Draft
113 Median Time Past as endpoint for lock-time calculations Draft
204 Zcash P2P Network Protocol Reserved zips#352
217 Aggregate Signatures Reserved zcash#2914
219 Disabling Addition of New Value to the Sapling Chain Value Pool Reserved zips#428
222 Transparent Zcash Extensions Draft
226 Transfer and Burn of Zcash Shielded Assets Draft zips#618
227 Issuance of Zcash Shielded Assets Draft zips#618
228 Asset Swaps for Zcash Shielded Assets Reserved zips#776
230 Version 6 Transaction Format Draft zips#686
231 Memo Bundles Draft zips#627
233 Network Sustainability Mechanism: Removing Funds From Circulation Draft zips#922
234 Network Sustainability Mechanism: Issuance Smoothing Draft zips#923
235 Remove 60% of Transaction Fees From Circulation Draft zips#924
245 Transaction Identifier Digests & Signature Validation for Transparent Zcash Extensions Draft zips#384
246 Digests for the Version 6 Transaction Format Draft
270 Key Rotation for Tracked Signing Keys Reserved zips#1047
302 Standardized Memo Field Format Draft zips#366
303 Sprout Payment Disclosure Reserved
304 Sapling Address Signatures Draft zips#345
305 Best Practices for Hardware Wallets supporting Sapling Reserved zips#346
306 Security Considerations for Anchor Selection Reserved zips#351
307 Light Client Protocol for Payment Detection Draft
309 Blind Off-chain Lightweight Transactions (BOLT) Reserved zcash#2353
310 Security Properties of Sapling Viewing Keys Draft
311 Zcash Payment Disclosures Draft zips#387
312 FROST for Spend Authorization Multisignatures Draft zips#382
314 Privacy upgrades to the Zcash light client protocol Reserved zips#434
315 Best Practices for Wallet Implementations Draft zips#447
318 Associated Payload Encryption Reserved zips#633
319 Options for Shielded Pool Retirement Reserved zips#635
322 Generic Signed Message Format Reserved zips#429
323 Specification of getblocktemplate for Zcash Reserved zips#405
324 URI-Encapsulated Payments Draft
325 Account Metadata Keys Draft
332 Wallet Recovery from zcashd HD Seeds Reserved zips#675
339 Wallet Recovery Words Reserved zips#364
400 Wallet.dat format Draft
402 New Wallet Database Format Reserved zips#365
403 Verification Behaviour of zcashd Reserved zips#404
416 Support for Unified Addresses in zcashd Reserved zips#503
2002 Explicit Fees Draft zips#803
2003 Disallow version 4 transactions Draft zips#825
2004 Remove the dependency of consensus on note encryption Draft zips#917
guide-markdown {Something Short and To the Point} Draft
guide {Something Short and To the Point} Draft

Drafts without assigned ZIP numbers

These are works-in-progress, and may never be assigned ZIP numbers if their ideas become obsoleted or abandoned. Do not assume that these drafts will exist in perpetuity; instead assume that they will either move to a numbered ZIP, or be deleted.

Draft name Title Discussions-To
draft-arya-dairaemma-disable-addition-of-transparent-chain-value Disabling Addition of New Value to the Transparent Chain Value Pool zips#1115
draft-arya-deploy-nu7 Deployment of the NU7 Network Upgrade zips#839
draft-ecc-authenticated-reply-addrs Authenticated Reply Addresses zips#???
draft-ecc-onchain-accountable-voting On-chain Accountable Voting
draft-ecc-quantum-recoverability Quantum recoverability
draft-str4d-orchard-balance-proof Air drops, Proof-of-Balance, and Stake-weighted Polling

Withdrawn, Rejected, or Obsolete ZIPs

Click to show/hide
ZIP Title Status
210 Sapling Anchor Deduplication within Transactions Withdrawn
220 Zcash Shielded Assets Withdrawn
254 Deployment of the NU7 Network Upgrade (Withdrawn) Withdrawn
313 Reduce Conventional Transaction Fee to 1000 zatoshis Obsolete
1001 Keep the Block Distribution as Initially Defined — 90% to Miners Obsolete
1002 Opt-in Donation Feature Obsolete
1003 20% Split Evenly Between the ECC and the Zcash Foundation, and a Voting System Mandate Obsolete
1004 Miner-Directed Dev Fund Obsolete
1005 Zcash Community Funding System Obsolete
1006 Development Fund of 10% to a 2-of-3 Multisig with Community-Involved Third Entity Obsolete
1007 Enforce Development Fund Commitments with a Legal Charter Obsolete
1008 Fund ECC for Two More Years Obsolete
1009 Five-Entity Strategic Council Obsolete
1010 Compromise Dev Fund Proposal With Diverse Funding Streams Obsolete
1011 Decentralize the Dev Fee Obsolete
1012 Dev Fund to ECC + ZF + Major Grants Obsolete
1013 Keep It Simple, Zcashers: 10% to ECC, 10% to ZF Obsolete

Index of ZIPs

ZIP Title Status
0 ZIP Process Active
1 Network Upgrade Policy and Scheduling Reserved
2 Design Considerations for Network Upgrades Reserved
32 Shielded Hierarchical Deterministic Wallets Final
48 Transparent Multisig Wallets Draft
68 Relative lock-time using consensus-enforced sequence numbers Draft
76 Transaction Signature Validation before Overwinter Reserved
112 CHECKSEQUENCEVERIFY Draft
113 Median Time Past as endpoint for lock-time calculations Draft
129 Zcash Transparent Multisig Setup
143 Transaction Signature Validation for Overwinter Final
155 addrv2 message Proposed
173 Bech32 Format Final
200 Network Upgrade Mechanism Final
201 Network Peer Management for Overwinter Final
202 Version 3 Transaction Format for Overwinter Final
203 Transaction Expiry Final
204 Zcash P2P Network Protocol Reserved
205 Deployment of the Sapling Network Upgrade Final
206 Deployment of the Blossom Network Upgrade Final
207 Funding Streams [Revision 0: Canopy, Revision 1: NU6] Final
208 Shorter Block Target Spacing Final
209 Prohibit Negative Shielded Chain Value Pool Balances Final
210 Sapling Anchor Deduplication within Transactions Withdrawn
211 Disabling Addition of New Value to the Sprout Chain Value Pool Final
212 Allow Recipient to Derive Ephemeral Secret from Note Plaintext Final
213 Shielded Coinbase Final
214 Consensus rules for a Zcash Development Fund [Revision 0: Canopy, Revision 1: NU6] Final, [Revision 2: NU6.1] Proposed
215 Explicitly Defining and Modifying Ed25519 Validation Rules Final
216 Require Canonical Jubjub Point Encodings Final
217 Aggregate Signatures Reserved
219 Disabling Addition of New Value to the Sapling Chain Value Pool Reserved
220 Zcash Shielded Assets Withdrawn
221 FlyClient - Consensus-Layer Changes Final
222 Transparent Zcash Extensions Draft
224 Orchard Shielded Protocol Final
225 Version 5 Transaction Format Final
226 Transfer and Burn of Zcash Shielded Assets Draft
227 Issuance of Zcash Shielded Assets Draft
228 Asset Swaps for Zcash Shielded Assets Reserved
230 Version 6 Transaction Format Draft
231 Memo Bundles Draft
233 Network Sustainability Mechanism: Removing Funds From Circulation Draft
234 Network Sustainability Mechanism: Issuance Smoothing Draft
235 Remove 60% of Transaction Fees From Circulation Draft
236 Blocks should balance exactly Final
239 Relay of Version 5 Transactions Final
243 Transaction Signature Validation for Sapling Final
244 Transaction Identifier Non-Malleability Final
245 Transaction Identifier Digests & Signature Validation for Transparent Zcash Extensions Draft
246 Digests for the Version 6 Transaction Format Draft
250 Deployment of the Heartwood Network Upgrade Final
251 Deployment of the Canopy Network Upgrade Final
252 Deployment of the NU5 Network Upgrade Final
253 Deployment of the NU6 Network Upgrade Final
254 Deployment of the NU7 Network Upgrade (Withdrawn) Withdrawn
255 Deployment of the NU6.1 Network Upgrade Proposed
270 Key Rotation for Tracked Signing Keys Reserved
271 Dev Fund Extension and One-Time Disbursement Proposed
300 Cross-chain Atomic Transactions Proposed
301 Zcash Stratum Protocol Active
302 Standardized Memo Field Format Draft
303 Sprout Payment Disclosure Reserved
304 Sapling Address Signatures Draft
305 Best Practices for Hardware Wallets supporting Sapling Reserved
306 Security Considerations for Anchor Selection Reserved
307 Light Client Protocol for Payment Detection Draft
308 Sprout to Sapling Migration Active
309 Blind Off-chain Lightweight Transactions (BOLT) Reserved
310 Security Properties of Sapling Viewing Keys Draft
311 Zcash Payment Disclosures Draft
312 FROST for Spend Authorization Multisignatures Draft
313 Reduce Conventional Transaction Fee to 1000 zatoshis Obsolete
314 Privacy upgrades to the Zcash light client protocol Reserved
315 Best Practices for Wallet Implementations Draft
316 Unified Addresses and Unified Viewing Keys [Revision 0] Active, [Revision 1] Proposed
317 Proportional Transfer Fee Mechanism Active
318 Associated Payload Encryption Reserved
319 Options for Shielded Pool Retirement Reserved
320 Defining an Address Type to which funds can only be sent from Transparent Addresses Active
321 Payment Request URIs Active
322 Generic Signed Message Format Reserved
323 Specification of getblocktemplate for Zcash Reserved
324 URI-Encapsulated Payments Draft
325 Account Metadata Keys Draft
332 Wallet Recovery from zcashd HD Seeds Reserved
339 Wallet Recovery Words Reserved
400 Wallet.dat format Draft
401 Addressing Mempool Denial-of-Service Active
402 New Wallet Database Format Reserved
403 Verification Behaviour of zcashd Reserved
416 Support for Unified Addresses in zcashd Reserved
1001 Keep the Block Distribution as Initially Defined — 90% to Miners Obsolete
1002 Opt-in Donation Feature Obsolete
1003 20% Split Evenly Between the ECC and the Zcash Foundation, and a Voting System Mandate Obsolete
1004 Miner-Directed Dev Fund Obsolete
1005 Zcash Community Funding System Obsolete
1006 Development Fund of 10% to a 2-of-3 Multisig with Community-Involved Third Entity Obsolete
1007 Enforce Development Fund Commitments with a Legal Charter Obsolete
1008 Fund ECC for Two More Years Obsolete
1009 Five-Entity Strategic Council Obsolete
1010 Compromise Dev Fund Proposal With Diverse Funding Streams Obsolete
1011 Decentralize the Dev Fee Obsolete
1012 Dev Fund to ECC + ZF + Major Grants Obsolete
1013 Keep It Simple, Zcashers: 10% to ECC, 10% to ZF Obsolete
1014 Establishing a Dev Fund for ECC, ZF, and Major Grants Active
1015 Block Subsidy Allocation for Non-Direct Development Funding Final
1016 Community and Coinholder Funding Model Proposed
2001 Lockbox Funding Streams Final
2002 Explicit Fees Draft
2003 Disallow version 4 transactions Draft
2004 Remove the dependency of consensus on note encryption Draft
guide-markdown {Something Short and To the Point} Draft
guide {Something Short and To the Point} Draft