Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal: for ZIPs proposing consensus changes, require a public persistent feature-gated testnet as a prerequisite for some maturity level. #756

Open
nathan-at-least opened this issue Jan 9, 2024 · 1 comment

Comments

@nathan-at-least
Copy link
Contributor

Would it be productive and valuable to require that a ZIP may not reach a certain maturity state without the presence of a persistent feature-gated testnet (assuming the ZIP alters consensus rules)?

If this were a requirement of the ZIP process, it would ensure people know early on this will be a necessary step, and as the ZIP matures this would help ensure the testnet exists prior to the community decision time about including the ZIP features into an upcoming upgrade.

OTOH, adding another requirement may inhibit some people from proposing ZIPs. Is there any way we could encourage "pre-testnet" ZIP proposals anyway?

In the status quo, it's often node implementers who set up testnets rather than ZIP authors (although that's changing!) so even with this new testnet process requirement, the labor could still be divided that way. Maybe node dev teams or other developers could proactively "sponsor" early ZIP ideas for which they would contribute to testnet deployments?

@teor2345
Copy link
Contributor

teor2345 commented Jan 9, 2024

How is this different from the current "Implemented" status?

The requirements are generic so they cover non-node changes. But we've typically taken them to include a testnet deployment for node changes.

zips/zip-0000.rst

Lines 618 to 621 in bf21364

* Implemented: When a Consensus or Standards ZIP has a working
reference implementation but before activation on the Zcash network.
The status MAY indicate which node implementation has implemented
the ZIP, e.g. "Implemented (zcashd)" or "Implemented (zebra)".

zips/zip-0000.rst

Lines 655 to 662 in bf21364

A Standards ZIP SHOULD only change status from Proposed to Implemented
once the Owners provide an associated reference implementation. For
Consensus ZIPs, an implementation MUST have been merged into at least
one consensus node codebase (currently zcashd and/or zebra), typically
in the period after the network upgrade's specification freeze but before
the implementation audit. If the Owners miss this deadline, the Editors
or Owners MAY choose to update the Deployment section of the ZIP to
target another upgrade, at their discretion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants