当前位置:主页 > 列表页 > 正文

BAMM:一种更高效的流动性做市算法,能否为路印(Loopring)开辟新的天地?

2021-03-03 18:30 | 出处: 大海星辰

各位伙伴,中午好!

在前不久的进行的“币乎三周年直播之夜”中,在币乎上呈现了一次精彩的直播:币乎创始人--咕噜 邀请 以太坊创始人--V神 就以太坊Rollup 二层技术进行全面解读:

这次直播活动效果很好,前来看直播的人很多,直播间也一度出现卡顿现象,这次直播是值得看的,毕竟以太坊2.0推出之前,能有效解决以太坊拥堵的方式就是以太坊Rollup 二层技术,如果你曾留意头部Defi项目的最新动态,也会发现Defi项目正在逐渐拥抱以太坊二层扩容这一趋势。因此,为了在今后在区块链之路上不再迷茫,你有必要看一看这场直播、或者阅读一下 行走 提供的直播笔记:

行走笔记:Vitalik AMA,以太坊Rollup 二层技术全解读

当然,今天本文的重点不是这次直播(关于咕噜为何邀请V神进行这场直播以及 KEY GROUP 的布局,我会在后续单独成文讲述),而是以太坊Rollup 二层领域的国产之光--路印(Loopring):


更确切的说是路印(Loopring)在未来的可能布局----在前几天,路印创始人王东曾在推特上推出了一篇文章,而这篇文章有可能为路印开辟新的天地!

到底是怎样的一篇文章,我们一起来了解一下:


1. BAMM:一种更高效的流动性做市算法


①楔子

这波牛市的火热主要归功于Defi的崛起,而Defi的崛起主要归功于Uniswap的崛起,而Uniswap的崛起主要归功于AMM流动性做市算法以及无许可上币;时至今日,借鉴Uniswap AMM流动性做市算法的项目数不胜数,遍布在以太坊、EOS链、BSC、HECO等等。


Uniswap AMM流动性做市算法很简洁:

x * y = k

用文字表述即为“恒定乘积”,即:不论怎么交易,最终做市池两边的资产的单位数相乘,总是等于一个固定的常数:


这种算法很简洁,但也存在一种弊端:资金利用率较低,曲线两端的区间(价格趋于0、价格趋于∞)基本上不会产生交易,而这部分资金被白白闲置了!


② 一则推文,10000LRC奖金


上周,路印创始人--王东 在推特发布了一篇推文:


在这则推文中,王东表示他想到了一个很棒的主意--BAMM,这种算法可以解决大多数AMM池资金利用率低的弊端,并发起了10000LRC的悬赏来奖励最佳的数学建模、分析。本次悬赏活动持续到3月15日,如果你感兴趣不妨试一试


③ BAMM算法


本小节,我将按照BAMM的文档用示例让大家了解 BAMM算法:


1.我们先假设一个简单的BAMM做市池有2种资产:X 、 Y。

X包括两部分:

x : 流动池中X资产的真实数量;

x̅ :流动池中X资产的虚拟数量;

Y包括两部分:

y : 流动池中X资产的真实数量;

流动池中X资产的虚拟数量;

类似于 uniswap 的AMM,我们需确保:

(x+)(y+)=K


2.假如 Leo 向流动池添加初始流动性 x=100, y = 100 ,则流动池如下:


此时,Alice 想买 10个X,则在BAMM算法下操作如下:

在Alice下单前,向流动池加入虚拟资产(加入的虚拟资产可为当前流动池的N倍),此时我们加入 10倍(N=10)的虚拟资产,则流动池如下:


② 进行交易:


买入10个X,则 x 变为90,由于 (x+x̅)(y+y̅)=K ,交易前后x̅、y̅、K均恒定不变,则 y变为110.092,即:

本次交易用10.092枚Y购买到10枚X,交易后池中资产价格变为:

(x+x̅)/(y+y̅)=(90+1000)/(110.092+1000)=0.982

③ 虚拟资产退出

若闭环本次交易,还需将之前加入的虚拟资产退出(需将x̅或y̅归零);我们将y̅归零,由于虚拟资产退出不影响交易池价格,故由 price=(x+x̅)/(y+y̅),可得y̅归零后,x̅=18.099,K=(x+x̅)(y+y̅)=11900.826


3.上述交易完成后,流动池中只剩90枚X,也意味着最多还可以买到90枚X,假如Alice 还想买 90个X ,我们仍可按步骤2中的“加入虚拟资产--交易--虚拟资产退出”的流程操作:


如上图所示,添加虚拟资产y̅,并令 y̅=10*y,由 price=(x+x̅)/(y+y̅)可得 x̅,再通过 K=(x+x̅)(y+y̅) 可得 K;

在交易前后,K恒定不变,故从交易池买走90个X后,x=0,x̅、y̅不变,可由 K=(x+x̅)(y+y̅)得到交易后的 y=209.256,即

本次交易用99.164枚Y买到90枚X,交易后池中价格变为0.839.

将虚拟资产退出后,会出现一个有意思的现象:

交易池中已没有X资产,只有Y这一种资产,池中的价格是因为有虚拟资产x̅的支撑,此时,做市者退出做市只能收到Y这一种资产!

这种现象意味着单边做市的可能,即:你可以仅加入单边资产就可以完成做市(另一边由虚拟资产支撑)


4.小结

在上述例子中,Alice买走了流动池中所有X资产,X兑Y价格由1变为1/0.839=1.1919,即X价格仅有19.19%的增幅;

若在uniswap中,同等初始流动性下,若买完池中全部X,则X价格将趋于∞(事实上,无法买完池中所有X)

在这个例子中,X价格最多可以上涨19.19%,如果我们想要这个增幅更大,我们可以在加入虚拟资产阶段 加入更少的虚拟资产; 如果我们想要这个增幅更小,我们可以在加入虚拟资产阶段 加入更多的虚拟资产。

在BAMM算法中存在下述规律:

单边资产最大涨幅 P (即有一边流动池的资产全部卖光时的价格)与 加入的虚拟资产倍数N 的关系为:

N = 1/(sqrt(P)- 1)


假如我们希望某个流动池代币最大涨幅为4倍,只需在添加虚拟资产时添加1倍的虚拟资产即可:

如上图所示,添加虚拟资产的倍数 N=1(即x̅=1*x),当池中X资产卖光时,X资产价格涨了4倍。


④ BAMM算法 的本质

上图中,紫色线条展示的是 uniswap 的 x*y=K 的曲线;下方的黑色线条展示的是 P=10 的 BAMM 曲线;上方的黑色线条展示的是 P=2 的 BAMM 曲线;

并且,P越大,BAMM 曲线与 uniswap 曲线越近,形状也更为接近,当P为∞,则BAMM 曲线与 uniswap 曲线重合。

BAMM 曲线 可以被视为被限定了交易区间的uniswap 曲线,在限定价格区间内,流动池内的资产可以被完全交易,因而交易池中的资金利用率大大提高。


2. 关于 BAMM算法的几点思考


第1节通过实例验证了BAMM 算法是一种资金利用率更高的算法,但是该部分内容较枯燥,可能部分读者读后仍未意识到该算法的价值,下面我将谈一下这种算法所带来的优点,以帮助你发现其潜在价值:


① 更高的资金利用率

通过向流动池引入虚拟资产,并设置不同的倍数N,意味着 将池内资产的交易价格限制在一定交易区间(价格区间:1/P~P,N = 1/(sqrt(P)- 1)),无疑可以大幅提高资金利用效率(在uniswap中,曲线两端的价格很难出现,该部分价格区域的做市资金并未获得有效利用),这在实际应用中大有好处:

对于不同的资产可按照其价格波动程度分级,对于低波动资产(如:稳定币、不同网关产生的不同版本btc),可以引入高倍数的虚拟资产,将交易价格区间限制在小范围内;对于较成熟的代币(如:BTC、ETH),可以引入中等倍数的虚拟资产,将交易价格区间限制在适中范围内;对于波动较大的新兴代币(如:UNI、LRC),可以引入低倍数的虚拟资产,将交易价格区间限制在较大范围内;如此不同币种可在适合各自的价格区间内实现更高的资金利用率。

由于市场存在明显的牛市、熊市:牛市价格普遍波动较大,熊市价格波动较小,可以对同一代币流动池根据市场活跃程度设置不同的虚拟资产引入倍数,以实现更优的资金利用率。

提高资金利用率的好处很明显,同等做市规模的流动池可以拥有更优的交易滑点、更高的交易量,流动性提供者可以获得更高的做市收益。


② 单边做市

在BAMM算法下,因为引入了虚拟资产的概念,所以存在单边做市的可能,这意味着流动性提供者有更低的准入门槛!

在 uniswap 类型的做市模型中,流动性提供者需提供等比例的两种资产,这对想参与做市的用户来说是不小的门槛,因为通常大家手中都是某种资产占的比例更高(甚至满仓某种资产),这意味着若想参与做市(挖矿),需要抛售某种资产、配对做市,这将打破原有的资产持仓比例,很多代币持有者因此而放弃做市。

单边做市的出现,意味着流动性提供者即使仅有一种资产也可以参与做市,准入门槛的降低意味着更多用户成为流动性提供者、做市规模也将更容易扩张。


③ 更优的新资产发行模式

支持单边做市、支持通过调整虚拟资产倍数控制价格区间,这对新资产的发行将大有好处!

当前,很多新币项目方将uniswap选择代币发行平台,依托uniswap庞大的用户量、资金量确实有助于新资产的发行,但是这种发行方式对新币项目方压力很大:

通过uniswap做市发行新币意味着 新币项目方在添加流动性时需添加等比例的有价资产(如 ETH USDT),如果添加的流动性过大,意味着要投入大量有价资产配合做市,很多项目方处于初创阶段,很难拿的出这部分有价资产;

BAMM算法支持单边做市,意味着新币项目方只需投入项目代币,无需投入有价资产配合做市,只需设置初始的价格,在流动池中通过增加虚拟资产来为价格提供支撑,这也将催生一种新的代币发行方式--IBO:

比如某新项目方即将发行的代币为A,初始发行数量为100万枚,希望通过IBO的形式募集USDT以支持项目开发,期望募集初始价为1USDT,价格区间为1~9USDT,募集时间为24小时,那么 其IBO流程如下:

a.创建A/USDT做市池,提供100万枚代币A作为初始流动性,设置初始价格为1USDT,虚拟资产倍数 N=0.5,则加入虚拟资产后流动池如下:

b.设置募集时间为24小时,则在24小时内投资者可向流动池内添加USDT资产用于IBO;

c.募集时间结束,开始进行流动性分配,完成IBO:

投资者投入流动池内的USDT可以视为同一人单次swap行为(swap获得代币A的额度按投资者投入资金占比分配),这样可以有效避免交易抢跑行为,确保每个参与募资的投资者可以以相同价格获得初始代币,保证募资的公平性;

按照BAMM算法,若达到本次募资的硬顶(即100万枚代币A全部售出),则将获得300万枚USDT,此时流动池内的代币价格也达到设定区间上限,即1 A= 9 USDT。

此时会出现有意思的事情:投资者以300万USDT买光了100万枚代币A,意味着投资者募资成本为3USDT/枚 A,而市场价格已达到了9USDT/枚 A ;所有参与募资的投资者都将在完成募资时获得不菲的收益,而代币项目方也以低成本的方式完成了募资,并使自己的代币上涨到合适价格,算得上是双赢的结局。

事实上,即使IBO池中的代币未完全售尽,参与募资的投资者以这种方式获得的代币都是低于市场价的。

很显然,基于BAMM算法的IBO模式可以确保所有参与募资的投资者以低于市场价格获得初始代币,并且依托集合竞价的方式最大程度保证了公平--所有投资者将以同等的价格获得初始代币,同时该模式下募资价格上限公开透明,无需担心因代币热度过高(参与资金过多)导致初始价格过度抬高;

对于代币项目方来说,可以极低的成本启动代币发行(无需考虑投入有价资产匹配做市),募资完成后,可以保证市场价格维持在价格预期范围内;还可以配合代币发行平台在募资结束后快速组建流动性池、提高流动性。


3. BAMM算法对路印(Loopring)的影响

当前,路印已推出基于 ZK Rollup 二层 SWAP、订单本,依托以太坊layer2,用户可以以极低的成本参与代币交易,但是一层进入二层成本高、AMM做市门槛高等问题也在影响 路印二层做市规模的扩大,一旦BAMM算法完成部署,将极大降低用户做市门槛,任何代币持有者均可以通过单币做市的模式参与到流动性做市中,无需考虑做市资产的匹配性;

基于BAMM算法的IBO模式无疑是双赢的资产发行模式,借助路印二层 快速、低费用的优点 可极大降低代币发行方/投资者的参与成本,而新币的造富效应也必将带来巨大的吸引力,吸引更多用户迁移到 路印二层之中!


随着更多的用户参与到二层经济活动中,二层的tps也将大幅提升,平摊到每笔链上行为的成本也将大大降低,基于二层经济行为捕获代币价值的LRC也将实现价值发现!

【注:关于LRC价值模型可参照寻找价值洼地:路印(LRC)是否能成为Layer 2 龙头?关于其最新代币模型的解读

4. 其他


欢迎加入【面朝大海 仰望星辰】社群,一起探讨区块链知识,聊一聊区块链有趣的项目!

【注:群已满200人,入群请加 VX tlsodo,或由群内成员邀请入群】

作者郑重申明:截至发文时,作者与文中提及项目(包含BTC、ETH等)皆不存在任何利益关系。

您可能感兴趣的文章:

相关文章