Increase Proposal Rejection Cost

No solution can stop all the spammers in the world. Everything is relative.

As long as a solution can stop some spammers of the world, it then has value.

2 Likes

For visibility (if this proposal is accepted), adding link to suggestion to change Reject Cost to Spam Reject Cost and get spam identified (>50% of votes) by a check box Is Spam (and cli opt --is-spam which defaults to false) in every proposal (or Is Spam button, I think similar was suggested by @Kyle_Langham).

  • no cost of good-faith rejected proposal so encouraging serious proposers
  • minimal administration overhead for governance - will be manageable also with SNS

I really appreciate everybody’s ideas here, but I want to stress the main point of this proposal again:

Of all the ideas being discussed to reduce proposal spam, increasing the reject cost is the only change that does not require new code to be written and can be deployed immediately. All other suggestions require engineering work and will therefore take much longer, while increasing the reject cost is simply changing a registry config value, which can happen immediately. @LightningLad91 has stated in this thread multiple times that he sees this as a temporary measure.

The question is not whether you think this is the best way of addressing spam proposals or not, the question is whether you want the reject cost to be 1 ICP or 10 ICP while we’re working on better solutions to reduce proposal spam. If you’d rather have rejected proposals cost 10 ICP than 1 ICP today, then you should vote yes, even if you think that long-term there can be better solutions.

4 Likes

I realise this is probably too late, since the proposal is already out… but it should come with an expiry date. That way there’s no chance that if it gets accepted, it remains.

This is clearly an emergency measure. It should be treated as such. After 3 months, if it is still required, re-propose, otherwise implement whatever better solutions have been come up with.

3 Likes

I would accept this proposal if it came with a 3 month expiry date at which point the rejection cost is reset to 1 ICP.

Should give adequate time to flush out more long term proposals and to see if we want to keep this measure in place or not

2 Likes

If I had a way to implement an expiry date I promise I would. As @Manu stated above we are constrained by the capabilities of the NNS. The best I can do is uphold my promise to submit a proposal to lower it in the future

1 Like

I could be totally off base with this next comment, as I’m not as familiar with the root IC codebase as I would like to be.

When this governance proposal passes, someone from DFINITY will manually go in and update the proposal rejection cost, no? I did a little bit of digging and found this

If you look further, you’ll see line 125 → const E8S_PER_ICPT: u64 = TOKEN_SUBDIVIDABLE_BY;, and TOKEN_SUBDIVIDABLE_BY is defined in the ledger canister. I have no idea what E8s are, but its clear that at this point the reject cost in the code is defined in terms of 1 ICP.

This means that someone will need to change line 160 of the file I linked from

reject_cost_e8s: E8S_PER_ICPT,

to

reject_cost_e8s: E8S_PER_ICPT * 10,

won’t happen the second when the vote is complete, but at some arbitrary time soon after when the change gets pushed through by an engineer.

If you put and expiry date in the proposal, then DFINITY would be obligated to reset the rejection cost (again manually) at that date in the future.

This is unless there’s currently some mechanism in the IC repo code that allows a governance proposal itself to be appropriately configured with the specific wasm binary for updating the governance canister, such that when it passes, it makes that update.

@Manu or anyone else who’s knowledgable on this, if there is such code in the IC, or an example/docs of how one might set up such a change for a proposal, can you point me to it? :slight_smile:

Those notes were previously published on Twitter, but I was encouraged to post them here as well.

unpopular opinion: the NNS works perfectly fine and people are trying to solve a problem that doesn’t exist. increasing the threshold to submit a proposal to 10 ICP is excluding to a whole bunch of people around the world and in our ecosystem that don’t have the resources to put this up. some people argued “hey if that proposal is nice i’m happy to sponsor it”. but that’s exactly the problem, your proposal shouldn’t need to appeal to someone to allow it on the NNS. we don’t need gatekeepers that decide what’s allowed to be on and what not.
people come up with all sorts of - sometimes more, sometimes less - complicated proposals that - most of the time - introduce some sort of centralisation of power and the ability to censor. in an ideal world everyone that locked their tokens is participating in governance and earn voting rewards, the game theory behind the NNS incentivises this. why isn’t this the case right now? @dfinity not only changed voting reward weights but at the same time disabled default following for proposals on the governance topic. this lead to a situation where a lot of neurons that previously followed the ICA and DFINITY on ALL topics suddenly stopped voting for governance proposals, with the change in voting reward weights this lead to a significant loss in voting rewards for neurons. and also openend the door for the “spam” proposal “attack” we are seeing right now. the authors create a lot of governance proposals, which dwarf the rewards paid out for voting on other topics. this realtively big chunk of is only paid out to people that actively changed their follow targets for the governance topic. as a comparison: for recent exchange rate proposals 98% are in favor, this is a topic neuron holders still follow the foundation or ICA for by default. for proposal 53420 that as recently rejected due to ALL know neurons voting NO, the voting power against was only 42%. this means that it’s very likely that around 50% of the voting power for governance topics was “lost” due to the changes introduced by dfinity. this change was intended to further incentivise participation in governance and decentralising the network by taking voting power away from ICA and dfinity, which is great. instead of trying to stop people from creating those “spam” proposals, we should tackle the problem at the root, which is taking away the economic incentive to create them in the first place. if we had a +95% voting power participation for governance, you could of course still create those “spam” proposals, but they wouldn’t benefit you and actually just cost you money. if you’re happy with spending 1 ICP for shitposting, go ahead! so what is my proposed solution to this? education! @dfinity is (imo) responsible of informing people in the broader ecosystem of this change. not everyone lurks in the forum and not everyone read the nns campaign put forward by @BartlettWenzel and @AI_ccp251th
or constantly checks twitter. dfinity should finally step up to their responsibility and conclude an information campaign using all their outlets, email, twitter, youtube, community conversations and so on to try and reach as many people as possible. the nns works as intended, it economically incentivises people to participate in governance.

4 Likes

1 e8 = 1 ICP * 10^-8.

Yes, that value would need to be changed. We can actually change that via an NNS proposal, but it is a bit painful to submit such a proposal. If the motion proposal passes then DFINITY will submit that proposal, and I’d be happy to share the exact command used for that proposal (I don’t know it off the top of my head).

1 Like

I think dfinity as an association can serve as the first layer of defense for obvious spam proposals. It feels like a lot of energy is spent on finding “the best” way to deal with proposal trolls, instead of picking one that “just works” and move on.

1 Like

The problem is that 10 ICP will likely, NOT, cut it. This is because the average voting power is ~4400.

A cabal of determined adversaries (20+)can group together and make it financially viable decision to bear the rejection cost of 10 ICP.

Any other mechanism will require coding changes that will take months to implement.

Accordingly a viable amount of rejection cost is 100 ICP.

1 Like

If the whales keep funding the spams (and probably will because it is beneficial for them) and the 10 ICP prevent small investors from proposing because of the higher cost (some IC developper have already wrote so), what will be the value you are talking about?
We have about 2 spams per day now. Good chances we will keep having 2 per day at 10 ICP a piece but way less good proposal, almost none.
It has good chances to do exactly the reverse of the intention.
I understand it require almost no programming but brings no solution to me.
Weˋll see.

1 Like

If somebody is really a whale, this extra yield from voting on spam proposals would be puny to them. If this extra yield is actually meaningful to them, he/she’s not so much of a whale.

The proposals of the best quality shall win in the end on NNS. It has nothing to do with big or small investor status. There are many outlets for innovative ideas to be put forward and go through rigorous debates with community members, such as the developer forum, Twitter, Medium, DSCVR or Reddit. NNS does one thing only - voting. It’s not for sourcing new ideas, debates or discussion.

2 Likes

10 ICP is about $200, give or take. It’s an expensive steak meal with some wine. It’s enough for an average Joe in the street to pause a second before walking into a Morton’s and give him that sense of satisfaction when he receives $200 voucher at the end of the meal for being a loyal customer (so, he gets a free meal). At the same time, it’s not so exceedingly extravagant that he’ll just dismiss this idea all together outright.

100 ICP would be $2000. Mentally this is just too much for an average Joe. He would be so intimidated by the thought of walking into this Morton’s that he would not even get out of the house.

1 Like

I’m a fan of hungry metaphors

1 Like

I think about this in financial terms. If one spend 1 icp, is one getting 1.5 icp extra? In that case , it is worth it for someone. That cutoff point currently is at roughly 2400 icp locked for 8 years for that person.

Presumably such rational adversary would not spend 10 icp to get 1.5 extra icp.However he/she can collab with 10 other similar adversaries and spend only 1 icp ( even if the rejection cost is 10 icp) to get that 0.5 icp extra.

Finding 100 similar minded people would be difficult.

This change has been made active with proposal 56214, so the reject cost is now 10 ICP.

1 Like

How does this affect proposals that were created before the change, but are still live (voting has not yet concluded)

They are not affected, the reject cost is determined when the proposal is submitted.

2 Likes

I would like to respectfully disagree with this. Before I do, I am not a whale, I am against spams proposals, I have no affiliation with @ysyms

A whale with 605k ICP just crowdfunded 270 ICP to generate spams as per @ysyms proposal 56438. Within few hours, the spam project have received almost 66% of his goal (390 ICP of 600 goal).
I hope the community , including myself, is learning from this.
To my opinion, some whales are investors only and are in only for the money, wich is OK with me. They have the right to act like this. We cannot ignore those facts anymore while proposing. Interesting enough, this whale was voting to reject all spams and now, he fund them. So it is proven now that spams proposals can be more than puny to them.
Numbers: This whale (to my rough calculation) will earn 242 ICP every day, over 7500 ICP for the month. What are 270 ICP to him to receive 7500 ICPs? I guess that if some ICP will be missing to reach the 600, this same whale will add the necessary ICP to fulfil the crowdfunding.

For the second part, assuming all the best quality of proposals will pass. Well, this same whale have good chances to prove otherwise. The change from 1 to 10 ICPs for proposals is not stopping the spams and is making nervous some small investors to make good proposals, after all debate and everything. So that proposal have good chances to be proven not a good quality proposal while it has widely passed.

At same time, making the governance proposal weight at 20 make so much sense. To me, a governance proposal worth much more then an exchange rate proposal.
And personally , a manual voting also worth more then a following vote.
So bring the governance back to weight 1, although it would stop the spams, is not a solution to me.
We have to remember that those spams are changing the distribution of ICP rewards but does not affect the supply, wich is a positive outcome (not negative at least).

The community should all work to achieve a simple, permanent and effective way to eliminate spams, where there would be any behavior trust. There is no urgency to do things right, and permanent

This is only my opinion. not to tell anyone what to do, and have no intent to say some people are right or wrong.

EDIT: I feel we are lucky @ysyms is a white spammer and want to help the IC. He could propose 39 spams tomorrow if he wanted to but he make proposals on a much longer period of time while being active proposing some solutions. Somehow, thank you @ysyms . You will make IC a better system even more. Those spams would have happenned anyway at some time, sooner or later.

2 Likes