I am submitting this idea to the community as a solution to the recent spam issues, and as a strong foundation for a more robust governance proposal process moving forward.
The Idea
I propose we create a multi-stage governance proposal process, initially starting with two stages (stage 0 and stage 1).
All governance proposals must start as stage 0 proposals.
Stage 0 proposals are “hidden” in the NNS UI, accessed explicitly by the user in a special location. Stage 0 proposals have a rejection cost of 1 ICP (debatable), a threshold to pass of 1% (debatable), a lifetime of 2 weeks (debatable) before which they cannot pass and after which they are automatically rejected, and do not affect voting rewards whatsoever (there is no ICP reward for the voter after adopting or rejecting the proposal).
If a stage 0 proposal passes (adopt votes greater than threshold and more adopt votes than reject votes), then a stage 1 proposal is created with the exact same information (title, body, etc). Stage 1 proposals behave identically to the current governance proposals.
This multi-stage process addresses the spam issue by 1) creating a special location hidden from the regular view of users for possibly low-quality proposals and 2) removing the ICP incentive for creating low-quality proposals. This holding area is low-stakes, thus we do not discourage proposal creation, but the bar for being promoted to stage 1 and thus the full high-stakes view of NNS users can be appropriately set.
This also lays a solid and configurable foundation for more stages in the future (stage 2, 3, 4, 5 etc), where at each stage we can have different UI behavior and criteria for progressing to the next stage.
Technical Details
I propose we retire the TOPIC_GOVERNANCE topic and replace it with two new topics, TOPIC_GOVERNANCE_STAGE_0
and TOPIC_GOVERNANCE_STAGE_1
.
TOPIC_GOVERNANCE_STAGE_1
would behave exactly as TOPIC_GOVERNANCE
behaves now, no change in threshold, weighting, voting period, etc.
TOPIC_GOVERNANCE_STAGE_0
would be a new topic that behaves as follows:
- Rejection cost of 1 ICP
- Threshold to pass of 1%
- Mandatory 2 week lifetime (the proposal cannot be be passed or rejected before the lifetime is up, automatically rejected at the end of the lifetime if threshold is not met)
- No effect on voting rewards
Prior Art
- Formalization of proposals process
- [Proposal] Introduce an incubation period and minimum support threshold for governance proposals
- Proposal to restrict rewards qualification to a threshold
- TC39 (JavaScript language committee): The TC39 Process
- WebAssembly: meetings/phases.md at main · WebAssembly/meetings · GitHub
- Bitcoin Improvement Proposals: bips/bip-0001.mediawiki at master · bitcoin/bips · GitHub
- Ethereum Improvement Proposals: EIP-1: EIP Purpose and Guidelines