Shrinking Infinity: Bancor3
Allowing infinite deposits into liquidity pools while managing Divergence loss protection...
Introduction
Bancor3 is due to launch soon(TM) and boasts an impressive list of improvements over v2.1. The first of three phases, “Dawn” is due in Q1 2022.
At first glance, some of these seem to be pulling in opposite directions. Specifically, the allowance for infinite token addition to the pool, while directing liquidity and shrinking pools.
Note, I prefer to use “Divergence loss” to the standard “Impermanent Loss” as in many cases it is in fact permanent.
How Bancor v2.1 provides Divergence Loss protection
A key feature of Bancor v2.1 is the fact that it allows single-sided token deposition and provides Liquidity Provider (LP) a guaranteed +ve income based on the fees in the AMM pool with the $BNT counter token provided by the Bancor protocol (/ $BNT Staker). This means that the Token provider is protected against Divergence loss (aka IL which can be very costly).
I’m not going to go into all the technical details of this protection mechanism, other than to summarise that it is provided by a mixture of $BNT deposits into the individual pool when $TKN token moons, trading income for the $BNT part of the pools, socialising the cost across the many pools, with the Bancor protocol providing the ultimate backstop.
As an example of how the protection works for an LP, consider a simple pool:
4 tokens ($TKN) with a price of $1
1 $BNT with a price of $4.
Total pool value $8.
Suppose the Token price doubles to $2. Normal market behaviour will mean that the pool will migrate to containing ~ 2.8 $TKN and ~1.4 $BNT and a total value of $11.2. (Considering a standard xy=k LP vs holding both tokens would see a divergence loss of $0.8 vs HODL).
If the LP decides to remove their $TKN. In order to make good on the promise of IL protection, the Bancor protocol will return the $8 of value (4 x $2). Ideally, as 4x $TKN, but if there is not enough $TKN available, $BNT will be used to make up the shortfall (i.e. $5.6 of $TKN and a further $2.4 of $BNT). Of this 0.6 $BNT, 0.4 has been added to the pool during the market action, so Bancor needs to spend a further 0.2 $BNT as IL protection.
Figure 1, provides a summary of this system:
Notes:
The ratio of the $ prices is the key to divergence loss. If both TKN and BNT double in $ terms there is no Divergence Loss.
If the $TKN price drops relative to $BNT, then the additional $TKN in the pool belongs to the Bancor protocol (As purchased by the $BNT provided by Bancor leaving the pool). When the LP withdraws, they then get their initial number of $TBK + fees.
Whitelisting by Bancor governance
A key feature of bancor v2.1 is that in order to qualify for single-sided staking to the AMM pools, a token has to be whitelisted by Bancor governance and an accosted $BNT cap set. This governance overhead has a number of benefits including:
If a token price collapses (/ rugs), then the pool would be drained of all $BNT provided by the bancor protocol (and any $BNT staked to that pool by LP’s).
If a token moons, then there will be a cost to the bancor protocol to cover IL as above. By limiting the size of the pool. Bancor governance can provide a partial cap to this downside.
Figure 2 presents a similar scenario for a pool that is twice the size of that in figure 1. The downside risk to the Bancor protocol (and thus $BNT holders) is doubled and may not have resulted in higher income.
Part of the art of sizing a pool is to capture high volume, and so fees, relative to the depth (with deeper pools being more attractive to traders…) and the risk of price divergence.
Bancor3 Dawn
Bancor3 Dawn has a whole host of features I’m happy to see, but I’m going to focus on 3:
Onmipool
All whitelisted tokens ($TKN, $ETH, $DAI, $LINK, $wBTC) and $BNT (protocol and LP deposits) sit in a single omnipool. This gives the advantage that previously 2 hop trades, $TKN —> $BNT —> $NKT, are reduced to a single hop (one of many gas savings in v3).
Infinity pool
Unlike Bancor v2.1, v3 allows LP’s to deposit unlimited $TKN into the pool (virtual within the Omnipool). As per figure 2, this potentially opens Bancor to higher protection costs in the event of a moon.
Liquidity shrinking via governance direction
The Bancor3 introduction Blog (and videos) say that governance direct liquidity and “The DAO can now vote to shrink”.
How the heck do you Shrink infinite?
What I think is happening
During the last Bancor community call, Mark Richardson made a few comments that I’ve been thinking about, and I think I understand how it works…
Overall the sequence looks like this:
Bancor governance white list a token and set a $BNT cap (unchanged)
LP’s deposit $TNK into the liquidity pool up to the cap, and Bancor deposits the corresponding $BNT (just like v2.1)
Once the cap is reached, additional $TKN deposits are allowed but go into an overflow pool (virtual as everything goes into the omnipool).
The AMM pool value/depth is capped at the governance set number of $BNT, and trades as normal (with IL protection).
The fees (and any mining rewards) due to $TKN LP’s are spread across the $TKN in both the AMM pool and overflow pool.
Divergence loss only applies to the AMM pool, so the Bancor downside is capped by governance.
Figure 3 presents a summary of this system:
The key is that only the AMM pool suffers divergence, the overflow pool is inherently IL protected. In phase 1, I think that the overflow pool (Called strategy pool by Bancor) will sit idle. In later phases, we will start to see some more productive strategies…
Outcomes and compromises
This structure results in a few outcomes:
Uncapped $TKN deposits is an improvement compared to v2.1
LP fee and liquidity incentives are averaged across all $TKN LP’s so it is fair to all LP’s (However, the removal of the cap means that LP yields from trading fees/liquidity mining incentives may get diluted as more $TKN is added to the omnipool).
Bancor can cap the downside risk of providing IL protection for any token by adjusting the $BNT contribution and thus trade depth (by effectively moving $TKN between the AMM and overflow pools).
The reduced size AMM pool compared to x2 the total $TKN deposits does result in some unwanted effects:
Trades will have a larger price impact on the shrunken pool, so larger trades lose more to slippage/arbitrage.
A shallower pool, may attract a lower volume of trade and so reduce fee income for $TKN LP’s (and Bancor).
The $TKN protocol may prefer a deeper AMM pool than Bancor is willing to create.
Analysts like me will be unable to rely on simple rules of thumb to convert pool AUM into price impact (A trade size 0.253% of pool AUM results in 0.5% price impact…).
Final Thoughts
As a $BNT staker, $TKN LP on Bancor and occasional governance participant, I’m excited to see the Bancor3 go live as I see significant benefits on top of the IL protection available in v2.1.
Working out how some of these features will behave is only building my confidence in the Bancor3.
Disclosure and Disclaimer
I’m a long term investor in cryptocurrencies including DeFi. I am an active member of the INDEXcoop and take an interest in other protocols. My bags include $INDEX, $BNT and a whole bunch of other tokens.
This is not financial advice, all investments are risky, crypto investments are riskier than most. Do your own research. Do not invest more than you can afford to lose.