In recent polls about the future of Zcash development funding, the community signaled a strong preference for a non-direct funding model. It also decided on a temporary one-year continuation of a development fund where ZCG would continue to be funded and the remaining placed in a temporary “lock box,” while the community determines next steps. In this proposal, I outline how non-direct funding might work in more detail, for consideration by the Zcash community.
Thank you to @peacemonger, @nuttycom, @daira, and @adjychris for the reviews, feedback, questions, and suggestions needed to make this a strong proposal.
Proposal for a Zcash Governance Bloc (“zBloc”).
Zcash governance must be set free.
It must be unbridled from individuals who, despite their best intentions, are flawed and prone to temptations to control and coerce. It must represent voices from all over the world, who need digital cash for their security, and for their dignity. It must withstand the fire of chaos and attempted capture of all forms.
zBloc is a governance blueprint for a thriving Zcash.
It is built for decentralization and accountability, to include more voices and ensure results from those who receive funding by block rewards.
It is built to be dynamic, recognizing the risk that any one group may become captured or ineffective while allowing new innovative and positive voices to rise up and carry our flag forward.
It is built for clarity, illuminating the path to how decisions are made.
This proposal for a successor is intended to modify and clarify the Funding Bloc proposal I posted in March based on our current state and community feedback. I’ve renamed it the Zcash Governance Bloc (“zBloc”), as it would serve as a governance and funding decision mechanism. I’ve renamed the Development Fund to the Zcash Community Fund to indicate that funds may be allocated to non-software development-related activities such as community support and education.
Bloc Membership
The zBloc would distribute decision-making authority for both Zcash governance and funding decisions, potentially to any number of constituencies.
A constituency is a group representing a trusted subsection of the Zcash community.
The Initial Structure section below proposes a set of initial constituencies, but the model allows for changes over time, enabling the zBloc to evolve.
-
New zBloc constituencies may be added as they gain trust and removed if they are no longer operating or trust is eroded. The means for this is described in the Governance Decisions section below.
-
zBloc constituencies may be granted different levels of authority, receiving less or more say over time. This is done by allocating or removing signing keys to reflect the amount of voting power allocated to each constituency. For example, if the community wishes to increase the weight of coin holder voice over time, it could increase the number of signing keys allocated to coin-holder representatives, which would dilute the power of other constituencies.
Each independent constituent makes a governance or funding decision by signing a transaction. The transaction construction may be completed off chain and asynchronously before it is submitted but the specific implementation details can be determined later. A decision is ratified when a threshold of signatures is met.
The constituent chooses how to make their decision (polling, majority vote, coin-holder signaling, technical feasibility, mission alignment, etc.). If the constituent is impacted by an outcome such as funding or authority, they must abstain. If a conflicted constituent does not abstain from signing, other constituents may challenge the decision and reverse support through another signature.
To be considered a constituent, each must pre-commit to an internal governance mechanism for decision-making that all other constituents approve of (i.e. greater than one decision maker, means of assessing community sentiment, etc.). If the constituent changes its governance mechanism, it must be approved by a super majority of the other constituents.
I propose that the initial group of constituents be (if they are willing and approved by the others): coin-holders, ECC, Shielded Labs, Zcash Community Grants, Zcash Core Engineers, Zcash Foundation, and ZecHub. Each constituent would receive one signing key.
While the mechanism for coin holder approval is not yet clear, I propose that the other zBloc members elect a representative responsible for establishing a clear process and mechanism for gathering coin holder sentiment. Once a sufficient mechanism is established, coin holders could be allocated more than one signing keys.
Relentless decentralization is zBloc’s core value and mission. It’s the unifying ethos that will keep zBloc’s doors open to new contributors. This continuous expansion is in the best interests of the growing Zcash community. Thus, initial zBloc members have the responsibility to facilitate this growth and encourage, nurture, and welcome emerging groups of constituents.
Governance Decisions
A supermajority must approve any governance decision. To signal clear community consensus, I propose a 75% threshold.
This includes:
- Changes to Zcash consensus rules, where an activation height is only set once a supermajority has approved the activation.
- Adding or removing constituencies to the zBloc.
- Increasing or decreasing the voting power of zBloc constituencies by granting additional or retiring signing keys.
- Increasing or decreasing the number of Funding Pools, the rules that govern them, and the amounts allocated.
Final ratification occurs when node operators adopt the software.
Funding Decisions
I propose we continue with an 80/20 funding model in perpetuity, in which 80% of the block rewards are given to miners and 20% to the Zcash Community Fund. The 12% allocated to the lockbox activated in NU6 would be used to seed this fund.
This proposal includes two Funding Pools, with different rules for each. These are the Large Grant Fund and Minor Grant Fund. Over time, it is worthwhile to consider other specialized pools. This might include novel ideas, such as the speculative funding pools suggested by @nuttycom or others, such as a retroactive fund, speculative fund, and maintenance fund.
Who may apply for grants is not restricted. It is highly encouraged for all participating organizations to seek outside funding and not solely rely on the Zcash Community Fund.
The Large Grant Fund will include 80% of the Zcash Community Fund.
- The Large Grant Fund is used for grants at or above $100k, based on the current ZEC price (a Governance Decision can change this threshold).
- An absolute majority (>50% of the constituencies) of the zBloc makes funding decisions and disbursements.
- Proposals are submitted to the Zcash forum, and each zBloc constituency must monitor and engage with participants and either sign or explain why they are not supporting the grant.
- Disbursements are made when the recipient successfully demonstrates completion of a milestone to the satisfaction of a majority of zBloc members.
The Small Grant Fund will include 20% of the Zcash Community Fund.
- The Small Grant Fund is used for grants under $100k (a Governance Decision can change this threshold).
- A designated organization, or perhaps different organizations with areas of specialization (engineering, marketing, etc.) will administer decisions and disbursements in exchange for an annual fee.
- The organization(s) will be elected by the zBloc, and can be changed or removed through a Governance Decision.
- The fee will be proposed by the organization and approved by the zBloc.
- The organization will self-govern and manage the process for grant submissions, approvals, and disbursements.
- ZCG could be a candidate for this role initially.
- The role is open to competition. For example, rather than ZCG splitting off as an independent organization, perhaps this function could be rolled under the Financial Privacy Foundation or third parties that may be interested in managing the fund in exchange for a fee.
I believe that this model, or something similar, will:
- Increase transparency and accountability for all participants
- Increase the voice of the community through direct participation
- Further decentralize Zcash governance and provide clarity on how decisions are made
- Continue funding Zcash development efforts
- Create a structure that can easily evolve over time
I welcome your thoughts.