HashKey 郝凯:深入解析 Perpetual Protocol 永续合约机制设计_ERP:PROT

PerpetualProtocol通过vAMM模式实现去中心化永续合约交易,在一定程度上解决了AMM流动性和无偿损失问题。

撰文:郝凯,就职于HashKeyCapitalResearch审核:邹传伟,万向区块链首席经济学家

做市商广泛存在于交易市场,他们通过做市制度来维持市场的流动性,满足交易者的交易需求。随着DeFi项目的兴起,自动化做市商受到越来越多的关注。AMM利用数学函数来确定资产的价格,在推动DeFi发展和提供流动性方面发挥了巨大作用。

永续合约很好地契合了加密货币市场上交易者的特点和需求,已经成为中心化交易所在期货合约市场的主要产品。作为实现去中心化交易所的关键技术,AMM已经被成功应用到现货交易中。一些DeFi项目希望通过AMM的方式实现永续合约,PerpetualProtocol是其中的典型代表。根据下表中数据,PerpetualProtocol的交易量在衍生品类去中心化交易所是最高的。

表1:与去中心化交易所相关的主要DeFi项目,数据来源:www.oklink.com,2021年3月15日

项目设计

AMM通过完全去中心化的方式实现两种或多种资产之间的链上交易,利用数学函数来确定资产的价格。例如,Uniswap使用恒定乘积函数x*y=k,当x的供给增加时,y的供给就会减少,以保持恒定的乘积k,反之亦然。但是,AMM还存在很多限制,包括无常损失、资本使用效率低和无法使用杠杆等。

虚拟自动化做市商

Zero Hash完成3500万美元C轮融资,Point72领投:9月30日,Zero Hash宣布完成3500万美元C轮融资,Point72领投,NYCA Partners和DriveWealth以及部分天使投资者跟投。据悉,ZeroHash将使用该笔融资用于DeFi和NFT领域的扩张。[2021/10/1 17:18:47]

针对当前AMM存在的问题,PerpetualProtocol引入了虚拟自动化做市商。所谓虚拟自动化做市商,指的是交易者的真实资产没有存储在vAMM中,而是存储在管理所有vAMM抵押品的智能合约中。

对于流动性而言,AMM的流动性来源于流动性提供者在流动性池中提供的资产。vAMM的流动性不依赖流动性提供者,直接来自于vAMM之外的抵押品。在vAMM中,交易者本身可以彼此提供流动性,不需要其他流动性提供者。因此,vAMM始终存在流动性。

对于无偿损失而言,由于vAMM不需要其他流动性提供者预先放入资产来提供流动性,交易者的真实资产存储在管理抵押品的智能合约中,因此vAMM模式下不存在无偿损失。

vAMM也采用恒定乘积函数x*y=k,并且PerpetualProtocol允许交易者使用1-10倍的杠杆进行永续合约交易。与AMM不同的是,vAMM不需要真实的流动性提供者来提供资产,x、y和k值是由创建者设定的。

由于k值是虚拟的,可以根据交易量、持仓量和资金费率等市场数据进行调整。未来,k值可能会以分布式自治组织的形式来决定。通过调整更高的k值,vAMM可以有效解决交易滑点的问题。但k值也不能设置的太高,否则会影响套利者的参与动力。

去中心算力代币化协议HashMix启动激励计划第二阶段:去中心算力代币化协议HashMix已启动激励计划第二阶段,奖励池增至最高300000 HSM。第二阶段具体时间为美国东部时间7月30日10点-8月13日10点(北京时间7月30日22点-8月13日22点),总共持续两周。

据此前报道,HashMix宣布获得300万美元融资,投资机构包括HashKey Capital、分布式资本、Continue Capital、GBV、SevenX Ventures、Kenetic Capital、FBG Capital、Qtum、LongHash Ventures、Morningstar Capital、A&T Capital等。[2021/7/31 1:26:34]

交易流程

创建者创建vAMM,并设定vAMM中虚拟资产的初始数量x0和y0,对于任意时刻,资产x和资产y都满足恒定乘积函数x*y=k,资产x相对于资产y的初始价格为y0/x0。

表2:交易流程示意图

当交易者进行平仓时,他们需要拿出持有的资产x,并根据恒定乘积函数计算得到最终实际获得的资产y的数量。

资金费率

为了确保永续合约的价格和现货价格之间的长期趋同,不会偏离现货价格太多,PerpetualProtocol也引入了资金费率机制。PerpetualProtocol每隔一个小时进行资金费率的结算。资金费率决定了付款方和收款方:如果永续合约的价格明显高于现货价格,那么资金费率为正,多头需要支付资金给空头;反之,如果永续合约的价格明显低于现货价格,那么资金费率为负,空头支付资金给多头。并且,价格偏离的程度越高,资金费率就会越高。如果永续合约的价格与现货价格出现明显的偏差,会有套利者在两个市场上进行套利。同时,PerpetualProtocol也采用标记价格以避免市场操纵的影响。

动态 | FOAM发布Haskell语言开发工具包Kepler:区块链地理空间协议FOAM已发布官方Haskell语言SDK(软件开发工具包)——Kepler,用于构建由Tendermint共识引擎支持的区块链应用程序。[2020/2/20]

PerpetualProtocol的资金费率的计算如下。其中,TWAP表示时间加权平均价格。

项目代币PERP

PERP是PerpetualProtocol的项目代币,主要作用包括抵押和治理。PERP持有人可以抵押代币并按比例获得交易手续费的分红奖励。同时,PERP持有人还可以参与项目治理,例如参与投票上线新的交易对和修改项目参数等。

案例分析

目前,PerpetualProtocol支持ETH/USDC、BTC/USDC和DOT/USDC等交易对,每个交易对都用USDC作为保证金。以ETH/USDC为例进行分析。假设ETH的交易价格为2000USDC,创建者设置ETH和USDC的初始比例为1:2000。例如,创建者将vAMM的初始状态设置为100vETH和200000vUSDC,具体交易流程如下表所示。

表3:案例分析

交易者A希望以1000USDC作为抵押品,然后10倍做多ETH。A将1000USDC存入抵押品的智能合约中。PerpetualProtocol将A的10000vUSDC计入vAMM。此时,vAMM中USDC的数量为210000,根据x*y=k计算A收到的vETH的数量,即4.7629个,相当于A持有4.762个ETH多仓。

动态 | Cardano发布新的Cardano Haskell实现:Cardano团队最近发布了一个新的Cardano Haskell实现,它由Cardano节点和Cardano Explorer后端和Web API组成。这次更新致力于从根本上改进Cardano的设计。IOHK首席执行官兼联合创始人Charles Hoskinson在最近一次AMA会议上详细阐述了这一点:“这两个软件构成了我们部署Shelley的基础。我们已经和一个庞大的团队在这个软件上持续工作了18个月。”(AMBCrypto)[2020/2/15]

此时,交易者B也希望以1000USDC作为抵押品,然后10倍做多ETH。B将1000USDC存入抵押品的智能合约中。PerpetualProtocol将B的10000vUSDC计入vAMM。此时,vAMM中USDC的数量为220000,根据x*y=k计算A收到的vETH的数量,即4.329个,相当于B持有4.329个vETH多仓。

然后,交易者A拿出持有的4.762个vETH进行平仓。此时,vAMM中vETH的数量为95.671,根据x*y=k计算得到vUSDC的数量为209049.8,A的最终获利为950.2个USDC。

此时,交易者B拿出持有的4.329个vETH进行平仓。此时,vAMM中vETH的数量为100,计算得到vUSDC的数量为200000,B的最终获利为-950.2个USDC,即交易者B亏损了950.2个USDC。

与中心化交易所永续合约的对比

动态 | 由LongHash孵化的五家区块链创企融资970万美元:据Tech In Asia消息,由新加坡政府支持的全球区块链孵化器LongHash宣布,在1月至3月为期12周的项目之后,其首批区块链初创企业已筹集了970万美元的资金。[2019/8/2]

交易对手方

中心化交易所的永续合约属于场内标准化交易产品。永续合约是一个双向交易市场,根据中心化交易所的撮合机制,交易者在开仓交易时必须要有对手盘才能成交。也就是说,对于做多的交易者,必须有做空的对手方才能完成交易,反之亦然。

但PerpetualProtocol的交易者不需要交易对手方。从上一章的案例中可以看出,在vAMM模式中没有真实的资产在进行交易,交易者在开仓时不需要反方向的交易对手方。在不考虑交易手续费等磨损的条件下,生态中交易者的盈利等于其他交易者的亏损,并且与交易方向无关。即使PerpetualProtocol中两个交易者的交易方向是一致的,还是可能会出现一位交易者盈利而另一位交易者亏损的情况。

考虑一种极端情况,PerpetualProtocol生态中所有交易者都建立多头头寸或都建立空头头寸。这在中心化交易所的永续合约市场上是不可能发生的,但对于PerpetualProtocol是可能的。此时,PerpetualProtocol市场的价格将会明显偏离现货市场的价格,理性的套利者会进行做空以获得资金费率金。如果没有套利者加入,多头需要向风险准备金支付资金费率金。

盈亏计算

中心化交易所的永续合约可以分为币本位合约和USDT本位合约。币本位合约也称为反向合约,交易者使用对应的加密货币作为保证金来进行交易,最终也按对应的加密货币进行结算。例如,交易者参与BTC的币本位合约,那么交易者要先持有一定数量的BTC作为保证金,其最终收益也按BTC来计算。USDT本位合约也成为正向合约,其保证金和结算币种都使用USDT。参与USDT本位合约的交易者不需要持有不同种类的加密货币,只持有USDT就可以参与所有交易品种的USDT本位合约。同时,USDT本位合约的保证金的价值不会发生变化,其盈亏曲线是线性的。假设在10000美元的价格分别在币本位永续合约和USDT本位永续进行BTC开仓100张合约,盈亏曲线如下图所示。

图1:币本位合约和USDT本位合约的盈亏曲线

对于币本位合约,交易者的盈亏需要根据持仓均价、平仓成交均价、合约面值和合约张数来进行计算:多仓盈亏=(1/持仓均价-1/平仓成交均价)*平多仓合约张数*合约面值;空仓盈亏=(1/平仓成交均价-1/持仓均价)*平空仓合约张数*合约面值。

对于USDT本位合约,交易者的盈亏需要根据持仓均价、平仓成交均价、合约面值和合约张数来进行计算:多仓盈亏=(平仓成交均价-持仓均价)*平多仓合约张数*合约面值;空仓盈亏=(持仓均价-平仓成交均价)*平空仓合约张数*合约面值。

对于PerpetualProtocol的交易者来讲,他们最终的盈亏计算与开仓和平仓时的整个系统的状态有关。

风险准备金

中心化交易所都为永续合约提供风险准备金。如果交易者的永续合约被强制平仓,交易所就会启动清算引擎接管交易者账户上剩余的仓位,并使用风险准备金来进行反向平仓。风险准备金的存在相当于交易所在强制平仓的价格向交易者提供了无限流动性。如果交易所的风险准备金不够接管被强平用户的剩余持仓,交易所将会按照规则对获利方进行自动平仓。主流的中心化交易所都积累了大量的风险准备金以保护交易者的利益。

PerpetualProtocol也存在风险准备金。当市场上清算不及时未能清算未抵押头寸,或市场不平衡需要vAMM支付资金费率金时,就会需要使用风险准备金。如果风险准备金用完,系统将铸造新的代币PERP在市场上出售以偿还债务。

与中心化交易所相比,上线时间不久的PerpetualProtocol所积累的风险准备金非常有限,而且风险准备金主要是自身代币PERP,价值也不稳定。因此,PerpetualProtocol的风险准备金都用户的保护力度比较小。

思考和总结

PerpetualProtocol通过vAMM的模式在一定程度上解决了AMM的流动性和无偿损失问题。PerpetualProtocol采用Layer2解决方案,交易在xDaiChain进行处理,这意味着交易的效率更高且没有Gas费。同时,PerpetualProtocol实现了去中心化的永续合约。

vAMM模式中没有真实的资产在进行交易,交易者在开仓时不需要反方向的交易对手方,这就与Synthetix等项目一样,生态中交易者的盈利等于其他交易者的亏损。在这种情况下,交易者即使判断对交易方向,还是可能会出现亏损。

PerpetualProtocol的永续合约交易深度远小于中心化交易所,风险准备金的规模也无法与中心化交易所相比较。同时,PerpetualProtocol的交易者的盈亏计算比较复杂。因此,当前PerpetualProtocol的用户体验还有待改进,中心化交易所的永续合约更适合交易者进行参与。

免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻ChainNews立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。

PerpetualProtocol

PerpetualProtocol

PerpetualProtocol从前叫做StrikeProtocol,是自动化做市商AMM并支持每种资产的去中心化的永续合约交易协议。其去中心化永续合约具有包括20倍多空杠杆率、非托管、无需信任、抗审查、通过AMM保证流动性、支持区块链资产以及例如黄金、原油等链外资产等性质。通过每小时使用一次Chainlink喂价以最小化预言机的使用率。其团队位于,联合创始人为冯彦文、Shao-KangLee。冯彦文此前担任Decore联合创始人兼首席执行官,参与创办CinchNetwork、CubieMessenger、Gamelet与Willmobile。Shao-KangLee此前曾创立应用POPAPP,后被Marvel于2016年收购。StrikeProtocolPerpetualPerpetualProtocolPERP查看更多

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:0ms0-3:422ms