DeFi新玩法丨看Reflexer如何将PID控制理论应用于加密货币

2021-04-12 17:04:48 1180
写在前面:从与美元挂钩的稳定币到近期火热的算法稳定币Fei,“稳定”资产还可以有新的玩法吗?来看看Reflexer是如何将PID控制理论应用于加密货币的吧。注:Reflexer是一个旨在打造第一个只支持ETH的去中心化,非挂钩稳定资产RAI的平台。RAI可以作为其他DeFi协议的更 "稳定 "的抵押品(与ETH或BTC相比),或作为内含利率的稳定资产。值得注意的是,官方指出,RAI并不属于稳定币 ,其背后的系统也只关心市场价格尽可能地接近赎回价格。PID控制,是最早发展起来的控制策略之一,由于其算法简单、鲁棒性好和可靠性高,被广泛应用于工业过程控制,至今仍有90%左右的控制回路具有PID结构。简单的说,根据给定值和实际输出值构成控制偏差,将偏差按比例、积分和微分通过线性组合构成控制量,对被控对象进行控制。


以下为全文翻译:

这篇作品深入探讨了BlockScience团队与Reflexer实验室合作开展的工程设计工作,重点是在2021年2月17日主网启动前对RAI系统进行参数化。涵盖概念包括PID控制器、治理面、不确定性下的参数选择、控制器压力测试和安全系统推出。


前言


web3领域已经成为了许多方向快速进行金融实验的基础。许多项目都在为其代币寻求价格稳定(任何有用的货币都应该如此),并且经常以不同的方式进行。从外部货币挂钩到重定价机制,有许多关于 "稳定 "的尝试,但RAI是第一个使用既有控制理论走向反思性(或自我反思性)稳定价格的代币系统的此类代币。与现有的与法币挂钩的系统相比,RAI可以 "减震ETH",因为稳定控制器可以减弱基础资产引起的价格波动,而不需要明确的挂钩。

更具体地说,通过在系统设计中利用比例-积分-微分控制器(PID)控制器,RAI可以为以太坊DeFi生态系统提供一种不与任何外部资产挂钩的低波动性储备资产。在各种设备中部署PID控制器的现有工程实践深度为我们提供了坚实的工程基础,因而我们可以从中考虑RAI的设计。


复杂的系统


优化复杂的系统基础设施以平衡多个利益相关者的需求是工程设计的一项壮举。它需要对系统目标、约束条件和利益相关者需求的理解,以及对所涉及的权衡进行全面分析。建模和仿真的工具,如cadCAD,可以很好地帮助我们管理复杂性和平衡优化,以确保首选结果。

这就需要我们深刻理解系统目标以及实现这些目标需要应用的机制所涉及的参数。在本节中,我们将研究RAI系统的各种目标,以及涉及哪些参数,包括受控和不受控。

RAI分析仪表盘向最终用户展示相关的系统指标。这些同样的指标通过cadCAD模型为设计提供了信息,甚至在RAI系统存在之前,就已经对它们进行了测量。

目标

RAI生态系统的目标是工程设计过程的首要考虑因素。系统目标保证了cadCAD仿真参数及指标与总体目标的一致性。RAI项目的系统目标包括:

  • 在不假设赎回价格挂钩的情况下,平滑二级市场的价格变动。
  • 在一系列外生冲击下,控制器的稳定性。
  • 如果二级市场违反流动性要求,可平和地启动和关闭赎回价格调整(机制)。

系统设计的下一步是确定参数,这些参数可分为两类:一类是在系统控制下的参数(受控参数),另一类是无法控制的参数(环境参数)。

受控参数规定了系统设计者可以选择的关键特性,以实现系统目标。RAI项目控制参数包括:

  • 控制器专用参数
  • 债务市场具体参数
  • 定价预言机参数

环境参数规定了系统的外部特征,也影响系统目标的实现。RAI项目的环境参数包括:

  • ETH价格
  • 二级市场的 "外部 "交易需求(不包括因市价与赎回价错位而产生的 "内部 "交易需求)。

此外,衡量这些目标实现情况的指标也很重要。我们可以在给定环境参数下,根据反映系统目标的KPI汇总来选择控制参数。RAI项目针对每个系统目标的KPI包括:

  • 响应性目标:合理的套利器和控制器对不同环境参数脉冲的响应时间。
  • 波动性目标:二级市场价格变化的统计离散性。
  • 稳定性目标:测量稳定与不稳定路径在模拟中的相对频率。
  • 流动性目标:二级市场滑点的可控性。


治理面


加密经济系统和控制系统有一个共同的现象,就是有一组由人类设定的参数,在系统动态中编码权衡决策。在加密经济系统中,我们把受到人类监督的参数称为治理面。

明确治理面很重要,而且在可能的情况下,重要的是,调整这种参数的效果相对直接。通常情况下,治理的概念被用作一个笼统的概念,假设人类将拥有专门知识、规程和协调,以就未来对这些参数的更改达成一致。

在实践中,目标是保持较小的治理面,以减少治理行动的频率和复杂性。此外,前期基于模型的系统工程工作可以帮助确定初始参数,以制定推出计划和(或)最大限度地减少未来变化的规模。


了解并选择控制器类型


RAI是一种创新的加密经济系统,它使用PID控制器的变体作为维持市场价格稳定的手段。PID控制器是最常见的一类控制器。它利用比例(P)、积分(I)和微分(D)来影响时间序列的未来值。

PID控制器的一个强大特点是,即使在没有预测的情况下,它也能不断地适应,因为误差的增加往往会使它的适应强度更高。具体来说,P是对眼前测量的一种理解,而I是对过去的理解,D则是与未来的预期变化有关。

对于D而言,通过外推预期变化,有可能降低无噪声(理想化)稳态误差率,但代价是对突发变动的敏感性。一般来说,微分对市场价格中经常出现的噪声和波动测量很敏感。在经济环境中,D可能成为攻击向量。

鉴于这些考虑,(我们)决定将分析重点放在P和I上,并将D设为零。下文将简要介绍用于评价启动时RAI参数备选方案的分析种类。

探索P和PI变量,为RAI启动进行预调

迄今为止,RAI仅为了响应动态的简单性而使用P(Kp);然而,由于已知比例控制器会受到稳态误差的影响,因此也需要包括一个积分项。虽然积分控制器可以有效地处理稳态误差,但它们很容易受到wind-up(饱和)的影响,即积分项的累积会导致控制动作的偏差。为了应对这种情况,我们还必须考虑一种抗wind-up(饱和)机制。因此,积分泄漏率被纳入我们的参数选择空间。

恶意鲸鱼测试

如果不了解大型代币持有者('鲸鱼')的潜在影响,任何关于价格稳定性的实验都是不完整的。在下面的场景中,我们将设想一个名为'白鲸'的恶意鲸鱼购买了大部分的RAI供应,并利用它强行将RAI的市场价格保持在一个恒定的水平。

在下面的例子中,我们考虑了5种可供选择的控制器类型的变量(正Ki与负Ki,泄露积分器与非泄露积分器,以及零Ki),并验证了在合理选择参数的情况下,长期来看,鲸鱼是可能会输给控制器的。

第一个可视化是看如果白鲸保持市场价格不变,赎回价格会发生什么。从下图1中可以看到,在所有测试的方案上,除了Ki为负且无泄漏项的方案外,赎回价格在2周的时间内都会趋于零,这就意味着该参数化选择不可行。

图1

相对于比例控制,具有正Ki项的PI控制器加速了白鲸诱导的市场暴跌。负Ki项的PI控制器可以缓冲崩溃,使系统恢复。然而,泄漏项是至关重要的,因为如果让积分项压倒比例项,就等于控制器向攻击者投降--这是我们不能容忍的。幸运的是,在泄漏积分项和比例项之间的关系上有一个分析边界,能够确保这种情况不会发生。

在RAI经济动态的背景下,这种情况是如何发生的?发生这种情况的原因是控制器会根据市场价格自动调整赎回率。

当选择比例控制器(仅Kp)或带有泄露积分项的PI控制器(Kp & Ki)时,稳态动态能包括恒定的负赎回率,着是我们在RAI生态系统中的目标。值得注意的是,如果我们排除泄漏,积分项就会产生反作用的加速效应。在Ki为正的情况下,赎回率会向负方向加速,而在Ki为负的情况下,赎回率会向正方向加速。这两种PI(无泄漏)情况都不是特别理想的情况。

在没有泄漏项的情况下,加入积分项有可能使RAI系统不可持续,因为很明显,它允许对用户进行经济剥削,或者由于越来越大的负利率而使代币越来越无法使用。考虑到鲸鱼攻击是真实存在的问题,这一分析表明,只有在包含抗windup(饱和)泄漏机制的情况下,P控制器是可行的,PI控制器是可行的。

稳态误差测试

RAI的另一个关注点是稳态误差;具体来说,系统有可能在没有缩小赎回价格与市场价格之间的预期差距的情况下实现某种程度的价格稳定。事实上,在控制设计空间中引入积分项的唯一原因是为了帮助消除稳态误差。稳态误差问题往往是在存在噪声或冲击的情况下产生的。

在下图3中,市场按照马丁格尔过程演变。我们观察到,Ki项往往会对赎回率产生偏差(见下图),这种偏差可能很小,但随着时间的推移,将导致赎回价格的巨大差异。

图3. 即使参数选择得当,每小时兑换率的变化幅度很小(<5e-9),但随着时间的推移,仍会导致较大的累积误差。

在图4中,我们可以看到累积误差随时间的变化。无泄漏的正Ki倾向于增加绝对误差(较大幅度的负误差),而无泄漏的负Ki倾向于减少绝对误差(较小幅度的负误差),两者都是相对于P控制器测量的。负Ki无泄漏的PI控制器实现了最小的绝对误差,但由于上面讨论的恶意鲸鱼攻击,我们已经排除了该设计。

图4

在我们的例子中,相对于仅有P的控制器,加入泄露积分项的好处很小,因此需要进一步的调整,以便在稳态误差的基础上有意义地区分这两种选择。就目前而言,这意味着加入I项所增加的复杂性在短期内并不能被系统稳定性的好处所证明,在实施之前还需要在这个方向上进行更多的研究。

另一个重要的观察是赎回价格的失控趋势。比例控制器和有抗windup(饱和)的PI控制器能够实现控制,而没有抗windup(报个)的PI控制器则会失控。负Ki项会导致赎回价格发散(跑偏到无穷大),而正Ki项会导致赎回价格收敛到0。

图5.非泄漏的PI控制器会在赎回价格上产生漂移,即使累积价格误差的大小仍然是有界的。


不确定性下多维系统的参数选择


在对控制参数进行迭代的同时,还要对RAI系统和交互作用的大量数据和复杂性进行科学分析,这就需要使用新的科学方法。

上面的简单模型只考虑了P(I)的控制逻辑,下面用于分析的模型则包括了该背RAI的抵押债务头寸以及作为RAI二级市场(和价格传感器)的流动性池服务

为此,BlockScience开发了 "不确定性下的参数选择 "方法,以实现数据驱动的知情决策。这篇关于 "在不确定性下执行参数选择 "的文章对它以及相关步骤和挑战进行了简要描述。

RAI参数选择

在下面一节中,我们将提供一些非详尽的例子,说明在更广泛的RAI系统模型上运行的一些计算实验,其中包括SAFEs系统和流动性池(ETH/RAI Uniswap实例)。

场景测试

我们的工作流程规定了一些测试场景,以将系统目标与可测量的KPI,以及最终与选定的控制参数联系起来。所执行的场景包括:

  1. "合理性检验",以确保系统的Plant表现符合预期;这将考虑控制器关闭的情况,唯一的不确定性来源是ETH价格的变动。
  2. 冲击检验,即引入外生过程的预设变化,衡量系统的反应能力,以及
  3. 轨迹抽样,即蒙特卡洛在许多随机过程实现上运行,在各种环境条件下对反映系统目标的关键绩效指标进行测量和评价。

"合理性检验 "测试

要测试的基线场景是债务和二级市场系统在没有控制器的情况下自行运行。这种测试是为了确保 "Plant "模型在使用它来评估控制器之前正常工作。

这个合理性检验通过固定赎回价格来复制'挂钩到法币'的控制器。在这种情况下,系统应该达到一种状态,即ETH的价格变动会被'传递'到市场价格上,而赎回价格固定在其初始条件下(这种情况下,RAI是Reflexer在发布时设定的值,3.14美元/RAI)。 "合理性检验 "的结果见下图6。

图6:在PID控制器关闭的情况下,将生成的ETH价格信号引入模型,在RAI的市场价格上产生相应的变动。

如图6所示,在控制器关闭的情况下,ETH价格产生的变动会在RAI的市场价格中产生相应的变动,并有轻微的向上漂移(具体到ETH价格的冲击过程实现)。观察到的动态与同类系统(如单一抵押品DAI)中的动态相似。

冲击测试的攻击和失效模式

与任何综合系统设计一样,我们需要了解我们系统的局限性,以及在什么情况下会出现故障。冲击测试从实现外部过程的一次性变化开始,例如ETH的价格,并检查由此产生的对系统动态的影响。冲击测试对于选择能保持系统稳定的参数范围特别有用,即保持价格和代币余额不至于跑到无穷大或为零。

下面是一个例子,比如,两周后ETH价格突然下跌30%。我们可以看到,在Kp=2e-07和5e-09的情况下,对PI变量的影响是失控的,而那些由参数建议给出的值则保持稳定和有界。

图7:2周后ETH价格阶梯变化下赎回价格与市场价格的冲击分析。绿色为泄露PI控制器的可行参数范围,红色为失败模式的例子。

建议参数范围

基于不确定性工作流程下的参数选择,我们确定P控制器是最简单和最安全的网络启动配置,并进一步观察到,如果我们希望进一步减少稳态误差,可以添加一个积分,但只有当泄漏项被包括在内,并进一步满足条件Kp > -Ki /(1 - �),其中α是泄漏积分参数使才可以。

下图8是使用参数值取自推荐范围的模拟示例,其中比例项为正,积分项为负,表现出稳定性--控制器的作用是减弱外生随机过程的变化,如ETH价格。在这种情况下,Kp项比Ki项强3个数量级以上,积分项每期泄漏1/1000的值。由此产生的系统在稳态时的表现与纯P控制器相当(如下图所示),但如果出现稳态误差,则有额外的能力来消除它们。

图8:赎回价格与ETH价格的比较,使用推荐参数的实现。

图9:模拟RAI流动资金余额与RAI债务余额的实现情况


逐步推出


在创建和部署新的金融系统时,我们需要进行渐进式的测试和推广,以确保系统安全,然后再向更多用户和更多资本开放。

2020年10月,ProtoRAI(PRAI)进行了一个激励性的主网测试,以低债务上限的方式启动,用于测试系统行为,并为更大规模的正式RAI系统启动提供参考。这里的目的是在全面部署之前,观察小规模低质押的情况。

RAI网络于2021年2月17日上线,初始配置只有比例控制器Kp项。该系统表现出预期的行为,与我们在比例控制器情况下预期的结果一致。

截至2021年4月2日,每个RAI分析仪表盘的价格

继续监测实时数据,并将其与系统模型相结合,将揭示是否值得纳入综合控制项Ki及其泄漏的 "抗饱和 "机制。这将增加系统的复杂性,但也可以确保长期的可持续性,从而在RAI系统的生命周期内促进治理最小化。


治理最小化


试图通过忽略治理面来实现治理最小化,就好比上了一辆自动驾驶汽车,却无法指示汽车导航,让它带你到哪里去。

在实践中,治理最小化首先要有一个定义明确的治理面,然后是关于谁、何时以及如何改变参数的明确程序。成功的治理最小化意味着做出更少、更小、更明确的改变,并减少业务开销。

参数完全不耦合的情况很少;更多的时候,适当的值是相互关联的,就像我们看到的Kp、Ki和α(泄露积分参数)。模型在监测系统健康方面发挥着重要的作用,因为它们可以帮助抑制为了治理行动而采取的治理行动,这实际上是将系统置于风险之中,同时反过来帮助确定何时需要采取行动,有足够的预警来规划、测试和执行有效的干预措施。


下一步


鉴于我们已经有了RAI动态和主网发布的全功能模型,我们接下来要扩大现有模型的规模,使其与实时数据相结合,为持续监测提供信息。此后还要作出决定,要从冲击和事件中学习,以提高我们对周围复杂的新动态的理解。


结论


在这篇文章中,我们总结了RAI稳定性控制器的参数选择的工程工作,旨在进一步教育和告知以太坊社区关于计算机辅助设计在复杂系统中的重要性。

通过介绍PID控制器的概念和它在RAI生态系统中的参数化,以及对系统进行电池冲击和灵敏度测试以了解系统的响应情况,我们更好地了解了RAI如何应对系统控制之外的各种攻击和外生冲击。

最终,Reflexer团队的目标是提供一种低波动性、最小化治理、稳定价格的资产,供以太坊生态系统使用。尽管存在不确定性,但只要有严格的控制理论基础,这些特性就可以变得可靠。

声明:所有在本站发表的文章,本站都具有最终编辑权。本站全部作品均系微算力原创或来自网络转载,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责,所产生的纠纷与本站无关。如涉及作品内容、版权和其它问题,请尽快与本站联系。

相关推荐

  • 微信:aspcool
  • QQ:580076
  • 手机:18992859886
  • 工作时间:9:00~18:00(周一至周五)