RFC: Voting System Choice for Hop DAO Elections

RFC: Voting System Choice for Hop DAO Elections

Author: @Kene_StableLab, @Bobbay_StableLab

Simple Summary

As the Hop DAO opens itself up to more community involvement, it has become increasingly crucial for the DAOs elected positions to have a particular voting system through which nominees are elected into these positions.

Motivation

The Hop DAO community must take an active role in the day-to-day decision of the DAO, this is the motivation behind this proposal to decide on the voting system to be used in Hop DAO Elections.

Scope

At this time there are primarily two positions in the Hop DAO which this voting system will apply to.

  • Community Multi-Sig Elections
  • The Hop DAO Ambassador Program.

NB: This scope can be increased as the Hop DAO evolves over time.

Specification

  1. Voting options
  2. Our recommendation
  3. Poll

There are currently five voting system options available on Snapshot.

  • Single Choice Voting: A user may only choose one option. These votes will be represented in the results as percentages of the total number of votes that each participant cast on the particular option. Great for picking one option from a variety of options. The primary disadvantage of this system is that voters can only choose one option.
  • Weighted Voting: Each user can distribute their voting power across any number of options, from one to all. By increasing or reducing the voting power fraction, their voting power will be distributed among the options they have picked by the weight they give to each one. The major disadvantage of this system is it adds more complexity to the voting process.
  • Approval Voting: Each choice selected (and approved) by a user has equal voting power; for example, if a user selects two options, both will receive the user’s entire voting power. This voting system allows for approval and does not allow voters to quantify their approval in percentages or varying degrees.
  • Quadratic Voting: Each user can cast as many votes as desired. Due to the quadratically calculated outcomes, the number of individual voters matters more than the total amount of provided voting power. The power of the whales in this voting system is diluted in favour of smaller holders. The significance of individuals will outweigh the number of tokens. However, this voting type requires a Sybil-resistance method to stop whales from distributing governance power between several wallets.
  • Ranked Choice Voting: Each user must order their rankings of the options. For each voter’s top pick, votes are tallied in the first phase. A choice wins if it earns more than 50% of the votes, which are cast on the users’ top selections. The outcome will display the percentages reflecting users only voted for their top option. This voting system particularly favours options with the most vital support; however, this voting system only produces one winner and is complex to understand and implement.

Our recommendation

We recommend weighted voting because, although it adds a bit of complexity to the process, voters can quantify their support in percentages for various candidates of their choosing. A voter could give 100% of their vote to a person or split their votes between four candidates by voting 25% each. Giving voters flexibility in deciding who is elected to specific positions would be a valuable approach to running our elections.

This voting system allows for the selection of multiple candidates, which is ideal for Hop DAOs elections.

Poll

From the voting system options above, which voting system would you prefer to be used for Hop DAO Elections?

  • Single Choice Voting
  • Weighted Voting
  • Approval Voting
  • Quadratic Voting
  • Ranked Choice Voting

0 voters

Next Steps

Yes - Move this to snapshot to select a specific voting method

No - Continue to use single choice voting as the method for these elections

Abstain

Disclosure

Any of StableLab’s proposals, comments or electronic communications can not be used to create any legally binding contract or enforceable obligation in the absence of a fully signed written contract between StableLab and any third party.

This message may contain forward-looking statements about Hop DAO, its protocol, business plan, and strategy. These statements are based on current beliefs, assumptions, and information and are subject to risks and uncertainties that could cause actual results to differ. These statements reflect StableLab’s current views, but due to uncertainties in the future, persons are cautioned not to place undue reliance on statements made by StableLab.

2 Likes

All for weighted voting like we discussed on the community call. Looking forward to seeing this implemented!

1 Like

It is possible to have multiple winners in a ranked choice system, but I figure the results would be fairly similar to a weighted choice system which is easier to implement.

Also, I don’t think quadratic voting is necessarily mutually exclusive. It would just apply to the amount of tokens a delegate has rather than the number of accounts delegating to them. This would give smaller delegates more influence and be much more difficult to coordinate a Sybil attack on.

Weighted voting feels best for election-style votes.

It is important to create a precedent for conflict of interest, and voters who have team members up for election. Are they able to vote for these individuals? Up to what percent of their weighted vote?

This debate seemed to arise in Optimism’s multiple election votes.

Feels worth discussing in this thread as we evaluate the best way to ratify and elect candidates.

1 Like

Is Snapshot able to hiding the actual voting totals until results are in? Say, you can see what wallet voted but not the specific weighting by person? Just theory crafting… another potential negative I can see of the weighted voting approach is the ability for a last minute voter to play spoiler. Example:

A, B, and C are running for a 2 position role. I support A & B and have 100,000 HOP. I plan to vote with a split 50/50 to show support for both. I go to vote and see the that A has 1,000,000 HOP, and B & C are closer at B 440,000 HOP and C 500,000 HOP. I wait until 1 minute is left and cast to vote all 100,000 for B.

In that scenario it allows B to win, 540,000 to 500,000, but had I voted blindly at 50/50 C would of won at 490,000 to 500,000. So those who vote are incentivized to wait until he end.

All said, I’m not super familiar with weighted voting so that may have already been solved, or I’m missing something that makes this a non-issue.

1 Like

I see your perspective on quadratic voting, but I believe weighted voting would be preferable for elections in this circumstance.

Enabling voters to quantify their support for candidates in percentages would be a vital way to truly gauge support in my opinion, I’m curious to see what the community decides.

Conflicts of interest are essential to address, and I share the sentiment. Do you think we should limit teams from voting for a member of their team who is up for an election?

If the answer is yes, how do you think we could enforce this rule?

I appreciate your concern, it is valuable feedback on how these voting methods are viewed.

The answer to your question above is no; the results are public once it has been cast; I see your concern with the mischief of waiting until the last minute to cast a vote that could take place with weighted voting.

I have not seen a governance vote that hides results until the end to avoid mischief; if you have, I would appreciate you sharing it; this sounds more like a problem about the voting habits of individuals, weighted voting plays a role, but regardless of the voting system (Except its Quadratic Voting) the individual with the most power would ultimately decide the vote.

Outlining a structure for elections is crucial. I also support weighted voting as the initial choice for Snapshot.

Regarding conflicts of interest, my opinion is that no delegates should be able to vote for themselves or any of their team members in an election. I also believe that this principal should extend to proposals that impact a certain protocol that a delegate is affiliated/team member of.

1 Like

Thank you for the response, I had sort of figured it was a no given I have not seen a governance vote that hides results until the end either. It’s unfortunate as I do think in the right situation it could be a useful tool.

Regardless, I think this is a good conversation to be having and chose Weighted Voting. It sounds like the most viable for this type of election. I do also think Ranked Choice Voting could work well, but I’m guessing it would produce fairly similar results while creating extra work. The issue of a last minute spoiler is ultimately still in play with Ranked Choice to some degree anyway.

There is Shutter which is integrated with Snapshot and can hide the voting results during the vote and will only be revealed after the proposal has ended.

Taken from the article too:

" You can try Shielded Voting for your DAO; any spaces in Snapshot can enable Shielded Voting in the admin settings. After switching to using this feature, all proposals created afterwards will use it, no matter what voting type is selected! And you can just as easily switch back to regular voting between proposals as well."

An admin of the Hop snapshot space can enable it via snapshot settings.

3 Likes

Nice find! I for sure think it’s something worth considering then as it looks easily available and only needs to be used on a specific vote.

Of course, I don’t want to speak for anyone. So maybe once the specific snapshot voting method is determined this can be a second vote at some point.

1 Like

I’d be in full support for weighted voting with the Shutter feature enabled for these votes. I think this should just be passed in a single proposal vote rather than splitting them into two. We can always start here and if any problems arise adjust later.

This has been posted for a vote as HIP-24: Snapshot

I’ll be voting for weighted voting with the consensus. I feel like this is a fairly low impact decision but don’t disagree with the arguments that have been made in favor of it.

I disagree with this–I would think it should be expected that a delegate would vote for themselves. Trying to ban this behavior isn’t sybil resistant and any bad actors can obfuscate wallets to get around it.

I will post a few examples.

  • A protocol requests a grant, and has $HOP voting power to direct the proposal into pasing.
  • A chain wants Hop to be deployed on its chain, and uses $HOP delegated to them to make the proposal pass, although the community does not think it is the right time.
  • A delegate has the most $HOP delegated to him, and a vote for Hop DAO Elections comes up. No other delegate votes for him, just he does. He ends up being chosen.

In either of these three hypothetical scenarios, my opinion is that delegate should not have been allowed to vote. They are using voting power to benefit themselves. I am proposing this approach not only when voting for yourself in a Hop DAO Election, but also when voting for yourself, your team, or your protocol, in a proposal that impacts it.

Re: sybil resistance or not. I think condemning this behaviour is enough. If a delegate wants to abuse the system, has a big amount of $HOP, and decides to delegate it to a burner wallet just to vote anonymously, then let them. Not everything can be prevented. This is no reason, I believe, to not establish fair and honest policies within all other delegates that are not going to do that. Moreover, this is on the blockchain. If a behaviour like this gets repeated, it could be eventually spotted.

I encourage other delegates to share their opinion. @francom @lefterisjp @GFXlabs @Kene_StableLab @Bobbay_StableLab @dybsy @max-andrew @mastermojo @cwhinfrey @shanefontaine

On Voting System Choice

Okay so let me answer few things. For the original question I think we can go with weighted voting. It’s a good option.

The one person one vote thing does not work due to sybil. It’s been tried and failed. Quadratic hits the same problem.

If we could try sealed voting with Shutter or any system for that matter it would be great. Seeing already how a vote is going in snapshot by default is indeed a really bad thing. Makes you feel like your vote does not matter if it’s already tending towards a specific choice.

On conflict of interest

We should absolutely not be able to vote if we have a conflict of interest and all conflicts of interest should be clearly stated.

Let me give the simplest example. I am the founder of rotki, the opensource + local portfolio tracker for crypto. I would like to get funding for hop support. I make a proposal. Vote for it and since I have such a high % of votes delegated to me I could probably even make it pass alone with the help of 1-2 of you.

This would be unethical.

I agree with olimpio’s take.

conflicts of interest a special soap box for me, and i have been vocal in the past about my attention them. until the governance token experiment is perfected—i voted for weighted—delegates must be diligent about preserving confidence in the system and ensuring a bias and game-free operation to the extent possible. for me, this means expressing opinions and taking action to combat bias. even the impression of a conflict is a conflict.

for that reason, disallowing delegates from voting on their own proposal is low-hanging-fruit and an easy win. (recall i would not vote on multisig compensation for similar reasons though it wasn’t even my own proposal).

I think building a culture that encourages conflict disclosure is a worthwhile goal–as is strongly condemning the behavior of malevolently circumventing it–but none of your examples will be prevented by mandating that delegates are not able to vote for themselves. Although it’s not a perfect argument, I do think the idea that “if you ban something, only criminals will have access to that something” is relevant here. In all of your examples, if those people had malicious intent (which we need to assume), they would have voted for themselves anyway in a an undetectable way. Then, the good actors who didn’t vote for themselves would lose to the bad actors who did vote for themselves.

I don’t believe this is a good argument to allow people to vote for themselves.

Regardless, it’s also important to look at the impact and scope of what we are discussing here:

For someone malicious to be able to (1) undelegate $HOP to himself, (2) delegate it to a burner wallet, and (3) vote for himself undetected, he needs to have a significant amount of $HOP for it to have any impact on the vote’s outcome.

Taking a look at Tally into Hop’s 30 top delegates, there are only 7 people that have been delegated by less than 3 people.

This means that there are 7 in 30 people that could potentially undelegate and delegate HOP to a burner wallet and have a significant impact on a vote. The other 23 delegates received delegations in a much more granular way; I find it unlikely that 1151 people will undelegate to Lefteris (as an example) and switch to his burner wallet. The majority of the delegated HOP needs to be controlled by the delegate himself or interested affiliated parties to be able to successfully perform a sybil attack.

I think that the risk of conflict of interest votes from 23 delegates is greater than the risk of sybil attack from 7 delegates.

Edit: 7, not 6

Voted weighted for this reason.