深度 | 算法稳定币的波动性:建模、验证和实证分析

也许加密世界正在尝试挣脱物理世界的束缚,变得越来越“空气”了。不但以太坊要脱离PoW全面迎接PoS, 而稳定币也有不想锚定任何资产,尝试仅凭算法创造出资本使用效率更高稳定成本更低的稳定币。 市场对不锚定法币,也不抵押资产的算法稳定币,有很多怀疑,在链闻对FTX CEO Sam的专访中,Sam更是具体地指出,算法调节只能做到方向明确但价格模糊,也就是「大概率稳定」,或者「稳定在一定范围」,而是绝对的稳定, 而我们很多的现实场景却需要1 美元稳定币正好等于 1 美元。

本文出自火币研究院的论文,从已有的数据中实证了算法稳定币设计中存在一些不稳定的因素,如在算法执行稳定币扩张时出现市场出现破裂,稳定币市场价格不涨反跌,算法收缩时市场中断没反应,达不到算法调节稳定的效果。

我们当然希望算法稳定币能实现,毕竟大大提升了资本的使用效率。就像稳定前向的时间一样,是各种“力”的作用而成一样,我们也希望稳定币,也能通过多力博奕,达到稳定。至于这种力需不需要联系或锚定物理世界的资产,从更宏观的角度来看,如果我们相信物质,能量,信息之间是能相互转化的话,我们就也能理解,这种用仅使用比特维持稳定的稳定币也能反映物理世界。

Author(s):Wenqi Zhao, Hui Li, Yuming Yuan

URL:http://arxiv.org/abs/2101.08423


概述


算法稳定币是一种由算法(即智能合约)管理的加密货币,用于动态最小化其价格相对于特定形式资产(如美元)的波动。由于近年来算法稳定性的快速增长,它们变得比预期的更不稳定。在本文中,我们深入研究了算法稳定币的核心,并分享了我们对两个基本研究问题的答案,即算法稳定币的易变是否是由于设计造成的?它们在实践中是否稳定?具体地说,我们对三种流行的算法稳定币进行了深入的研究,并开发了一个建模框架来形式化它们的关键设计协议。通过形式化验证,该框架可以识别稳定币中可能变得不稳定的关键条件。此外,我们对Basis Cash的实际交易活动进行了系统的实证分析,将理论可能性与市场观察联系起来。最后,我们强调了算法稳定性未来发展的关键设计决策。


1. 简介


众所周知加密货币是不稳定的,即其价格经常快速波动,因此稳定币的方案是将其价值与一些外部资产挂钩,例如美元。与“不稳定”的加密货币(如比特币[19]、以太坊[24])不同,稳定币能够基于不同的机制将其价格相对于挂钩资产的波动最小化。最常见的一种稳定货币是有抵押担保的稳定币,即稳定币的价值由外部资产支持,例如商品、法定货币或加密货币作为抵押品。例如,USDC稳定币由美元支持。与有锚定支撑稳定币不同,算法稳定币(通常不锚定其他资产)近年来越来越受欢迎,因为它能够通过去中心化的算法(即智能合约)来稳定价格,而不会降低太多的资本效率。一般来说,这是通过控制算法来稳定货币的供应量来实现价格稳定,这类似于中央银行印刷和销毁货币。在本论文中,我们主要关注算法稳定币,并将与“稳定币”互换使用(有锚定资产的稳定币不是本文的主要目标)。

假设稳定币与美元挂钩,智能合约旨在动态管理其供应,以最小化价格波动。我们简单地解释如下算法,稍后将进一步讨论。当稳定币的价格超过一美元时,智能合约将“生产”更多的代币并将其分发给市场。因此,稳定币的价格应该相应下降。在稳定币价格低于1美元的情况下,智能合约会减少稳定币的供应,以便逐渐将其价格提升回1美元。在实际应用中,上述通用算法可以通过不同的模型来实现对稳定回路的鲁棒控制。虽然有许多有趣的研究尝试模型,但对于他们是否真的有效的研究相对较少,它们真的有效吗?

本文从理论和实证两方面对算法稳定币的波动性进行了基本分析。我们的研究尝试回答两个基本的研究问题,分别是:

      • 研究问题1:算法的稳定性是设计的不稳定性吗?
      • 研究问题2:算法稳定性在实践中是不稳定的吗?

我们在本文中所描述的分析的目的是提供对稳定币协议(在设计和实现层面)的更全面的理解,并特别关注它们的波动性,我们认为这对于优化现有稳定币和创建潜在的未来设计是至关重要的。我们的主要贡献总结如下。

      • –我们对三种流行的算法稳定币的设计进行了深入的协议分析。此外,我们还开发了一个稳定币的通用形式化建模和验证框架,可以用来识别稳定币可能变得不稳定的特定隐藏标准。
      • –我们根据以太坊的实际交易活动,进一步对Basis Cash稳定成本进行了系统的实证研究,并设法将理论可能性(稳定成本可能波动)与2020年12月至2021年1月的市场观察结果(意外波动价格)联系起来。


2. 背景


我们将算法稳定币分为三类,即重置型/rebase-style、铸币型/seigniorage和抵押型/partial-collateral。在本节中,我们将以流行的项目为例,简要说明所有三种类型稳定币的关键设计。

2.1 Rebase(Ampleforth)

重置型的稳定币管理价格弹性ERC20代币,即稳定币的总供应量是非固定的,并在常规基础上进行自适应调整。更具体地说,这种调整是通过“Rebase”过程自动实现的,这一过程使目标稳定币的价格逐渐稳定在一个特定的联系汇率制度附近,例如一美元。我们以Ampleforth[1]为例进行说明。

按照设计,Ampleforth每天在UTC凌晨2点重新调整。在调整基准时,当Ampleforth的价格高于其紧钉汇率时,新代币将根据其相应余额按比例铸造并分配给所有账户。鉴于Ampleforth的价格为1.2美元,其联系汇率为1美元(即20%与联系汇率有关),一个拥有100枚代币的账户将拥有120枚代币。另一方面,当价格跌破挂钩时,持有的代币可能会自动按比例烧掉。

2.2 铸币税股份(Basis Cash)

算法稳定币的铸币税股份模型通常引入两种加密代币,即作为稳定代币和作为铸币税所有权的股份代币。原则上,当一枚代币的价格高于其预定的钉住汇率时,股票代币被用来增加稳定代币的供应。除了这两种加密代币之外,铸币税型的稳定代币通常会发行一种可赎回债券,当价格跌破联系汇率制度时,作为对买家的激励。我们使用Basis Cash[2]稳定作进一步解释。Basis Cash引入了三种加密货币:

      • –BAC。BAC是稳定代币,以固定汇率1美元的Basis现金发行。
      • –BAS。BAS代表Basis的股票,这是铸币税ERC20代币,提供了稳定币BAC的通货膨胀收益。股份代币BAS的设计目的是通过动态增加BAC的供应量来防止BAC的价格过高。目前,BAS可以通过参与流动性挖矿来获得,即在去中心化的金融平台(如Uniswap[6])中存入流动性。
      • –BAB。BAB是指其价格Pbab由BAC-Pbac的价格在数学上确定的基础债券,即Pbab=(Pbac)^2。特别是,BAB为持有人提供了一种激励,使他们能够以一种成本效益高的方式获得BAB。其背后的设计目的是,当BAC价格跌破1美元时,将其推回到1美元。

Basis Cash协议是通过自适应控制Basis Cash的供给来稳定BAC的价格。这是基于两个关键机制实现的,即扩张和收缩。我们简单地描述了以下过程。

      • Expansion/扩张。扩张机制的目的是增加BAC的供应,以稳定其价格时,当它上升超过一美元时。在Basis Cash的设计中,扩张在两种设置下自动激活。首先,BAC将被铸造并作为奖励分发给BAS持有者。也就是说,对于任何拥有特定数量账户的人来说,扩张过程会按比例将新铸造的稳定币分配给他或她的账户。在第二种情况下,BAB的所有者可以用他们的BAB以1:1的价格赎回BAC,这也导致了BAC的数量增长。由于这两种情况下供应量的增加,预计扩张将使BAC的价格逐渐下降。
      • Contraction/收缩。与扩张过程相反,收缩旨在收缩BAC的供应。为此,在Basis Cash中引入激励措施,鼓励买家在BAC价格低于1美元时用BAC换BAB。在特定情况下,一个BAC保证根据其价格依赖性生成多个BAB,如上所述。此外,Basis Cash协议确保当BAC的价格超过1美元且满足所需条件时,特定数量的BAB能够赎回相同数量的BAC。基于收缩的设计,BAC的价格预计不会跌得太远。


2.3 部分抵押(Frax)


与前两种算法的稳定性不同,最近提出了一种新的算法协议,称为分数算法协议/fractional-algorithmic protocol,它是完全抵押和完全算法协议的结合。与现有的全抵押型稳定方案(如DAI)相比,部分抵押品协议引入的保管风险较小,避免了过度抵押。另一方面,它的目的是执行一个相对紧钉与更高水平的稳定性比纯粹的算法设计。我们使用下面的Frax项目[4]进行说明。

特别是,Frax是第一次尝试实施稳定币的部分附带协议。它引入了一个双代币系统,即FRAX作为一个与1美元挂钩的稳定币,FXS作为一个治理代币。抵押品比率0 ≤ r ≤ 1在协议中每小时以0.25%的步长动态确定,以控制抵押品需要采取何种百分比的peg来稳定FRAX的价格。在r=0.5的情况下,0.5美元必须在其他类型的稳定货币中作为抵押品来创造新的远期利率。当 r = 1.0时,它变成全抵押;当 r = 0 时,它变成纯算法稳定币。

创世的抵押品比率r为1.0。原则上,铸造一定数量的远期外汇包括将价值的n × r作为抵押品,并用外汇兑换券烧掉价值的 n ×(1−r)。当价格超过固定汇率时,该协议为投资者创造新的远期利率提供了动力。因此,预计FRAX供应的增加将逐步促使价格下降。在价格低于挂钩汇率的情况下,该协议允许投资者将价值1美元的抵押品和FXS的组合与价值低于1美元的单一远期外汇进行互换。这样的激励措施可能会产生远期外汇购买,并提高其价格。


3. 建模与验证


3.1 稳定币的建模

我们强调了稳定币的形式化建模框架M,M := < P,E,C,S,B,X >是一个由六种时间自动组成的网络[7],每种时间自动机都是一个元组Q := < S,s0,X,a,T,I,Sn >。S是有限状态集。s0∈S是初始状态。X是一组非负实数作为时钟变量。Sn⊆S是一组接受状态。A是一组动作,I是一组分配给状态的不变量。假设Φ是约束函数,T⊆S×Φ(X)×2X×A×S是状态转换< s、A、g、R、s0>的集合,其中S和s0是源状态和目标状态,A是动作,g是启动转换的条件,R是要重置的时钟集。

此外,M通过四类同步信道Ω提供通信:={ωe,ωc,ωx,ωu}。特别地,ωe和ωc被设计来触发扩张和收缩过程。ωx模拟市场交易活动,生成新的稳定成本价格。ωu在E、C和X之间同步更新。特别是,我们在图1中给出了Basis Cash的正式模型。该框架适用于其他类型的稳定币。由于页面限制,我们选择了Basis Cash,因为它体现了一种典型的模式,是在撰写本文时最受欢迎的市场之一。

–P 将主协议建模为五种状态,即初始状态、扩张前状态和扩张后状态(当价格高于挂钩时)、收缩前状态和收缩后状态(当价格低于挂钩时)。在两个跃迁上,扩张(ωe)和收缩(ωc)通道被激活,从而实现扩张和收缩过程。

–E 自动机定义了一个具有时钟 t 和三种状态的进程。E响应P的扩张请求。执行扩张转换以增加稳定币的供应(即全局变量N bac)。如果 t 在扩张点(例如24:00 UTC),则允许转换。对于Basis Cash,E创建两个扩张转换,并通过更新通道(ωu)与X同步。

–C 自动机抽象了收缩过程。与E类似,提供了一个转换,通过更新一个全局变量来细化供应量的减少,另一个转换的目的是模拟供应量保持不变(投资者可以选择不将BAB换成BAC)。

– S和B是用来模拟交易中买卖双方的行为的。它们通过ωx通道生成随机交易请求。

–X 引入了一个带有自动做市(AMM)的去中心化交易所(DEX)抽象模型,例如Uniswap[6]。X定义了“卖出”和“买入”状态,以表明它是买方市场(即卖方多于买方)还是卖方市场(反之亦然)。新的价格是根据AMM和它的稳定币库计算的。

3.2 形式化验证

我们进一步强调了重要的形式化规范,用时态逻辑定义稳定币的稳定性(或非挥发性)[21]。具体地说,稳定性(非挥发性)是通过以下两个属性(A和G是量词,即,对于状态空间中的所有路径和路径的所有状态[21])来指定的。

稳定性规范(非挥发性)。在扩张有效性和收缩有效性中规定了两个属性,以形式化价格波动弹性(以Basis Cash为例)。根据扩张有效性的形式化,在P处于扩张状态而E处于验证状态的情况下(即,扩张已被强制执行),X不得停留在购买状态以使价格下跌,即买方市场。同样地,当P处于收缩状态,C处于有效状态时,X不能处于卖出状态,即卖方市场。

反例分析。我们使用时间自动机的Uppaal模型检查器[16]验证了Basis Cash模型。图2显示了稳定性属性的两个反例,即Basis Cash可能变得不稳定的条件。图2a描述了一个违反扩张有效性的交易场景。具体来说,BAC的需求增长发生在扩张过程开始铸造和分销新的稳定币时。结果,DEX变成了买入而不是卖出的状态,从而触发了一个反例。在收缩有效性方面,图2b显示了Basis Cash的另一个潜在波动性。当BAC的价格跌破联系汇率制度时,这种收缩使得投资者可以将BAB与BAC互换。然而,如果互换没有发生,因此BAC的供应量保持不变,则由于DEX进入卖出状态而不是预期的买入状态,因此违反了收缩有效性。


4 实证分析


在对Basis Cash进行正式建模和验证的基础上,我们现在用实际市场观察进行了实证分析。可以使用查询和数据(https://explore.danealytics.com/dashboard/winky)在Dune Analytics[3]平台上。

正常情况。图3a和3b显示了扩张和收缩效果良好的两种情况。如图3a所示,随着新BAC的铸造,其价格逐渐下降。类似地,在图3b中,许多BAC因收缩而被烧毁,其价格开始上涨。

扩张破裂。图3c和3e解释了2020年12月14日和15日§3.2中推断的扩张破裂。在图3c中,扩建于00:00开始,并收集了新铸造的BAC。然而,它的价格在7小时内从1.35美元上涨到1.56美元(12月14日),从1.62美元上涨到1.76美元(12月15日),增长了15.72%和8.40%。根据图3e,如图3e所示,需求的快速增长导致了扩张断裂式的破裂。由于BAC-DAI在早期非常流行,并导致了极高的产量率,因此即使在扩张点,BAC的需求也会迅速提升。2020年12月14日,新铸造的BAC有92%的资金在扩建后2小时内进入了流动性挖矿池,这也反映了BAC的受欢迎程度。

收缩中断。图3d和3f也证实了由于收缩破裂而导致的潜在波动性。从2021年1月11日到撰写本报告时,尽管收缩的条目不断打开,但根据图3d,BAC的价格一直保持在联系汇率制度之下。其背后的原因是参与收缩的比例较低,即许多投资者不愿意将BAC换成BAB,因为他们担心自己可能永远无法赎回。如图3f所示,这一时期燃烧的BAC(驼峰)数量比几天前小得多。

设计决策。首先,收缩比扩张更重要,因为加密货币自然更容易下跌而不是上涨。与更多的生态系统连接是一个重要的补充。第二,算法干预的数量和周期是稳定设计的关键因素。在这种情况下,人们迫切需要更健壮、更灵活的模型。


5 相关工作


近年来,随着稳定币的流行,研究人员一直建议为他们制定新的货币政策[14,11]。Saito等人提出通过自动控制加密货币的供给来吸收正需求和负需求冲击来稳定加密货币[22]。Caginalp等人利用资产流方程来模拟加密货币及其稳定性[10]。在算法稳定的背景下,Ametrano描述了哈耶克货币通过重新调整货币数量来实现稳定[8]。Sams进一步设计铸币税份额,以包括一个弹性供应规则,自适应调整代币数量[23]。另一方面,一些研究论文和报告[12,18,17,20,9,13,15]也讨论了稳定币的设计审查。根据不同类型的抵押品和干预措施,介绍了稳定币的分类,并对其利弊进行了说明。


6 结论


本文对算法稳定币的波动性进行了深入的理论和实证分析。我们强调了稳定币的正式建模框架,以确定其可能变得不稳定的重要市场标准。此外,我们还通过进一步的实证分析和实际市场数据,将我们的理论发现与稳定货币的交易活动联系起来。实证结果表明,该模型预测的潜在可能性在实践中得到了验证。最后,我们强调了稳定币未来发展的重要设计决策。这项工作中使用的所有数据都可以在https://explore.danealytics.com/dashboard/winky。

写评论,请先登录