[Phase-3] HIP-63 Quadratic Delegations on the DAO Snapshot

HIP: 63
title: Quadratic Delegations on the DAO Snapshot
author: berty.eth, avilches.eth, drlorente97.eth, @L18630, ludoviko.eth, santi.eth, v4len.eth
status: Phase-2
created: 2022-09-10

Simple Summary

This HIP proposes the DAO decides implementes Quadratic Delegations on its Snapshot page for making decisions.

Abstract

Due to recent events that led to the DAO Mission Board to recommend the suspension of delegations, we have put forward this proposal in order to allow the DAO to implement a mechanism of Quadratic Delegations that will help prevent clientelism and vote gerrymandering.

Motivation

Delegations have been subject of controversy since they potentially allow clientelism and ultimately create a dynamic where a handful of whales end up making the decisions on behalf of the community.

At the same time, delegations can happen naturally on cyberspace whether Snapshot allows it or not, with applications that can replicate automatically the vote of a person. This is why it is often considered UX to make these easily available in the User Interface so everyone can play with the same rules.

Specification

We propose a new alternative regarding delegations.

  • Quadratic Delegations: People are free to delegate their vote, but delegations get tallied quadratically. This means that the square root of the delegations received is counted rather than the full amount of delegations.

This model brings the following advantages to the governance dynamics of the DAO:

  • Mitigates gerrymandering attacks by limiting the influence of a delegate
  • Mitigates clientelist attacks by limiting the influence of a delegate
  • Incentivizes voters to delegate to those with fewer delegations rather than large whales
  • Incentivizes that voters prioritize using direct vote to override delegate vote.
  • Incentivize groups of delegates to organize collectiviely rather than seek individual power.
  • Values the creation of an ecosystem of multiple minorities rather than bipartidism.

Implementation

To implement Quadratic Delegations, the math module must be implemented on Snapshot in replacement of erc20-balance-of-delegation using the following script:

{
  "symbol": "QDelegates",
  "operands": [
    {
      "type": "strategy",
      "strategy": {
        "network": "1",
        "name": "erc20-balance-of-delegation",
        "params": {
          "symbol": "VOTE",
          "address": "0x1dAD862095d40d43c2109370121cf087632874dB",
          "decimals": 0
        }
      }
    }
  ],
  "operation": "square-root"
}

A test implemetation of Quadratic Delegations can be found on this Snapshot poll.

Additonal notes.

Glen Weyl, author of the original paper on Quadratic Voting and the book “Radical Markets” has pronounced himself in favor of the idea on Twitter.

Phase-3 Poll: Snapshot

5 Likes

Hi Luis! That name is already taken here

2 Likes

I think we should consider a 4th option proposed by @AvsA :
Quadratic Decay:
Quoting AvsA from twitter:

A delegated vote decays exponentially over time. Say it halves every year, unless the user themselves reactivates it. This way you need to have a continuous support from your delegators and it fights apathy and inactivity. It’s something I think ENS might benefit too.

9 Likes

Juanu’s idea sounds charming

1 Like

I keep thinking that a snapshot strategy will not be enough for the complexity that we may need. I suggest that we build a smart contract and try to implement the “electoral roll” (idk if it’s the correct translation, in spanish “Padrón electoral” xD).

We can define some extra rules for delegation there (avsa’s idea and something else). The snapshot strategy will remain the same, but with a different balanceOf function based on that new contract. I have some ideas for the implementation, I try to summarize them later.

2 Likes

We can always play with any snapshot space.

I think there are a couple spaces set up by members of POH. If not, it’s easy to set one up and start experimenting

2 Likes

Not mine! @AvsA ! I like it too. I’m que there are pros and cons for each option, and we should experiment the 4 of them.

1 Like

Decay option sounds great. Will add it to the list later.

2 Likes

Decay option is a feature that can actually complement with the other ones. (Like adding extra cheese to a burger).

1 Like

Reposting a rant I wrote in Telegram. I haven’t filtered it so excuse the harshness.
Context: replying on Santi claiming that removing delegations will “cap” clientelism.

what do you mean capping
that doesn’t cap anything. a clientelizer can organize a legion of active voters, no issue
in fact this charade is just gonna empower the actual farmers (you know, the ones that control more that 1 key) who will have low friction on voting with each profile

do you really think this measure solves the problem? are you delusional?
you can set more complex clientelism, you’re not getting rid of it. this “”""“clientelism”"""" (onboarding) has a direct positive consequence. if you push people who seek voting power to only be able to obtain votes through harder adversarial strategies, you will regret the results
(actual markets for voting automatically, active delegation subscription)
or you know, just regular trust-based delegation. you can onboard 50 people and explain to them the importance of voting when prompted to, with a reward

obviously things are not as easy as “i remove the ux feature of delegation that copies votes by default and that saves the registry from what i consider unfair this week”

4 Likes

iirc i’m not necessarily in favor of removing them but actually interested in the dynamic of quadratic delegations that would incentivize delegating to delegates with fewer votes rather than large delegate whales.

Looking at how we could implement Quadratic Delegations on Snapshot, apparently this could easily be done with the math module that is already available on the app.

This would require the following configuration:

{
  "symbol": "QDelegates",
  "operands": [
    {
      "type": "strategy",
      "strategy": {
        "network": "1",
        "name": "erc20-balance-of-delegation",
        "params": {
          "symbol": "VOTE",
          "address": "0x1dAD862095d40d43c2109370121cf087632874dB",
          "decimals": 0
        }
      }
    }
  ],
  "operation": "square-root"
}

This would return the square root of the total delegations a person has. Combined with the balance of votes, should give the proper final number.

Thanks @avilches.eth for asking them out how to handle this.

Example of the results we would get for Quadratic Delegations:

2 Likes

Such an elegant but powerful piece of code. Wasn’t very much into quad delegs but it seems to be the way to go.

1 Like

Quadratic Delegations have the following advantages:

  • Mitigates gerrymandering attacks by limiting the influence of a delegate
  • Mitigates clientelist attacks by limiting the influence of a delegate
  • Incentivizes voters to delegate to those with fewer delegations rather than large whales
  • Incentivizes that voters prioritize using direct vote to override delegate vote.
  • Incentivize groups of delegates to organize collectiviely rather than seek individual power.

This is legitimately a very impressive model for governance.

Regarding this option, I think that this deserves its own HIP rather than mixing it on this one because it’s an option that can be implemented in combination with at least two other ones showcased on this HIP… so it would increase the complexity of how we make this decision significantly.

Also I’m unsure on how to implement it technically. Keep in mind that profiles already last only 2 years on Proof of Humanity, so having a credibly neutral criteria for this is not very clear to me.

I like Quadratic Delegation.

@clesaege pointed out that someone might do delegation themselves to circumvent the snap-shot implementation. However, I don’t think this is something 95% of people would do in practice if this is the only ‘official’ delegation process there is.
Something we might do, though, is include in the proposal that PoH discourages circumventing this delegation process. So if someone is pushing a delegation script we could at least point out that they are acting against PoH rules.
A handful of tech-savvy people implementing their own delegation to someone else kinda deserve it, since they went through the effort:)

2 Likes

After talking with the other authors of this proposal and receiving all of your great feedback, we -move it forward to Phase 2 focused on the idea of Quadratic Delegations.

thanks Santi. I asked snapshot team because we have already qv for UBI DAO but the qv system we are presenting here por POH is different than the one defined for UIBVote. In case of Ubi dao the vp of a delegation is the sqrt of # of UBI in the wallet of the delegator that is different from the sum of all UBI in the delegator´s wallet and then the sqrt of that. This HIP is going to be more efective to decrease the whales power than the UBI DAO.

4 Likes

This is nothing but voter suppression.
In the last HIP, 281 out of 497 votes (57%) were expressed through delegates.
With this proposal implemented, their voting power would have been reduced to 74, reducing the voting influence of people delegating by 73%.

This proposal roughly divides by 4 the voting power of delegating users.

This isn’t done out of practical concern but is political maneuver targeting the Burmese community who has shown high delegation rates. As Santi managed to pissed off the Burmese community and feared losing power in PoH, he decided to try to steal the voting rights of people opposing him, first by trying to use the board and his Snapshot administrative powers to remove delegations and then only when he found out that decisions from a tempered snapshots would not be enforced by the Kleros governor he decided to back down.

This proposal doesn’t change people votes in theory as it’s always possible to follow the vote of a delegate, for example by:

  • Using a program copying the delegate votes
  • Presigning votes and letting the delegate broadcast the vote of his choice
  • Sharing private keys
  • Just splitting delegations such that each recipient only get one.
    Quadratic delegations would just makes it harder for people to automatically copy the votes of their delegates.
    The current “delegation” system is actually more of an intransitive voting system, where participants can automatically copy the votes of people they trust when they don’t feel knowledgeable / have the time to make informed decisions on different topics.
    It is therefore not a political system, but a way to smooth user experience of participants.
    Trying to make the user experience worse is akin to putting voting stations in places hard to reach in order to lower vote turnout.

This will also weaken the system against attacks related to farming of profiles (where people pay humans to do registration videos but keep their private keys).
The system is already fragile to this due to the low turnout (2.5%).
With this proposal implemented, the vote turnout of the last HIP would have been 289 votes, a 1.5% turnout.
So even a relatively successful profile farmer could manage to get this amount of profile and take control over the DAO.
Even in the absence of such a malicious party, the simple risk of it would discourage other projects building on Proof of Humanity as this would make the protocol less secure.

It shouldn’t be up to politicians to choose their electors but still, inspired by gerrymandering practices and voter suppression laws, this proposal defacto remove 73% of the voting power of the delegating users (unless they organize technically to counter it).
I invite everyone believing that people can chose whether to exercise their democratic rights directly or indirectly to vote against this proposal.

3 Likes

The Snapshot team actually understood the idea right away and really liked it today when we showed them our pilot implementation.

You can check their reaction here: Telegram: Contact @snapshotlabs … It was great to see they immediately understood the nature of this.

Also Glen Weyl on Twitter today (author of the Quadratic Voting paper): https://twitter.com/glenweyl/status/1569350890468904960?s=20&t=ty6pC3gRhz0h-Sv0pBszpQ

2 Likes