ZIP 1012: Editing to regularize all of the dev fund ZIPs.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
Daira Hopwood 2019-11-29 01:53:40 +00:00
parent 0fc5a6f9b0
commit e2dfec033f
1 changed files with 154 additions and 145 deletions

View File

@ -1,13 +1,14 @@
:: ::
ZIP: Unassigned ZIP: 1012
Title: Dev Fund to ECC + Zfnd + Major Grants Title: Dev Fund to ECC + ZF + Major Grants
Owners: Eran Tromer <eran@tromer.org> Owner: Eran Tromer <eran@tromer.org>
Status: Draft Status: Draft
Category: Process Category: Consensus / Process
Created: 2019-11-10 Created: 2019-11-10
License: MIT License: MIT
Abstract Abstract
======== ========
@ -24,15 +25,16 @@ Funding is capped at $700k/month per slice. Governance and accountability are
based on existing entities and legal mechanisms, and increasingly decentralized based on existing entities and legal mechanisms, and increasingly decentralized
governance is encouraged. governance is encouraged.
Motivation Motivation
============ ==========
Starting at Zcash's first halving in October 2020, by default 100% of the block 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 rewards will be allocated to miners, and no further funds will be automatically
allocated to research, development and outreach. Consequently, no substantial allocated to research, development and outreach. Consequently, no substantial
new funding may be available to existing teams dedicated to Zcash: the Electric new funding may be available to existing teams dedicated to Zcash: the Electric
Coin Company (ECC), the Zcash Foundation (Zfnd), and the many entities funded by Coin Company (ECC), the Zcash Foundation (ZF), and the many entities funded by
the Zfnd grant program. the ZF grant program.
There is a need to strike a balance between incentivizing the security of the 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 consensus protocol (i.e., mining) versus other crucial aspects of the Zcash
@ -48,27 +50,28 @@ Difference from Matt Luongo's proposal
This proposal is based on Matt Luongo's `Decentralizing the Dev Fee`_ proposal, This proposal is based on Matt Luongo's `Decentralizing the Dev Fee`_ proposal,
which has similar motivations. The major changes are as follows: which has similar motivations. The major changes are as follows:
* The Dev Fund slice intended for external recipients (beyond ECC, Zfnd and * The Dev Fund slice intended for external recipients (beyond ECC, ZF and
existing Zfnd grants) may be used to fund ECC if no competitive alternatives existing ZF grants) may be used to fund ECC if no competitive alternatives
present themselves, to mitigate unwarranted loss of existing capabilities. present themselves, to mitigate unwarranted loss of existing capabilities.
* For simplicity, the above slice is combined with the Foundation's existing * For simplicity, the above slice is combined with the Foundation's existing
grant system; but is accompanied by explicit requirements to achieve its goals, grant system; but is accompanied by explicit requirements to achieve its
independent advisory input, and a Restricted Funds mechanism to enforce these goals, independent advisory input, and a Restricted Funds mechanism to
requirements. enforce these requirements.
* The "easing function" coin value cap is removed, in favor of capping each slice * The "easing function" coin value cap is removed, in favor of capping each
at $700k/month funding target. Any excess is kept in a reserve, from which it slice at $700k/month funding target. Any excess is kept in a reserve, from
can be withdrawn only to maintain the funding target in the future. which it can be withdrawn only to maintain the funding target in the future.
* Strengthened the transparency and accountability requirements, and harmonized * Strengthened the transparency and accountability requirements, and
them across ECC, Zfnd and major grantees. harmonized them across ECC, ZF and major grantees.
* Removed Zfnd's supervisory role in determining the "principal developer", * Removed ZF's supervisory role in determining the "principal developer",
fixing it to be ECC (changing this would be sufficiently dramatic to merit a fixing it to be ECC (changing this would be sufficiently dramatic to merit a
fork). fork).
* Small differences in prescribed changes to the Zfnd board. * Small differences in prescribed changes to the ZF board.
* Call for, and incentivize, development of decentralized voting and governance. * Call for, and incentivize, development of decentralized voting and governance.
* Clarity and brevity. * Clarity and brevity.
.. _Decentralizing the Dev Fee: https://forum.zcashcommunity.com/t/decentralizing-the-dev-fee/35252 .. _Decentralizing the Dev Fee: https://forum.zcashcommunity.com/t/decentralizing-the-dev-fee/35252
Requirements Requirements
============ ============
@ -105,6 +108,7 @@ execution; but it should strive to support and use these once they are built.
Comply with legal, regulatory and taxation constraints in pertinent Comply with legal, regulatory and taxation constraints in pertinent
jurisdictions. jurisdictions.
Non-requirements Non-requirements
================ ================
@ -122,16 +126,17 @@ Dev Fund allocation
------------------- -------------------
Starting at the first Zcash halving in 2020, until the second halving in 2024, Starting at the first Zcash halving in 2020, until the second halving in 2024,
20% of the block rewards will be allocated to a "Dev Fund" that consists of the 20% of the block rewards will be allocated to a "Dev Fund" that consists of
following three slices: the following three slices:
* One third to the Electric Coin Company (denoted **ECC slice**) * One third to the Electric Coin Company (denoted **ECC slice**)
* One third the Zcash Foundation, for general use (denoted **Zfnd-GU slice**) * One third the Zcash Foundation, for general use (denoted **ZF-GU slice**)
* One third the Zcash Foundation, for major grants (denoted **Zfnd-MG slice**) * One third the Zcash Foundation, for major grants (denoted **ZF-MG slice**)
Details below. The fund flow will be implemented at the consensus-rule layer, by Details below. The fund flow will be implemented at the consensus-rule layer,
sending the corresponding ZEC to the designated address in each block. This Dev by sending the corresponding ZEC to the designated address in each block. This
Fund will end at the second halving (unless extended/modified by a future ZIP). Dev Fund will end at the second halving (unless extended/modified by a future
ZIP).
ECC slice (Electric Coin Company) ECC slice (Electric Coin Company)
@ -156,130 +161,132 @@ This obligation must be made irrevocable, e.g., within ECC's corporate
governance structure (i.e., its Operating Agreement) or contractual obligations. governance structure (i.e., its Operating Agreement) or contractual obligations.
Zfnd-GU slice (Zcash Foundation, for general use) ZF-GU slice (Zcash Foundation, for general use)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This slice of the Dev Fund will flow to Zfnd, to be used at its discretion for 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, any purpose within its mandate to support Zcash and financial privacy,
including: development, education, support community communication on-line and including: development, education, support community communication on-line
via events, gathering community sentiment, and external awarding grants for all and via events, gathering community sentiment, and external awarding grants
of the above. for all of the above.
Zfnd may award grants as profit-sharing contracts, in which case any resulting ZF may award grants as profit-sharing contracts, in which case any resulting
profits will be added to the Zfnd-GU slice (to fund its ongoing operations and profits will be added to the ZF-GU slice (to fund its ongoing operations and
any future grants). any future grants).
Zfnd-MG slice (Zcash Foundation, for major grants) ZF-MG slice (Zcash Foundation, for major grants)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This slice of the Dev Fund is intended to fund independent teams entering the 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 Zcash ecosystem, to perform major ongoing development (or other work) for the
public good of Zcash ecosystem, to the extent that such teams are available and public good of Zcash ecosystem, to the extent that such teams are available
effective. and effective.
The funds will be received and administered by Zfnd. Zfnd will disburse them as The funds will be received and administered by ZF. ZF will disburse them as
"Major Grants", within the framework of Zfnd's grant program but subject to the "Major Grants", within the framework of ZF's grant program but subject to the
following additional constraints: following additional constraints:
1. These funds may be only be used to issue Major Grants to external parties 1. These funds may be only be used to issue Major Grants to external parties
that are independent of Zfnd. They may not be used by Zfnd for its internal that are independent of ZF. They may not be used by ZF for its internal
operations and direct expenses. operations and direct expenses.
2. Major Grants should support well-specified work proposed by the grantee, at 2. Major Grants should support well-specified work proposed by the grantee,
reasonable market-rate costs. They can be of any duration, or ongoing without a at reasonable market-rate costs. They can be of any duration, or ongoing
duration limit, but have semiannual review points for continuation of funding. without a duration limit, but have semiannual review points for
continuation of funding.
3. Major Grants may be issued to ECC only if no other parties are available and 3. Major Grants may be issued to ECC only if no other parties are available
capable of performing the specified work with similar effectiveness and cost. and capable of performing the specified work with similar effectiveness and
(The intent is that eventually ECC will not receive Major Grants.) cost. (The intent is that eventually ECC will not receive Major Grants.)
4. Priority will be given to Major Grants that bolster new teams with 4. Priority will be given to Major Grants that bolster new teams with
substantial (current or prospective) continual existence, and set them up for substantial (current or prospective) continual existence, and set them up
long-term success, subject to the usual grant award considerations (impact, for long-term success, subject to the usual grant award considerations
ability, risks, team, cost-effectiveness, etc.). Priority will be given Major (impact, ability, risks, team, cost-effectiveness, etc.). Priority will be
Grants that support ecosystem growth by mentorship, coaching, technical given Major Grants that support ecosystem growth by mentorship, coaching,
resources, creating entrepreneurial opportunities, etc. technical resources, creating entrepreneurial opportunities, etc.
5. Major Grants should specifically further the Zcash cryptocurrency and its 5. Major Grants should specifically further the Zcash cryptocurrency and its
ecosystem; this is more restrictive than Zfnd's general mission of furthering ecosystem; this is more restrictive than ZF's general mission of furthering
financial privacy. financial privacy.
6. Major Grants awarding is subject to individual approval by Zfnd's Board of 6. Major Grants awarding is subject to individual approval by ZF's Board of
Directors, by a majority excluding any members with a conflict of interest. Directors, by a majority excluding any members with a conflict of interest.
7. Zfnd shall seek advisory input on its choice of Major Grant awards, by all 7. ZF shall seek advisory input on its choice of Major Grant awards, by all
effective and reasonable means (e.g., on-line discussion forums, the community effective and reasonable means (e.g., on-line discussion forums, the
Advisory Board, on-chain voting by holders and miners, and proactive community Advisory Board, on-chain voting by holders and miners, and
consultation with experts). The Zfnd Board of Directors shall strive to follow proactive consultation with experts). The ZF Board of Directors shall
this advisory input (within the confines of the Foundation's charter and strive to follow this advisory input (within the confines of the
duties). Foundation's charter and duties).
8. Zfnd shall strive to create an independent grant committee to evaluate and 8. ZF shall strive to create an independent grant committee to evaluate and
publicly recommend Major Grant proposals, based on the committee's expertise and publicly recommend Major Grant proposals, based on the committee's
the above inputs. expertise and the above inputs.
Zfnd shall recognize the Zfnd-MG slice of the Dev Fund as a Restricted Fund 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 donation under the above constraints (suitably formalized), and keep separate
accounting of its balance and usage under its Transparency and Accountability accounting of its balance and usage under its Transparency and Accountability
obligations defined below. obligations defined below.
From grant proposers' side, proposals for such grants will be submitted through From grant proposers' side, proposals for such grants will be submitted
Zfnd usual grant process, allowing for public discussion and public funding. It through ZF usual grant process, allowing for public discussion and public
is intended that small one-time grants will be funded by drawing on the Zfnd-GU funding. It is intended that small one-time grants will be funded by drawing
slice (where they also compete with other Zfnd activities), whereas large on the ZF-GU slice (where they also compete with other ZF activities), whereas
long-duration will be funded from the dedicated Zfnd-MG slice; though this is at large long-duration will be funded from the dedicated ZF-MG slice; though this
Zfnd's discretion. is at ZF's discretion.
Zfnd shall strive to define target metrics and key performance indicators, and ZF shall strive to define target metrics and key performance indicators, and
utilize these in its funding decisions. utilize these in its funding decisions.
Direct-grant option Direct-grant option
''''''''''''''''''' '''''''''''''''''''
It may be deemed better, operationally or legally, if the Major Grant funds are It may be deemed better, operationally or legally, if the Major Grant funds
not accepted and disbursed by Zfnd, but rather directly assigned to the are not accepted and disbursed by ZF, but rather directly assigned to the
grantees. Thus, the following mechanism may be used in perpetuity, if agreed grantees. Thus, the following mechanism may be used in perpetuity, if agreed
upon by both ECC and Zfnd before NU4 activation: upon by both ECC and ZF before NU4 activation:
Prior to each Network Upgrade, the Foundation shall publish a list of grantees' Prior to each Network Upgrade, the Foundation shall publish a list of
addresses and the total number of Dev Fund ZEC per block they should receive. grantees' addresses and the total number of Dev Fund ZEC per block they
ECC and Zfnd shall implement this list in any implementations of the Zcash should receive. ECC and ZF shall implement this list in any implementations
consensus rules they maintain. This decision will then be, effectively, ratified of the Zcash consensus rules they maintain. This decision will then be,
by the miners as the network upgrade activates. effectively, ratified by the miners as the network upgrade activates.
Funding Target and Volatility Reserve Funding Target and Volatility Reserve
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Each Dev Fund slice has a Funding Target, initially US $700,000 for each slice. Each Dev Fund slice has a Funding Target, initially US $700,000 for each
At the end of each calendar month, the fair market value of the Dev Fund ZEC slice. At the end of each calendar month, the fair market value of the Dev
received during that month will be computed, and the excess over the Funding Fund ZEC received during that month will be computed, and the excess over
Target will be put into a dedicated Volatility Reserve account by the funds' the Funding Target will be put into a dedicated Volatility Reserve account
recipient. by the funds' recipient.
Funds may be withdrawn from the Volatility Reserve account only by that same 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 party, in months where the aforementioned monthly ZEC value falls short of
Funding Target, and only to the extent needed to cover that shortfall. the Funding Target, and only to the extent needed to cover that shortfall.
The Volatility Reserve may be kept as ZEC, or sold and held as fiat currency or The Volatility Reserve may be kept as ZEC, or sold and held as fiat currency
investments (whose profits will remain in the Volatility Reserve). or investments (whose profits will remain in the Volatility Reserve).
The Funding Target may be changed only by unanimous agreement of Zfnd, ECC and 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. (This is the majority vote of a voting mechanism weighted by ZEC coin holding. (This is
meant to encourage the creation of such a voting mechanism. Moreover, in case meant to encourage the creation of such a voting mechanism. Moreover, in case
of excessive accumulation of reserves, the community can condition an increase of excessive accumulation of reserves, the community can condition an increase
of the Funding Target on the redirection of some of the reserves to a of the Funding Target on the redirection of some of the reserves to a
different entity, miners or an airdrop). different entity, miners or an airdrop).
Dev Fund ZEC that has been received, not placed in the Volatility Reserve, and Dev Fund ZEC that has been received, not placed in the Volatility Reserve,
has not yet been used or disbursed, will be kept by the corresponding party (as and has not yet been used or disbursed, will be kept by the corresponding
ZEC, or sold and invested) for later use under the terms of the corresponding party (as ZEC, or sold and invested) for later use under the terms of the
slice. corresponding slice.
Irrevocable obligations to the above must be made by the recipients (e.g., using Irrevocable obligations to the above must be made by the recipients (e.g.,
their Operating Agreements or by receiving the slice as Restricted Funds). using their Operating Agreements or by receiving the slice as Restricted
Funds).
Transparency and Accountability Transparency and Accountability
@ -288,7 +295,7 @@ Transparency and Accountability
Obligations Obligations
~~~~~~~~~~~ ~~~~~~~~~~~
ECC, Zfnd and Major Grant recipients (during and leading to their award period) ECC, ZF and Major Grant recipients (during and leading to their award period)
shall all accept the following obligations: shall all accept the following obligations:
Ongoing public reporting requirements: Ongoing public reporting requirements:
@ -304,77 +311,78 @@ Ongoing public reporting requirements:
These reports may be either organization-wide, or restricted to the income, These reports may be either organization-wide, or restricted to the income,
expenses and work associated with the receipt of Dev Fund. expenses and work associated with the receipt of Dev Fund.
It is expected that ECC, Zfnd and Major Grant recipient will be focused It is expected that ECC, ZF and Major Grant recipient will be focused
primarily (in their attention and resources) on Zcash. Thus, they must promptly primarily (in their attention and resources) on Zcash. Thus, they must
disclose: promptly disclose:
* Any major activity they perform (even if not supported by the Dev Fund) that * Any major activity they perform (even if not supported by the Dev Fund) that
is not in the interest of the general Zcash ecosystem. is not in the interest of the general Zcash ecosystem.
* Any conflict of interest with the general success of the Zcash ecosystem * Any conflict of interest with the general success of the Zcash ecosystem
ECC, Zfnd and grant recipients must promptly disclose any security of privacy ECC, ZF and grant recipients must promptly disclose any security of privacy
risks that may affect users of Zcash (by responsible disclosure under confidence risks that may affect users of Zcash (by responsible disclosure under
to the pertinent developers, where applicable). confidence to the pertinent developers, where applicable).
ECC's reports, and Zfnd's annual report on its non-grant operations, should be 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 at least as detailed as grant proposals/reports submitted by other funded
parties, and satisfy similar levels of public scrutiny. parties, and satisfy similar levels of public scrutiny.
All substantial software whose development was funded by the Dev Fund should be All substantial software whose development was funded by the Dev Fund should
released under an Open Source license (as defined by the Open Source be released under an Open Source license (as defined by the Open Source
Initiative), preferably the MIT license. Initiative), preferably the MIT license.
Enforcement Enforcement
~~~~~~~~~~~ ~~~~~~~~~~~
For grant recipients, these conditions should be included in their contract with For grant recipients, these conditions should be included in their contract
Zfnd, such that substantial violation, not promptly remedied, will cause with ZF, such that substantial violation, not promptly remedied, will cause
forfeiture of their grant funds and their return to Zfnd. forfeiture of their grant funds and their return to ZF.
ECC and Zfnd will contractually commit to each other to fulfill these ECC and ZF will contractually commit to each other to fulfill these
conditions, and the prescribed use of funds, such that substantial violation, conditions, and the prescribed use of funds, such that substantial violation,
not promptly remedied, will permit the other party to issue a modified version 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 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 use the Zcash trademark for this modified version. The slice's funds will be
reassigned to Zfnd-MG (whose integrity is legally protected by the Restricted Fund reassigned to ZF-MG (whose integrity is legally protected by the Restricted
treatment). Fund treatment).
Future Community Governance Future Community Governance
=========================== ===========================
Decentralized community governance is used in this proposal in the following places: Decentralized community governance is used in this proposal in the following
places:
1. As advisory input to the `Zfnd-MG slice (Zcash Foundation, for major grants)`_. 1. As advisory input to the `ZF-MG slice (Zcash Foundation, for major grants)`_.
2. For changing the `Funding Target and Volatility Reserve`_ (which is an 2. For changing the `Funding Target and Volatility Reserve`_ (which is an
incentive for ECC and Zfnd to *create* the voting mechanism). incentive for ECC and ZF to *create* the voting mechanism).
3. In Zfnd's future board composition (see below). 3. In ZF's future board composition (see below).
It is highly desirable to develop robust means of decentralized community voting It is highly desirable to develop robust means of decentralized community
and governance, and to integrate them into all of the above processes, by the voting and governance, and to integrate them into all of the above processes,
end of 2021. ECC and Zfnd should place high priority on such development and its by the end of 2021. ECC and ZF should place high priority on such development
deployment, in their activities and grant selection. and its deployment, in their activities and grant selection.
Zfnd Board Composition ZF Board Composition
====================== ======================
Zfnd should formally integrate robust means of decentralized community voting ZF should formally integrate robust means of decentralized community voting
into its Board of Director elections, in a way that is consistent with Zfnd's into its Board of Director elections, in a way that is consistent with ZF's
mission and values. Zfnd should lead the process for determining and mission and values. ZF should lead the process for determining and
implementing this, legally and technically, by the end of 2021. implementing this, legally and technically, by the end of 2021.
Members of Zfnd's Board of Directors must not hold equity in ECC or have current Members of ZF's Board of Directors must not hold equity in ECC or have current
business or employment relationships with ECC. business or employment relationships with ECC.
Grace period: members of the board who hold ECC equity (but do not have other 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 current relationships to ECC) may dispose of their equity, or quit the Board,
1 March 2021. (The grace period is to allow for orderly replacement, and also to by 1 March 2021. (The grace period is to allow for orderly replacement, and
allow time for ECC corporate reorganization related to Dev Fund receipt, which also to allow time for ECC corporate reorganization related to Dev Fund
may affect how disposition of equity would be executed.) receipt, which may affect how disposition of equity would be executed.)
Disclosures Disclosures
@ -382,16 +390,17 @@ Disclosures
The author is The author is
* a coauthor of the Zerocash_ academic paper underlying Zcash * a coauthor of the Zerocash_ academic paper underlying Zcash;
* a technical adviser to the Zcash Foundation * a technical adviser to the Zcash Foundation;
* a founding scientist, a shareholder, and formerly a technical adviser to the * a founding scientist, a shareholder, and formerly a technical adviser to the
Electric Coin Company Electric Coin Company;
* an academic researcher and adviser to various other organizations * an academic researcher and adviser to various other organizations.
This proposal is his private opinion and does not represent any of the above. This proposal is his private opinion and does not represent any of the above.
.. _Zerocash: https://eprint.iacr.org/2014/349 .. _Zerocash: https://eprint.iacr.org/2014/349
Acknowledgements Acknowledgements
================ ================