[BIP-521] Cap individual voter weight on Snapshot

Background

See discussion here.

Over the past 18 months since the launch of veBAL, there have been a number of turbulent votes within the DAO, accompanied by gradual changes in voter composition. During this time a number of measures have been implemented to maintain balance of votes and voter integrity.

Whilst the reality of voting is quite nuanced, as Aura approaches 50% of the veBAL share it is becoming a concern that the distribution of votes is again becoming imbalanced and that action needs to be taken.

This BIP seeks to begin to address those concerns by putting a cap on the individual voter weight on Snapshot to 45%, meaning that Aura’s voting power (and any individual voter) would be capped at 45% of the total supply of veBAL.

Specification

Update the settings in the Balancer Snapshot space to use the following strategy:

Strategy: delegation-with-cap

Body:

{
  "symbol": "veBAL (delegated)",
  "address": "0xC128a9954e6c874eA3d62ce62B468bA073093F25",
  "decimals": 18,
  "strategies": [
    {
      "name": "erc20-balance-of",
      "params": {
        "symbol": "veBAL",
        "address": "0xC128a9954e6c874eA3d62ce62B468bA073093F25",
        "decimals": 18
      }
    }
  ],
  "delegationSpace": "balancer.eth",
  "capPercentage": 45
}

Risk Assessment

This BIP changes the snapshot strategy which is a significant factor, although has been tested by both the author and by Snapshot developers. It can also be replaced if it does not function as expected.

Specifications

If approved, the DAO Multisig (which is set as admin of the snapshot space) will load the configuration delegation-with-cap and set capPercentage to 45 in the Settings menu via the snapshot gnosis safe app.

2 Likes

Absolutely in favor as this is is a healthy and needed adjustment for overall decentralization. Thank you so much for putting this proposal together!

2 Likes

I just confirmed that impersonating the DAO multi-sig properly allows for setting the new strategy

Note that the current PR shows a capPercentage of 30 as an example and should be configured to 45 when setting up as space owner.

Note that no payload can be created but rather a space owner has to manually set the above mentioned strategy up and set capPercentage to 45.

Edit: added the task / specification to the proposal as this has to be initiated from the gnosis safe app without any payload.

https://snapshot.org/#/balancer.eth/proposal/0x829c9af9db8970101f229ab6e68d790ec8a363877cd13115f16db221e4137fd0

in my understanding, the capPercentage in the proposed strategy will limit each voter’s weight to 45% of the total votes, not total supply:

const totalScore = Object.values(addressScores).reduce((a, b) => a + b, 0);
const maxScore = (options.capPercentage * totalScore) / 100;

(ref: snapshot-strategies/src/strategies/delegation-with-cap/index.ts at 22b8c270d2bead1f1461345593b9361e7a85fb7d · snapshot-labs/snapshot-strategies · GitHub)

i dont think the proposed intention matches the proposed implementation.

even simulating the strategy with a 10% cap still considers aura’s delegate address to have 3.5m vebal votes:

2 Likes

if my understanding is correct, not ony will this implementation not have the right intention but it will also bork a lot of votes, since only 45% of aura’s vote weight will count towards the 2m quorum (3.5*.45=1.575).

3 Likes

Yup this is confirmed. Will need to delay the BIP a week until it has been patched/merged. Thanks gosuto

1 Like

Strategy has been updated as per this PR, and body of BIP also updated. Could you verify @gosuto ?

1 Like

looking good! the code in the pr ([delegation-with-cap] fix: delegation-with-cap by 0xButterfield · Pull Request #1374 · snapshot-labs/snapshot-strategies · GitHub) makes more sense to me now, and it gives expected ~700k result for aura delegate address when simulating with a cap of 10% (total supply is ~7m):

1 Like

https://snapshot.org/#/balancer.eth/proposal/0x08b2b37a5dfec7de7ff8916551b5d229b8d401ca5353e5e969992c64ad715a8d

@gosuto @Xeonus @0xMaha went to load this week but there was one uncertainty in the spec. Just to be 100% clear, the delegation-with-cap strategy should be added and the delegation strategy removed so it looks like this:

Correct? After one more think about it, we will load next week.

1 Like

Thanks @Tritium that makes sense as Aura should only use the new strategy in our snapshot space.

Hey there, yes, that looks correct :+1: