Notes on reaching agreement about a potential Zcash dev fund

Andrew Miller
6 min readJun 3, 2019

--

Here are a couple of points to help frame the discussion of a potential new dev fund in Zcash. [Forum thread] These are my current thoughts, subject to revision, and they don’t reflect the opinion of the Zcash Foundation. They’re formed after conversations with Josh from Zcash Foundation and Zooko from ECC but of course don’t necessarily reflect their views either.

Point 1. We should view the “dev fund” question as a negotiation between the Zcash community and the potential dev fund recipient(s).

Suppose for now that the Zcash community could reach a clear, coordinated, legitimate community decision on any proposal brought before it. This premise is of course tricky and I’ll get to it shortly. But for now just suppose it works. We would them frame this discussion as a negotiation between the Zcash community and the potential recipient of an additional fund.

It’s essential in any negotiation to understand the BATNA (best alternative to negotiated agreement), the “No Deal” option, the outcome where no agreement is reached.

Option “No deal”. Stick to the original mining and FR schedule. (Miners get 25 coins every 10 minutes after the first halving, no dev fund).

I think the Zcash community should consider this outcome fine. The Zcash community is quite healthy with a range of developers who are actively participating in its maintenance and improvement. The Zcash Foundation has been steadily increasing its participation and has credible development resources (engineering staff, contractors, and community members who’ve received grants). It would be fine to carry on without any future dev fund, and this is good because the Zcash community can negotiate from a strong position.

One of ECC’s responses to the “No Deal” outcome could be to wind down their efforts on Zcash and start working on a new cryptocurrency project that competes with it (or finds a new market altogether). For the sake of conversation, call this ECC-Coin, Zee-2, or something like that. They’ve built up a lot of credibility by delivering on Zcash and shown they can set an ambitious technical roadmap and execute on it, so it’s clearly plausible they’d be successful at getting new VC backing to do this. Furthermore this is a fair move for ECC to make, even by the strong standards of “social contract” and community expectations. Beyond the 4 years of Founder’s Reward, there’s no further incentive for ECC, so there’s no expectation for them to continue working on Zcash alone. Even as a competitor, if ECC puts work into a “Zee-2” cryptocurrency, both could still benefit from their work (see Zooko’s “friendly fork” philosophy). Again, the no-deal option is not too bad for either party.

Option B. Agree on an additional dev fund for Zcash

While Option A is acceptable, there’s a potential positive opportunity to reach agreement on a new dev fund. The potential benefits include:

  • Hiring for a technical roadmap. ECC has a very strong existing track record of making an ambitious technical roadmap and delivering on it. Hiring ECC to work for another two years to carry out another Sapling-quality upgrade could provide a great value to Zcash. This track record is much stronger than that of the Zcash Foundation, whose development activities are just starting. Other development firms, like Parity, could also be used for comparison shopping.
  • ECC has carried several important roles for Zcash like business development, marketing, ensuring Zcash is listed on exchanges, etc., that are clearly beneficial to stakeholders. These particularly seem out of scope for the Zcash Foundation, given their mission and activities. So a new dev fund could be used to fund these activities, either by ECC or some other for-profit entity.
  • Avoids having an ECC-led cybercoin as a competitor.

Again, assuming the Zcash community could carry out this negotiation, it would come down to valuation and price. What would be the price ECC would accept to carry out their next technical roadmap? Would the value to the Zcash community be worth that price? This is one place to focus the ongoing discussion. If we reach agreement on this valuation then the ideal outcome should be clear. One way to proceed would be for ECC, Parity, or any other development team, to make a proposal to the Zcash community about what they’d build and at what price.

Point 2. Why the Zcash trademark plays an important role in this negotiation

One of the ways the negotiation may be carried out is by proxy, between the Zcash Foundation and ECC. The Zcash trademark is currently owned by ECC, but I think in the future it will be held in “joint custody” by ECC and the Zcash Foundation. The trademark can shape how the negotiation plays out in several ways.

First: the trademark is important in that it clarifies the limited authority that either organization has within the Zcash community. The trademark is just a name. Whoever owns the Zcash trademark gets a significant influence in any debate between two proposed forks, since they get to determine which fork gets to remain called “Zcash”. But this influence is limited. Even without the trademark, the Zcash network and community can just continue to operate under a new name. Exchanges can still list it under a different ticker, the same software can be forked, etc., even the port number and 4-byte network identifier can be kept. The name is (literally) just symbolic. Examples like Bitcoin Cash and Ethereum Classic show that forks can successfully coexist even when their rival keeps the original name.

Second: the trademark policy is important for establishing the decentralization of Zcash. Keep in mind that neither ECC nor Zcash Foundation consider themselves administrators or operators of the Zcash network itself. ECC is at arms length as creators and developers of the software while the miners, relay node operators, exchanges, other developers and service providers, etc., all make independent choices of which software to run. However, cryptocurrency governance is an ongoing experiment, and it’s an open question whether a cryptocurrency can make effective decentralized decisions without relying on their founders. Recognizing the Zcash community has independent right to its name is a clearly necessary step. I think the Zcash name and trademark morally belongs to the community already, even if it legally belongs to entities like ECC or Zfnd. Sharing the Zcash trademark is an essential first step towards an effectively community-owned trademark.

Point 3. Establishing a legitimate community consensus is important

When the Zcash Foundation participates in a community decision, it should promote giving the community a voice and establishing a legitimate consensus decision. The Zcash Foundation has already made progress towards this, by using a community governance poll for its most recent board election. There are many other plausible variations by which we could recognize a community consensus decision, such as a miners vote or a coinholders vote, or some combination thereof. It’s an open question how to do this effectively, which is why it’s important first to establish the baselines, like how the ownership of the trademark will be determined and what the stakes of the negotiation are.

I don’t currently have a clear opinion on which kind of community decision making is best, though I think it’s worthwhile that we put more effort into figuring this out. It’s squarely within the Zcash Foundation’s mission to help establish a community voice, so it should contribute to this. Another possibility is for a community consensus to be formed starting from others in the community, and recognized later by the Zcash Foundation. Though a bad mechanism is at risk of being gamed / griefed / taken over, I think any of these community input processes are better than nothing.

To summarize: My view of an ideal outcome is that ECC and Zcash Foundation agree on a process for recognizing Zcash community consensus, and in case of a fork, pledge to license the trademark to describe the community’s chosen fork. This would serve as the basis for a negotiation between the Zcash community and any potential development firm hired by the community through a new dev fund.

--

--

Andrew Miller

Assistant Professor @ UIUC. Distributed systems, cryptography, programming languages. Zcash Foundation board member