RFC: Zcash Sustainability Fund - Project Proposal
I am excited to announce that Shielded Labs is partnering with the Equilibrium Group to collaborate on the development of the Zcash Sustainability Fund (ZSF). By working together, we aim to create a strong partnership that leverages our respective strengths.
Shielded Labs will fund the development of the ZSF and utilize its understanding of the Zcash ecosystem to manage and shape the direction of the project and ensure that it aligns with the values of the Zcash community. With a strong background in blockchain engineering, the Equilibrium Group is well-equipped to lead the technical development of the ZSF. Their team of experienced engineers will bring extensive knowledge and expertise to design and implement the necessary mechanisms for the fund. This partnership marks an exciting milestone for Zcash as it strives to become more decentralized and sustainable.
Below is our proposal to develop the ZSF. We invite you to review it and provide your thoughts, feedback, and suggestions. We will allow a comment period for at least one month. If there is general community support and no significant objections, we plan on starting development shortly thereafter.
Background
Recently, there has been increased attention around Bitcoin’s future security budget due to the possibility that miner revenue from transaction fees may not be sufficient to provide adequate network security after the block subsidy ends. Zcash faces a similar problem as its network is sustained by block rewards and operates with a supply cap of 21 million coins.
The ZSF addresses this issue by modifying Zcash’s issuance schedule and introducing a mechanism to direct funds towards sustaining the network. It preserves the 21 million supply cap and smooths out the emissions curve while maintaining an approximate issuance rate that replaces the four-year halving cycle. Fees deposited into the reserve are distributed over time in block rewards to help sustain the network.
In simple terms, the ZSF works like an algorithmic savings account or endowment. Funds are set aside for a specific purpose, to provide a sustainable source of block rewards for the Zcash network. Deposits can come from various sources, including transaction fees, which can be used to fund the network. Disbursements are governed by specific rules and policies that allow ecosystem participants to better plan for the long-term. In this sense, the ZSF is a reserve of funds that is managed separately from the circulating supply of ZEC to help ensure the long-term sustainability of the network.
The ZSF is not dependent on any specific consensus protocol, such as Proof of Stake, and can be implemented within the current Proof of Work consensus protocol. However, since it creates a mechanism for deposits that new applications or protocol designs can use to strengthen the long-term sustainability of the network, it may be an important step for future economic upgrades, such as a transition to Proof of Stake or Zcash Shielded Assets, and other potential protocol fees and user applications.
Project Summary
We propose the creation of a modest version of the ZSF wherein our primary goal is to modify the issuance schedule, develop the mechanism for depositing into the Fund, and leave the conversation about future changes to disbursements for the community to decide at a later point in time after the fund is up and running. We will develop the ZSF into a proof of concept and implement it into Zebra. At the start, the ZSF will be funded by transaction fees. We are exploring the 90% / 10% split proposed by Nate Wilcox; however, we plan to research the optimal percentage of transaction fees further.
As noted above, the ZSF modifies the existing issuance schedule and replaces it with a mechanism that approximates the four-year halving cycle. Upon implementation, all remaining unissued ZEC will be immediately deposited into the ZSF, and recipients of the block reward will receive a payout directly from the ZSF. This proposal is intentionally neutral towards block reward recipients so that the implementation of the ZSF is not intertwined with decisions related to disbursement reallocations. The distribution of newly issued ZEC in block rewards will follow the proportional split outlined in ZIP 1014, with 80% allocated to the block miner and 20% distributed to existing Dev Fund recipients.
Technical Overview
The technical process of this work is driven by two Zcash Improvement Proposals (ZIPs) that we plan on submitting. The first ZIP would implement the ZSF disbursement at the protocol level as described in the previous section. The second ZIP will propose “smoothing” the issuance curve as described in the background section.
Please note that the following technical details are based on our current understanding of the technology and code, and we remain flexible and open to questions, comments, and suggestions. Also note that additional lower-level / fine-grained ZIPs may be necessary as we move through the process.
ZIP 1: Establish the ZSF on the Protocol Level
If this ZIP is approved, the technical activities involved in implementing it will include, but not be limited to the following:
Additionally, during this process we will provide a proof of concept in code (using the Zebra code base) to help facilitate further technical discussions.
ZIP 2: Modify the Issuance Schedule
If this ZIP is approved, the technical activities involved in implementing it will include, but not be limited to the following:
- Immediately upon network upgrade activation mine the remaining, unmined ZEC into the ZSF
- Modify the formula in the issuance function to disburse funds more frequently based on block height
- Update block validation to check issuance amount
- Potentially modify / expand RPC endpoints
Additional Activity: Plan, Schedule, and Execute Network Upgrade
Once the code is in place and tested, and all the ZIPs are approved, there will need to be an upgrade to the Zcash network. We will work closely with the Zcash community and ecosystem engineers to plan and implement this upgrade into both zcashd and zebrad. Since the ZSF is independent from a transition to Proof of Stake, implementing it earlier allows the ZSF to accrue value sooner. To that end, it would be reasonable to set the activation block height to coincide with the next halving in Q4 2024.
Governance
In terms of governance, there is currently no clearly defined pathway to support independent protocol development. Network upgrades, like the one required for the ZSF, involve inherent complexities and uncertainties due to the decentralized nature of the Zcash protocol. The successful implementation of a network upgrade requires careful coordination and consensus among diverse stakeholders within the Zcash community.
The Zcash Community Advisory Panel (ZCAP) exists as a means of gauging community consensus; however, its primary function is to serve as an advisor for the Zcash Foundation. While we appreciate the governance framework the Foundation has put in place and their commitment to community engagement, we firmly believe protocol development should be permissionless. Seeking approval from ZCAP to develop the ZSF would be at odds with the fundamental ethos of Zcash that allows anyone to actively participate or contribute to the network. The Foundation may choose to poll ZCAP at some point to inform their view on the ZSF, and we would welcome their input.
Shielded Labs and the Equilibrium Group are committed to working closely with community members, ecosystem engineers, and other stakeholders throughout the development process to navigate these uncertainties effectively. We will participate in the bi-weekly Arborist calls and utilize the R&D Discord channel to promote transparency, open dialogue, and a collaborative decision-making process. We started collecting feedback in March and will continue to encourage ongoing community engagement to ensure that the ZSF project aligns with the long-term goals and values of the Zcash community.
Zcash was designed as a consensual currency that allows users the freedom to choose whether to adopt and utilize it. We believe a consensus-driven process is essential for the successful development and implementation of the ZSF. By seeking input from the broader Zcash community and incorporating diverse viewpoints, we aim to ensure that the ZSF project is not dictated by a single entity or group. We believe this allows for a more inclusive and democratic approach to decision-making that aligns well with the spirit and values of Zcash.
Shielded Labs
Shielded Labs is an independent, non-profit organization dedicated to supporting Zcash. Its mission is to increase user adoption, develop new use cases for Zcash, and contribute to protocol development. Shielded Labs was established with two goals in mind: to increase decentralization by independently contributing to the ongoing development of Zcash, and to make Zcash more resilient by building a geographically diverse and robust ecosystem. Shielded Labs is domiciled in Switzerland, a country that is crypto-friendly and has a long-standing tradition of safeguarding privacy rights.
The Equilibrium Group
The Equilibrium Group (EQG) is a constellation of organizations with a combined vision and mission to steward Web3 into the future. The organizations consist of Eiger, a blockchain engineering company focused on scalable, production-ready implementations and Equilibrium Labs, a research-focused engineering organization. The organizations are mainly separated by process and focus and consistently lean on each other’s specific expertise. An example of a joint effort between Equilibrium and Eiger is the Ziggurat project.
Additional Resources
ECC’s blog post announcing the Fund
Draft ZIP written by Nate Wilcox
Nate’s twitter thread summarizing the Fund
Zcash Community Forum thread about the Fund