Proposal to Mitigate NNS Advertisement Spam - a Temporary Solution

Total opposite. A proposal should be good enough to get accepted easily. The threshold for acceptance should be 75%, not 50%+1.

I know @ysyms, and he is actually a straightforward and honest young man who expresses his views and puts them into practice, who challenges authority and takes responsibility for his own actions.
The spam proposal by @ysyms is a good test to improve the security of the NNS system. The spam proposal by @ysyms is much better than the real attacks that want to disrupt the IC, and I think @ysyms is helping us to prevent these potential attacks. We should thank rather than denigrate him.

This topic of avoiding spam proposals has been around for a long time, I don’t understand why we still need an interim solution to avoid it?

Last time it was raised from 1 ICP to 10 ICP
This time it will be raised from 10 ICP to 100 ICP
In the future it will be raised from 100 ICP to 1000 ICP?

I understand that you want to solve this problem, but I would prefer a permanent solution to a temporary one.


That’s wishful thinking, everyone has a different opinion on how the same problem should be tackled and it’s hard to estimate when consensus has been reached without the NNS.

Platforms like this forum, Twitter, DSCVR, etc… can become eco chambers and public perception can be influenced by users with multiple accounts. The NNS is the closest thing we have to an actual democratic vote and since governance proposals don’t result in immediate on chain actions, I think it’s fine to use them as a poll of sorts, if you think about it that’s what they are at the end of the day as recent events showed.

On PoW chains consensus on IP is reached when enough miners signal support in the blocks they mine, I see governance proposals as the IC equivalent, a way to get as unadulterated feedback as possible on what the community thinks about a certain topic, but what we really should keep an eye on are the code changes and system upgrade proposals.

I agree but imo only for some topics like tokenomics, 75% might also be a bit too high, maybe 66% + 1? Same as number of nodes to sign a block.

I assume you were writing this response to me. Please don’t interpret this proposal as a denigration of @ysyms. That is not the intent. I have a healthy respect for @ysyms and the impact he has had on IC governance. I have been impressed with how much he has motivated the community to engage in governance over the last several months. This proposal is intended to address the very real threat of spam attacks that can exist for advertisement or political gain. As @ysyms has indicated many times on the forum, this attack vector is based on low proposal cost and the lack of any other mechanism to block it at this time. My hope is that this proposal addresses that issue in a diplomatic and intellectually honest way. I have no interest in criticizing @ysyms. I prefer to focus on facts and not personal attacks.

Regarding the proposal reject fee…I don’t know the right amount at this time. I guess it will depend on whether or not there are very many advertisement spam attacks launched. To me, the fee should be increased until it is just high enough make them infrequent.

1 Like

From my read, this is my take on a plan.

The NNS is not the place to add ad-hoc proposal but a proposal should be judge and agreed to before going onto the NNS.

This forum is where proposals for the NNS should be raise and argue till a consensus is reached and then all will know the purpose and reason to vote, accept and then no need for a cost of a rejected proposal which could be set at a million to deter spammers and no fear of a genuine proposal not being accepted as we have agreed and secure the success as a community.

1 Like

Thanks for your fair comments on @ysyms, really appreciated :heartbeat:. I just want peoples to know what kind of person @ysyms is.

To me, the fee should be increased until it is just high enough make them infrequent.

Regarding the proposal reject fee. I don’t think the spam proposals are now so frequent that we have to take a temporary motion to stop. 79944 is the 1th spam proposal for advertisement, it’s not 10th. are we overreacting? :sweat_smile:

The temporary solution only can reduce the chances of spam proposal, But it doesn’t completely avoid spam proposal. I think the negative impact is greater than the benefit of the temporary solution.

  1. Rising cost of proposal participation makes it difficult for communities or individuals to participate
  2. Now there are not too many proposals, but too few. More proposals mean more participation, and more participation means more good proposals are raised.
  3. More and more temporary solutions (55141, 70015, and the proposal we now talking about) are causing the community to stop believing that NNS proposal decisions are being made based on long-term benefits.

My solution:
In order to avoid the impact of spam proposals on the majority of people, we only need to control the range of people whose spam proposals are displayed. For the majority of people, only proposals with a certain threshold of proposal approval rate (e.g. 10%) will be displayed by default in NNS, which will filter the probability of the majority of spam proposals being displayed without sacrificing the right of the general public to participate in the proposals.
Of course, if someone wants to see all proposals, they can simply lower this threshold to 0.

I would prefer a complete solution that not only prevents spam proposals, but also has a positive impact on community participation in NNS governance than a temporary solution.

Happy to receive all your response. :grinning:

1 Like

As long as the current exchange rate mechanism (which is currently responsible for the vast majority of NNS proposals) is in place, the reject fee should not be increased any further.

The reason is that it is always possible for exchange rate proposals to be rejected (usually, due to network issues, preventing the conversion rate providers from casting their votes in time). When the conversion rate provider neurons run out of ICP, the ICP/XDR rate will no longer be up-to-date until the they are topped up.

I agree with those who are in favor of implementing a more permanent solution to the spam problem instead. Personally, I think the first step should be the “voter-based” rewards mechanism discussed here.

If the reject fee is to be increased anyway to prevent advertisement spam, this should be done after the new exchange rate mechanism is deployed.


I propose to remove ICPMN Neuron from front-end so that they don’t continue centralising NNS with useless proposals like this one. No offense.

100 ICP? Really?

Also DFINITY employees are members of ICPMN. Just saying.

Special Projects x ICPMN x DFINITY = Insider Computer Protocol

This proposal has nothing to do with ICPMN, but you know that already. This proposal topic is my suggestion, Wenzel Bartlett (wpb), acting as an individual contributor to governance related to the IC.

Feel free to submit any proposal you want. If it’s a good one then it will pass. If it passes, you will keep the fee…meaning that good proposals don’t cost anything.

The ICPMN is very transparent about voting
members and voting policy. You have been provided this link many times in the past, but here it is again for your easy reference.

100 ICP ? What about if ICP reach 1000$ ?
Is it really so much disturbing ? Maybe we should continue to ignore the spam. I prefer a bad person who submit a proposal than 1 good one censored by the fees. The situation seems acceptable now. We shouldn’t give them more energy and wait to see what happen in future. Let them lost 10 ICP. Perfection will not exist in democraty. The goal is not to reach perfection but an acceptable level of imperfection.

I prefer to deal with reality instead of far off hypothetical. The price of ICP is $7 today, so a proposal reject fee of 10ICP is $70. That’s all it costs to submit a proposal that the proposer knows will fail before they submit it. I think the penalty should be higher. Of course, if ICP price goes up dramatically, then the proposal reject fee should be changed accordingly.

I agree with your point about achieving an acceptable level of imperfection. That’s why I think we need to increase the proposal reject fee. The current fee is too low in my opinion. I think a higher proposal reject fee will achieve an acceptable level of imperfection until better solutions are available.

The Individual

Nothing to see here folks

What exactly do you want people to see? Are you trying to say that a public neuron owner should not have the right to make individual proposals? Are you saying that someone who is active in governance by participating with a public neuron should not be allowed to voice individual opinions?

Also, here are the preceding two paragraphs that you conveniently cropped out of your screen shot from our public policy document that tell a very different story from what you are trying to present…

The Neuron Owner shall be formally nominated by the ICPMN Team and approved by the ICPMN Voting Members at least every 12 months. It is acceptable for the same person to remain the Neuron Owner each year as long as this formal process is followed.

When the Manage Neuron features are implemented in the NNS dApp, control of the ICPMN neuron will be transferred to a group of people. At that time, this section will change and a different policy on election frequency will be adopted.

1 Like

I would rather make it so only named neurons can make proposals and I would rather just block YSYMS from making proposals for abusing power. 100 icp is too much.

Anyone can become a named neuron to start making proposals. We can block names neurons that abuse their power.


I’m baffled so many are proposing “solutions” which only make the governance experience clunkier and more centralized: increase rejection cost, timeout neurons if a proposal is rejected, limit proposals to named neurons, etc…

I’d understand if there were no other way, but much better and more holistic solutions have already been proposed, @skilesare’s ReProposal: Spam Prevention - Convert from system-based rewards to voter based rewards and @wpb’s Periodic Confirmation of Neuron Followees eliminate the spam’s financial incentives, so the only problem left to be solved is advertisement and malicious content being posted on the NNS, which would be fixed by adding a “spam” button as a voting option, many other DAOs use the same solution, e.g on Cosmos you can: accept, reject, abstain or report spam (called No with veto). Implement these 3 features and you have a much better NNS experience than with anything proposed in this thread.


Seeing as this is a thread on how to stop potential advertisement spam, I don’t think a move from $70 to $700 will affect advertisement spam, advertisement budgets are significantly higher than $700. So the real affect will be to suppress individuals who can’t afford to risk the money, and this goes away from decentralization. This will have no impact on whales and companies from coming in and advertising on the NNS, if anything it will clear it up so only they can afford to advertise.

Bad actors probably won’t care and will see it as what it is, a bigger speed bump that they can still just step over. If you can crowd fund enough to make legit proposals, they can crowdfund enough to make advertisement spam proposals.

Also if this is such a big risk and threat to the NNS then I feel like the priority of an actual code fix should be moved up to pri 0 by the Dfinity team and not left to the community hacking together a “fix” that doesn’t fix the issue.


Maybe we can implement auto decline from certain neurons. And I can just always auto decline @ysyms everytime.

My final submission in regards to the NNS, rewards, dead neurons, activity and spam.

Reading the many discussions put forward over a long period of time I have a proposal that I hope meets all the concerns brought forward from the past to current that I feel need to be addressed.

The first point to consider is about neuron holders. There seems to be 3 types of owners that have focus.

Dead Neurons
Inactive or Following Neurons
Active Neurons

Any neurons added to the NNS have decisions made about the level of rewards due to the quantity of icp and the length of staked time that they will receive for the owner. This should be upheld as any class action or court decisions may be at the cost of the voters on the NNS and not Dfinity.

This would apply to Dead, Inactive and Followers neurons.

Any extra rewards should then be given to the Active neurons.

The Followers list should only have groups that are approved by the active neurons and to Dfinity approved groups to update the NNS.

The NNS should have a link to this forum for nominations and discussions put up for changes to the Followers List and NNS updates for Active neuron holders to participate for extra rewards.

This is achieved by conversing on discussions and voting by Active neuron holders that are in the category of Governance. Voting power would apply as per the structure set out in the NNS and a neuron settings for investment return.

Governance discussions allow active neurons owners to put up discussions and would have a voting scale that when the levels of 75% has been achieved or as stated by the NNS the votes are transferred to the NNS for updating without further voting.

Any spam would have to come through the forum and I would assume that spam would not produce a result and be rejected.

The default cost of a rejected proposal on the NNS set to 1 billion so any hacks would fail and all updates for the NNS by the Approve Followers List must also come through the Governance discussion but all Follower neurons votes must be included in the voting.

As for the argument about a resubmit of the owners neurons to Follow after a set period must be avoided.

This is my suggestion to fix the spam concerns but to include all the issues raised to get all active neurons involved with their concerns included.

This is my read on all the topics on this subject over time and I have bundled it all together as a possible solution not the rule.


I like your idea. I wonder how much work it would take to implement. There could be an NNS proposal to block named neurons from submitting proposals (perhaps with a timer), which would ensure it is “hard” to block a neuron and the majority of the governing body agree they should be blocked. This idea might be a good discussion in a dedicated forum topic since it is not aligned with this proposal. If this feature were implemented, it could make it practical to decrease the proposal reject fee.

1 Like

This is obviously a bad idea. You may just make NNS more centralized.