Should Trustless become the sole liquidator and source of ETH revenue sharing?

This post is in response to a discussion between Lucas and TnD on the discord, regarding staking and liquidations. Lucas said:

I wonder if the (Trustless) protocol could become the sole liquidator and that could be a source of profit sharing

My detailed response will follow below, but a quick summary of it is that I think there is significant potential value in Trustless pivoting to a system like this instead of the current liquidation plans, which can be seen in the docs here.

Let’s begin by evaluating Liquity’s approach and later connecting it to Trustless.

I was reading through a twitter thread about a project called PowerPool hoping to improve liquidity for LUSD on the open market, and was reminded about how Liquity does it. One of the cornerstones of Liquity’s value propositions is how they generate part of their revenue sharing in ETH by deploying a stability pool which is used in performing automated liquidations, with the aid of a backstop liquidity service called B.Protocol.

This has pros and cons.

Pros: Revenue sharing in ETH is seen is very attractive by users, who prefer to receive rewards in assets like ETH that are more liquid. And of course, the benefits of the liquidated ETH being passed directly to LUSD stakers (with a small cut sent to “initiators” of the liquidations as a reward) brings value accrual back to the protocol itself.

Cons: What we have seen happen with LUSD over the past few months, with the majority of LUSD held in the stability pool since the rewards there are attractive, leading to lower liquidity of LUSD on the market and a price depeg of LUSD to the upside. This leads to further downstream consequences, such as the LUSD-3CRV pool becoming imbalanced, causing downside impact and thus a lower expected yield over time as it returns to peg. For example, Gro Protocol recently pulled out of its LUSD-3CRV yield strategy because of LUSD’s liquidity and peg issue.

That said, Liquity is working on a few different solutions for this. If they could solve the LUSD depeg and liquidity problems, Liquity would continue growing even further. Possible solutions are explained in this twitter thread (along with their upcoming Chicken Bonds product, which was not mentioned).

What does this mean for Trustless?

As I understand it, Trustless plans to allow anyone to pay off the debt of liquidated positions. I can empathize with the thinking behind this approach, as it outsources the responsibilities to individual users rather than relying on a stability pool and a third-party service like B.Protocol, as Liquity does. However, I tend to believe that Trustless’ approach will ultimately benefit users who have the technical and financial means to program bots and obtain enough Hue (or perform flashloans) to do this. Furthermore, it will send the ETH collateral out of the Trustless protocol rather than utilizing it as a revenue sharing source which could lead to further value accrual for users of Trustless. For another example proving the value of ETH rewards for users, there are relevant discussions in the KyberDAO forum about why ETH rewards should be maintained for participants.

While Liquity’s current approach is imperfect, I tend to think that the pros of keeping ETH revenue sharing mostly within the system outweigh the cons and have contributed significantly to Liquity’s growth. The issues with unbalanced incentives already have multiple solutions being worked on that could provide helpful examples if Trustless ever considers implementing a similar protocol-managed liquidation approach.

What do others think? Is this feasible and achievable for Trustless? If so, how could it be implemented and involved with the Trustless DAO?

1 Like

I’m not sure what else I can add here. I’m publicly in favor of LUSD’s model, so IMO emulating it to extent that it makes sense is a plus in my book.

As a ‘counter’ (not really) to Gro pulling its LUSD yield strategy, mStable’s coming Metavault is explicitly using it as a yield source. The stables people place in the vault will go towards several Curve pools, one of which is LUSD-3CRV.

2 Likes

I like this a lot! I agree that a pooled liquidation service would benefit Trustless. I agree with the pros and cons you mentioned above. However I want to discuss the semantics around your proposal that Trustless become the “sole” liquidation provider.

Open questions:

  1. Is the Liquity pool the sole liquidation provider for the Liquity protocol? I know that the pool liquidates positions and there are incentives built around that. But can another person or address call the same liquidation function directly (and be responsible for bringing their own liquidity)?

  2. Does this distinction matter?

I ask because it would be straightforward to build a pooled liquidation mechanism separate from the core protocol. This would allow people to provide Hue to a pool, and Hue providers would slowly gain Eth. And there would be an incentivize for others to initiate liquidations.

If any address can call the liquidation function including the pool, and that still creates the benefits that liquity enjoys, then anyone (including Trustless) is free to build this pool mechanism after the protocol launches.

1 Like

Sure. Responses to follow.

  1. Is the Liquity pool the sole liquidation provider for the Liquity protocol? I know that the pool liquidates positions and there are incentives built around that. But can another person or address call the same liquidation function directly (and be responsible for bringing their own liquidity)?

I used the term “sole liquidator” since that is what Lucas used and I thought it would be helpful to continue the discussion using the same language but you are right, it doesn’t have to be communicated to the public in that parlance. Liquity’s model is as you have described, to have users’ stability pool funds “absorb” the liquidated collateral positions. I’ll quote the specific language from their docs:

“The debt of the Trove is canceled and absorbed by the Stability Pool and its collateral distributed among Stability Providers.”

Liquity also allows for “initiators” to, erm, initiate a trove liquidation for a small reward. Is this the same as what you mean when you say “call the same liquidation function directly”? Ultimately, however, the docs make it seem like all liquidated collateral rewards (minus initiator rewards and frontend kickbacks) go automatically to the stability pool providers, not the initiators. I am not aware of the ability for initiators to receive liquidated collateral entirely by themselves but if you are aware of this, please feel free to share. Liquity decided to use B.Protocol’s backstop pool (i.e. the “stability pool”) for this purpose, to facilitate liquidations that are not dependent on DEX liquidity and democratize their liquidation system (so that bots who perform flashloans aren’t disincentivized by high slippage, leading to less liquidation executions).

It is worth mentioning that Liquity’s decision to use B.Protocol introduces another smart contract layer into their system, and also relies on Chainlink’s price oracle. To their credit, B.Protocol is open about this in their docs. However, the risk-reward is worth it for Liquity I think, since it allows Liquity users to tap into the DeFi liquidations market and receive democratized revenue in ETH more directly as a result. This is one of the reasons for Liquity’s growth. For Trustless, I assume the price feed would have to use Uniswap v3’s TWAPs or a combination of AMM’s TWAPs to have a backup feed (for example, if Trustless uses Curve pools) instead of a centralized oracle. That underscores the importance of maintaining sufficient liquidity on Uniswap V3 for a reliable TWAP price feed, and making sure other moving parts such as Charm vaults are working as intended. The liquidation rewards cap might have to be re-assessed as well.

  1. Does this distinction matter?

If what you mean is “Does the semantic distinction matter?”, I understand your point and would agree that it could be communicated using different language to Trustless users to highlight how it democratizes/decentralizes access to the liquidation system and subsequent rewards for all users.

This is all under the assumption that what Lucas meant by “sole liquidator” is something like what Liquity & B.Protocol does with their stability pools, and not Trustless somehow performing the liquidations and collateral transfer itself. Not sure how this could be done - by using a Trustless-operated treasury, or only official Trustless bots having the ability to perform all liquidations? I don’t think the community would respond well to that, but I suspect this is not what Lucas meant.

Anyways, it seems like what you are proposing is building a similar pool mechanism to what B.Protocol does for Liquity, but also keeping the option available for the public to conduct liquidations and collateral transfer. My view is this: If there were competing liquidation bots between individual users and one operating on behalf of a liquidity backstop pool, I question if the liquidity pool would be worth it to deploy. For example, if the individual user liquidation bots were more efficient and received 90% of liquidation rewards as a result, then nobody would be incentivized to deposit into the liquidity backstop pool. Initiating liquidations should be left open to anyone with reward incentives attached to it like Liquity does, but I think the collateral rewards need to favor the stability pool/pooled backstop for it to provide value for the majority of Trustless users. Having competing stability pools wouldn’t lead to positive outcomes either, in my opinion. One stability pool that handles all the liquidated collateral transfers is probably best.

If the plan is to build this after the protocol launches, then perhaps that could be left open for a governance vote. For instance, a vote on whether to change the smart contract to only allow for liquidation collateral transfers between liquidated positions and the stability pool/backstop pool.

Conclusion: This is mostly a discussion about adopting a similar pooled backstop system to what Liquity uses and determining the risk-reward around it. If this were to be done, It’d be great to establish a timeline for completion so it can be marketed to potential Trustless users and I’d feel more comfortable if there were audits and/or bug bounty programs done. While this model has demonstrated potential for spurring growth and isn’t an original concept, there is of course risk involved.

2 Likes

Interesting. I like that chart! The reasoning that Gro gave for pulling out of the LUSD-3CRV pool is that since the pool is highly imbalanced, the downside impact of LUSD returning to peg (which would be -4.5%) would significantly offset Convex’s projected 5.4% of yield. Maybe mStable is betting that LUSD won’t return to the $1.00 USD price in the time frame that they are expecting to use it for? Or, another reason? Not sure.

2 Likes

Combination of “essentially perpetuity” time horizon and that it isn’t the only source of yield for the vault, I imagine. It’s estimated that governance could modify the weight of investment in the LUSD pool, but not actually bring it to 0 without just removing it from the vault completely.

Since LUSD doesn’t maintain a singular pegged value, it should be assumed that the vault would see periods of differing yield outcomes.

It’s interesting. The misunderstanding of LUSD’s ‘peg’ drives some pretty odd decisions. I wonder if a better understanding of LUSD’s mechanism would have gotten a different outcome from Gro.

2 Likes

So cool to see this conversation become so real and detailed! I don’t view defi through a technical lens frankly because I can’t, so I won’t get as deep into this as ya’ll are. The reason I brought up the liquidation mechanism is because it feels leaky. Mercenaries with cool robots will come in, liquidate, and leave. Value is leaking from the trustless ecosystem to who knows where. Can’t we design this so that whoever or whatever captures that value is incentivized to keep it in the trustless ecosystem? If the tokenholders are liquidators, that value could be used for all sorts of things. There might be other value leaks we can also look at, but liquidations are the first that came to my mind.

2 Likes

Fully agree. Why not. Sounds like a good idea on paper.

2 Likes

I confess, I’ve always been confused by this take. I usually see it in context of liquidity pools and arb bots.

If someone makes an arb bot or a liquidator bot, they’re performing a service. It’s not a value leak, because value was provided in turn.

It’s just a strange characterization of what’s going on, in my mind.

By all means, create something where the protocol can facilitate handling bad debt in such a way as to attract liquidity and share the product of liquidations. But seeing bots performing this as a ‘leak’ is just odd.

1 Like

Regarding the LUSD-3CRV topic, I think this goes back to the core point that TnD and I respectfully disagree on. In Gro’s case, I don’t think I’d label it as a “misunderstanding” of LUSD but rather a pure investing decision. When Gro deposited into the pool, LUSD was closer to a 1:1 USD peg. Over time LUSD’s “soft peg” drifted further away from a 1:1 USD peg, further than the Liquity team themselves would probably have liked, even though it was never a zero probability outcome. Gro made an investment decision to pull out because it wasn’t producing the yields they wanted to provide to their users over their time horizon, and they were in a position to move the funds to a competitor who was producing something better. Portfolio management.

It is true that Liquity never guaranteed perfect price stability, but it is also very much in Liquity’s interest to maintain a closer parity between LUSD and USD over time and to reduce the length and degree of “temporary deviations”. All of which is why we are seeing Liquity take actions to reduce these price deviations, instead of blaming users for their “misunderstanding” of what is a branding issue. I respect Liquity for that and I think we would both agree that there is a lot we can learn from them as observers from the perspective of Trustless.

Regarding the topic of arb bots and liquidator bots, I agree that outsourcing functions (such as liquidations) to arb bots or liquidator bots isn’t inherently a problem. However, incentives can be restructured so that bots are still rewarded but revenue is spread more evenly amongst users of the protocol, which stimulates growth. Liquity’s model, which I explained in my reply to Miles, is one example of this. It seems that Miles thinks it is possible to build a stability pool mechanism into Trustless’ code base, effectively building something similar to what B.Protocol does for projects like Liquity and Vesta. If so, that’d be great! It would introduce extra smart contract risk of course, which goes back to the topic of audits. I am planning to make a separate post about that sometime soon.

On a related note, I was reading an article about impermanent loss and JIT (Just in Time) liquidity in the Uniswap v3 ETH/USD 0.3% fee pool, and I couldn’t help but think about Trustless as I did. The research demonstrated how the presence of JIT bots (like arb bots or MEV bots) “cannibalizes returns for LPs” and speculates that “the long-run equilibrium of unchecked JIT liquidity may be one where passively available liquidity is much less, if at all, accessible”. In other words, the unchecked ability for bots that have the technical and financial resources to perform JIT MEV transactions are negatively impacting LPs and possibly liquidity in the long term.

Interestingly, there are only two bots who have been successful in performing JIT MEV transactions on this pool, and one of them has stopped entirely, leading the other to vacuum up the vast majority of JIT swap fees. I attached a screenshot of this portion of the article because I think it is important, but here is a link to the etherscan for the still-active JIT MEV bot.

Fascinating, but what does this mean for Trustless?
A few disclaimers first - The above research article was for a Uniswap v3 pool and not debt position liquidations. It was also for a legacy Eth mainnet environment and not a lower gas, newer environment like zkSync will be. We cannot completely predict how the economic environment will be on zkSync and how users & bots will behave. The research was being supported by Crocswap, an upcoming AMM that introduces a product design that intends to compete with Uniswap, so they have a vested interest. I haven’t done a deep dive into research about liquidation bot/keeper behavior in other CDP projects, e.g. Maker or Reflexer. That said, I would not be surprised if it were the case that a small number of bots accrued the vast bulk of liquidation rewards in CDP projects that do not attempt to restructure the incentives like Liquity has.

Moreover, this provides us with a case study of the pros and cons of Uniswap v3 pools and how Trustless should be thinking about how to incentivize liquidity. For example, if the Uni v3 ETH/Hue pool is receiving 50% of TCP rewards, how can we ensure that these rewards will not be gamed by JIT MEV bots, who may be able to capture swap fees more efficiently than the Charm LPs can? It also underscores the importance of encouraging as much long-term liquidity as possible in these pools, since Trustless is dependent on Uni v3 TWAPs for price feeds.

Furthermore, it raises the topic again of potentially having an incentivized stablecoin pool down the road, such as on Curve or a similar platform. Incidentally, stablecoin pools on Uniswap v3 was the topic of another article by the same researcher, and has plenty of relevant info for Trustless. But this topic is probably best left for a separate discussion since other topics are a higher time priority at the moment.

3 Likes

:eyes::pray: good good good good good