Zcash has become increasingly decentralized as more parties propose and implement changes to the protocol. As a result, coordinating work and timelines among parties for potential Network Upgrades has become more challenging. Each network upgrade requires changes to many components of the ecosystem to be successful, and different organizations with varying priorities can mean that one entity in the ecosystem ends up “blocked” on needing another entity to make changes. As the ecosystem grows, the slowdowns caused by such bottlenecks become more problematic.
In March, I mentioned that ECC intends to eventually fork the zebrad repo so that we can work independently and suggested that others do the same. The proposal is an extension of that intention and recommendation.
Previously, the Electric Coin Company had taken primary responsibility for coordinating network upgrades within the Zcash ecosystem. To promote further decentralization, we are now proposing a change to how new Zcash features are readied for inclusion in Network Upgrades, to take effect after the conclusion of the current Network Upgrade (NU7) development efforts.
In this new model, the party implementing a protocol change will have individual responsibility to drive the full lifecycle of the intended change. This includes ownership of relevant ecosystem participant coordination, and the software development, testing, and auditing of their proposed features within their own forks of the relevant GitHub repositories. This may include development or developer coordination for changes required for commonly used wallet software and supporting services. We encourage them to do this development in public and to solicit early feedback from node implementors and protocol experts. When they are ready, they will then advocate for inclusion of their feature in the next Network Upgrade and for the other repository owners to merge their changes.
If the other repo owners are satisfied that there is a clear community consensus for the upgrade and that the upgrade is ready for activation, they will merge the changes. If they are not, the proposer would address any concerns, such as security vulnerabilities or lack of community support.
Alternatively, the proposer could attempt to push their changes to consensus nodes, potentially causing a chain fork. While this would be an extreme action, it is a necessary part of decentralized protocol governance.
As an example, Shielded Labs has indicated that Crosslink should be considered for Network Upgrade 8 (NU8), which may be activated as early as Q4 2026. In this model, Shielded Labs is responsible for building, testing, auditing, and advocating for its inclusion.
At the same time, Qedit may be ready and advocate to add ZSA swaps to the protocol. If Shielded Labs is delayed, Qedit could still advocate for ZSA swaps to be included in NU8 as its work is decoupled from Shielded Labs’ work. NU8 could activate on time, and Shielded Labs would then need to ready itself for inclusion in NU9, likely 6 months later.
We believe this model simplifies coordination, enhances decentralization, and decouples the Network Upgrade schedule from specific features. We welcome your feedback, questions, and concerns.
Thanks to @nuttycom for input and feedback on this post.