Adjusting COMP distribution model

I’m concerned that the current COMP distribution model is not performing as well as it could. A couple issues:

  • Distributing COMP to borrowers increases wash borrowing activity (where users borrow and then re-deposit an asset to farm COMP) which brings little value to the protocol
  • Letting users sell accumulated COMP immediately means that farmers have no stake in the long term success of the protocol

I’m not sure about the technical feasibility of making adjustments, but I think that weighting COMP rewards towards suppliers would lead to a larger overall pool of locked assets, which in turn would naturally incentivize borrowers through deep liquidity and consistently low interest rates. Additionally, creating some sort of vesting period for COMP farmers where they can only vote with their stake but can’t transfer or sell might help better align incentives.

Just for kicks, I’ll throw up a couple polls to gauge community sentiment (irrespective of the technical feasibility of making these changes). Polls are both multiple choice, and voters are encouraged to vote for all options that they would support.

What portion of COMP rewards should be allocated to asset suppliers vs borrowers:

  • less than 50% suppliers / more than 50% borrowers
  • 50% suppliers / 50% borrowers (current state)
  • 60% suppliers / 40% borrowers
  • 70% suppliers / 30% borrowers
  • 80% suppliers / 20% borrowers
  • 90% suppliers / 10% borrowers
  • 100% suppliers / 0% borrowers

0 voters

How long should COMP rewards be locked before they can be transferred or sold:

  • No lockup (current state)
  • 1 week lockup
  • 1 month lockup
  • 3 month lockup
  • 1 year lockup

0 voters

7 Likes

I voted for status quo, but if you wanted to change the distribution between suppliers/borrowers , technically there are a few ways to do it via the standard Comptroller upgrade process.

Probably the least invasive change is to add a multiplier (0 <= compSpeedSuppliers <= 1) that can be set via governance and use compSpeed * compSpeedSuppliers during updateCompSupplyIndex and compSpeed * (1 - compSpeedSuppliers) during updateCompBorrowIndex.

A slightly more (read) efficient way to do it is to store separate compSpeedsSuppliers and compSpeedsBorrowers, however you would likely want to deprecate the current compSpeeds slot in that case.

To add a vesting period, you could modify the transferComp function to only transfer if the account is ‘vested’ enough. This would probably be too gassy though, since you would probably need to add some SSTOREs.

Instead you could disable the semi-automatic transfer, and modify claimComp to perform the checks for ‘vested’.

1 Like

I really like the idea for the COMP rewards lockup, but I don’t believe the proposal to shift the 50/50 split of rewards between supply and borrowing will have the effect you want. It’s my understanding there are two pieces of the COMP rewards formula:

  1. Per-collateral split. This looks at the relative borrow size between the collateral types and distributes the COMP rewards to that collateral pro-rata.
  2. Supply / Borrow split inside the collateral. This is the number you are proposing to adjust if I am understanding you correctly.

I’m not convinced that adjusting the numbers for (2) will have a large effect on the current behaviours. It’s my guess that the recycling borrow / supply is being driven largely by (1) to get the most rewards going to your collateral type. Once you have most of the rewards going to your collateral type it’s not so important if you are getting those rewards via the supply or the borrow. You will naturally want to recycle your collateral regardless to keep (1) high. I may be wrong on this as the dynamics are a little complex, but this is my intuition.

I think no matter what you do these rewards are going to gamed in a way that is not really helpful to the protocol. Speaking as an MKR holder, I would like to move the rewards around such that not all the pressure is on Dai. I believe this could be achieved by moving some of the inter-collateral rewards (1) to be given out via Supply and not all based on Borrow. Something like a 50/50 Supply/Borrow split on the rewards going to collaterals instead of it being entirely determined by the Borrow which heavily favours the Dai interest rate curve.

3 Likes

Good point, @hexonaut. While we’re on the topic, @rleshner – what’s the rationale for allocating COMP rewards based on the relative notional borrow size of markets? My guess is that users are predominantly drawn to Compound b/c of high yields. Incentivizing borrowers to participate through COMP rewards formula (1) increases supply rates (as a byproduct of increased borrow demand). Thus, high yields are achieved and Compound continues building its user base.

1 Like

A more simple approach would do the same. Keeping COMP speed where they stand with each asset.

Changing the 50/50 supply/borrow distribution of COMP rewards to give more to borrowers would help Compound capture more borrowers. Even just a small change like 40% to suppliers and 60% to borrowers could be enough to entice people who are on the fence about borrowing.

The greater the percentage of each asset that is borrowed means the higher the yield is for suppliers. Every user of Compound is a supplier, which means everyone earns a higher yield.

This could increase the COMP rewards that are traded, because borrowers will also have a higher interest rate. The increased trading of rewards would make it more accessible to obtain COMP for those wanting to participate in voting/governance of the protocol.

2 Likes