Balancer在uniswap的基础上提出AMM的通用版本,可以改变两种代币的比例,比如80/20 pools,即tokenA和tokenB的价值比例保持80%和20%,那么这种情况下,两种代币的储备量会满足什么曲线关系呢?
假设资金池中的tokenA的价值为80%,tokenB的价值为20%,其中tokenA的储备量为x,tokenB的储备量为y,那么两种代币价值满足:
y=-(20%/80%)*px---------------------------------------------(1)
兑换价格为p,那么p=-dy/dx---------------------(2)
(2)代入(1)中则有:
dy/dx=-4y/x
dy/y=-4dx/x
两边积分后得到:
lny=-4lnx+C
lny+4lnx=C
ln(x^4*y)=C
x^4y=e^C
即通解是
x^0.8y^0.2=k
如果tokenA的价值占比为r,tokenB的价值则为1-r,那么储备量方程则为:
当r=0.8时则为80/20 pools
当r=0.5时则为50/50 pools