Multi-stage Governance Proposals, Starting w/ Stage 0 and Stage 1

But this would mean that no rejected proposals would give voting rewards (if rejected in stage 0). Since a lot of regular non-spam proposals also get rejected, wouldn’t this change reward distributions?

Maybe in stage 0 we can just vote spam / not spam, or rewording it somehow that we vote the proposal to be brought to stage 1 where it still might get rejected. In this way I might vote “yes” on a legitimate proposal that I disagree with just to later on in stage 1 vote “reject”.

1 Like

I disagree - why should someone support a proposal that they disagree with just to give it visibility? The two week deliberation period is for getting people to finalize their viewpoints on a particular issue. If we wanted separate votes, like in primaries or state propositions one would put the proposal out there first, let it hit the 1% threshold, then have a 1-2+ week period of community deliberation, and finally put the proposal to a vote.

Additionally, once the proposal passes the 1% threshold it goes straight to a wait for quiet vote of a much shorter time period (can pass in 1-2 days). Someone who voted in Stage0 could miss their vote in Stage1. Additionally, voters to vote differently in Stage0 than Stage1 (on the exact same proposal) opens up the door for exactly what @wpb mentions, one might support proposals that they do not agree with to make them visible. Visibility should come from reaching a threshold of honest voluntary support, not from those who want to support a proposal in order for it to be advertised to all NNS voters, or worse - just so they can reject it in Stage1 and receive more governance rewards.

@lastmjs one other thing, if my argument above ends up being unpopular and you/the community think this should constitute two separate votes (one for stage0 and one for stage1), can we view neuron voting history via the same mechanisms as currently to see how that neuron voted in both stage 0 and stage 1 (For transparency)?

Edit: Comment deleted. No longer relevant. Thanks @justmythoughts

1 Like

Edit: comment deleted, no longer relevant.

Hi all,

I recently joined the Dfinity governance team and I am very much looking forward to discussing the various proposals on spam prevention with the community. This is a pretty interesting and important topic!

To facilitate and structure the discussion, I propose that we define a grid of goals against which we can assess proposals. As you will see, many of these goals link well to arguments made in the discussion in this (and related) threads.

Below you will find

  1. proposed goals of the voting process for the assessment
  2. initial assessment of the multi stage proposal against these goals
  3. some open points for further discussion

Please let me know your thoughts on A and/or B!

Overall, I think that voting in stages could be a promising improvement for the NNS governance, where however several open points and trade-offs require further discussion.


Proposed goals of the voting process to ensure secure & functional governance

  • Decentralized & active: No centralized authority is required for any part of the voting process. Broad and active participation of the community.
  • Purposeful: Proposals should not be misused/bogus. For example not for
    • Skewing financial rewards without meaningful proposals → This links to the kind of spam we observed recently.
    • Displaying bad/inappropriate content to users
  • Scalable: The process remains practicable when the Inter computer and its community increase in size over time.
  • Reactive: High priority items (e.g. urgent subnet update) can be approved quickly.
  • Accessible: Low barriers for entry. Also users with small staked amounts can propose and contribute to the discussion.
  • Efficient: The voting process can be completed efficiently by voters. For example it is efficient to identify worthy proposals and easy to vote

Initial assessment of the multi stage proposal

  • Decentralized & active: neutral.
  • Purposeful no reward skew: neutral/slightly positive. More effort is required to get to the overall vote. However, only partially addresses this issue, as there is still a financial incentive to bring spam proposals to the general vote in order to collect governance rewards.
  • Purposeful no bad content: positive. Seems like a pragmatic way to not show inappropriate content as part of the overall vote.
  • Scalable: positive. Only proposals supported by a certain amount of voting power will be submitted to an overall vote. This prepares for a future with many more gov proposals.
  • Reactive: neutral. Assuming that voting in stages only applies to governance proposals, this should not affect reactivity of urgent updates.
  • Accessible: neutral/slightly negative. Makes it more difficult to get proposals to an overall voting stage. However, in order to get a proposal passed eventually, you need to gather prior support in forums anyway. Thus, this is not really an extra barrier.
  • Efficient: neutral. Assuming that we are able to define an efficient (UX) user workflow.

Some open questions (from my perspective)

  • Would default following apply to the initial round?
  • How to decide on the right threshold?
  • What is the (financial) incentive for participating in the initial round ?

Thank you @bjoernek. It’s nice to have someone from Dfinity get involved in these discussions.

My comments below assume we resolve spam for the purpose of economic gain by proposal 55651 or something similar. My comments here would be significantly different otherwise.

I suggest default vote following should apply.

It should probably be low initially, but a parameter than can be easily changed.

I think it makes sense for there to be no financial incentive for stage 0. I’m not opposed to a financial incentive though.

I say just start somewhat low like 1% and see how it works. If nothing can pass or if too much spam is getting through we can observe and change it.

To keep it simple and to make stage 0 work as intended, I suggest no financial incentive for voting in stage 0. Part of the benefit of stage 0 may be that more altruistic or objective participants will be the ones getting proposals to progress to the next stage. It may take more effort from those promoting a proposal since the economic incentive is removed. Of course the incentive remains once the proposal is promoted to stage 1.

As time progresses we can tweak as needed.

would love to hear the reasons … because I can’t think of any .

spam for the purpose of higher voting rewards will be voted past stage 0 by a lot of people

1 Like

What would be the consequence on getting rewards on governance voting only?
It would solve everything.
Who can, have the knowledge, to vote for or against everything else other then Dfinity?
All other topic can still be voted but with no rewards.
Is this a crazy idea?

I think there is truth to this idea today, but I also understand that the vision for the future is that most or all topics will eventually become decentralized. I think people and organizations will form that have the expertise to propose, advise, and vote on the other topics. I suspect that is why voting rewards are not currently allocated to the Governance topic only.

Yes, understand. But my idea was only for the rewards distribution. So voting for everything else can still keep going on for decentralization, on a volunteer basis. But rewards would apply to governance voting only.
I donˋt see anything bad with this.
So simple too and it make sense too.

We should always keep as premise that the majority of people will always act in order to maximise the rewards, whatever the plan we figure. It has to be a constant for our maths.


@diegop I would love to hear your thoughts on this multi-stage proposal idea


This idea linked below was posted last night and I think it has a lot of potential. It’s another proposal that enables voters to designate a proposal as spam during the voting period with a new button or check box. The big difference from other similar proposals so far is the actions that are taken when a proposal is identified as spam.

What if during stage 0 votes were hidden and at the end of voting period only those who voted with the majority get rewarded with the same weight as system proposals?

This way voters are incentivized to pick what they think the majority’s decision will be, which in case of spam proposal is pretty obvious and they are incentivized to vote but rewards aren’t high enough to justify the rejection cost on the spammer’s side.

If the proposal passes stage 0 then rejection cost is 0 or reverted back to 1ICP or some fixed value in cycles.

I still think a “quorum” of yes votes where the vote gets extended to the base amount when it passes accomplishes the same thing with just one line of code. Add a filter to the NNS as it is basically the same thing with slightly shorter periods.

1 Like

Maybe we don’t need a threshold. The three proposals that get the most votes every day can enter stage 1

1 Like


1 Like