ZIP and NUP Process Updates to Enhance Community Engagement

As part of our commitment to continued improvement at ECC and the Foundation, we’ve agreed on proposing some changes to the process ZIP (ZIP0) and making some clarifications about the Network Upgrade Pipeline. These proposals and clarifications are to ensure fuller and more effective community engagement around network upgrade changes in the future. The changes and clarifications are outlined below:

  1. ZIP Drafts should have all sections defined in ZIP0 written out. For NU3, we allowed ZIP Drafts to be submitted with only the abstract and motivation filled out, which makes a thorough discussion on ZIPs very difficult. For future network upgrades, all Draft ZIPs submitted need to have all the following sections completed: preamble, terminology, abstract, motivation, specification, rationale, security and privacy considerations, and reference implementation. Any ZIP Drafts submitted for future network upgrades (starting with NU4) that do not contain a completed section for all of these will not be considered for the next network upgrade.
  2. If you would like to have public discussion about the ZIP before you submit the ZIP draft, post in the “protocol” category in the forum or open an issue in the zcash repo here. These are good places to have public discussions about a potential ZIP before all the information is available for you to complete a Draft ZIP. When you are ready to create a Draft ZIP, submit a pull request to the GitHub - zcash/zips: Zcash Improvement Proposals repo with the full content of the Draft ZIP included.
  3. We want to make it clear to the community that work may be ongoing in all phases of the NUP at any time for a protocol change, but there is an “onramp” for ZIP selection at the “Draft ZIPs Submission Deadline” milestone in the NUP to make it into the next network upgrade. Work on ZIP drafting, specification writing, coding, testing, auditing, etc. can be occurring at any time. The only limitation is that if you want Consensus ZIP (or some Standards-track ZIP) work to go into a specific network upgrade, the associated ZIP for that work must be completed by the Draft ZIP Submission Deadline for that upgrade, as indicated on the NUP. The Draft ZIP Submission Deadline has passed for NU3, but the deadline for NU4 is August 31st, 2019. You can also submit a ZIP anytime before August 31st for NU4. Also note that these deadlines only apply to Consensus ZIPs or Standards-track ZIPs that affect a network upgrade. All other ZIPs can be submitted or considered at any time.
  4. The Foundation opened a PR to the ZIPs repo to remove the Zcash Ecosystem Development mailing list as a means for ZIP discussion and move debate on ZIPs to the newly created “protocol” area in the Zcash forum, and GitHub, with the suggestion that people should cross-link between forum discussions and GitHub issues or PRs of Draft ZIPs.
  5. The Foundation opened a PR to the ZIPs repo for listing the drafts for NU3 out on the readme so that people can read the correct latest version of ZIP PRs. This was done to address an issue where if someone makes an update to one of the ZIP PRs, it’s very difficult to figure out whether you’re reading the latest version.
  6. Going forward, ECC will be regularly promoting the Draft ZIPs Submission Deadline on the forum so people have a reminder of the ZIP deadlines and its deliverables.

Thanks for your feedback, continued support, and attention to our efforts to incorporate feedback into the network upgrade process. Please check out the Network Upgrade Pipeline for further information.


I don’t see how a reference implementation complete with well thought out privacy and security is a realistic requirement for submitting a draft for NU consideration from the community.

Isn’t the purpose of the draft system to say “hey, ECC we would really like this cool feature” and try to figure out how to make it happen by working with the ECC team? Or submitting an idea that ECC could then choose to allocate resources for?

It seems like this new outline discourages non-developers from submitting.


Part of the point is that we should be at the “hey, ECC we would really like this cool feature” point much earlier on in the process. That is point 2 in @mms’s post above. By the time we get to the point of considering a feature for inclusion in a network upgrade, it’s basically too late to have any significant discussion with the wider community, which is antithetical to the goals of greater inclusivity within the process.


I agree that it’s difficult for non-developers to submit ZIPs. We’re encouraging people to post in the “protocol” category in the forum if they have an idea for a Zcash consensus change. We think this provides a good place for non-technical people to ask for a feature that then others in the community, the Foundation or ECC could take up the mantle and do implementation work for if they agree it’s a good idea.


This is awesome, thank you for these changes. I’ve found it challenging to comment on the ZIP drafts in the past, because they didn’t seem concrete enough to have a meaningful discussion (at least from a technical perspective), so having at least a specification with the ZIP is great.

I also like the idea of discussing ZIPs that are earlier in the stage on the forum, which should make the discussions much more casual than if they are happening on github.

Is GitHub - zcash/zips: Zcash Improvement Proposals going to be the single place for all ZIPs going forward? In the past, I’ve found it hard to find a single list of all ZIPs (past ZIPs, current ZIPs in consideration, future ZIPs proposed) in one place.


I’m glad that you’re happy with these changes! Yes, the ZIPs repo will be where all PRs that contain ZIPs are from now on, but discussion on those ZIPs could happen in the forum or in issues opened in the zcash repo. However, we are asking people to link their discussions to each other so people can keep track of different discussion threads.