[EthReweightQueuer] Proposal to improve reweight mechanism & maintain peg

Hmm. It’s hard to tell. Imagine a situation where a reweight doesn’t happen because a combination of short term speculator bots and long term fei buyers bring the price back to the peg. As soon as the short term speculators see that the market reaches the peg, or any price that’s profitable to them, the fastest bots will dump just as they are dumping at the moment. That will keep the price off peg by a similar dynamic as the one that keeps the price off peg at the moment. So it seems to me that even small scale honest users are incentivized under FIP-1? to not bring the price back to peg and to wait for a reweight. A re weight would be the only reasonable chance for an average user to sell at a dollar.

I know that doesn’t sound so bad, but I’ll try to explain why it is.

At the moment, it’s hard to tell what’s happening with the reward incentives because the team hasn’t yet been very clear as to what the vulnerability they found was. But in principle, the beauty of the direct incentives mechanism is that the game of buying under the peg to sell as soon as the peg is restored by buy pressure or by a reweight is biased in favor of the protocol. The importance of this is that it should work to disincentivize speculation as the community of bots realize they’re just competing against and profiting off of each other and in the meantime improving the protocol’s pcv/fei ratio. As more and more bots drop out of this race, there will eventually be one bot left. That one bot left, in principle, will be operating at a loss because the burns are greater than the rewards. Evidently, something was wrong with the execution of this mechanism, and some bot apparently found a vulnerability. But in principle, the DI mechanism can lead to an equilibrium where bots stop speculating for short term profits.

My concern about FIP-1? at the moment is that it flips the equation. It biases the speculation game in favor of the speculators. Speculators would no longer be competing against each other, but against the protocol. They’d profit directly from the protocol and might even be incentivized to work together in pools. Maybe I’m being a little dramatic, but the ultimate equilibrium would be the moment the protocol has been so drained of PCV that there aren’t many profits to be made from this scheme.

Another way of seeing this is that, at the moment, at least by design, the faster speculators take ETH from the slower speculators while those that hold fei hold an ever more collateralized coin, whereas under FIP-1?, all speculators take ETH from the PCV, which is just to say that they take ETH from the honest genesis participants.

1 Like

You must have put a lot of intellectual energy in to this proposal which I appreciate. But what you suggest will complicate buy-sell activity of FEI (stable coin !) . Already complicated with current incentivized trade, FEI/ETH tx needs to be simplified… Simple is better, like;
For ETH/FEI PCV offers ETH (BUY RATE at 2000) (SELL RATE 2010)

1 Like

Why dump if you know you can exit at the peg price soon ? If reweight never happens because DI + the promise of an exit at peg with the EthReweightQueuer are enough by themselves, it means we achieved the goal of stabilizing around peg :champagne:

The EthReweightQueuer could be two-way, and offer to redeem back the qFEI-ETH for FEI ?

The protocol always win (and that is what gives value to TRIBE tokens).

If the protocol is overcollateralized by X%, redeeming FEI for PCV is a X% win for the protocol.

If the protocol is undercollateralized by X%, redeeming FEI for PCV should incur a >X% USD punishment:

  • If the punishment is <X%, the protocol can be emptied of its PCV while some circulating FEI are remaining. In that situation the last to exit are left with worthless tokens. This is why all the other propositions to allow FEI to be redeemed at a fixed price can't work (even if it is .95 or less).
  • If the punishment is =X%, we can have a rundown effect where everyone exits & empties the protocol by taking a X% USD loss (0% ETH loss if ETH is the only collateral in the protocol & FEI was bought with ETH in the first place).

The scaling factor of that punishment could be determined by governance votes, and could be as low as zero (maybe rundown exit is an acceptable protocol behavior to TRIBE holders, after all it is a fair way to proceed where TRIBE holders are the ones taking the loss).

Anyway the purpose of the EthReweightQueuer is to allow everyone to choose to exit & take that (eventual) punishment. Right now only bots can exit after reweights.

Having the protocol undercollateralized is of course a very bad situation that should never happen, and there should be other mechanisms (like TRIBE auction) to prevent that. I don’t think FEI can stabilize to 1$ if the protocol is undercollateralized.

1 Like

I see what you mean! :slight_smile:

I think you’re right that if there’s confidence in the peg, dumping results in a loss relative to slowly selling. Barring more sophisticated strategies that might compound on the returns of repeatedly dumping, it looks like it’d work.

How are you deriving these results?

Hi Eswak,

Thank you for the thoughtful post and some good ideas. I agree with quite many of them but not all :). I will need to find sometime to go through your aggregation of tagged posts to provide a more detailed reply. I also wrote a more generic proposal earlier today, feel free to comment.

Thanks again for being a valuable TRIBE Member/Contributor.

1 Like

With bad math :joy:

The actual formula is more complicated but the idea is : if the protocol is overcollateralized, people cashing out reduce PCV but improve collateral ratio. For instance:

  • Start PCV = 110$
  • Start Circulating FEI = 100
  • FEI queued to exit in EthReweightQueuer = 50
  • Before exit collateralization = 110$ / 100 = 110%
  • After exit circulating FEI = 50
  • After exit PCV = 60$
  • After exit collateralization = 60$ / 50 = 120%

And if the protocol is undercollateralized, and punishment is equal to the undercollateralization :

  • Start PCV = 90$
  • Start Circulating FEI = 100
  • FEI queued to exit in EthReweightQueuer = 50
  • Before exit collateralization = 90$ / 100 = 90% (10% undercollateralized)
  • After exit circulating FEI = 50
  • 10% punishment for cashing out while undercollateralized = 10% * 50 = 5 FEI burnt
  • The 45 FEI cashed out redeem 45$ of the PCV
  • After exit PCV = 45$
  • After exit collateralization = 45$ / 50 = 90% (still 10% undercollateralized)

With increased punishment (P=20%) :

  • Start PCV = 90$
  • Start Circulating FEI = 100
  • FEI queued to exit in EthReweightQueuer = 50
  • Before exit collateralization = 90$ / 100 = 90% (10% undercollateralized)
  • After exit circulating FEI = 50
  • (10% * (1+P)) = 12% punishment for cashing out while undercollateralized = 12% * 50 = 6 FEI burnt
  • The 44 FEI cashed out redeem 44$ of the PCV
  • After exit PCV = 46$
  • After exit collateralization = 45$ / 50 = 92% (only 8% undercollateralized now)

:upside_down_face: Oh wow thank you for clarifying! And yeah I derived a formula that doesn’t give anything simple to interpret. I definitely busied a half an hour or so trying to get the results in your prior post and was stumped! hehehe!

So I think what you’ve shown me so far is that even with FIP-1?, the protocol would relief sell pressure while increasing the collateralization ratio. I think that’s an important property of the original design that we shouldn’t sacrifice.

Of course, it increases collateralization less than whatever is implemented at the moment would, but ideally it would be more effective than what’s implemented at the moment at releasing sell-pressure in the short term and arriving at a stable peg. That seems like a reasonable trade off.

Well, I’m not sure what will become of this. But thank you for being this engaged with the protocol and addressing my concerns. I hope that our discussion is helpful to anyone else looking at this thread. And I hope to see you around in the future even if FIP-1 doesn’t turn out to be FIP-1?! :grinning:

2 Likes

Never mind these last couple posts. I realized what I’m trying to get at is at least a lot more complicated than I confidently understand at the moment. And likely not a problem at all.

One additional thought : to avoid introducing a new qFEI-ETH token bearing the volatility of under-peg FEI (and outsourcing it to the open market), we could also make TRIBE assume that role. It takes more coding, but I think it’s more elegant.

Rationale : TRIBE holders have confidence that FEI will get back to peg, because they control the PCV to make it happen (and can vote to make it happen). They should, therefore, be comfortable with buying FEI at .99$ regardless of market conditions, because they know they’ll be able to make a 1% profit on it soon.

That “1% profit” is a parameter set by governance. Short term, given the situation, it could make sense to have it at ~5%, but in the long run it’s probably better to have it around 0.3%, like a Uniswap fee, and make sure the peg stays closer to 1$.

Step 1:

  • 1000$ worth of TRIBE get staked in EthReweightQueuer.
  • EthReweightQueuer borrows 300$ worth of ETH from the PCV, and owe 300 FEI to the protocol.
  • The 1000$ worth of TRIBE are now owned by the protocol (PCV increases by 700$).
  • If the TRIBE value drops sharply, the TRIBE can get liquidated for ETH.

Step 2 :

  • FEI get redeemed for ETH in the EthReweightQueuer at 99% peg price.
  • After 300 FEI, EthReweightQueuer is out of ETH (it keeps 1%).
  • The “queue is full”, and anyone can ask EthReweightQueuer to trigger a reweight.
  • On trigger, EthReweightQueuer pays back the 300 FEI loan, then reweight happens.
  • EthReweightQueuer takes a new loan.
    • if the TRIBE/ETH price changed, the loan can be larger or smaller than before.
  • EthReweightQueuer uses the 1% remaining ETH to buy TRIBE (staking rewards).

The loan to value of 30% & liquidation threshold could also be tweaked by governance. There is no need to borrow a large portion, a safe borrow for ~10% of the TRIBE value would decrease the chance of liquidation & would just fill the queue sooner (trigger more reweights).

Some bots will probably try to snipe the “1% remaining ETH to buy TRIBE” transaction & sell right after, but to do so, they will need to have bought TRIBE in the first place, so I don’t think it’s problematic.

Effects:

  • Anyone can exit whatever the market conditions at a small premium to TRIBE holders :money_with_wings:
  • TRIBE guarantee a price floor to FEI :exploding_head:
  • Single-token stake farming for TRIBE holders (stake TRIBE, get more TRIBE) :chart_with_upwards_trend:
  • PCV increases :lock:
  • There is buy pressure on TRIBE when PCV goes down (a period where there should be some opposing sell pressure on TRIBE) :muscle:
7 Likes

Hey Eswak, this is awesome. Really like what you’ve proposed here.

1 Like

Well spotted. Yes, this means FEI by design is unusable. Damn!

Because if you got a reward of say 10% and sold at a burn of 8% you have still made a profit of 2%. However, this needs a time lag and thus the bot needs to time it and leave the peg/burn/reward to be such that this arbitrage can happen. We cannot rule out such an occurrence and that too repeatedly.

This means that large sell trades won’t happen on the Uniswap incentivized pool, because slippage is doubly punished with burn there. But for large low-slippage trades you probably want to use a secondary market like Curve or Uniswap-v3 anyway.

2 Likes

This logic makes a lot of sense to me, intuitively users should be able to redeem at the collateralization ratio. I’m thinking we may not even really need a reweight queuer in that case because we can just have a portion of PCV set aside for this.

The obvious necessary piece is a collateralization oracle, as spot deployments of PCV can be manipulated

1 Like

That sounds like a mandatory first step, whatever backstop PCV redeem mechanism we put in place.

Cheers for identifying that topic in the middle of all the potentially-controvertial things I proposed here. Let’s start with that, we’ll see what we build on top later.

Wouldn’t that cause some problems ? If instead of redeeming at peg, circulating FEI became large liquidity providers of the ETH-FEI incentivized pool, reweights would cost a lot to the protocol. They could even become >50% liquidity providers :

  • 30$ of ETH PCV is allocated to the “PCV redeem at peg” contract
  • 70$ of ETH PCV remains in the Uniswap pool
  • 80 circulating FEI can become majority liquidity providers in the pool

I’m sure one could design attacks around reweights & liquidity providing to drain ETH out of the PCV in that case. This is why I suggested an ETH redeem mechanism at peg that is closely tied to the reweight and EthUniswapPCVController. ETH PCV would remain tied to the pool & not sent elsewhere.

Seems like the maximum portion of PCV that can be allocated to the “redeem contract” is determined by the collateralization ratio too.

1 Like

What about keeping a small reserve, say 5% that tops up whenever it gets low on some fixed schedule?

1 Like

Probably safer for the protocol :slightly_smiling_face: I can’t prove it though

You may want an instant top-up if the content of that small reserve drops below X%, otherwise it will recreate the situation when bots sniped the reweight. Bots can snipe the top-up and exit at peg, while everyone else is locked with FEI and the market price remains low. Eventually bots will buy FEI to make profit on the top-ups so the market price will get back to peg, but expect some chaos like after launch :frowning_face:

BTW, the behavior you are describing is similar to a “reweight queuer” and regular forced reweights :sweat_smile: and my answer similar to triggerable reweights when the queue is full.

In fact, if bots get to exit first & push price back to peg in multiple arbitrage loops, I think it’s simpler to don’t code anything new and just trigger reweights on a fixed schedule.

Would it be possible to allow some whitelisted addresses to swap at peg on the EthUniswapPCVController, out of direct incentives ? In that case, we could code a smart contract, whitelist it, and make it redeem FEI at peg without having to set up a side reserve / queuer. That contract would need to be disabled when the protocol becomes undercollateralized, obviously.

2 Likes

Great discussion happening here! If I understand well, If there is a limited space to sell at peg bot will always frontrun other sellers and be the first to sell in the reweight. But maybe a misunderstood some part of the queue solution.

I was thinking that the dutch auction in a balancer smart pool could be more safe to provide a fair exit to everyone and increase FEI slowly to $ 1.

This is a very innovative and well thought our project. I hope it achieves what it sets out to do.

FEI Bonds?

Has it been considered to introduce FEI Bonds?

FEI-BONDs would pay a higher interest rate based on term and discount from peg goal of $1. Basically holders of FEI, would pay people to forgo selling now under peg and pay them to lock up FEI in a FEI-BOND for some term. FEI Holders pay them through the minting inflation of the FEI interest paid on the FEI-BOND.

Also, If the PCV is invested it would be generating income with which to pay for the FEI interest paid to FEI-BOND holders.

DeFi needs a proper term structure for synthetic dollars.

Thoughts?