zips/README.template

73 lines
3.2 KiB
Plaintext
Raw Normal View History

.. Title: Specifications and Zcash Improvement Proposals
What are ZIPs?
--------------
Zcash Improvement Proposals (ZIPs) are the way to:
* propose new features for the `Zcash cryptocurrency <https://z.cash/>`__ 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 youd like to bounce ideas off people before formally
writing a ZIP, we encourage it! Visit the `ZcashCommunity Discord chat <https://discord.gg/kdjfvps>`__
to talk about your idea.
Participation in the Zcash project is subject to a `Code of
Conduct <https://github.com/zcash/zcash/blob/master/code_of_conduct.md>`__.
The Zcash protocol is documented in its `Protocol Specification <protocol/protocol.pdf>`__.
To start contributing, first read `ZIP 0 <zip-0000.rst>`__ which documents the ZIP process.
Then clone `this repo <https://github.com/zcash/zips>`__ 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 <https://docutils.sourceforge.io/rst.html>`__ or
`Markdown <https://pandoc.org/MANUAL.html#pandocs-markdown>`__ syntax,
and double-check the generated ``draft-*.html`` file before filing a Pull Request.
See `here <protocol/README.rst>`__ for the project dependencies.
Consider leveraging `our devcontainer.json <devcontainer.rst>`__ for ease of tool aquisition
when working in this repo.
NU5 ZIPs
--------
This is the list of ZIPs relevant to the NU5 Upgrade, which `activated on 31st May 2022 <https://z.cash/upgrade/nu5/>`__:
- `ZIP 32: Shielded Hierarchical Deterministic Wallets <zip-0032.rst>`__ (updated)
- `ZIP 203: Transaction Expiry <zip-0203.rst>`__ (updated)
- `ZIP 209: Prohibit Negative Shielded Chain Value Pool Balances <zip-0209.rst>`__ (updated)
- `ZIP 212: Allow Recipient to Derive Ephemeral Secret from Note Plaintext <zip-0212.rst>`__ (updated)
- `ZIP 213: Shielded Coinbase <zip-0213.rst>`__ (updated)
- `ZIP 216: Require Canonical Jubjub Point Encodings <zip-0216.rst>`__
- `ZIP 221: FlyClient - Consensus-Layer Changes <zip-0221.rst>`__ (updated)
- `ZIP 224: Orchard Shielded Protocol <zip-0224.rst>`__
- `ZIP 225: Version 5 Transaction Format <zip-0225.rst>`__
- `ZIP 239: Relay of Version 5 Transactions <zip-0239.rst>`__
- `ZIP 244: Transaction Identifier Non-Malleability <zip-0244.rst>`__
- `ZIP 252: Deployment of the NU5 Network Upgrade <zip-0252.rst>`__
- `ZIP 316: Unified Addresses and Unified Viewing Keys <zip-0316.rst>`__
- `ZIP 401: Addressing Mempool Denial-of-Service <zip-0401.rst>`__ (clarified)
License
-------
Unless otherwise stated in this repositorys individual files, the
contents of this repository are released under the terms of the MIT
license. See `COPYING <COPYING.rst>`__ for more information or see
https://opensource.org/licenses/MIT .