一文读懂vAMM的Perpetual协议
在DeFi领域中,自动化做市商(AMM)被用于描述一种协议或应用,其利用数学函数来确定资产的价格,并促进两种或多种资产的交换。AMM最著名的例子是Uniswap,作为一个去中心化交易所(DEX),它利用了恒定乘积函数(x*y=k)来进行代币互换。
自动化做市商(AMM)简史
自2017年Bancor引入链上AMM以来,AMM在不同方面已经有了一些显着的改进。
Uniswap(2018年):首个实现有意义交易量,并在DeFi领域掀起AMM浪潮的AMM。 Uniswap的成功,很大程度上是因为它的简单性。
Curve (2019年): 首个针对稳定资产篮子进行优化的AMM;
Balancer (2020年): 首个使流动性资金池创建者能够自定义单个池中两个或多个资产之间权重的AMM;
Bancor V2(2020年):首个引入流动性池动态权重,以减轻流动性提供者(LP)无常损失的AMM,此外,Bancor还允许LP向资产池提供一种资产来参与做市;
Blackholeswap (2020年):首个利用Compound或其它借贷协议的供应,来处理超额流动性池交易的AMM;
在这一创新链的基础上,很荣幸和大家分享一种由Perpetual协议开创的新型AMM:虚拟自动做市商(以下简称“vAMM”或“vAMMs”)。
当前AMM的局限性:杠杆、做空和无常损失(IL)
尽管AMM领域出现了大量创新,但上述所有改进都集中代币互换服务上,这意味着每一种新方法都只适用于互换,而不能应用于衍生品(如永续合约)。
我们知道,永续合约是加密货币交易者最喜欢的产品。由于衍生产品通常涉及某种杠杆作用,所以很难使其与当前的AMM设计兼容。然而,的确有一些可能的方法。例如,利用AMM实现杠杆和沽空的一种方法,是鼓励流动性提供者在AMM池中提供代币(=1倍杠杆),并允许交易者以他们想要的杠杆率借入资产。你可以在这里了解更多有关此方法的信息。然而,这种方法的缺点是:1)流动性提供者(LP)会遭受很高的无常损失,(2)未平仓利率受资产池规模的约束。
Perpetual协议的解决方案:虚拟化AMM
为了解决当前AMM方案存在的局限性,Perpetual协议引入了一种称为“虚拟AMM”的全新方法,它从根本上扩展了AMM的应用空间,并首次实现了永续合约。
对于那些不熟悉永续合约的读者:永续合约是类似于期货合约的衍生产品,但它没有到期日期。对于WTI等常规期货合约,随着到期日的临近,合约的价格将与标的资产的现货市场价格逐渐收敛。而对于永续合约,要使其价格与现货市场价格一致,业内使用最为有效的方式是“融资率”(funding rate)。你可以阅读我们的文档,或FTX帮助中心的这篇文章,以了解有关融资运作方式的更多信息。
Perpetual协议的vAMM使用了与Uniswap相同的x*y=k恒定乘积公式。正如vAMM“虚拟”部分所暗示的那样,vAMM本身并没有存储真正的资产池(k)。相反,真实的资产存储在一个智能合约金库中,该金库管理所有支持vAMM的抵押品。与传统的AMM不同,Perpetual协议使用vAMM作为一种价格发现机制,而不是用于现货交易。
下面是关于vAMM工作原理的说明:
1、在区块链上创建vAMM之前,创建者设置存储在vAMM中虚拟资产的数量。假设以太币的交易价格为400 DAI,创建者可在vAMM上设置ETH和DAI的初始金额,比例为1:400。为了简单起见,我们假设创建者将vAMM的初始状态设置为100 vETH和40000 vDAI。
2、交易者Alice希望以100 DAI作为抵押品,然后10倍做多ETH:
(1)、Alice将100 DAI存入Perpetual协议的金库,如上所述,这是一个Perpetual协议上的智能合约。
(2)、Perpetual协议将来自Alice的1,000 vDAI(100 DAI的10倍杠杠)记入vAMM,vAMM根据一个恒定乘积函数(x*y=k)计算Alice收到的vETH数量。
(3)、Perpetual协议记录Alice现在有2.4390244 vETH ,而这个vAMM里面的状态变成97.5609756 vETH和41000 vDAI。
3、交易者Bob随后以100 DAI作为抵押品,10倍做空ETH,这意味着:
(1)Bob将100 DAI 存入相同的金库。
(2)Perpetual 协议将来自Bob的 -1,000 vDAI记入vAMM,vAMM根据一个恒定乘积函数(x*y=k)计算Bob收到的负vETH的数量。
(3)Perpetual 协议记录Bob现在做空了2.4390244 vETH,而这个vAMM内部的状态现在变成了100 vETH和40000 vDAI。
vAMM的独特性质
1、不需要流动性提供者
由于路径独立性,金库将始终拥有足够的抵押品来偿还所有针对vAMM进行交易的交易者(假设所有抵押不足的资产在破产前都已成功清算)。传统AMM的流动性来源于流动性提供者(LP)为促进交易而提供的资产,与之不同的是,vAMM的流动性直接来自于vAMM之外的金库。换言之,不需要让流动性提供者来为vAMM带来流动性,交易者本身就可以彼此提供流动性。
由于在vAMM中不需要流动性提供者,因此从一开始就不存在无常损失问题。
2、定期价格调整
vAMM本身就是一个独立的现金结算市场。如果我们想让vAMM市场价格接近某个基本指数,我们需要增加一个融资利率,类似于在中心限价订单簿(CLOB)交易所永续合约的融资支付。例如,以下是FTX的融资支付公式:
这个融资支付激励套利者使市场价格尽可能接近标的指数,并使vAMM市场跟踪标的指数。
Perpetual协议利用了与FTX类似的融资利率公式,因此允许新的衍生品市场在密切跟踪标的指数的同时,利用杠杆进行交易。
管理滑点
与传统AMM相似的是,当vAMM的K值较高时,交易者遭受的滑点较少,但相似之处到此为止。
对于传统的AMM,增加K值的方法有(1)鼓励更多的流动性提供者提供更多的流动性,或者(2)增加交易费用,并回收交易利润以提供更多的流动性。
相比之下,在vAMM中,由于K值是由vAMM运营者在启动时手动设置的,因此即使在vAMM创建之后,也可以随时随意增加或减少K,这有助于市场对最新情况做出响应。话虽如此,尽管vAMM运营者具有这种权力,但他/她无法转移存储在金库中的用户资金。 vAMM运营者在第一个版本中会是Perpetual协议团队,并在之后过渡到DAO结构。
虽然Perpetual协议的第一个版本将手动设置K值,但随着时间的推移,我们希望K值是按算法进行设置。例如,K可设置为交易量、未平仓利率、融资支付、波动率及其他变量的函数。
K值的设置需要保持微妙的平衡。如果K值太低,则协议的自然用户将产生过高的滑点,并抑制他们在系统中的交易。然而,如果K值太高,那么套利者将没有足够的资金来维持vAMM价格与标的指数价格一致。
结论
上面我们介绍了vAMM的工作原理以及关于vAMM的几个独特属性。Perpetual协议是vAMM的第一个实现,目前你可以在以太坊Ropsten测试网上体验到它:ropsten.perp.exchange 。
感谢Kyle Samani,John Robert,Justin Lee,MatejGalvánek以及Andrew Kang的评论!
微信掃描關注公眾號,及時掌握新動向
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表比特範的觀點或立場