Zcash's Network Upgrade 4: The Final Stretch of Decisions

Originally posted to the Zcash Forum. Placeholder holds ZEC, but has no vested interest in any of the companies or foundations mentioned below.

Placeholder recently withdrew its governance proposal for Zcash’s Network Upgrade 4 (NU4), choosing to review and endorse other candidates based on our due diligence. For the uninitiated that may be reading this, NU4 will define the Zcash network’s allocation of block rewards to researchers, software contributors and other non-miner laborers. These policies will apply during Zcash’s second coinbase reward epoch, October 2020 to October 2024, and set a precedent for what Zcash’s stakeholders can expect from the network going forward. We think of the governance components of NU4 as a type of constitutional amendment to the Zcash protocol, and have been impressed with the rigor of ideas and debate that community members have displayed through this process. 

As active participants in the governance focused networks of Aragon, Decred, MakerDAO, and 0x, it’s been illuminating to compare Zcash with these networks. On the one hand, Zcash’s formalized governance mechanisms are among the most nascent of the five, which has resulted in a fair share of controversy through the NU4 process. Zcash is in the most contentious stage of governance: deciding how future decisions will be made. On the other hand, Zcash’s contributors are some of the most senior technologists and formidable thinkers that Placeholder has had the privilege of working with, and frankly, encountered in crypto. As one Twitter user (@lex_node) put it, “This is the most sophisticated debate/discussion on post-launch dev funding for a blockchain project in history.” 

As it stands, Zcash is a functioning network that processes tens of millions of dollars in daily transactions. If software development were to no longer be directly funded by the protocol, the network would continue to chug along, and given the importance of a zero-knowledge cryptocurrency (of which Zcash is far and away the sector leader), we expect its global community would find a way to continue development. It is imperative that we get privacy right as we march into the digital age, and zero-knowledge encryption is humanity’s current best bet. As any good privacy researcher or engineer will tell you, the efforts of people involved with Zcash have continually moved the zero-knowledge field forward, especially as it was the first production system to employ zk-snarks (a term that was only coined in 2012).

Not leveraging Zcash’s monetary policy to fund research and development around one of the most promising privacy technologies the world has, would be a lost opportunity in our opinion. For that reason, we’ve been relieved to see the community converge upon agreement to continue funding research, software development, and other non-miner contributions. As participants in the crypto space over the last five years, we have watched almost every top-tier network struggle with how to fund its core developers over the long-term. 

Meanwhile, Zcash had the foresight to anticipate this issue, and thus from its inception has partially routed ZEC to non-miner contributions. Yes, mistakes were made around treasury management and allocations, as mistakes were made in almost every cryptonetwork treasury that we can think of. Funding budget from a cryptoasset treasury, especially given the volatility, fear, and ebullience of this market, is much easier said than done. That doesn’t mean we should give up on this promising new funding model for open-source protocols; humanity would never move forward if giving up in the face of adversity were the default mindset. Instead, we iterate, taking into account learnings from the past. 

In our eyes, the Electric Coin Company (ECC, core development team) and Zcash Foundation (ZF) are working to mend those mistakes, implementing more controls and accountability around their own funding, as well as supporting the idea of opening up the funding pool to third parties. The fact that the ECC has stayed out of proposing its own governance structures, and instead allowed the community to take charge, speaks volumes about its commitment to decentralizing contribution and power in Zcash.  

Turning to NU4, Hudson Jameson, an employee of the Ethereum Foundation and Editor of the Ethereum Improvement Proposal (EIP) process, wrote a summary of the 13 active proposals, and we recommend anyone not yet familiar with the proposals to read Hudson’s overview. Below, we share what we’ve prioritized when assessing the active proposals, followed by three proposals that we anticipate would suit Zcash’s needs best. 

We also discuss how proposals outside of these three lend insight into the community’s desired improvements, which may come into play in the final iteration process. We close with considerations for after the community sentiment collection process ends on November 30th. While the ZF has alluded to what may come next, we encourage the community to further discuss what it expects so that no one can claim to be whiplashed by the decision making process. Cohesion comes not just from the decisions that are made, but also from clarity and community-inclusion around the decision-making process

Here’s what we at Placeholder have been prioritizing as we’ve reviewed the proposals:

  • Sustainability: Funding non-miner contributions should provide sufficient resources to further Zcash’s value proposition as a premier private store-of-value and trustworthy protocol for private digital transactions. It’s ideal for this to be achieved without Zcash becoming dependent on institutional investors, donors, or private companies.

  • Openness: Any third-party developer should feel comfortable applying for funding from the network treasury, with confidence that their application will be assessed on equal and fair terms. This requires a significant resource pool reserved for parties outside of the ECC and ZF, and a transparent, non-conflicted review and allocation process.

  • Effectiveness: All recipients of funds should be periodically and publicly reviewed, with an eye toward making sure the treasury is translating directly into productive activity beneficial for the network. This requires combining efficiency and accountability, without making allocations overly rigid should the network’s needs change in the future. 

  • Legitimacy: The majority of the community needs to feel represented in the decision-making process. Those that disagree with the final decision need to feel that the creation, selection and implementation process was fair and legitimate.

  • 21,000,000 ZEC supply cap: Zcash’s network secures a premier private store-of-value, and to that end, ZEC should abide by its original supply schedule. In our view, the 21 million-unit-meme will be important for ZEC down the line as investors consider multiple cryptographically secured stores of value.

The three proposals we find ourselves gravitating towards are:

All three propose allocating 20% of coinbase rewards to non-miner development, with parts of that allocation earmarked for the ECC, ZF, and third parties, with the largest pool reserved for third parties.

Some proposals, most notably Blocktown’s, credibly suggested stepping down to 10% of supply-inflation going to non-miner development, with the remaining 90% going to miners. On one hand, if PoW-based assets have their price floor at the marginal cost of production, routing more supply to miners could be helpful for ZEC’s near term price floors. On the other hand, the newness of zero-knowledge encryption means that the research and software development costs of the network may be higher in the short-to-medium term than in other cryptonetworks. Furthermore, with hash rate continuing to climb over the last year, the miners - who have been mostly silent through this discussion - do not appear concerned about the difference between receiving 80% or 90% of newly minted ZEC. Therefore, we’re in line with 20% of newly minted ZEC going towards non-miner development.  

As to dividing the 20% and governing those resources, the three proposals differ as follows (we’ve highlighted only the most important differences and recommend everyone to read the full proposals linked above):

Screen Shot 2019-11-29 at 11.50.25 AM.png

Each one of these proposals allocates 40% of the 20% of ZEC’s inflation to third parties, which represents 420,000 ZEC over the four-year period. At ZEC’s market price of around $30 (which we believe to be considerably oversold), 420,000 ZEC represents over $12M that’s available to third parties outside of the ECC and ZF. At $100 per ZEC, this will represent $42M reserved for third parties, and at $1,000, this pool would represent $420M in funding. If you are a third party developer outside of the ECC and ZF, you would have access to this funding. This pool has the potential to become the world’s largest open reserve for zero-knowledge research, software development, advocacy, and adoption.

We believe all three proposals sufficiently fund the ZF, and may overfund it, depending on how much engineering occurs in-house at the ZF. In contrast, at current ZEC prices the allocations will not be enough to maintain the ECC’s projected budget. The ECC currently maintains the primary protocol implementation, zcashd, while the ZF maintains an alternative implementation in Rust, called zebra. Were the funding allocated for the ECC not to meet its current monthly burn, we anticipate the core researchers, protocol designers, and protocol-implementers would stay together, while other functions of the company may have to decentralize and apply for funding as third parties. We’re torn on the outcome, here. On one hand, we think that functions like marketing, regulatory advocacy, and application-interfaces (end-user facing) could benefit from independent empowerment and increased competition. On the other hand, there are likely to be some efficiency losses from not all working at the same organization. If this were to occur, our hope is that what Zcash may lose in efficiency from a decentralization of the ECC, it will gain in resiliency. 

The ZF is currently polling the community on all outstanding proposals. You can proceed through what that looks like for Advisory Panel members by clicking here, or express your preferences in the forum poll (only votes from accounts created before March 2019 will be counted). In addition, all ZEC holders can permissionlessly express their preferences in a stake-weighted poll, although this has not been officially announced or endorsed by the ZF. An interesting wrinkle is that everyone is allowed to approve/disapprove multiple proposals, which we think is savvy as it doesn’t force Zcash constituents to pick a single option, but instead approve all options that they think would be suitable. And this brings us to an important question: what happens after the community sentiment collection?

As we said during a recent Zcash Protocol Hangout, an obvious marker of legitimacy would be for the most widely supported proposal to get implemented. We wonder, however, if the most desirable elements may be scattered across multiple proposals, and whether it would be in the network’s interest to try and combine them. Similar ideas have been recently expressed by Zooko Wilcox, CEO of ECC. We raise this because the final revisions of proposals came to a head quickly after the trademark resolution, and there may be value in considering different combinations based on what the polling reveals.

For example, we like Eran Tromer’s initial allocation of 25% to ZF, 35% to ECC, and 40% to third parties, with the ability for ECC to apply for more funding if the third party funds are being underutilized. However, the proposal prescribes that the reformed ZF board allocate the third party funds, whereas our understanding is that could put ZF in a compromised situation as per Josh Cincinnati, the “ECC/Zcash Foundation should be in the minority in deciding how these funds are disbursed.” 

Therefore, we wonder if Josh Cincinnati’s proposal for a legal trust + Grant Review Committee separate from the ZF board would be better suited to allocating third party funds, while preserving Eran’s division and disbursement flexibility. This would let the ZF board preserve its broader focus of furthering privacy, while allowing for an independent and fresh set of eyes to weigh in on funding decisions for third parties. Furthermore, if the ZF is to continue to maintain a protocol implementation, we do not think it should be making funding decisions for third parties that it could potentially be in competition with. Lastly, while we like the intent behind a “volatility reserve” and capped budgets, we also believe there should be flexibility for budgets to expand, should ZEC appreciate significantly and the ECC or ZF benefit from expanded teams at that time. Allowing for such flexibility, or at least a vote to that end, would require an amendment to Eran’s proposal. 

While we are sympathetic to the dangers of setting up a new decision making entity and filling those roles, we believe it is possible. Additionally, having a new Grant Review Committee would have considerable overlap with proposals like Avichal Garg’s, Arianna Simpson’s, Blocktown’s, and our own, all of which recommended the creation of a strategic council independent of the ZF and ECC to help with resource allocation. The thinking behind these proposals was to free up the ECC and ZF to focus on their core competencies and execution, as well as remove any conflicts of interest that may arise in having them make funding decisions around teams that they may be competing with. 

These are just a few examples of potentially desirable ways of combining elements of different proposals. As long as we don’t have the results from community polling, we don’t have a good guide as to which proposals to focus on. But given the ZF’s commentary below, and Zooko’s above, we think it’s time to start discussing whether one last round of iterations is in order:

“No later than Tuesday, December 3rd, the Foundation will post its summary of the results. No later than Friday, December 6th, the Zcash Foundation board will publish analysis on which upgrades we can support, based on sentiment and board discussion. After that, if the Foundation’s guidance diverges from ECC’s position, we will meet to reconcile. After reconciliation, if further ZIP specification or updates are needed, we will consult with authors/ECC and (if necessary) engage in another round of sentiment analysis.”

While we think that ZEC is irrationally depressed due to uncertainty and overblown FUD around NU4, and hence moving forward with certainty sooner-rather-than-later will be helpful for the network, we also believe an extra mile now may be required given these decisions will impact Zcash’s next four years directly, and its entire life indirectly. One option would be to craft a single final proposal, and have the community sign-off on any remaining contentious elements through a final round of polling and/or discussion, but we see other options. The optimal path forward is not any single entity's decision to make, but the collective's decision as a whole.