1 - Header
ZIP: unassigned.
Title: Full Node/Transactions Directed Dev Fund
Advocate: dontbeevil (dontbeevil on zcash forums)
ZIP Status: Draft
Community Status: Request for comments : @ Dev fund proposal: Full Node/Transactions Directed Dev Fund (was: opt-out mechanism for sharing block rewards by miners for dev fund)
Category: Process
Created: 2019-08-28
License: public domain
Credits to Andrew Miller(@amiller), this proposal is a fork of his dev fund proposal [7]
2 - Terminology
To understand this ZIP it is critical that people understand the right terminology so their requirements can be quickly checked.
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL”
Have special meaning and people should get familiar with it. - RFC 2119: Key words for use in RFCs to Indicate Requirement Levels
For clarity in this zip I define these terms:
- 2nd Halving period - the 4-year period of time, roughly from October 2020 - October 2024, during which at most 5,250,000 ZEC will be minted
- DF% - Dev Fund Percentage, the portion of newly minted ZEC in each block reserved for a dev fund
MR% - Miner Reward Percentage, the portion of newly minted ZEC in each block given to miners
(so that DF% + MR% = 100%).
3 - Out of Scope for this proposal
- This proposal only provides a guideline for the 2nd halving period.
4 - Abstract
During the 2nd halving period, a variable portion (DF% <= 20%) of the newly minted coins in each block are reserved for a Full Node/Transactions Directed Dev Fund (NTDDF). Currently, ECC and Zcash Foundation have shown interest to receive funding from NTDDF.
DF% will be split between ECC and Zcash Foundation in a fixed 3:1 ratio respectively. The fund is “Full Node/Transaction directed” in the sense that the full nodes and/or transactions in each block chooses DF% (0 - 20).
5 - Motivation
Zcash is still in early stages of development, its goal to empower and provide best privacy-preserving digital currency is not fulfilled yet. Hence, the proposal for dev fund to enforce active/non-voluntary development for Zcash.
This dev fund is user activated unlike other proposals [7]. This is simpler than community-involved governance which adds more complexity and unnecessary process to keep a check on Zcash Foundation and ECC [8].
What does 3:1 dev fund split mean:
The maximum amount that the Zcash Foundation would receive under this proposal is 5% of block rewards, and the maximum amount that ECC would receive is 15% of block rewards. 3:1 ratio is based on following factors:
- ECC, Zcash Foundation estimated yearly spend [1][2][3] from 2020/2021.
- Size of efforts/goals to help Zcash.
6 - Requirements:
7 - Specification
Accountability for dev fund receiving entities: Zcash Foundation and ECC
(Extracted from Zcash Foundation’s accountability requirements [1])
- Monthly public developer calls, detailing current technical roadmap and updates
- Quarterly tech roadmap reports and updates
- Quarterly financial reports, detailing spending levels/burn rate and cash/ZEC on hand
- A yearly, audited financial report akin to the Form 990 for US-based nonprofits
- Yearly reviews of organization performance, along the lines of our “State of the Zcash Foundation” report
Core Features that one of dev fund receiving entities: Zcash Foundation/ECC needs to make available for Zcash users.
- Work towards 100% t2z + z2z transactions => ~0% deshielding and transparent transactions.
- Deploy Multi-sig for z-address.
- Support z-address for at-least one hardware wallet (ex: Ledger, Trezor).
- Tech support for Layer-2 scalability BOLT and help private channels become a reality [5].
- Research and Deploy Bonsai (aka Succinct Blockchain) on Mainnet [6].
Social contract
ECC and Zcash Foundation need to help each other with development, regulatory, business efforts and also with funds when they run out during second halving period (when necessary).
(optional) ECC to explore turning it into non-profit or setting up new non-profit (if necessary)
Implementation Details
- Enable full nodes signaling via software flag
AND/OR - Enable wallet-based signaling via shielding/private transactions with the help of new transparent Memo field.
- This proposal is explicitly limited in scope to the 2nd halving period which means NTDDF would end in 2024.
- DF% will be split between ECC and Zcash Foundation in a fixed 3:1 ratio respectively.
- Setting maximum that DF% can be as 20% of block rewards.
Issues & Further Discussion
Raised objections and issues so far:
- This proposal is modifying original social contract: total of 90% of all minted coins would have originally been awarded to miners. Under this proposal, less reward could be available to miners, than would be according to the original minting schedule as implemented in Zcashd prior to NU5.
Additional Information and References
[1] Zcash Foundation Guidance on Dev Fund Proposals - zcash foundation
[2] The State of the Zcash Foundation in 2019 - zcash foundation (Read finances)
[3] Electric Coin Company Statement on Sustainability - Electric Coin Company
[4] How to hire ECC - #43 by dontbeevil
[5] BOLT Support feature requirements · Issue #2353 · zcash/zcash · GitHub
[6] Bonsai: private payments on a succinct (or partially succinct) blockchain · Issue #3818 · zcash/zcash · GitHub
[7] [ZIP 1004] Dev fund proposal: Miner Directed Dev Fund (was: 20% to any combination of ECC, Zfnd, Parity, or "burn")
[8] Dev Fund Proposal: 20% to a 2-of-3 multisig with community-involved governance
Selected snippets from Zcash foundation and ECC blog posts linked above:
ZFND: Here are the acceptable options, in order of the Foundation’s preference:
- Transition from the current Founder’s Reward to a compulsory Zcash dev fund. For-profit entities would not be eligible recipients of the dev fund. Funds would be disbursed equally across recipient nonprofits, all required to adhere to transparency and accountability requirements.
- Transition from the Founder’s Reward to an opt-in Zcash dev fund, where miners choose to distribute the funds to recipient organizations, or burn the funds forever.
- Allow the Founder’s Reward to sunset at its current expiry period, without extension or creation of any new model.
ZFND: At a price of $50 USD per ZEC, we have roughly $16 million in assets, which translates to a five-year runway if we meet the 2019 expected budget. Obviously swings in ZEC price could materially change this calculation.
ZFND: We expect to spend roughly $3.7mm a year, with the largest cost being $2mm for wages. With our current spending for 2019, and our assets as they are today, the Zcash Foundation could operate at this level until 2023.
ZFND: If a dev fund granted 10% of the next block reward period to the Foundation, we’d receive 625,000 ZEC over four years, or 156,250 ZEC per year. At $50 per ZEC, that would be equivalent to $7.8mm per year (the price of ZEC is volatile, but we think $50 is a reasonable baseline).
ZFND: If our budget was $6.7mm a year, we would likely spend more resources on events beyond Zcon, engage in broader education work, hoping to build a long-tail of protocol contributors outside the Electric Coin Company/Foundation, and do even more advocacy work for Zcash and privacy in general (where not limited by our nonprofit status).
ECC: Based on our current reserves and 8% allocation, the company has approximately 24 months of runway, or about 8 months beyond the end of funding
ECC: As we’re “All in on ZEC,” the company is not pursuing other funding mechanisms at this time. If the company’s reserves — including USD, ZEC and anticipated receipt of ZEC — dip below what is needed to sustain the company for 12 months at a $1.1M per month run rate
Zcash Foundation Financial Summary:
By the time of next upgrade (Oct 2020), Zcash Foundation would have approximately $9M after it spends $3.7M this year and 3.4M next year until Oct. It can still support Zcash until 2023 March (assuming ZEC price is 50) without devfund. If Zcash Foundation wants to use $9M for future operations beyond 2024, then it would need at least $3.7M * 4 years ~ $15M for dev fund. That is equivalent to ~ 5% of block rewards (300k ZEC).
ECC Financial Summary:
By the time of next upgrade (Oct 2020), ECC would have approximately $9M ($1.1M * 8 months of runway left). For ECC to accept community’s bid - it would need $44M ($1.1M * 40 months) to operate for next 4 years. That is equivalent to 880,000 ZEC over 4 years at $50 ZEC which translates to 14% of block rewards (6.25M).
GRAVEYARD AKA ORIGINAL DEV FUND PROPOSAL: opt-out mechanism for sharing block rewards by miners for dev fund
You may find this proposal interesting: [ZIP 1004] Dev fund proposal: Miner Directed Dev Fund (was: 20% to any combination of ECC, Zfnd, Parity, or "burn")
(Obvious) Problem: Block reward distribution to ECC, Zcash Foundation and others ends sometime in 2020.
Solution: Instead of simply extending the current mechanism of block reward distribution (only 80% going to miners)- this time enabling miners to (partial or full) opt-out of sharing their block rewards for dev fund. So, protocol can be changed to allow miners to signal sharing of their block rewards from MIN to MAX percentage.
MIN could be as low as 0%
MAX could be as high as 20%
Edit #1: Why introduce MIN and MAX: As price of zcash fluctuates, it helps miners adjust amount of block rewards towards dev fund for continued development and improvement of zcash protocol.
Example:
If zcash price goes down 2x (during bear cycle), then miners have the power to increase block reward share to MAX, for continued development.
Similarly, if price of zcash goes up 2x (bull market), they can reduce the reward percentage without affecting USD value.
Both MAX and MIN can be configured to decrease every 4 years at block reward halving event.
Reasoning: In the long run, Zcash protocol development becomes more decentralized and will not just rely on contributions from Zcash Foundation and ECC.
Assumption: Avg. value of Zcash protocol increases with continued development, in the long run.