zips/zip-1014.html

205 lines
27 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<title>ZIP 1014: Dev Fund to ECC + ZF + Major Grants</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="css/style.css"></head>
<body>
<section>
<pre>ZIP: 1014
Title: Dev Fund to ECC + ZF + Major Grants
Owner: Josh Cincinnati &lt;josh@zfnd.org&gt;
Original-Author: Eran Tromer
Credits: Matt Luongo
Howard Loo
@aristarchus
@dontbeevil
Daira Hopwood
George Tankersley
Status: Draft
Category: Consensus / Process
Created: 2019-11-10
License: MIT
Discussions-To: &lt;https://forum.zcashcommunity.com/t/community-sentiment-polling-results-nu4-and-draft-zip-1014/35560&gt;</pre>
<section id="terminology"><h2><span class="section-heading">Terminology</span><span class="section-anchor"> <a href="#terminology"><img width="24" height="24" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<p>The key words "MUST", "MUST NOT", "SHALL", "SHALL NOT", "SHOULD", and "MAY" in this document are to be interpreted as described in RFC 2119. <a href="#rfc2119" id="id1" class="footnote_reference">1</a></p>
</section>
<section id="abstract"><h2><span class="section-heading">Abstract</span><span class="section-anchor"> <a href="#abstract"><img width="24" height="24" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<p>This proposal describes a structure for the Zcash Development Fund, to be enacted in Network Upgrade 4 and last for 4 years. This Dev Fund would consist of 20% of the block rewards, split into 3 slices:</p>
<ul>
<li>35% for the Electric Coin Company;</li>
<li>25% for Zcash Foundation (for internal work and grants);</li>
<li>40% for additional "Major Grants" for large-scale long-term projects (decided by the Zcash Foundation, with extra community input and scrutiny).</li>
</ul>
<p>Funding is capped at USD 700,000/month per slice. Governance and accountability are based on existing entities and legal mechanisms, and increasingly decentralized governance is encouraged.</p>
</section>
<section id="motivation"><h2><span class="section-heading">Motivation</span><span class="section-anchor"> <a href="#motivation"><img width="24" height="24" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<p>Starting at Zcash's first halving in October 2020, by default 100% of the block rewards will be allocated to miners, and no further funds will be automatically allocated to research, development, and outreach. Consequently, no substantial new funding may be available to existing teams dedicated to Zcash: the Electric Coin Company (ECC), the Zcash Foundation (ZF), and the many entities funded by the ZF grant program.</p>
<p>There is a need to strike a balance between incentivizing the security of the consensus protocol (i.e., mining) versus other crucial aspects of the Zcash security and functionality, such as development and outreach.</p>
<p>Furthermore, there is a need to balance the sustenance of ongoing work by the current teams dedicated to Zcash, with encouraging decentralization and growth of independent development teams.</p>
</section>
<section id="requirements"><h2><span class="section-heading">Requirements</span><span class="section-anchor"> <a href="#requirements"><img width="24" height="24" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<p>The Dev Fund should encourage decentralization of the work and funding, by supporting new teams dedicated to Zcash.</p>
<p>The Dev Fund should maintain the existing teams and capabilities in the Zcash ecosystem, unless and until concrete opportunities arise to create even greater value for the Zcash ecosystem.</p>
<p>There should not be any single entity which is a single point of failure, i.e., whose capture or failure will effectively prevent effective use of the funds.</p>
<p>Major funding decisions should be based, to the extent feasible, on inputs from domain experts and pertinent stakeholders.</p>
<p>The Dev Fund mechanism should not modify the monetary emission curve (and in particular, should not irrevocably burn coins).</p>
<p>In case the value of ZEC jumps, the Dev Fund recipients should not be allowed to wastefully use excessive amounts of funds. Conversely, given market volatility and eventual halvings, it is desirable to create rainy-day reserves.</p>
<p>The Dev Fund mechanism should not reduce users' financial privacy or security. In particular, it should not cause them to expose their coin holdings, nor cause them to maintain access to secret keys for much longer than they would otherwise. (This rules out some forms of voting, and of disbursing coins to past/future miners.)</p>
<p>The new Dev Fund system should be simple to understand and realistic to implement. In particular, it should not assume the creation of new mechanisms (e.g., election systems) or entities (for governance or development) for its execution; but it should strive to support and use these once they are built.</p>
<p>Comply with legal, regulatory, and taxation constraints in pertinent jurisdictions.</p>
</section>
<section id="non-requirements"><h2><span class="section-heading">Non-requirements</span><span class="section-anchor"> <a href="#non-requirements"><img width="24" height="24" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<p>General on-chain governance is outside the scope of this proposal.</p>
<p>Rigorous voting mechanisms (whether coin-weighted, holding-time-weighted or one-person-one-vote) are outside the scope of this proposal, though there is prescribed room for integrating them once available.</p>
</section>
<section id="specification"><h2><span class="section-heading">Specification</span><span class="section-anchor"> <a href="#specification"><img width="24" height="24" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<section id="dev-fund-allocation"><h3><span class="section-heading">Dev Fund allocation</span><span class="section-anchor"> <a href="#dev-fund-allocation"><img width="24" height="24" src="assets/images/section-anchor.png" alt=""></a></span></h3>
<p>Starting at the first Zcash halving in 2020, until the second halving in 2024, 20% of the block rewards SHALL be allocated to a "Dev Fund" that consists of the following three slices:</p>
<ul>
<li>35% for the Electric Coin Company (denoted <strong>ECC slice</strong>);</li>
<li>25% for the Zcash Foundation, for general use (denoted <strong>ZF-GU slice</strong>);</li>
<li>40% for additional "Major Grants" for large-scale long-term projects (denoted <strong>ZF-MG slice</strong>).</li>
</ul>
<p>The slices are described in more detail below. The fund flow will be implemented at the consensus-rule layer, by sending the corresponding ZEC to the designated address(es) for each block. This Dev Fund will end at the second halving (unless extended/modified by a future ZIP).</p>
<section id="ecc-slice-electric-coin-company"><h4><span class="section-heading">ECC slice (Electric Coin Company)</span><span class="section-anchor"> <a href="#ecc-slice-electric-coin-company"><img width="24" height="24" src="assets/images/section-anchor.png" alt=""></a></span></h4>
<p>This slice of the Dev Fund will flow to ECC.</p>
<p>ECC MUST undertake a firm obligation to use the Dev Fund only in support of the Zcash cryptocurrency and its community.</p>
<p>In particular, ECC MUST commit to not distribute the Dev Fund proceeds to its partners ("shareholders"), other than:</p>
<ol type="1">
<li>In fair-market-value compensation for specific new work (e.g., to employees and contractors).</li>
<li>For covering pass-through tax obligations to partners caused by ECC's receipt of the Dev Fund.</li>
</ol>
<p>(ECC is encouraged to transition to a corporate structure that would avoid the latter taxes.)</p>
<p>This obligation MUST be made irrevocable, e.g., within ECC's corporate governance structure (i.e., its Operating Agreement) or contractual obligations.</p>
</section>
<section id="zf-gu-slice-zcash-foundation-for-general-use"><h4><span class="section-heading">ZF-GU slice (Zcash Foundation, for general use)</span><span class="section-anchor"> <a href="#zf-gu-slice-zcash-foundation-for-general-use"><img width="24" height="24" src="assets/images/section-anchor.png" alt=""></a></span></h4>
<p>This slice of the Dev Fund will flow to ZF, to be used at its discretion for any purpose within its mandate to support Zcash and financial privacy, including: development, education, support community communication online and via events, gathering community sentiment, and external awarding grants for all of the above.</p>
</section>
<section id="zf-mg-slice-zcash-foundation-for-major-grants"><h4><span class="section-heading">ZF-MG slice (Zcash Foundation, for major grants)</span><span class="section-anchor"> <a href="#zf-mg-slice-zcash-foundation-for-major-grants"><img width="24" height="24" src="assets/images/section-anchor.png" alt=""></a></span></h4>
<p>This slice of the Dev Fund is intended to fund independent teams entering the Zcash ecosystem, to perform major ongoing development (or other work) for the public good of the Zcash ecosystem, to the extent that such teams are available and effective.</p>
<p>The funds SHALL be received and administered by ZF. ZF MUST disburse them as "Major Grants", within the framework of ZF's grant program but subject to the following additional constraints:</p>
<ol type="1">
<li>These funds MUST only be used to issue Major Grants to external parties that are independent of ZF. They MUST NOT be used by ZF for its internal operations and direct expenses.</li>
<li>Major Grants SHOULD support well-specified work proposed by the grantee, at reasonable market-rate costs. They can be of any duration or ongoing without a duration limit. Grants of indefinite duration SHOULD have semiannual review points for continuation of funding.</li>
<li>Major Grants may be issued to ECC only if there are no other proposals to perform the specified work with similar capabilities, effectiveness and cost. (The intent is that eventually ECC will not receive Major Grants.)</li>
<li>Priority SHOULD be given to Major Grants that bolster teams with substantial (current or prospective) continual existence, and set them up for long-term success, subject to the usual grant award considerations (impact, ability, risks, team, cost-effectiveness, etc.). Priority SHOULD be given to Major Grants that support ecosystem growth through mentorship, coaching, technical resources, creating entrepreneurial opportunities, etc. If one proposal substantially duplicates another's plans, priority SHOULD be given to the originator of the plans.</li>
<li>Major Grants SHOULD be awarded based on ZF's <a href="https://www.zfnd.org/about/#mission">mission</a> and <a href="https://www.zfnd.org/about/#values">values</a>, restricted to furthering of the Zcash cryptocurrency and its ecosystem (which is more specific than furthering financial privacy in general).</li>
<li>Major Grants awards are subject to approval by a five-seat Major Grant Review Committee. The Major Grant Review Committee SHALL be selected by the ZF's Community Panel. The Major Grant Review Committee's funding decisions will be final, requiring no approval from the ZF Board, but are subject to veto if the Foundation judges them to violate the ZF's operating documents or U.S. law.</li>
<li>Major Grant Review Committee members SHALL have a one-year term and MAY sit for reelection. The Major Grant Review Committee is subject to the same conflict of interest policy that governs the ZF Board of Directors (i.e. they MUST recuse themselves when voting on proposals where they have a financial interest). Additionally, no one with interest in or association with the ECC may sit on the Major Grant Review Committee --- since the ECC can be a beneficiary, this avoids those potential conflicts altogether. The ZF SHALL continue to operate the Community Panel and SHOULD work toward making it more representative and independent (more on that below).</li>
</ol>
<p>ZF SHALL recognize the ZF-MG slice of the Dev Fund as a Restricted Fund donation under the above constraints (suitably formalized), and keep separate accounting of its balance and usage under its <a href="#transparency-and-accountability">Transparency and Accountability</a> obligations defined below.</p>
<p>From grant proposers' side, proposals for such grants SHALL be submitted through ZF's usual grant process, allowing for public discussion and public funding. It is intended that small one-time grants will be funded by drawing on the ZF-GU slice (where they also compete with other ZF activities), whereas large or long-duration grants will be funded from the dedicated ZF-MG slice; though this is at ZF's discretion (e.g. if there are no Major Grant applications the ZF may opt to direct the ZF-MG to smaller grants).</p>
<p>ZF SHALL strive to define target metrics and key performance indicators, and the Major Grant Review Committee SHOULD utilize these in its funding decisions.</p>
<section id="direct-grant-option"><h5><span class="section-heading">Direct-grant option</span><span class="section-anchor"> <a href="#direct-grant-option"><img width="24" height="24" src="assets/images/section-anchor.png" alt=""></a></span></h5>
<p>It may be deemed better, operationally or legally, if the Major Grant funds are not accepted and disbursed by ZF, but rather directly assigned to the grantees. Thus, the following mechanism MAY be used in perpetuity for some or all grantees, if agreed upon by both ECC and ZF before NU4 activation:</p>
<p>Prior to each Network Upgrade, the Foundation SHALL publish a list of grantees' addresses and the total number of Dev Fund ZEC per block they should receive. ECC and ZF SHALL implement this list in any implementations of the Zcash consensus rules they maintain. This decision will then be, effectively, ratified by the miners as the network upgrade activates.</p>
</section>
</section>
<section id="monthly-funding-cap-and-volatility-reserve"><h4><span class="section-heading">Monthly Funding Cap and Volatility Reserve</span><span class="section-anchor"> <a href="#monthly-funding-cap-and-volatility-reserve"><img width="24" height="24" src="assets/images/section-anchor.png" alt=""></a></span></h4>
<p>Each Dev Fund slice has a Monthly Funding Cap, initially USD 700,000 for each slice. At the end of each calendar month, the fair market value of the Dev Fund ZEC received during that month will be computed, and the excess over the Monthly Funding Cap SHALL be deposited into a dedicated Volatility Reserve account by the funds' recipient. ECC and ZF SHALL describe the methodology used to calculate fair market value in relevant reports described under <a href="#transparency-and-accountability">Transparency and Accountability</a>.</p>
<p>Each slice has its own separate Volatility Reserve account, owned and managed by the recipient (ECC or ZF), but limited in how it may be used (i.e., analogously to some types of retirement or trust accounts). Funds may be withdrawn from the Volatility Reserve account only by that same party, in months where the aforementioned monthly ZEC value falls short of the Monthly Funding Cap, and only to the extent needed to cover that shortfall.</p>
<p>The Volatility Reserve may be kept as ZEC, or sold and held as fiat currency or investments (whose profits will remain in the Volatility Reserve).</p>
<p>The Monthly Funding Cap SHALL NOT be changed other than by unanimous agreement of ZF, ECC, and the majority vote of the Community Panel. (In case of excessive accumulation of reserves, the community MAY condition an increase of the Monthly Funding Cap on the redirection of some of the reserves to a different entity, miners or an airdrop.)</p>
<p>Dev Fund ZEC that has been received, not placed in the Volatility Reserve, and has not yet been used or disbursed, SHALL be kept by the corresponding party (as ZEC, or sold and invested) for later use under the terms of the corresponding slice.</p>
<p>Note that grantees of Major Grants are not directly subject to the Monthly Funding Cap, and do not have to manage a Volatility Reserve account; this is addressed upstream by the Zcash Foundation, which awards these grants. The hope is that the Foundation-managed ZF-MG Volatility Reserve will ultimately form a large long-term "endowment" pool that cushions the volatility for the various grantees, so grantees can focus on their work instead of hedging short-term price risks.</p>
<p>Irrevocable obligations to the above MUST be made by the recipients (e.g., using their Operating Agreements or by receiving the slice as Restricted Funds).</p>
</section>
</section>
<section id="transparency-and-accountability"><h3><span class="section-heading">Transparency and Accountability</span><span class="section-anchor"> <a href="#transparency-and-accountability"><img width="24" height="24" src="assets/images/section-anchor.png" alt=""></a></span></h3>
<section id="obligations"><h4><span class="section-heading">Obligations</span><span class="section-anchor"> <a href="#obligations"><img width="24" height="24" src="assets/images/section-anchor.png" alt=""></a></span></h4>
<p>ECC, ZF, and Major Grant recipients (during and leading to their award period) SHALL all accept the following obligations:</p>
<p>Ongoing public reporting requirements:</p>
<ul>
<li>Quarterly reports, detailing future plans, execution on previous plans, and finances (balances, and spending broken down by major categories).</li>
<li>Monthly developer calls, or a brief report, on recent and forthcoming tasks. (Developer calls may be shared.)</li>
<li>Annual detailed review of the organization performance and future plans.</li>
<li>Annual financial report (IRS Form 990, or substantially similar information).</li>
</ul>
<p>These reports may be either organization-wide, or restricted to the income, expenses, and work associated with the receipt of Dev Fund.</p>
<p>It is expected that ECC, ZF, and Major Grant recipients will be focused primarily (in their attention and resources) on Zcash. Thus, they MUST promptly disclose:</p>
<ul>
<li>Any major activity they perform (even if not supported by the Dev Fund) that is not in the interest of the general Zcash ecosystem.</li>
<li>Any conflict of interest with the general success of the Zcash ecosystem.</li>
</ul>
<p>ECC, ZF, and grant recipients MUST promptly disclose any security or privacy risks that may affect users of Zcash (by responsible disclosure under confidence to the pertinent developers, where applicable).</p>
<p>ECC's reports, and ZF's annual report on its non-grant operations, SHOULD be at least as detailed as grant proposals/reports submitted by other funded parties, and satisfy similar levels of public scrutiny.</p>
<p>All substantial software whose development was funded by the Dev Fund SHOULD be released under an Open Source license (as defined by the Open Source Initiative <a href="#osd" id="id2" class="footnote_reference">2</a>), preferably the MIT license.</p>
</section>
<section id="enforcement"><h4><span class="section-heading">Enforcement</span><span class="section-anchor"> <a href="#enforcement"><img width="24" height="24" src="assets/images/section-anchor.png" alt=""></a></span></h4>
<p>For grant recipients, these conditions SHOULD be included in their contract with ZF, such that substantial violation, not promptly remedied, will cause forfeiture of their grant funds and their return to ZF.</p>
<p>ECC and ZF MUST contractually commit to each other to fulfill these conditions, and the prescribed use of funds, such that substantial violation, not promptly remedied, will permit the other party to issue a modified version of Zcash node software that removes the violating party's Dev Fund slice, and use the Zcash trademark for this modified version. The slice's funds will be reassigned to ZF-MG (whose integrity is legally protected by the Restricted Fund treatment).</p>
</section>
</section>
<section id="future-community-governance"><h3><span class="section-heading">Future Community Governance</span><span class="section-anchor"> <a href="#future-community-governance"><img width="24" height="24" src="assets/images/section-anchor.png" alt=""></a></span></h3>
<p>Decentralized community governance is used in this proposal via the Community Panel in the following places:</p>
<ol type="1">
<li>As input into the Major Grant Review Committee which governs the <a href="#zf-mg-slice-zcash-foundation-for-major-grants">ZF-MG slice (Zcash Foundation, for major grants)</a>.</li>
<li>For changing the <a href="#monthly-funding-cap-and-volatility-reserve">Monthly Funding Cap and Volatility Reserve</a>.</li>
</ol>
<p>It is highly desirable to develop robust means of decentralized community voting and governance --- either by expanding the Community Panel or a successor mechanism --- and to integrate them into both of these processes, by the end of 2021. ECC and ZF SHOULD place high priority on such development and its deployment, in their activities and grant selection.</p>
</section>
<section id="zf-board-composition"><h3><span class="section-heading">ZF Board Composition</span><span class="section-anchor"> <a href="#zf-board-composition"><img width="24" height="24" src="assets/images/section-anchor.png" alt=""></a></span></h3>
<p>Members of ZF's Board of Directors MUST NOT hold equity in ECC or have current business or employment relationships with ECC, except as provided for by the grace period described below.</p>
<p>Grace period: members of the board who hold ECC equity (but do not have other current relationships to ECC) may dispose of their equity, or quit the Board, by 1 November 2021. (The grace period is to allow for orderly replacement, and also to allow time for ECC corporate reorganization related to Dev Fund receipt, which may affect how disposition of equity would be executed.)</p>
<p>The Foundation SHOULD endeavor to use the Community Panel (or successor mechanism) as advisory input for future board elections.</p>
</section>
</section>
<section id="acknowledgements"><h2><span class="section-heading">Acknowledgements</span><span class="section-anchor"> <a href="#acknowledgements"><img width="24" height="24" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<p>This proposal is a limited modification of Eran Tromer's ZIP 1012 <a href="#zip-1012" id="id3" class="footnote_reference">6</a> by the Zcash Foundation, based on feedback from the Foundation's board and the community.</p>
<p>Eran's proposal is most closely based on the Matt Luongo 'Decentralize the Dev Fee' proposal (ZIP 1011) <a href="#zip-1011" id="id4" class="footnote_reference">5</a>. Relative to ZIP 1011 there are substantial changes and mixing in of elements from <em>@aristarchus</em>'s '20% Split Evenly Between the ECC and the Zcash Foundation' (ZIP 1003) <a href="#zip-1003" id="id5" class="footnote_reference">3</a>, Josh Cincinnati's 'Compromise Dev Fund Proposal With Diverse Funding Streams' (ZIP 1010) <a href="#zip-1010" id="id6" class="footnote_reference">4</a>, and extensive discussions in the <a href="https://forum.zcashcommunity.com/">Zcash Community Forum</a>.</p>
<p>The authors are grateful to all of the above for their excellent ideas and any insightful discussions, and to Howard Loo and forum users <em>@aristarchus</em> and <em>@dontbeevil</em> for valuable initial comments on ZIP 1012.</p>
</section>
<section id="references"><h2><span class="section-heading">References</span><span class="section-anchor"> <a href="#references"><img width="24" height="24" src="assets/images/section-anchor.png" alt=""></a></span></h2>
<table id="rfc2119" class="footnote">
<tbody>
<tr>
<th>1</th>
<td><a href="https://tools.ietf.org/html/rfc2119">Key words for use in RFCs to Indicate Requirement Levels</a></td>
</tr>
</tbody>
</table>
<table id="osd" class="footnote">
<tbody>
<tr>
<th>2</th>
<td><a href="https://opensource.org/osd">The Open Source Definition</a></td>
</tr>
</tbody>
</table>
<table id="zip-1003" class="footnote">
<tbody>
<tr>
<th>3</th>
<td><a href="zip-1003">20% Split Evenly Between the ECC and the Zcash Foundation, and a Voting System Mandate</a></td>
</tr>
</tbody>
</table>
<table id="zip-1010" class="footnote">
<tbody>
<tr>
<th>4</th>
<td><a href="zip-1010">Compromise Dev Fund Proposal With Diverse Funding Streams</a></td>
</tr>
</tbody>
</table>
<table id="zip-1011" class="footnote">
<tbody>
<tr>
<th>5</th>
<td><a href="zip-1011">Decentralize the Dev Fee</a></td>
</tr>
</tbody>
</table>
<table id="zip-1012" class="footnote">
<tbody>
<tr>
<th>6</th>
<td><a href="zip-1012">Dev Fund to ECC + ZF + Major Grants</a></td>
</tr>
</tbody>
</table>
</section>
</section>
</body>
</html>