Network Upgrade 4: The Final Stretch of Decisions

Note that Placeholder holds ZEC, but has no vested interest in any of the companies or foundations mentioned below. Cross-posted to placeholder.vc and written in conjunction with @mlphresearch.

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 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 suggest 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):

Proposal % to ECC % to ZF % to 3rd Parties Major Differentiations
A Grand Compromise by Josh Cincinnati 30% 30% 40% Does not introduce $ caps on annual allocations, except on ZF’s overall endowment (any amount over $100mm would be earmarked for 3rd party grants). Creates a legal trust for disbursing the dev fund based on transparency requirements such as tech roadmaps and financial reports. Creates a 5-person Grant Review Committee within ZF (separate from ZF board) to decide how the 40% for 3rd parties gets allocated. That committee’s membership would be: 1 ECC, 1 ZF, 2 appointed by staked ZEC vote, 1 technical member appointed by the other 4 members. Third party applications for the 40% are reviewed by the Grant Review Committee on a weekly basis, with ZF administering their decisions.
Decentralizing the Dev Fee by Matt Luongo 35% 25% 40% ZF’s 25% capped at $500k/month with any extra going to 3rd party grants. ECC’s 35% can be claimed by another team focusing exclusively on Zcash, should ECC pivot. The 40% for 3rd parties is divided between at least two outside teams, decided by a reformed ZF board semi-annually. ZF board membership: 1 voted in periodically by ZEC holders, 4 by existing board members (1 from the investment community, 1 from the technical/research community). Introduces bi-weekly dev calls involving all fund recipients.
Dev Fund to ECC + Zfnd + Major Grants by Eran Tromer 35% 25% 40% All allocations capped at $700k/month with any extra kept for a “volatility reserve.” ECC can apply for part of the 3rd party funds if there are no other viable candidates. ZF’s 25% includes funds for minor grants which may be awarded as profit-sharing contracts. The final 40% is meant for major grants, decided semi-annually by a reformed ZF board with advisory input and the option to establish an independent grants body later down the road. ZF board membership is determined by existing bylaws with an incentive to introduce decentralized community voting by the end of 2021. Introduces quarterly roadmaps and financial reporting for ECC, ZF, and all other dev fund recipients.

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 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.

Tagging those mentioned in this post, please tag others if you see fit: @acityinohio @mhluongo @tromer @zooko @avichal @ariannasimpson @JamesTodaroMD (and let us know if we should post elsewhere on the forum!)

14 Likes

@cburniske, thank you for this thorough and insightful analysis! I completely agree with your view of the big picture, and especially appreciate your attention to the nuances of the proposals and their foreseeable dynamics.

(You may want to update your ZIP links to the authoritative versions that were merged into the ZIPSs Git repo with some fixes (thanks @daira!), and are nicely rendered at https://zips.z.cash/ .)

Regarding your recommendations for changes in my proposal:

As discussed elsewhere, I do not object in principle to having an independent Grant Review Committee; I’m just apprehensive about decentralized means to appoint it. If a satisfactory formula is found, I’ll be happy to support it.

Regarding this comment:

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.

This is meant to be addressed by the following part of my proposal:
The Funding Target may be changed only by unanimous agreement of ZF, ECC and the majority vote of a voting mechanism weighted by ZEC coin holding.
Beside providing a way to “unfreeze” the reserve if the situation merits, this also forms an incentivize for ECC and Zfnd to develop the requisite a voting mechanism, which can then be also used for the “Future Community Governance” mandate.

4 Likes

Two options that come to mind: (1) open application + a binding vote by the Advisory Panel (membership can be increased to include more people with proven interest and track record in Zcash); (2) open application + a replay of the community sentiment collection process (non-binding polls) + a final decision by ECC, ZF, Advisory Panel, or any combination of the three.

2 Likes

Composing the Major Grants award committee by a sentiment collection process, followed by final decision by the ZFnd board, sounds reasonable to me.

In fact it’s the same way the Zfnd board itself is populated… With one big difference: the committee members, once appointed, will be beholden only to Truth, Fairness and the Pursuit of Financial Privacy.

Making the sentiment collection process non-binding reduces the incentive to manipulate it, and in particular, makes it ineffective to manipulate it towards an egregious outcome that would be vetoed anyway.

My one lingering concern is that the extra complexity doesn’t seem necessary: the current Board has already taken pains to make its Grant Review Committee independent, in its composition and process, and subject only to final approval by the Zfnd board, which thus far was always granted (see the 2017Q4 and 2018Q2 grant rounds). But if it inspires confidence to make this more explicit, then hey let’s go for it.

4 Likes

But this process did not include anyone outside of the ZF Board. Given how contentious the issue of creating and governing a dev fund is, I think it may be worth encouraging and enabling broader input, especially now that there’s a precedent for it. People can’t be forced to participate, especially if the processes for doing so are new, but I wouldn’t call it unnecessary. At least the decision would have some popular legitimacy, assuming that “public opinion” has some effect on it.

6 Likes

Grant review is a lot of work. Would the people on that committee be compensated for their time?

2 Likes

In my personal opinion - yes. Ideally, application should be standardized enough to make general assessment quick and easy + ad hoc / more dedicated work based on the expertise of different committee members. In other words, an ideal grants review committee would consist of people with complementary backgrounds. Perhaps the people at ZF can share their experience with grants thus far. If a new independent group is formed, this would be an opportunity to improve the process and ensure that both potential members and applicants know what to expect.

4 Likes