/zips

Zcash Improvement Proposals

Primary LanguageHTMLMIT LicenseMIT

What are ZIPs?

Zcash Improvement Proposals (ZIPs) are the way to:

  • propose new features for the the Zcash cryptocurrency and their rationale,
  • specify the implementation details of the feature,
  • collect community input on the proposal, and
  • document design decisions.

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 ZcashCommunity Discord chat 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.

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

Canopy ZIPs

This is the list of ZIPs included in Canopy (Network Upgrade 4), due to activate on mainnet in mid-November 2020:

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 .

Index of ZIPs

ZIP Title Status
0 ZIP Process Active
1 Network Upgrade Policy and Scheduling Reserved
2 Design Considerations for Network Upgrades Reserved
22 Specification of getblocktemplate for Zcash Reserved
32 Shielded Hierarchical Deterministic Wallets Final
76 Transaction Signature Validation before Overwinter Reserved
143 Transaction Signature Validation for Overwinter Final
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 P2P Network Protocol Differences from Bitcoin Reserved
205 Deployment of the Sapling Network Upgrade Final
206 Deployment of the Blossom Network Upgrade Final
207 Funding Streams Implemented (zcashd)
208 Shorter Block Target Spacing Final
209 Prohibit Negative Shielded Chain Value Pool Balances Final
210 Sapling Anchor Deduplication within Transactions Draft
211 Disabling Addition of New Value to the Sprout Chain Value Pool Implemented (zcashd)
212 Allow Recipient to Derive Sapling Ephemeral Secret from Note Plaintext Implemented (zcashd)
213 Shielded Coinbase Final
214 Consensus rules for a Zcash Development Fund Implemented (zcashd)
215 Explicitly Defining and Modifying Ed25519 Validation Rules Implemented (zcashd)
216 Require Canonical Point Encodings Reserved
217 Aggregate Signatures Reserved
221 FlyClient - Consensus-Layer Changes Final
222 Transparent Zcash Extensions Draft
243 Transaction Signature Validation for Sapling Final
244 Transaction Signature Validation for Transparent Zcash Extensions Reserved
250 Deployment of the Heartwood Network Upgrade Final
251 Deployment of the Canopy Network Upgrade Implemented (zcashd)
252 Deployment of the NU5 Network Upgrade Reserved
300 Cross-chain Atomic Transactions Proposed
301 Zcash Stratum Protocol Final
302 Standardized Memo Field Format Reserved
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 Final
309 Blind Off-chain Lightweight Transactions (BOLT) Reserved
310 Security Properties of Sapling Viewing Keys Draft
311 Sapling Payment Disclosure Reserved
312 Shielded Multisignatures using FROST Reserved
313 Reduce Default Transaction Fee Reserved
321 Payment Request URIs Proposed
339 Wallet Recovery Words Reserved
400 Wallet.dat format Draft
401 Addressing mempool denial-of-service Final
402 New Wallet Database Format Reserved
403 Verification Behaviour of 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
guide {Something Short and To the Point} Draft