Withdrawal
Continuing from the previous example, after the swap has occurred there is a deficit that has occurred in the Token A side.
If the LP were to remove his liquidity in the current state then the following series of steps would occur:
- LP provides his bnTokenA token to the protocol (e.g. 2 bnTokenA which has an underlying value of 2 Token A)
- The protocol withdraws 2 Token A tokens from the pool and burns the associated 6 BNT tokens that were paired.
- The LP receives 2 Token A tokens and the protocol mints the equivalent of 1 Token A token in BNT (three in our example) to cover the difference.
Note: A keen observer will realize that there is a key difference in that all BNT that is owned by the protocol is burned at withdrawal. The LP on the other hand, is receiving newly minted BNT that just came into existence.
Previously, the process by which BNT is distributed to cover deficits has been referred to as Bancor’s “Impermanent Loss Protection mechanism”. But in reality, IL is a bit of a misnomer and IL may not be the best term for it since the BNT distribution mechanism covers more than that. In the future, as Bancor 3 evolves beyond a decentralized exchange and into a financial platform which seeks multiple sources of yields for liquidity providers, this term becomes less relevant and a new term such as “liquidity insurance” (floated by some community members) might be more applicable.
Implication of withdrawal during the pause
On June 19th, emergency actions were taken to intervene in what would have resulted in an irresponsible mass distribution of BNT tokens during a market panic. As discussed in the ratification proposal, the reason being, at the time, pending withdrawals in combination with the impermanent loss protection mechanism could have crashed the BNT price to essentially zero, leading to a situation in which the recovery of funds for all liquidity providers would have been in peril.
TKN liquidity providers in Bancor 3 who withdraw from a pool that is in deficit (see example in withdrawal section) will not receive BNT as part of their withdrawal to compensate for pool deficit. In other words, you can decide to hold off on withdrawing until the issues are resolved, or withdraw now with TKN only and zero BNT. In our withdrawal example, this would result in withdrawing only 2 Token A without the 3 BNT to make up for the loss of 1 Token A.
We are currently hard at work assessing solutions to close the deficit and address some of the current root cause issues at hand and will be opening up action plans for discussion with the Bancor community.
Read the full article of Bancor 3 Mechanics here.