[Discussion] Adding an active "abstain" option to voting on NNS proposals

(As a clarification, all mentions of DFINITY in this post refer to the DFINITY neuron, and not the entire DFINITY organization or its employees)

Motivation

Recently, the DFINITY Foundation’s vote on Governance proposal #80970 (“Spam proposal”) and #86639 ("Temperature Check"), specifically their “yes” vote on the Temperature check spurred a lot of debate around not just the contents of each proposal, but why the DFINITY neuron would actively support or vote against such proposals.

The goal of this discussion is think through the introduction of an active ABSTAIN option, such that a neuron can actively abstain from voting on a governance proposal without forfeiting their governance rewards.

This would allow all voters and neurons, including DFINITY to fully support and/or reject the proposals they vote on without reservations, and to actively ABSTAIN from voting on proposals for which they are neutral, conflicted, or do not have a strong opinion.


Discussion and Open Questions

The goal of this discussion is to explore ways to introduce the option to actively ABSTAIN from voting as an option without introducing unnecessary complexity of implementation or negatively affecting the security of the NNS.

To clarify, actively voting to ABSTAIN is not the same as failing to vote on a proposal, as the active option will still earn voters rewards, whereas the latter will not.

With respect to abstaining affecting the security of the NNS (voting to ABSTAIN instead of voting NO makes it easier to pass a proposal), I believe there are certain voter percentage threshold values which @bjoernek may be aware of that will not impact the quick passage of code updates. Today, over 90% of NNS voting power still follows DFINITY on non-governance proposal topics which pass instantly when the DFINITY neuron votes.

Implementing this feature opens several questions, one of which is whether or not a tally of ABSTAIN votes should be kept track of, and what the outcome should be if the majority vote to ABSTAIN (should this outweigh the yes votes)?.

For example, if the NNS has a vote that is 33% YES, 30% NO, and 37% ABSTAIN, should the proposal be accepted or rejected?

I’m sure there are many more edge cases and side effects (such as a higher proposal accept or reject rate) that might be introduced by adding such an ABSTAIN option, which is why I’m hoping to flush out and resolve those issues in this discussion before potentially submitting a proposal once the idea is more mature.


Additional Context

According to @diegop, the DFINITY foundation’s reasoning for voting in favor is as follows:

This statement gives the impression that DFINITY did not have a firm stance on the Temperature Check issue other than to simply continue the conversation and not “shoot down” the idea.

Not having a decisive opinion or reason to vote one way or another, but still voting a certain way can end up padding the votes of a true “temperature check” put out to the NNS community, and in the case of a neuron with VP as large as DFINITY’s, their indecision will sway or swing most votes.

While any neuron has the right to vote as they please, they should also not be forced into voting for or against a proposal purely to receiving voting rewards - the financial losses that come from abstaining, specifically with a neuron as large as DFINITY’s are significant.

To dig into this piece of DFINITY’s statement:

If DFINITY has a desire to actively vote to abstain without forfeiting governance rewards, they should be able to do so - as should any neuron. I hope that DFINITY never feels that the IC community is helpless or is a fragile flame, and that they need to vote one way or another in order to “prop up” the community.

This is an additional reason why the NNS should have an active ABSTAIN button that will allow DFINITY or any neuron to more easily take a position of neutrality - after all, this is a Swiss foundation we’re talking about :smirk:

4 Likes

Tagging several prominent members of the community that have been involved in previous governance conversations to kick off discussions.

@lastmjs @skilesare @Arthur @AndraGeorgescu @Zane @bob11 @infu @jwiegley @aiv

@zire Can you bring in members of the DFINITY Asia governance working group to the conversation?

2 Likes

My personal opinion is that even if the ABSTAIN have a majority, that the YES to NO ratio should be the only part of the vote that is counted towards its accept/reject outcome, ensuring that at the very least the minimum voter participation is passed. This is because in a pathological scenario, all NO voters could now just switch to ABSTAIN in order to reject a proposal.

2 Likes

It was literally on my list to submit a proposal for adding an abstain voting option, yes I think this is needed!

1 Like

I’d be interested in knowing if there was a reason this wasn’t originally included in the NNS.

1 Like

This is a brilliant idea.

Personally, I think ABSTAIN should not impact the yes or no votes. If 70% vote ABSTAIN, 1.9% vote no, and 2% vote yes, I believe it should still pass.

2 Likes

@justmythoughts Are you referring to something like this… Ranked Choice Voting - FairVote

I still believe there still be some minimum % acceptance criteria. I believe that the current approval threshold for a proposal to pass is 3%.

For example, in the case you provided, a 2% approval (with 70% abstain) would be far too low in my opinion, as it could provide potential vulnerability or attack vector if the approval threshold is too low.

No, the NNS votes on binary proposals, not a series of different candidate outcomes. Therefore, ranked choice voting does not make much sense in this context.

Abstain is simply an option to actively refuse to vote yes or no on a proposal, and should not be interpreted as an extension to the binary outcome of NNS proposals.

2 Likes

There are not 3 candidates, only yes or no. These are very clear to me but a abstain says something different otherwise you would just select no which has been the case for me with any spam.

Maybe a proposal is considered concerning or alarming and should have a weighting even to the yes or no vote that say’s this proposal is not right and should be flagged for inspection with no action if it’s count is higher.

I think this is a great addition - have my support!

2 Likes

I think the listed examples wrt DFINITY’s voting on 80970 and 86639 wouldn’t really benefit from this proposal, because DFINITY wanted to vote yes on them, but their vote was just misunderstood / not explained well enough (because the first casually mentions “abandoned ICP” but leaves it to a future proposal, and the second did not ask if you’re in favor of an NNS treasury, but whether you think it should be explored more, both of these things were misunderstood as saying DFINITY is in favor of an NNS treasury funded that way, which was not the intent).

Outside of that, I see the appeal of an abstain button, but on the other hand I think it’s a bit dangerous: it would then be way too easy to hit the abstain button eg if you didnt have time to fully read up on it or didn’t completely understand everything. I worry that proposals could then accidentally pass, because the majority of the voting power abstained. I’d rather see the ICP ecosystem move to a policy where you vote yes if you’re very convinced that the proposal is good, and vote no otherwise (irrespective of whether that meant you think it’s a bad idea or you just didnt understand all the details, or you think it’s too early etc).

8 Likes

Since governance proposals don’t actually have any power and can’t affect any change, I’d prefer to see the weight dropped to 0 so that not voting doesn’t affect rewards and we can get true temperature checks(that is all any of them are).

The topic should be changed to “motions” or some other name(maybe from Robert’s rules of order…whatever means non-binding resolution). If you vote when you don’t have to you likely do care about the item and we can better gauge community interest.

Adding abstain for proposals that do affect change enables a stalemate scenario that could cause gridlock.

3 Likes

Again another proposal to change the narrative of the NNS,

are’nt the rewards called “governance rewards” meaning you earn ICP by participating in the governance put forth by the NNS, by adding “abstain” the narrative will change and it wont be about govenrance anymore its just i guess proof of stake? except the staked ICP is essentially doing nothing (not securing the chain, not participating in governance) its just a waste and a meaningless money grab in this scenario.

Whats stopping everyone from just abstaining from every proposal because its easier and less work and you will just get the same ICP rewards?

We will essentially have a pool of stakers that do nothing in this scenario except drain ICP, I will vote no

3 Likes

This is not a proposal, just a discussion at this point (a temperature check without using the NNS :slightly_smiling_face:). I’m still forming my own opinions about whether or not this is a good idea, and appreciate your input.

I agree wholeheartedly with this stance. It would be nice if more neurons voted this way :wink:.

Slightly off topic, but I echo this sentiment and would support such a change. However, I wonder what this would do to the engagement of the IC community with the NNS, especially 8 year stakers who have seen their rewards dwindle over the past few months.

I half agree with this sentiment, but on the other hand the followee system is currently set up as a permanent “set and forget” system. Having someone buy ICP, log in, and follow a neuron like DFINITY or Synapse is much easier than logging in on a specific proposal to actively hit the ABSTAIN button.

If we look at the current situation with all technical proposals (non-governance proposals), this is the exact case I am describing. Not one named neuron is actively voting on System Canister Management, Subnet Management, etc. proposals. They are all following DFINITY and passively collecting rewards.

Maybe a solution to this is that DFINITY needs to hire a technical writer to more elaborately describe what is being passed in each non-governance proposal so that this is more digestible by the community.

So I ask, if a neuron takes the time to log into the NNS dashboard and vote on a specific proposal, why not give that neuron the option to actively abstain?

If I deeply understand both sides of an argument and am actually neutral on an proposal, is it possible that blindly delegating your vote in this case of true neutrality is actually padding one side of a proposal vote, and could do more harm through passive voting power or voter apathy?

Named neurons that choose to abstain will probably lose followers, so this is a self-enforcing mechanism that already incentivizes named neurons to take a stance.

1 Like

I see Abstain as benefiting the active sides of voting outcome (yes/no) depending on the weights. Having to take a clear position of yes or no induces a more hands on thinking process, while having the abstain option many could use for many reasons as it is more advantageous from a resource allocation point of view. Get the same benefits with less resources allocated to research, debate and consume energy on the probabilities.

But a No with Veto (which weights more than simple No) would be interesting. As there are gradients mostly in how strong people oppose something.
voting is a matter of cost allocation vs the benefits of the outcome, and for many reasons people either can not compute the outcome, or in many cases the cost distribution is unequal and there are more reasons for the No (reject) side than for the Yes (accept) side.

1 Like

This would be a problem for system upgrades and other proposals which result in immediate on chain actions if they pass, but for governance it is a feature and not a bug imo. I’d rather have voters abstain than mindlessly press yes/no and muddy the waters. I doubt the lack of an abstain button will convince them to do more accurate considerations before voting.

I believe abstain could be useful for temperature checks proposals, it provides more details on the current consensus around certain topics: does part of the community oppose the proposal or are they neutral towards it for lack of knowledge or interest?

Therefore Abstain could be added as an option to governance topic only, as those proposals don’t result in on chain actions and are essentially all temperature checks.

2 Likes

As it seems we are mindlessly voting yes or no then a abstain would be a great way to see if this is the case when no rewards are given and a proposal is rejected if it out ways the yes and no.

With a weighting of 0 “Abstain” is just not voting. I guess the liquid democracy stuff might mess this up. The ‘change my vote after my neuron vote’ would need to include a ‘accept,reject, remove vote’.

@justmythoughts
Abstain vote is paid with some risk. I agree with @Manu to :100: percent. Abstain is redundant, because the same result is accomplished by not voting at all. The worst thing is it increase the ambitions to not vote at all but getting all benefits from not doing it (active participating in voting)

  • creates no deman to follow neurons
  • contra productive to create bigger org who respresent the interest of a large group
  • etc.

I think this is a lot of work and will require intentionally paying people to perform these activities. I’m sure named neurons would be happy for follow people who have the technical skills to perform these tasks, but there is no incentive to perform that work. It must be done routinely and reliably…otherwise, just follow DFINITY.

1 Like