Proposal to restrict rewards qualification to a threshold

Yeah…I think this is tied to the fact that governance proposals have a multiplier. We should probably remove those and even the reward weights all back out to 1 or this will continue to be a problem.(ic/ at 79bbd3177f6532037eb29d62b3e52a364a8103ee · dfinity/ic · GitHub ← code that does the calculation).

I think that is a separate issue though…or should I add it to this one?

1 Like

The issue here is that even if we get rid of the direct financial incentive to spam, we still have the indirect(I want something seen by a bunch of people). Admittedly this proposal addresses the second one more than the first. I think if you fix the first, this one also fixes the second.

i think in general you want more engagement not less, so lowering that would lower the engagement.

i don’t see what that guy is doing as spam btw i see it as someone acting rationally given the design of the system. he is adding value for himself and others.

1 Like

also the weights i think work such that they will optimize at a certain amount of proposals per day after which the marginal increase will be such that “spam” wont really be seen (assuming there is a simple voter engagment lvl filter)

for example if there are 20 legit proposals in a day adding one extra spam proposal will not increase the rewards much hence it wont be worth economically to spam, hence it will not be rational for him to spam anymore… unless he just want to be heard by some subset of ppl

so i dont think u need to worry about this in the long term, assuming of course that governance proposals engagement increases with the expansion of the network

Decentralization progress will reverse if proposal weights are reverted back to 1. Why not focus on removing the discrepancy between how many people vote on governance and how many people vote in all topics except governance. Financial incentives for spam will go away if we incentivize everyone to intentionally select their Followees and re-confirm them periodically.

Glad you liked my proposal :slight_smile:

I really like your adaptation and the ideas presented in this proposal, and honestly feel the version you’ve presented here would be the best combination of easy to implement as a short term solution + effective in combating spam proposals while achieving the objectives listed at the top of the proposal.

I agree that my proposal is more of a long term one given the backend changes, and would probably take on the order of a month to a quarter to implement.

One thing I may not have made clear in my proposal would be that the “incubating” proposals would be listed in a separate view, such that an NNS voter would not be required to by the UI or financially incentivized to look at them. An NNS voter would need to actively search out incubating proposals. Think about it like the difference between your twitter feed (live proposals), and actively searching for a new person or tweet (incubating proposals).

Well, possibly we won’t agree on the process but that’s not important.

Last thing I forgot to mention is, that my intention is to keep the solution as simple as possible because SNS will likely mimic the same - I believe a check box Is Spam (or --is-spam cli opt) adds only minimal (close to zero) administration.

Also with Rejection Cost replaced by Spam Rejection Cost we could even increase the amount if needed, still allowing serious community members to make governance proposals (the Cost wouldn’t be burned in case of simple/non-spam rejection).

But reading the latest spam proposal, actually this might not help as well :slightly_frowning_face:
It looks like at least increasing the rejection cost of the proposal to 2000 ICP would stop me outright.

So may be suggestion from @wpb will be the best option:

After reading through this proposal again, I think it only works for spam that are presented for the purpose of advertisement and announcement and only if there is already no incentive for spam proposals for the purpose of financial gain.

I can’t be an advocate for removing proposal weights to remove financial incentives for spam because I think that is the primary tool that has caused an increase in participation in governance proposals, and therefore advanced governance decentralization.

In order for this proposal to be effective, people have to be unencumbered from the financial decision. I don’t think that will happen. The primary reason these spam proposals are happening is because there are financial incentives to make them. Hence, expecting people take the higher ground by ignoring them seems unlikely. This paradigm is also a problem for public neurons. If ICPMN, ICDevs, or cycledao were to ignore these proposals, then followers would just seek new neurons who are willing to vote in ways that achieve the highest rewards for them.

I think we need to create conditions where the “right” answer is also the most economically advantaged answer, which to me means that all informed decisions made individually and through liquid democracy need to result in equal financial gain.


There seems to a broader question being overlooked in this discussion, which is ‘what is a governance proposal?’.

At the moment the answer is: anything that is submitted as a governance proposal. As @wpb first demonstrated (kudos) even purely informational motions - accept/reject does not affect the outcome - that are classified as governance become eligible for higher rewards.

Within the group of not-governance proposals, there are null objects, informational objects with good intent, others with bad intent, and maybe some that are better submitted under another topic, to name a few possible categories.

My point of view, as usual, is that you can’t manage all the motivations behind these different types of non-governance proposals with a system that is designed to reward governance proposals. It either distorts the governance reward systems, making it less good as doing what it should, or fails to address one or more types of non-governance proposal, pushing the problem around instead of solving it all the while making the governance system more complex or harder to use.

On top of this, the governance reward system is constantly under review, making 8-year investors rather twitchy, because their locked-up ICP is subject to fluctuating conditions - not a good basis for any contractual agreement.


Do you think returning back to an even weighting would reduce that participation? Or do you think that we just have more ground to make up and that we need to leave it in place? Just trying to understand your position. I think any imbalance in weight in will cause this problem.(absent other adjustments.)

1 Like

I would argue that the imbalance that we have right now is not the proposal weights. When I stop to think about the weights, they feel right. There is no way that exchange rate proposals should be valued the same as governance proposals, especially since there are 144 of them every day.

Instead, I argue that the imbalance is the participation rate. I think there is too much satisfaction in the community with treating ICP tokenomics like a security. It is not stock in a company. It is a governance token and is supposed to incentivize people to participate. We have to earn those rewards…we are not entitled to those rewards. Yet we have over half the voting power not participating in governance and still getting rewarded for participating by way of default configuration of their neuron. I believe this is the imbalance that is causing the spam proposals.


We can debate whether this is good or bad, but Origyn rewards for having voted during a 24 hour period. As of now, we do not have a difference between proposal types, but that is coming. If there are 15 proposals in a 24 hour period and you vote on one of them, you get the whole reward. We are more of an industry-focused blockchain, so we expect most votes to be via liquid democracy. We don’t expect users will make the minimum effort because for example, we expect the luxury group to follow other industries outside of luxury because they know those groups can better govern themselves. The general philosophy is that like the specialization of labor in a marketplace, specialization of governance produces a much healthier governance structure than maximum participation. As long as we provide for the ability for people to jump into the fray when it does become relevant to them, most of the time it is advantageous for them to delegate votes to those who “know what they are doing.”

I’d like to see the NNS do the same. I think rewarding for having participated to a minimum threshold should qualify for the whole reward. This can be generalized to require that the user has voted for(or had a delegate vote) at least one proposal in all eligible categories during the rewards period. There is still a possibility of spam up to n=1 for each category, but expanding the window to 1 week instead of 1 day might get us to an n of 1 in each category.


Hmm…You may underestimate the damage one of those exchange rate proposals slipping through the cracks could disrupt the economics of the IC. If one user were to get one through they could produce a trillionty cycles and undermine the entire deflationary mechanism. They are very, very important. They are certainly more important that “Temp Check” proposals. I’d argue that having different weights violates the complexity principle and makes things too complicated for most users(although it has been great for increasing participation in the short term."


Unless I am mistaken, this change would give first refusal to all manual voters. If they all vote to reject a proposal it will never make it to the NNS, though I guess it wouldn’t matter if the % of manual voting is much higher than 3%. In fact, that number seems crucial in understanding the amount of risk with this route.

@skilesare What is current % of manual voting? Are there any stats you can show that help with this?


I think @Kyle_Langham would be able to answer this much better than me. I know that when ICDevs votes it trigger about 7 million votes. I would imagine ICPMNS and cycle_dao are much higher than that.

But yes, your conclusion is correct. After the vote change mechanic goes into effect it would be easier for usual followers to change votes after lobbying by proposal creators.

When I checked a few weeks ago, I calculated that there was about 49M votes being cast manually.


I didn’t find this answered in your proposal: If I don’t see proposals below the 3% threshold, how do proposal ever reach the 3% threshold?

The same reason,I think this plan is very bad

  1. Do you know the state of the NNS before the weight of the motion proposal was increased? You can check it out, NNS Proposal ID 34839 ( In fact, Not even 2% engagement without great incentives,Even less likely to reach a 3% approval rating

  2. If you look at the voting curve of the motion proposal, you can see that many people actually have more than 3% of the voting weight, and setting a 3% threshold will only give certain people privileges

  3. It cannot solve the reward problem, I only need to change the content, you can let the whales have enough reasons to support my proposal to get the benefits. You can check my early proposal

  4. It cannot solve the Attack proposal. If most voters will view the incubation-based proposal, then the latency design does not solve any problems, it will still become the broadcast of the community,
    If most voters do not need to see the incubation proposal. The incubation proposal will only be manipulated by the giant whale. (34839 proposal forum post has more than 200 replies, there is no 2% participation)

1 Like


I think this might answer your question. From what I interpret, the NNS voter would have the slider set by default to the 3% threshold (minimum required for a proposal to pass).

Anything under that would not be visible unless the NNS voter lowers the threshold to 2%, 1%, or 0% (all proposals).

There could then be a hotlink or a search functionality like, where the user just puts in the ID of the proposal (i.e. 55651) and it attempts to take me to<proposalID>, and if not found returns a not found error. Or I can just link to as long as I’m logged in to the NNS.

All of this search/hotlink functionality seems to be in place. In fact, when I try to navigate to (which does not yet exist), I already get an error in the NNS app.

From what I see all of these changes can be handles by the frontend only (no backend changes necessary, even for the search/hotlink).