ReProposal: Spam Prevention - Convert from system-based rewards to voter based rewards

I would like to propose a different approach that is passive but brings the rewards to those who are more active.

What if each proposal is active for 3 days so I can have a life and not have to login to the NNS every 2 hours but maybe daily and be able to vote on all proposals and not have to rush through these proposals and get to have the time to vote before time runs out.

Maybe then we will see that many neuron holders will reject spam as they will have the time to realize that a proposal is spam not as it is at the moment all spam is approved.

I notice that there are reject votes for the network upgrades this morning but why.

Just to repeat myself to be clear about why I think the NNS fails.

Everyday I feel I have to login to the NNS every couple of hours and if I see active proposals then I rush to vote before they disappear from my screen.

This I believe will reward those who are active and then those who follow have reduced rewards for following.

My reason for investing on the NNS is to receive rewards and NOT fund programmers and their projects. Over the years the funds that were invested early and bought ICP cheap is their reward and programmers and their projects have been given billions already.

So to be clear I say no to giving rewards to projects.


Agreed with every point, especially the second. Rewards from days with no proposals should be compounded and distributed eventually.


You don’t need to do that. The governance proposals that you need to follow are already 4 days long. For the others you can just follow DFINITY for…unless you’re wanting to reject them…then yeah…you have to be quick.

1 Like

Just to iterate from my side: I think this proposal would be a very practical & good solution (for the reasons outlined above) and thus I am supportive.

I have provided further details in the forum post which you linked. In particular for week-ends we would end up on a similar level of incentives (comparing gov weights=20 and exchange rate proposals vs gov weights=1 and no exchange rate proposals).

Functionality for this case is already implemented in the NNS. The reward pot on days without voting would be carried over to the following day.

Agreed. Aligned with the comment by @skilesare, we should consider increasing the reward weight for governance proposals. I would be in favour of that.

Yes, I also agree on that point. We should definitely consider establishing a NNS treasury, to which we could allocate for example the undistributed rewards. Given that this requires some discussion & design, this could be done in a second step.
In the meantime, we could track how much of the reward pot is not distributed.

Yes, probably the focus of periodic confirmation would shift. Instead of spam prevention it would be more about regular participation in governance.


Anything that does this directly will incentivize spam. Anything that does it indirectly by addition may. This proposal benefits indirectly, but by subtraction(inflation) and even that could incentivize spam a bit…for the really patient.

This is really good feedback. Thank you on all points!

I do see the issue with potential for spam on weekends. If there are no exchange rate proposals, no routine business proposals (e.g. subnet updates), and no register known neuron proposals, then there is likely an incentive for 1 spam proposal. TBH I think people will catch on pretty quickly that weekends are the time to submit register known neuron proposals, which will make it pointless to spam. I’d even offer to make the register known neuron proposals for anyone who wants to pursue it so we lower the barrier to entry on submitting that proposal. :grin:

@skilesare if I understand this correctly, with your proposal someone who votes by following receives less rewards than someone who votes manually.

Please could you confirm that?

If so, I think this has implications for named neurons.

For example, I have a named neuron that I only set up recently and only staked the reject cost of 10 ICP. I have a much older personal neuron with more staked which follows that so I only need to vote using the named neuron.

With your proposed changes, I think I would need to vote with my personal neuron in order to maximize rewards. In my case I could easily swap things around so that the newer named neuron follows the older personal neuron, and I vote with my personal neuron instead.

I’ve heard @Kyle_Langham say publicly that they do what I currently do, and that’s what inspired me to set things up the way I did.

However, the neuron they vote with is followed by ICPMN so if they wanted to swap things around then the ICPMN neuron would need to start following that instead.

Maybe making that change isn’t a big deal but I think people should at least be made aware of this otherwise they’d still be voting manually and not getting the appropriate rewards.

1 Like

I don’t interpret anything in @skilesare proposal that differentiates voting rewards between voting manually vs vote following. The only distinction is voting or not voting. If you vote on every proposal, no matter how your vote gets executed, you still maximize voting rewards.

Also for public named neurons, it doesn’t matter if you vote with your main private neuron that is followed by your public neuron or vice versa. Another method is to use hotkeys and cast both votes at the same time. Regardless, the only reason to create a new neuron to use as a public neuron is to prevent someone from linking it publicly to your main private neuron by tracing ledger transactions and stake amounts. This is best accomplished by funding your public neuron through an exchange (or Spinner Cash would work as well).

1 Like

I thought this terminology might imply voting by following vs. voting manually, which is why I asked.

I understand that this is the way it works now, but may not be how things work if this proposal was implemented (depending on the answer to my question)

1 Like

I think this points to a common misconception and I wonder if it’s because people view following a neuron as “passive”.

But it’s really the non-participants who don’t vote manual or follow a neuron on governance proposals that everyone is suggesting should get less rewards because their neuron is not voting at all on those proposals.

Maybe there’s a better term we all can use to define those who are not voting to replace “passive”?


I was about to ask you what terminology caused you to think it was about voting manually vs vote following. Thanks for sharing. I think @skileshare should clarify that language to avoid confusion.

1 Like

As it stands now, I think I would reject this proposal since it is currently scoped to reduce inflation by burning voting rewards. However, I think the proposal has a lot of potential if you give it some important tweaks. Hence, I propose that you modify your proposal in a few ways:

  1. remove language that uses inflation reduction as a driver
  2. add the concept of tracking undistributed maturity so it can be used in the future in ways that benefit governance and decentralization of the internet computer
  3. add that the Governance proposal weight will be immediately reverted back to 20x upon implementation of your proposal
  4. deleted as explained here
  5. add the clarification needed to address concerns expressed by @paulyoung

Of course, this is your proposal and your decision if and how to modify the proposal. I’m just offering my two cents on what I think would most benefit the IC ecosystem and increase the probability of passing. I appreciate you giving consideration to these proposed modifications.


That is 100% not the case. By “passive whale” I meant whales that have not bothered to follow someone other than dfinity for governance. I’ll clarify. I consider delegating one’s vote to someone more qualified the true power behind liquid democracy.


I agree with all of this in principal but I’m not sure if we can/should do all of that at one time *in practice *.

1.An NNS team member should tell us if any of those need to be separate to enact an on chain effect.
2. Adding anything about tracking burned tokens will complicate the code changes and delay the implementation. I think I’d rather use the reduction to light a fire behind the community to find a solution. To me it would seem that the worst that could happen is a reduction in sell pressure while we figure out what to do. But I’m open to other arguments or pull request that simplify the tracking.

1 Like

It might require a further clarification since there is a little more nuance. All neurons were originally configured to follow DFINITY for the All Topics catch all category. No neuron was originally configured to follow anyone for the Governance topic directly. Since the Governance topic was removed from the All Topics catch all, the neurons that receive voting rewards for Governance proposals are neurons that vote manually or have been configured to follow someone else for the Governance topic. Hence, your reference to passive whales really means any neuron that is still following only DFINITY for the All Topics Except Governance catch all category. Any neuron that is following DFINITY for Governance is active and voting.


If we could clarify this, I personally would appreciate it. Right now I am following DFINITY for all except governance because I am not familiar with the higher level knowledge (yet) to be able to determine if the code is malicious. Thus, I appreciated the ability to follow DFINTY for this reason. Now, if the way I have it setup does not make me “passive”, I would prefer to keep it this way, or perhaps I will follow @paulyoung or others with the higher level knowledge so if somehow someone does try to shoot through malicious code My vote will be to block it. Not allow it.

I do want to point out though, I also want to maximize my rewards and would appreciate the overall clarification on what the ramifications would be for any of these implementations.

Or, if you want to be direct you could just tell me the best way to vote and increase decentralization, yet, not blindly vote on code for reasons I mentioned.

Following DFINITY for All Topics Except Governance is an excellent choice.

Maximizing voting rewards today means you also have to be following a neuron you trust to always vote on Governance topics. There are now many options. DFINITY is a good choice because they vote on almost all Governance proposals. The same is true for other names neurons. Just make sure you set up your neuron with a Followee for the Governance topic.

This is excellent feedback for where I am. Sorry if I diverted the topic.

I was mainly focusing on this proposal though. If it was implemented would my current situation “follow DFINTY for all topics except governance” consider me “passive”? I do want to reserve the right to vote for governance proposals as they arise. However, as mentioned I want to still say “yes” on healthy updates, and “no” on anything that may ever be malicious. Does that make more sense?

This looks like a well thought out fix to the current situation. I agree with @wpb regarding the additions. Esp. the 20x Governance proposal weight. Creating a treasury for the outlined reasons is also a good idea. I was never a fan of “burning” and rather think putting resources to a use via ecosystem funding etc. is a way bigger value driver.

1 Like