Hello community, I wrote an article post-protocol hangout which speaks to some of the Results-Based Financing suggestions (and other items I mentioned on the call) + provides an amendment (of sorts) to one of the Zip proposals.
There’s a lot here on mechanisms for external developers to enter into the ZEC ecosystem, I would appreciate it if this group would pay special attention to my article and provide feedback.
Thanks to the Zcash community for the liking and retweeting my post, making me accountable to writing this.
Thanks to LeeRoy, Peter, Duncan, Mathu, Zooko, Yizhao, and Troy for reading, listening, and helping me sort through my thoughts.
For the sake of brevity, the scope of this article will not include a background on the Founders’ Reward/Dev Fund, but if you’re looking for that, see here.
The gist of it is: “Zcash development is funded through a “founder’s reward.” For the first 4 years of the blockchain, 20% of the Zcash block reward will go to early investors, advisors, employees, etc, resulting in 10% of all Zcash ever.” By October 2020, this founder’s reward was scheduled to end, with 100% of block rewards going to miners.
You may notice that I use the term Zcash “community” and Zcash “network” somewhat interchangeably throughout the article. Generally, ‘network’ refers to ZEC holders and “community” represents a larger group who may not necessarily hold ZEC but still participate in Zcash-related discussions.
Hello, nice to meet you. The purpose of this intro is to share the context from which I’m pulling a lot of these opinions.
I work for the largest INGO in Canada, specifically on their impact investing team. Our mission is to leverage investment capital to tackle the complex problems that perpetuate inequality for the world’s most vulnerable people.
There are some things that I want to point out, and hopefully you’ll see some correlation between the situation in which we find the Zcash Foundation and the Electric Coin Company.
- I’m working within non-profit organization and my mandate is to attract for-profit capital to drive tangible impact.
- Although I’m part of a huge INGO, my team is essentially a start-up operating within a highly antiquated industry, waiting for disruption.
- Impact Investing is new. Being generous, about 12 years old.
- My team has to not only report on financial returns, but dually, impact metrics which are scrutinized by our board of directors, investors, and donors.
Why I love Zcash? And I really do love Zcash…
My mission is to build enabling entrepreneurial environments hand-in-hand with catalyzers - the marginalized, the discriminated, the silenced - so that issues and their local solution-drivers can achieve the power to effect catalytic change.
I believe in the fundamental right to privacy. I believe in the fundamental right of an individual to participate in both local and global economies. I believe in the fundamental right of choice- Private, Public, Centralized, Decentralized- and the ability for law-abiding, sovereign individuals to circumvent the ever-more-real surveillance state. I think Zcash is a key that can unlock a different kind of world- one that has diversity, one that has choice, one that is accessible, and one that offers controlled transparency. I want to see that world, I want to live in that world, I want to be a part of making that world our world.
Let’s get to it.
BASELINE — The Electric Coin Company is a Startup
It’s relevant to begin with some definitions and establish a baseline, setting a precedent for the opinions made within this article.
For starters, I define the Electric Coin Company as a startup. There are many ways to slice and dice that definition, but I would argue that this one is industry-standard: Startup: a human institution designed to create new products and services under conditions of extreme uncertainty. (The Lean Startup, Eric Ries, 2011)
Here’s what startups need for both short and long-term success:
- Auditable and measurable metrics for defining success, learnings, and pivots
- A governance system for accountability
- A scarce but secure source of operating capital
- A personal stake in the outcome — stock options, or other forms of equity ownership
- Flexibility and freedom to pivot on short iteration cycles
- Finally, and most importantly, retention of talent and reasonable avoidance of high turnover in both the core team and its governance
Maybe you noticed, but each point above has a waterfall effect:
A startup needs auditable metrics to justify continued access to stable capital -> in order to have flexibility and freedom to pivot, capital must be unrestricted to account for a startup’s “uncertainty-factor” -> in order to hold a team accountable, ensure fairness, and audit progress, high turnover in governance and the core team should be avoided- in most cases.
Electric Coin Co. is a startup. Dev Fund/Strategic Reserve is their capital security. Zcash Foundation and the broader Zcash network is their governance system for accountability. This is our baseline.
The arguments that follow are solely based on the premise of my own opinion: I am not yet interested in sustaining innovation; I’m interested in disruptive innovation.
Creating incremental improvements to existing products and serving existing customers is called sustaining innovation, but struggle to create breakthrough new products, this is called disruptive innovation- that can create new sustainable sources of growth. (The Lean Startup, Eric Ries, 2011)
I am firmly against the immediate reduction of the Developers Fund for the sake decentralization. I believe that there is a roadmap to decentralization, but that the community has some work to do in terms of defining and achieving consensus on strategy, auditable metrics, and governance processes.
The case outlined below attempts to balance both value propositions of ground-breaking protocol development and on-boarding of new developers to work on the blockchain- whilst moving towards increased decentralization based on pre-defined metrics and milestones.
Zertilizer, Developers’ Endowment Fund and Results-Based Financing Equity Mechanism for Financial Decentralization
From the Dev Fund proposal review conversation hosted by the Zcash Foundation and published on September 20, 2019, I’ve distilled some of the pain points discussed from the user-perspectives of:
The conversation can be found here - https://www.youtube.com/watch?v=LvWpV6-t4HY
Keep in mind that this is not reflective of a full user-centric analysis, which would require several more in-depth interviews, further distillation of data points, and time. This is also a representation of information gathered, with an attempt to limit my own bias as much as possible.
- There is a high barrier to entry for working on ZEC projects.
- There is a lack of immediate funding to compensate for time/resource investment to learn the ZEC codebase.
- There is a lack of opportunity/ competition to ECC for longer-term, sustainable funding opportunities for developer work.
- A pivot on the part of ECC could result in a de-valuation of ZEC and loss of ZEC’s leadership position in the crypto-space.
- The ECC should not fundraise nor accept money from parties which may influence development.
- A pivot away from ZEC by the ECC may result in the transfer of talent to other crypto projects.
- ECC, like any startup, requires a stable source of capital in order to continue working on Zcash.
- ECC is not required to work on Zcash and can decide to pivot to something else that makes sense for their business.
- ECC loves Zcash and wants to continue to improve it, circumstance allowing.
- It’s a huge upfront investment to start a mining operation.
- Margins are extremely low.
- The Dev Fund/Strategic Reserve can be viewed as tax on miners’ rewards.
The objective of this proposal is to provide a structure by which external developers can earn income and work on Zcash, whilst providing stable capital for ECC during a period of transition leading to financial decentralization through merit-based equity awards.
Zertilizer Capital (Skill Building, Entry-Level Funding)
A pain point for developers is the up-front cost for working on ZEC. As such, Zertilizer is meant to award developers up-front for the investment made into learning the ZEC code-base and applying for a Zcash Developers’ Endowment Fund grant (more on this in the next section). Zertilizer funding will be a set % of the Developers’ Endowment Fund.
Zertilizer represents a community-agreed-upon amount that will be disbursed via a voting mechanism, preferably through a smart contract, by which x-amount of ZEC is used to cast votes. The online vote will expire after 24h post-communication, thus ensuring a quick and timely response for applicants. The Zcash network (meaning all ZEC-holders, inclusive of Electric Coin Company and Zcash Foundation employees) will be the sole decision-making-body for awarding Zertilizer through majority vote rule.
Alternatively, if it is determined that network participation is insufficient to ensure a fair and statistically significant voting body, it can be decided that a ‘voting committee’ should be appointed by the Zcash network for the purpose of managing Zertilizer funding.
To apply for Zertilizer developers (individuals or teams) must submit a 3-minute (max) voice memo describing:
- The team or the individual
- The intended development
- The value-proposition of the development
- The alignment of the project with the ZEC strategic roadmap (see #3 in the Recommendations Section)
Voting Rules to Consider:
- Should there be a blended approach which includes a Bounty system?
- How much money should be awarded per project?
- Should developers be able to submit multiple proposals per day, or should there be a waiting period before resubmission?
- Should each development proposal each have their own 3-minute voice memo, even if it’s authored by the same developer/team? (I’m leaning towards having only 1 suggested project per proposal so that the community can reject one project and approve another project submitted by the same team).
- Should teams be allowed to re-submit a rejected proposal for a re-vote? (Yes but…) If so, should there be a stipulation of significant change or time-in-between? (there should definitely be some rule around change, inclusion of community feedback, or time-in-between submission of similar proposals).
- Should there be a ‘staking’ mechanism whereby members have the option to stake more ZEC in order to have greater influence on the voting decision? How much ZEC should be required to vote? (something akin to Dash’s masternodes - https://medium.com/@staked/dash-staking-guide-e8d671d0ce03)
Any vote is subject to nullification if:
1 If there is a statistically insignificant number of voters participating in any vote.
2 If there is any tampering or hacking of the voting mechanism.
3 If there is detection of malpractice- like the use of bots, multiple team-members submitting many proposals under different team names, use of funds for other projects, etc.
Ideally the voting mechanism is simple and easy to use, preferably through a smart contract. There should be a way to ensure that there’s no double-voting, or use of bots, hence the smart contract suggestion. There should be a way to comment/give feedback to developers. Ideally, there should be an opt-in notification mechanism that alerts network members when a Zertilizer vote is live (and ideally) another notification when one is expiring. Ideally, notifications would be pushed through the much-anticipated ZEC Wallet.
Zcash Developer’s Endowment Fund (Seed Funding)
The Zcash Foundation will have a fund called the Zcash Developers’ Endowment Fund. This fund will be initially financed through a crowd-funding campaign and will then invest a % of capital-raised into traditional market assets which will generate a pre-defined return. This will allow the Fund to exist in perpetuity without necessitating crowdfunding beyond the initial financing campaign.
The portfolio will be managed by an experienced fund manager with investment expertise. This fund manager will be employed by the Zcash Foundation, and will be mandated to draft the fund’s investment criteria and manage investments on behalf of the Zcash Foundation. The criteria for investment should be voted on and approved by the Zcash network (meaning all ZEC-holders, inclusive of Electric Coin Company and Zcash Foundation employees).
The remaining capital held within the Zcash Developers’ Endowment Fund will be leveraged to provide up-front capital (Zertilizer) and project-based grants (seed funding) to external developers. The approval process will be handled by the Zcash Foundation (see Recommendation #5 below).
Decision of fundraising goals and % distribution is subject to network vote and consensus. Fundraising goals should be based on financial metrics which account for cost of OpEx, fund manager(s), legal fees, avg. Zertilizer grant size, and avg. project grant size.
Equity Funding (Long-term Funding)
To incentivize and provide an entry-point for external developers to work on the protocol over a longer-term than a seed grant can provide, a % (equity) of the original Dev Fund/Strategic Reserve (not the new Zcash Developers’ Endowment Fund) should be awarded to developer(s) whose work achieves certain key milestones. These milestones need to be linked to the value that the developer creates, through auditable and community agreed-upon metrics.
In addition, where a developer earns a % of the original Dev Fund/Strategic Reserve, a set % of the developer’s reward is returned back to the Zcash Foundation. These funds are to be used by the Zcash Foundation to “top up” the Developers’ Endowment Fund, thus allowing the Zcash Foundation to continue to award Zertilizer and seed grants to external developers.
Through this top-up mechanism, the % of Miners Rewards afforded to the Electric Coin Company and its employees will transfer over to independent developers over-time as projects and the capacity of developers become of enough quality to meet the metrics and milestones required to apply for equity funding, thus achieving a step towards financial decentralization.
In order to ensure that a minimum threshold of funding is awarded to external developers, only once a pre-determined % of equity disbursement is awarded to external developers will the ECC have permission to apply for funding from the Developers’ Endowment Fund.
There is no stipulation of a minimum % disbursement per time period. In other words, it is perfectly possible that upon review of projects, 0 projects are awarded equity funding.
- Crowding out — not enough developers at the required skill-level to meaningfully contribute to ZEC technology. (addressed by the structure of the Equity Disbursement- see above)
- Barriers to Entry & Bureaucracy — Developers need to be compensated for the up-front cost of learning the code base and bidding for grants (addressed by Zertilizer capital- see above)
- Stewardship — without proper stewardship of the Equity Fund, the fund can be rendered useless. (addressed by Recommendations #3, #4, #6- see below)
Recommended, especially if there is concern that existing developer talent is not mature enough to develop on the Zcash Blockchain, that a meaningful percentage of the Developers’ Endowment Fund is attributed to Zertilizer capital for the first 1–2 years of the Fund’s lifespan.
Recommended that a ZEC t-shirt be awarded as a crowdfunding incentive of a minimum $5 donation (+ shipping). It is also recommended that all profit from the sale of t-shirts be directed to the Developers’ Endowment Fund. It’s also cheap word-of-mouth marketing for ZEC.
Strongly recommended that the Electric Coin Company issue a memo per external developer project proposal for equity funding with a go/no-go decision.
Recommended that the Zcash Foundation choose to withhold the disbursement of Equity funding prior to the development of an on-chain voting mechanism whereby the Zcash network may have a vote in the selection of project proposals for equity funding.
Strongly recommended that the Zcash Foundation, the Electric Coin Company, and the Zcash network develop and achieve consensus on a strategic roadmap for ZEC, inclusive of both on-chain developments, protocol upgrades, decentralized governance proposals, and regulatory collaboration, by which the decision-making on go/no-go for equity funding are based upon.
Strongly Recommended that it be decided that the Zcash Foundation must create a Due Diligence and Investment Criteria Framework prior to the disbursement of any equity funding and that this framework be shared publicly and achieve community consensus.
Recommended that the Electric Coin Company offer support, guidance, and expertise on the development of this Due Diligence and Investment Criteria framework.
Recommended that, eventually, a mechanism is built-in to the protocol which prescribes, similar to an income tax, a fluctuating tax rate for miners which is dependent on the amount of active miners, nodes being run, coins generated, etc.
The Zcash , Zcash Foundation, and ECC must work together to develop and achieve consensus on auditable metrics that:
- Show quantitative value to the ZEC economy
- Track against the strategic roadmap
- Can be measured and audited by anyone
- Allows for flexibility in terms of failures, pivots, and adjustments
The Zcash Foundation will contract or hire an individual(s) with the proper pre-requisites (background in blockchain, data, analytics, and design) who will solely be responsible for working with the Zcash Foundation, Electric Coin Company, and external developers to:
- working with the community to define and communicate auditable metrics with product developers (i.e. ECC and external developers)
- communicate with the Zcash community and host live votes
- consolidate and publish voting results, feedback, and suggestions at a defined time interval
- host Quarterly hangouts for discussions
The independent authority who will be responsible for ensuring the legitimacy and validity of reporting will be the Zcash community.
 It can be voted upon whether or not said contractor(s) or employee(s)’ salary(ies) may be taken from the Zcash Foundation Developer fund proposed above.
The Three A’s of Metrics: Actionable, Accessible, Auditable
Actionable — it must demonstrate clear cause and effect, otherwise it’s a vanity metric.
Accessible — make the report as simple as possible so that everyone can read them. The easiest way to do this is to use tangible, concrete units. What is a website hit? Nobody is really sure, but everyone knows what a person visiting a website is.
Auditable — We must ensure that data is credible to employees. Those building reports must make sure that the mechanisms that generate the reports are not too complex. Whenever possible, reports should be drawn directly from the master data, which should be public, which reduces opportunities for error.
Three questions to gut-check metrics:
- Are you making your product better?
- How do you know?
- How do you know that the changes made are related to the results we’re seeing?
(Source: The Lean Startup, Eric Ries)
Before we remove funding from anyone, we need to make sure that we have auditable metrics and a strategic road map to base our decisions upon. I want to see decentralization too, but I need to know how we get there and what are our measurements of success.
If we want to make sure that 4-years from now there is no Dev-fund, we need to build that into governance, technology, and metrics. In other words:
- Premature action will likely cause more harm than good.
- Inaction will likely result in little progress and status-quo.
- Intentional action will result in the desired outcome.
A decentralized economy and its governance won’t be built in a year, two years, or even five years- Enigma was invented in 1923, the first personal computer (KENBAK-1) was introduced in 1971, by 1984 we saw the Macintosh, and 2007 marked the first ever iPhone- in other words, groundbreaking innovation takes dedication and time.
One last thing, a disclosure of sorts, held within this article may be ideas, suggestions, and infrastructure which may have already been communicated or enacted within the Zcash ecosystem. If there is a fundamental misunderstanding held within these ideas or if there’s an already-existing system I have not taken into account, or if you’ve written something similar that you think I should review, please do not hesitate to let me know and send me links — I will read, listen, and watch everything you take the time to communicate to me.
Thanks to @mistfpga for getting this into a proper format to facilitate discussion. I really appreciate it.