Goal
As a community, revise the current governance voting rewards system to disincentivize proposal spamming for profit, while still incentivizing voter participation and allowing anyone to easily submit an NNS proposal (no censorship).
Motivation
Over the past week, a flurry of governance proposals have spammed the NNS in order to take advantage of an increase in rewards from voting on governance proposals, which was changed earlier this year.
Here is a list of those proposals:
- https://this is a test title čæęÆäøäøŖęµčÆęę”
- $(title.md)
- This proposal is the Chinese version of " How-To: Create an NNS motion proposal " .åčÆ
- Frequently initiated motion proposal period lasting seven days. åčÆ
- Please lower the technical threshold for initiating motion proposals.
- 1.2 Hope plug wallet supports internet identity.åčÆ
- [2.1 EXT(Extendable Token Standard) is one of the recognized NFT standards in the ICP blockchain.åčÆ](Internet Computer Network Status)
- 2.2 The NFT stored in the stoic wallet should not need to manually add the canister id before it can be displayed.åčÆ
- 3.1 Recap on DFINITY Foundation"s vote on proposal #52564.åčÆ
- 3.2 Let us get to know NNS again.åčÆ
This isnāt the fault of the person creating these proposals - it simply demonstrates a flaw in the governance rewards system and should be remedied ASAP (given adequate time for community discussion and input) to stabilize the rate at which rewards are disbursed from the NNS.
Potential Solutions
Here are a few rough solutions that I have come up with, but I welcome the community to add to, expand upon, and rip apart each of these ideas. Each idea aims to remove financial incentives to creating NNS proposals, while retaining governance voting incentives and limiting any barriers to creating proposals (protecting NNS proposal censorship).
1. Fix governance voting rewards on a per time period (week, month, etc.) basis
The idea here is that regardless of the number of governance proposals submitted, the voters are rewarded for their participation divided by the number of proposals submitted in the time period, and these proposals are disbursed at the end of the time period to ensure the correct voting reward per vote cast, and that no vote on a single proposal is worth more than any other proposal with that time period.
If the NNS receives 1 or 1000 proposals within a time period, a participant that votes on all proposals will receive the same voting rewards. The governance rewards paid out over time will therefore be predictable and stable, and the fixed governance rewards will remove an financial incentives or potential conflicts of interest in creating an NNS proposal.
The community can decide how to handle the case where 0 proposals are submitted in a time period, as there are many different ways to handle this.
2. Governance voting rewards decrease by a factor on a per time period basis
This idea is similar to 1, except governance voting rewards are no longer fixed within the chosen time period.
After each proposal is created within the time period, the amount of rewards disbursed decreases by an agreed upon factor (1/2, etc.). This allows rewards to be paid out after each proposal instead of waiting until the end of the time period, but means that some governance proposals would have greater rewards than others. While a strong financial incentive remains in creating governance proposals and participating in voting, this incentive drops off depending on the rate at which the governance voting rewards decrease.
3. Governance Proposals have a minimum week-long incubation time before going live, and governance voting rewards are fixed on a weekly basis
This idea builds off of 1, in that weekly governance voting rewards are fixed and therefore predictable, but adds a minimum incubation time during which the proposal is locked to voting, but visible to all NNS users. After the incubation period, the proposal goes live and is unlocked, allowing voting. The incubation period gives the community the necessary time to review and discuss a proposal before it goes live, and allows a submitter to withdraw and revise the proposal if they would like to do so.
The general timeline would look like this:
- An NNS user submits a governance proposal to the NNS. This proposal is available for viewing, but locked to any voting.
- (recommended, but optional) The NNS user creates a post on the Developer forum/IC community channels outlining their proposal and inviting discussion. They can choose to do this before or after step 1 (submitting their proposal to the NNS).
- Every Sunday, proposals submitted between 1-2 weeks prior (between 2 Sundays ago, and the previous Sunday) unlock and are live for voting.
- The proposals submitted the prior week (between that Sunday and the previous Sunday) are queued up and available for viewing in the NNS (but still locked), such that a voter will be able to view and understand which proposals will unlock and go live the next Sunday.
- The process repeats each week.
While more complicated, this approach has several benefits over 1 and 2.
- Voting rewards remain predictable while allowing immediate voting reward payout, as the NNS knows how many proposals will be live in a given week, and can therefore determine the total voting rewards for a given proposal.
- The incubation period allows NNS voters time to reflect, discuss, and potentially improve governance proposals
- The incubation period allows NNS users to do their due diligence on a proposal and bring up any flaws or issues with it, helping protect the community against a flawed or malicious proposal from reaching the NNS without opportunity for oversight
- Proposals submitted during a given week will all be queued for viewing together (step 4), and will go live/unlock together (step 3), meaning that NNS users will be able to predict and schedule adequate time for both reviewing a proposal and voting on that proposal if they choose to do so. This could potentially allow more NNS users the time to manually cast votes, instead of needing to follow neurons due to a lack of time.