[4/12 update: normalized by (1-\delta) so that A(t) and C are in the same unit as the price]
A dilemma is that we need reweights to happen in order to keep the peg, but we lose PCV with each reweight. To be precise, each reweight makes permanent the temporary loss in PCV that was accrued while price of FEI was decreasing. This is why we need to reweight without reweights; we need to make sure that everyone expects a reweight to happen when price is low, so that they buy FEI and prevent large reweights from occurring in the first place. Let me propose a simple reweight mechanism that does exactly this and satisfies a number of other desirable properties.
Reweight based on cumulative deviation
Assuming price is below 1, let m_t be the price distance from peg at block t:
Suppose T-1 is the most recent block at which price was 1 or above. Then the cumulative deviation at block t > T is defined as
where \delta is a time discount parameter between 0 and 1. A(t) is thus a measure of the severity of price disparity in terms of how low the price is and how long it has stayed low.
A reweight is triggered at block t+2 if and only if A(t) > C for some threshold C.
This is a very simple mechanism, with no need for burns or mints. But it has a number of useful properties.
1. Reweight occurs immediately whenever price is low enough.
Reweight occurs immediately (in two blocks) whenever price is less than 1-\frac{C}{1-\delta}, since regardless of the history of past prices, A(t) is greater than C.
For example, if C=0.001, and \delta=0.99, then any price below 0.90 would immediately trigger a reweight.
2. Given any price below 1-C, if this price persists for long enough, reweight occurs.
If the price remains constant at p < 1 for a very long time, then cumulative deviation approaches
which means reweight should occur eventually as long as
For example, if C=0.001, then any price below 0.999, if it persists long enough, will eventually trigger a reweight. We can interpret C as the minimum price distance that we are willing to allow to last indefinitely without triggering a reweight.
3. Whenever a reweight occurs, the loss of PCV is arbitrarily small.
Suppose the reweight threshold A(t) > C is met at block t. Then everyone knows that a reweight will occur at t+2. So arbitrage should push the price to 1 at block t+1. This means the size of the actual reweight at t+2 will be extremely small.
4. Whales with bots cannot profit by triggering a reweight himself
When price is below 1, a whale might consider the following attack: sell just enough FEI at block t to send A(t) above C and immediately trigger a reweight, buy a large amount of FEI at t+1, and then sell after reweight at t+2. But as explained above, every other whale with a bot will observe that a reweight has been triggered and compete to buy at t+1 and sell at t+2. Gas auctions should drive the profit from this attack to zero.
5. Reweights are rare.
Suppose A(t) is close enough to C such that without a price increase, A(t) will be greater than C at t+1. Then arbors will anticipate a possible reweight and buy FEI at t+1. Other arbors will anticipate these arbors and also buy at t+1. This will bring the price closer to 1, reduce A(t), and prevent a reweight.
6. No need to worry about vulnerabilities in direct incentives.
Finally, this mechanism can be implemented without fixing the vulnerabilities in the direct incentives, since it does not rely on minting or burning FEI.
As an aside, the direct incentives of mint and burn have no impact on supporting the price; they simply increase the effective swap fee as price goes down. It will certainly be useful to optimize the swap fee that accrues to the PCV, since the PCV has a huge market power as the biggest liquidity for FEI. But this is not really relevant for the immediate task of pegging.
It may come as a surprise that direct incentives are unimportant. After all, wasn’t the FEI project all about using incentives to achieve under-collateralization? In fact, FEI is indeed based on incentives, but these incentives come from the automated market maker (AMM). The difference between FEI and USDC is that USDC is always redeemable 1:1, while FEI is redeemable through the Uniswap AMM. This ensures that whenever the price is lower than $1, sellers get less than $1 per FEI and buyers get more than 1 FEI per USD. In my view, this is the novelty of a FEI.