veBPRO/BPRO governance token locking system

Summary

I am putting forth a proposal for a system that is based on Curve Finance’s vote locking system that was originally brought up by community member Sisyphus. This proposal’s goal is to begin discussion by the community on whether it is the right choice to move forward on and how we would implement it. If you don’t feel like reading the docs, here is a brief TLDR based on them:

Curve employs two tokens CRV/veCRV (vesting CRV). CRV holders can vote lock their CRV into the Curve DAO to receive veCRV. The longer they lock for, the more veCRV they receive. Vote locking allows you to vote in governance, boost your CRV rewards and receive trading fees. The longer you lock your CRV for, the more voting power you have (and the bigger boost you can reach). You can vote lock 1,000 CRV for a year to have a 250 veCRV weight. Each CRV locked for four years (the maximum years allowed) is equal to 1 veCRV. Your voting weight decreases linearly over time.

Here are the contracts for Curve’s vesting escrow and voting escrow for those interested in checking out the code. I was pretty new to vyper when I started looking into this integration and was glad to have a reason to learn more about it.

A few important notes about Curve, these contracts, and decisions that will need to be made if the community decides to move forward:

  • Curve uses Aragon for governance and these contracts are designed around that fact. Do we strip these features out or move towards adoption?
  • Rewards given to veCRV holders include 50% of all Curve trading fees, and up to 2.5x more yield in Curve pools. They do this with the help of a partnership with Yearn (see also: https://crv.ape.tax/). How do we handle rewards for the vesting token holders for veBPRO?
  • The checkpoint system that Curve implemented for boosting has some nuances that should be paid attention to. For instance, as new people vote lock more CRV, your boost will stay what it was when you applied it. If you abuse this, another user can kick and force a boost update to take you down to your real boost (see this also).

Motivation

After reading the contracts, I believe that the idea behind veCRV has merit but will also need a decent amount of customization to make it work for BProtocol. For that reason I am indifferent towards the decision to move forward on it personally. I would instead like to hear what the community has to say since the initial signal vote was such a strong one for this idea. Let me know if you have any comments or questions and I will help the best I can.

3 Likes

So, the intent is to encourage voters to stake BPRO and allow them to earn more weight for decisions later? I like that we would be rewarding users who hold long term and participate in governance, but wouldn’t it allow those who already have a large share of governance to gain an even larger share?

Yes, but only if they vest for the max and others vest for shorter periods of time. Also, remember that their vote weight will decay linearly over time. So people who are coming on-board later are slowly gaining an advantage.

1 Like

I like how curve works, but it has become very difficult for small positions to really participate in the votes and proposals. Every vote is an Ethereum TX and pretty expensive, so only whales really participate.
So the good thing in that model is you have real skin in the game, the bad part is that it is not cost effective unless you have a very sizable position

1 Like

I don’t think the Curve veCRV system is the right one for BPRO governance. What is the goal here? Just to incentivize long term holding? I think if we are concerned about whales dominating the governance, why not implement quadratic voting? We might have to do some other things to avoid sybil attacks, but I think that could be worked out.

1 Like

Sounds like quadratic voting should be a proposal as well. Would you like to submit it?

Honestly, I am barely able to keep up with reading governance forums I’m involved with, and even commenting is a big step for me. I could do the proposal, but I cannot commit to when it would be done. Probably a few weeks at best given my current work load.

All good. No big deal either way. It would just have to be an initial proposal for the community to discuss a possible design and whether it would be the right fit. I’ll probably throw one up later tonight or tomorrow and give you credit for the first mention of it if that’s alright?

1 Like

Wanted to bring this to everyone’s attention considering its relevance.

Quadratic voting might incentivize the liquidators who were awarded bpro at genesis to dump. I’d think we would want to incentivize them to hold bpro to participate in governance, not penalize them by minimizing the efficacy of their bpro. Ideally, we should seek mechanics that lead to people desiring to hold a lot of bpro, not discouraging it.

I agree. I am really just putting forth proposals (some I even disagree with) to see what happens in the community. I find that people presented with a blank page (or forum in this case) find it harder to create and participate compared to those that have some ideas started, even if they don’t necessarily agree with the starting ones.