通过了解 PID 控制器的概念和它在 RAI 生态系统中的参数化,更好理解 RAI 如何应对系统控制之外的各种攻击和外生冲击。
原文标题:《DeFi 新玩法丨看 Reflexer 如何将 PID 控制理论应用于加密货币(复制链接打开:https://medium.com/reflexer-labs/summoning-the-money-god-2a3f3564a5f2)》
撰文:BlockScience
翻译:Yangz
从与美元挂钩的稳定币到近期火热的算法稳定币 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 周的时间内都会趋于零,这就意味着该参数化选择不可行。
相对于比例控制,具有正 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 控制器实现了最小的绝对误差,但由于上面讨论的恶意鲸鱼攻击,我们已经排除了该设计。
在我们的例子中,相对于仅有 P 的控制器,加入泄露积分项的好处很小,因此需要进一步的调整,以便在稳态误差的基础上有意义地区分这两种选择。就目前而言,这意味着加入 I 项所增加的复杂性在短期内并不能被系统稳定性的好处所证明,在实施之前还需要在这个方向上进行更多的研究。
另一个重要的观察是赎回价格的失控趋势。比例控制器和有抗 windup (饱和)的 PI 控制器能够实现控制,而没有抗 windup (报个)的 PI 控制器则会失控。负 Ki 项会导致赎回价格发散(跑偏到无穷大),而正 Ki 项会导致赎回价格收敛到 0。
图 5. 非泄漏的 PI 控制器会在赎回价格上产生漂移,即使累积价格误差的大小仍然是有界的
不确定性下多维系统的参数选择
在对控制参数进行迭代的同时,还要对 RAI 系统和交互作用的大量数据和复杂性进行科学分析,这就需要使用新的科学方法。
上面的简单模型只考虑了 P(I) 的控制逻辑,下面用于分析的模型则包括了该背 RAI 的抵押债务头寸以及作为 RAI 二级市场 (和价格传感器) 的流动性池服务
为此,BlockScience 开发了「不确定性下的参数选择」方法,以实现数据驱动的知情决策。这篇关于「在不确定性下执行参数选择」的文章对它以及相关步骤和挑战进行了简要描述。
RAI 参数选择
在下面一节中,我们将提供一些非详尽的例子,说明在更广泛的 RAI 系统模型上运行的一些计算实验,其中包括 SAFEs 系统和流动性池(ETH/RAI Uniswap 实例)。
场景测试
我们的工作流程规定了一些测试场景,以将系统目标与可测量的 KPI,以及最终与选定的控制参数联系起来。所执行的场景包括:
- 「合理性检验」,以确保系统的 Plant 表现符合预期;这将考虑控制器关闭的情况,唯一的不确定性来源是 ETH 价格的变动。
- 冲击检验,即引入外生过程的预设变化,衡量系统的反应能力,以及
- 轨迹抽样,即蒙特卡洛在许多随机过程实现上运行,在各种环境条件下对反映系统目标的关键绩效指标进行测量和评价。
「合理性检验」测试
要测试的基线场景是债务和二级市场系统在没有控制器的情况下自行运行。这种测试是为了确保 「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 团队的目标是提供一种低波动性、最小化治理、稳定价格的资产,供以太坊生态系统使用。尽管存在不确定性,但只要有严格的控制理论基础,这些特性就可以变得可靠。
来源链接:www.8btc.com(复制链接打开:https://www.8btc.com/article/6620652)
内容搜集自网络,整理者:BTCover,如若侵权请联系站长,会尽快删除。