THORChain and Impermanent Loss
How THORChain’s unique XYK implementation reduces impermanent loss for liquidity providers.
This story was originally called “THORChain’s Immunity to Impermanent Loss”, but that is inaccurate, since THORChain LPs can still experience Impermanent Loss, so the title has been amended.
Impermanent Loss
Impermanent loss is a phenomena unique to liquidity pools that implement the basic XYK formula. Given a pool with assets X
and Y
, and an input x
and output y
the formula is:
y = (x * Y) / (x + X)
where Price P = X/Y
.
The staker invested: X + (Y * P)
Price Change
After a period of time, the pool will have assets X'
and Y'
where X' = X + x
and Y' = Y — y
and the price is P' = X'/Y'
.
Thus the assets are valued at:
STAKE: X` + (Y` * P`)
However, if the assets had just been held, they would be valued at:
HOLD: X + (Y * P`)
The loss is then given by (STAKE-HOLD)/HOLD
( X` + (Y` * P`)
— X + (Y * P`)
) / ( X + (Y * P`)
)
Which simplifies to: -1 * (x²/(2 X² + 2 X x + x²))
This is explained further in this article, by PinTail:
THORChain’s CLP Implementation
THORChain has a unique implementation of the XYK concept, as outlined in the original spec, and referred to as “Continuous Liquidity Pools (CLPs)”
Instead of adding a fixed-rate fee for every swap, THORChain adds a slip-based fee. This ensures that liquidity is incentivised exactly where it is needed.
Given a pool with assets X
and Y
, and an input x
and output y
the CLP formula is:
y = (x * Y * X) / (x + X)^2
where P = X/Y
.
The slip-based fee does not eliminate Impermanent Loss, but since it drives more revenue to pools, it helps to reduce Impermanent Loss. This is in addition to the revenue that pools receive from emissions.
Other Benefits
There are more benefits to THORChain’s CLP algorithm since the fee is slip-based:
- Better incentives for pools with poor liquidity, since fees are proportional to the slip received.
- Very low fees for pools with deep liquidity.
- Greater inertia for pool pricing, which means sandwich attacks are extremely expensive to perform.
- Pool pricing can become a price feed (instead of more complex algorithms such as moving averages), since it is resistant to manipulation and sandwich attacks.
These will be expanded in a future blog.
Community
To keep up to date, please monitor community channels, particularly Telegram and Twitter:
- Twitter: https://twitter.com/thorchain_org
- Telegram Community: https://t.me/thorchain_org
- Telegram Announcements: https://t.me/thorchain
- Reddit: https://reddit.com/r/thorchain
- Github: https://github.com/thorchain
- Medium: https://medium.com/thorchain