COMP Distribution Incentives

We (Gauntlet) wanted to provide an update on our work to add better incentives for COMP distribution. First, we wanted to go into more detail on the reasoning behind our current proposal. Next, we describe our plan going forward to get this proposal out to Mainnet.

Why vesting?

COMP Rewards have driven usage of Compound (and honestly, of DeFi in general) since their inception last year.

However, we could categorize this usage into two buckets:

  • Organic Demand
    • People who already wanted to use the protocol, who now receive COMP rewards
  • COMP Farming
    • People using the protocol just for the COMP rewards
      • These people often use circular borrows and immediately sell the COMP.

From Robert’s announcement, the goals of COMP distribution are for users to “automatically receive governance rights, for free— in order to shape the future of the protocol”

In the case of farming, this goal is not met because these users clearly have no intention of shaping the future of the protocol, as they immediately surrender those rights to their exit liquidity. It can be hard to differentiate the nature of usage between the two categories above but from some simple analysis, it’s clear that farming is a considerable percentage of current usage. A second problem arises as well with farming - it creates a huge stream of COMP that is consistently dumped on exchanges, punishing protocol supporters who hold COMP.

So how can we distribute COMP to people who care about the future of the protocol? The vesting and cooldown proposals that Gauntlet has put together use a simple heuristic to determine if users have interest in the success and future of Compound - they are long COMP.

Now, on a short timeframe (e.g. a cooldown or vesting period of < 30 days), the effects of any vesting/cooldown proposal would merely mitigate the second issue of COMP being dumped on exchanges. But as that timeframe increases, you force farmers to take on more and more COMP exposure.

  • Why wouldn’t this just delay when farmers dump all of the COMP?
    • With the simplest assumptions, it would, but it would also force the farmers to care about COMP price (as a proxy for Compound in general) for the length of the vesting/cooldown period
    • One thing to note that the cost incurred is commensurate to the user’s desire to be long COMP. If you want to hold all of your farming rewards as COMP, the cost is negligible.
      • This would ideally make farming more attractive to users who cared about the future of Compound, and should shift the user base in this direction. If/when these changes go through, we’ll see if this is the case.
  • There is clearly a balance here, because you also start to deteriorate the experience for organic demand users who now have to manage the cooldown period
    • Even some organic users want to reduce exposure, which is reasonable to a limited extent even for the most ardent of Compound supporters

Now, this is not the only way to reward people who care about the protocol with COMP, you could create a staking pool (as SNX, AAVE, and others have) or pay users in COMP to vote. However, neither of these would fix the current issues with distribution, though it would reward users who bought COMP from farmers and then participated, which would have its own benefits. Also just a reminder - COMP can now be paid directly to community contributors (after proposal CP030). Participants who drive value to COMP, who might rely on COMP rewards, can just get them directly via Governance.

Next steps

We got great feedback on Discord as well as during the dev call, and we’ve put together a plan for addressing the most salient points here. Most notably, this new version will preserve the existing API much better. Going forward, our plan is to:

  1. Incorporate final dev feedback
  2. Audit the code with Quantstamp
  3. Testing on Kovan
  4. Propose adding the cooldown logic (ETA first week of February, though timelines are not finalized). Starting with a 0-length cooldown, the community can decide on what works over time.

If the proposal passes, we’ll then reach out to wallets and other partner applications as we work to turn on the functionality by setting a cooldown > 0.

If it doesn’t, we’re happy to respect the community’s decision here. Vesting was something that was first suggested on these very forums, and while we think the tradeoffs it presents are good for Compound, we understand how other community members might disagree. We’ve now produced two tested and working implementations, and those will be available to the community in the case minds change.

10 Likes

As gas costs are high I’m in the habit of accruing COMP then supplying it in chunks. Would it be possible to accrue COMP to our supply and skip that step? I am 100% ok with my rewards being put on a cooldown, but I would prefer the above option.

JD

3 Likes

@jmo, the work that you @tarun and the Gauntlet team have done in exploring / proving a number of vesting/cooldown approaches is fantastic and deserves recognition.

Last week’s community call walked through the cooldown codebase, and gathered lots of new feedback from the community. Everyone seems fully aligned with the goal of getting more COMP in the hands of loyal users - while dissuading purely exploitative farming.

In Discord, @lay2000lbs raised the issue that a cooldown will degrade / complicate the user experience (for normal users, farmers, and integrated products), which I agree with. Additional steps, delays, and flows is a “stick”, that hits farmers harder than organic users. While this will likely tilt usage towards organic users, it might still sting.

Extending @johndoh 's idea a bit, I wanted to take a moment to explore the “carrot” path, to make the COMP Distribution as uplifting as possible.


Upgrade: Distribute cCOMP
Instead of distributing COMP, the claim() and grantCompInternal() functions can be upgraded to distribute cCOMP to users. This would convert the uncollected COMP, into COMP supplied to the protocol, earning interest and increasing borrowing capacity (if collateral is enabled). At any time, users can withdraw COMP from the protocol. If users are looking for liquidity, they can borrow any asset (like a stablecoin) instead.

To a user, the status quo (post-claim) switches from a decision on “what to do” with COMP (supply it, or sell it), to a decision on “whether to withdraw it”.

This can be paired with significantly reducing the gas costs of the claim() function (by moving compAccrued to the end of the function to run/distribute once, instead of looping over a transfer function multiple times).

Note: this wasn’t possible when the Distribution first launched (cCOMP didn’t exist yet).

Upgrade: Enable cCOMP voting
The Governor Bravo (a modernized Governance framework) in development could be upgraded to allow cCOMP voting alongisde (or eventually, instead of) COMP voting.

All COMP earned by users would be able to immediately vote, further reducing the incentive to withdraw COMP from the protocol, and increasing participating in governance.

Note: this might require modifying the cCOMP implementation with a balance checkpoint first.


After releasing these upgrades, the community could monitor whether participation in the governance process has increased. If it hasn’t, the cCOMP contract could be updated with the Cooldown logic – locking users into a longer (but more useful) commitment.

Ideas / thoughts / counterarguments are very welcomed.

4 Likes

I like this idea.

I will say, after reading @jmo explanation I’m less opposed to the original implementation. I’m more neutral on it. It would be an interesting experiment that I personally don’t think would meaningful change behavior but I’m still curious to see the outcome.

Going back to Rob’s proposal I like the idea of transitioning the question from “what to do with COMP” to “Whether to withdraw it”. I also like reducing gas costs and enabling cCOMP to natively vote. The only thing I don’t like is that again, we may be overloading the function of the COMP market. If at the end of the day we’re trying to incentives holding COMP let’s create something that does exactly that, rather than hacking an interest rate market to sort of do it.

I believe a key learning here is that current COMP distribution is an amazing way to incentives capital allocation and a very poor way to distribute governance to long term stakeholders. So perhaps we should re-frame COMP distribution as the capital incentive for the protocol and start fresh on how we want to distribute governance to long term stakeholders… I’ve heard rumors of @blck and @arr00 working on something that may be relevant here.

Anyway, I’m starting to feel like a perpetual critic and I do appreciate the concrete nature of Rob’s suggestion. I think it meets two critical criteria in that 1) it’s an improvement on existing user experience and 2) it plausibly will reduce COMP farm and dumping somewhat. So it’s likely the best next step forward.

2 Likes

I’m getting slightly off topic, but maybe instead of incentivizing deposits to cCOMP (which has some possible negative externalities like more votes available to rent), we could create a staking insurance mechanism similar to stkAAVE and funnel liquidity incentives into this.

User would deposit COMP to staking module/market and receive stkCOMP. If there was a loss event to the protocol, a certain percentage of the value would be seized and sold on the market to recapitalize the system. And the cooldown logic could be applied here to disincentivize immediate dumping, along with incentives in the form of COMP issuance or redirecting some of the reserves earned by other markets to stakers.

1 Like

Robert - Distributing cCOMP does add a “nudge” to encourage COMP holding, and while there are still UX trade-offs with any change, cCOMP distribution introduces considerably less friction than the cool down. We’re happy to work with the community to stage the cool down proposal after other initiatives. We’ll finish the audit of the cool down and post the final version to the Compound github for the community to consider after landing these other initiatives.

JD - this new order of operations for current community initiatives should address your concerns. If we add the cool down after Robert’s suggested changes, where all COMP rewards will be cCOMP, this will result in the requested behavior.

I’ve been developing a new method for COMP distribution for a while now and think we should come to some sort of consensus before I continue moving forward.

What I have been developing is essentially a way for users to stake their COMP for a determined period of time with linear decaying weighting (like CRV staking). Dividends are then distributed to stakers based on their weighting. Initially, this would only distribute COMP, but it supports the addition of new assets, such as funneled reserve factors. Users maintain full delegation rights on their COMP, but are unable to remove it until their stake period ends. Dividends are continually claimable, but only if the account delegated to participates in governance (votes).

I decided to go this route because I don’t believe that incentivizing cCOMP or restricting users’ ability to claim is the way to go. Giving cCOMP voting power essentially allows for an unbounded amount of votes only limited by the borrow cap. Cooldowns are a nice idea, but the fact that it would break contracts interacting with compound is a dealbreaker for me.

2 Likes

So one thing to clarify, is that in the latest plan for the coolDown, it shouldn’t break other contracts using Compound. You just call claimComp() both to start the cooldown and remove your COMP.

Hi there,
I hope this one is not too much off topic:
Being an “ordinary user” who likes and supports the idea behind Comound/COMP but without in depth technical knowledge on the topic, I am just wondering why the fees to claim accrued COMP are so extremely high. This thread here suggests that there seems to be some sort of vesting in place and that this fee might come down with time; is this correct?
Or is there now a threshold amount in place beyond which the cost to claim becomes resonable?

Since there were some thoughts mentioned above on the motivation of the different types of users, let me quickly tell you about mine. Maybe others share the same.
It’s not my intention to sell the COMP immediately, but instead I would just like to see the COMP that have accrued end up in my wallet and made available again to the community; by that granting me voting rights (that I would delegate to one of the “professionals” around) and adding to generating more COMP interest.

Any updates on timeline for this?

We’re still waiting in the wings for any progress on the other proposed changes. We’ve started our audit with Quantstamp and should finish soon.

2 Likes