Proposal to restrict rewards qualification to a threshold

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.

6 Likes

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.

3 Likes

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.

2 Likes

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.

3 Likes

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."

2 Likes

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?

1 Like

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.

2 Likes

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 (internetcomputer.org) 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

@jwiegley

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 https://dashboard.internetcomputer.org/proposal/55651, where the user just puts in the ID of the proposal (i.e. 55651) and it attempts to take me to https://nns.ic0.app/v2/#/proposal/<proposalID>, and if not found returns a not found error. Or I can just link to https://nns.ic0.app/v2/#/proposal/55651 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 https://nns.ic0.app/v2/#/proposal/59999 (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).

3 Likes

Well…most people won’t see them…at first. You are damn sure @wpb will see it!

As far as getting to 3%, you’ll likely have to do some prep work politicking, and generally getting feedback from voters that will make your proposal better and more likely to pass.

I appreciate your attack at the extremes of what is possible, but I think it misses the mark of how humans will actually behave. Can whales push a proposal over the threshold? Of course! That is how skin in the game incentives work.

If someone with that much riding on the success of the IC votes yes for something, I want to see it. If no whale will vote for a how is the weather today post, or all reject, then no one else needs to see it either. It is a low bar to get over.

The rewards issue is a harder one to solve and I have made proposals elsewhere to address that. This just tries to keep porn off the front page without punishing anyone.

1 Like

I am against any proposal that attempts to change the current flow of NNS proposals. Anything that gives weight, hides, or creates barriers for actual valid proposals no matter how small the barrier should not be considered. I am under the impression that before giving governance proposals more weight the NNS was very well balanced. Designed and fine tuned to the nanometer. We disrupted that ecosystem by changing a core aspect of how the system operates.

Static mechanisms that rely on unmanned levers, weight systems, pulleys, scales, switches, etc only create a slippery slope of more mechanisms to try and catch inevitable pressurized errors.

The NNS is a living breathing ecosystem and valid proposals/stimuli should be processed as is now. Lets say a small group of niche specialists want to submit an important proposal for change. A proposal only .5% of the population will understand and let alone vote on. If it arrives to the NNS without any barriers its much easier to vote on within that small group of specialized neurons. Creating a threshold barrier would force that group to canvas themselves to the masses for adoption who will only see gibberish or cater to larger nuerons for adoption (corporate entities) or cater to publicly known neurons or humans for adoption (politicians/media). Were recreating the same bureaucracy were trying to get away from. This is now very black and white for me at this time. We must revert back to original settings and set up a system that uses only what is already in place to control for spam. Nothing new that changes how valid proposals are organized. Valid proposals are valid no matter what. We cannot allow valid proposals to be hidden away.

2 Likes

This proposal is like sweeping the good and the bad together under the rug. I think we can do better.

1 Like

This 0.5% can’t get anything passed. They have to have at least 3% understand it enough to vote yes. I agree that things were better before and I think we should revert to all proposals being valued the same. I think it is the only way to not have to create an overcomplicated system.

This proposal just creates a threshold that something that can’t get 3% shouldn’t figure into rewards at all. Take away the hiding aspect of the proposal and consider just the suggestion to not figure any proposal that can’t get at least 3% to count toward rewards. That is no different than the old system and just makes sure that you can ignore trash proposals and not vote on them as opposed to voting no.

I can amend the proposal as such. See below:

Motion to restrict rewards qualification to a threshhold

Objectives:

Decrease incentives to submit spam governance proposals
Protect the NNS from censorship, and preserve the current accessibility of submitting NNS governance proposals (i.e. does not increase the cost or difficulty of submitting an NNS proposal).
Allow NNS voters to ignore spam

Note : In this post, all references to “proposal” refer to all proposals, those could be restricted to governance proposals, but I don’t think that is necessary.

Solution

Update the NNS canister to skip rewarding proposals that have not received at least the Minimum threshold of Yes votes required to pass threshold of Yes votes(currently 3%).
Update the NNS canister to extend the end date to match the initial voting period when the proposal passes threshold of Yes votes required to pass Yes vote proposal.

Implementation for Proposed Solution

After line 6027( https://github.com/dfinity/ic/blob/79bbd3177f6532037eb29d62b3e52a364a8103ee/rs/nns/governance/src/governance.rs#L6027 ) add the equivalent Rust code to the pseudocode below:

if( proposal.tally.yes/proposal.tally.total < MIN_NUMBER_VOTES_FOR_PROPOSAL_RATIO){continue;}

After line 5274(ic/governance.rs at 35acac6c1113a23e2cb92329f1431c5254567e6e · dfinity/ic · GitHub) add the equivalent Rust code to the pseudo code below:

let oldYesRatio = proposal.tally.yes / proposal.tally.total;

After line 5284(ic/governance.rs at 35acac6c1113a23e2cb92329f1431c5254567e6e · dfinity/ic · GitHub) add the equivalent Rust code to the pseudo code below:

if (proposal.tally.yes / proposal.tally.total >= {MIN_YES_THRESHOLD} and oldYesRatio < {MIN_YES_THRESHOLD}){proposal.deadline_timestamp_seconds = deadline_timestamp_seconds + (now() - proposal.proposal_time_stamp_seonds);

This proposal is put forward to complement https://forum.dfinity.org/t/proposal-introduce-an-incubation-period-and-minimum-support-threshold-for-governance-proposals/12220/14 which is a longer-term solution. This implementation could be created much more quickly.

Accept: To vote Yes (Accept) means you agree that the above code changes should be made.

Reject: To vote No (Reject) means you do not agree that the changes should be made."}}; neuron_id_or_subaccount=opt variant {NeuronId=record {id=12008772471346176261:nat64}}})'
1 Like

But can you do better by only changing 4 lines of code :wink:

1 Like