Improve voting rewards distribution

Hello everyone,

I wanted to create this discussion as we had many talks about Sybil attacks and VeDelegate GM NFT situation.
The idea is to find a good way to prevent those attacks, and keeping VePassport of course, make VBDAO users more engaged with the voting process and also making the VeDelegate GM NFT less worth (way less) but keeping the vote delegation alive, which is a great solution to people that still don’t want to bother voting each week.

A possible solution to those issues would be to :

  1. Re-introduce quadratic rewards, so that new users want to keep using VBDAO and vote, while also lowering the impact of VeDelegate’s veB3TR pool;

  2. Introducing a “weight” system to calculate how many rewards a user will get from voting. The weight would depend on how many actions a user has done in the week. This way, there would be no interest in doing Sybil attacks as actions are more and more verified by dapps and bots would have close to 0 action in a week. If it happens that a bot can farm actions in a dapp, the weight will also depend on the number of dapps used. It will also push people to use different dapps, and for those that only vote through VeDelegate to “stake” B3TR, they will also get less rewards.
    For example, it could be someting like :

  • 0 action in the week → user weight = 0
  • 1-5 actions in the week → user weight = 20
  • 5-10 actions in the week → user weight = 60
  • 11+ actions in the week → user weigth = 100

Then the weight would be multiplied by a number that depends on the number of dapp used in the week :

  • 1 dapp → weight * 0.1
  • 2 dapps → weight * 0.25
  • 3 dapps → weight * 0.5
  • 4+ dapps → weight * 1

So if I resume and give concrete examples :

  • User A that did 0 action this week → no voting rewards (and with VePassport, if he does nothing for 12 weeks he loses voting power),
  • User B that did 1 action this week → 20 * 0.1 = weight of 2,
  • User C that did 9 actions through 3 dapps → 60 * 0.5 = weight of 30
  • User D that did 13 actions through 4 dapps → 100 * 1 = weight of 100

So if all users have the same amount of VOT3 (because we still have to take into account the quadratic system), and that there was 10 000 B3TR to distribute between the 4 users, it would be distributed as follows :

  • User A → 0 B3TR
  • User B → 151.52 B3TR
  • User C → 2,272.73 B3TR
  • User D → 7,575.75 B3TR

Thanks for reading and feel free to give me your thoughts on such a system :slight_smile:.

1 Like

I like your proposal. Two remarks
-) I also believe quadratic rewards need to be re introduced to soften the impact from pooling
-) the number of actions from user should also not come only from one dApp. We have to avoid actions like just buying carbon credits over and over again

1 Like