Compound、MakerDao、AmpleForth 和 Synthetix 的预言机设计比较研究
摘要
最近出现的去中心化金融(DeFi)进一步推动加密货币的承诺,利用其去中心化网络将传统金融产品转换为无需中介即可运行的去信任和透明协议。但是,这些协议通常需要关键的外部信息,例如货币汇率或商品价格,因此,它们依赖于特殊的预言机节点。在本文中,我们首次提出了对在实践中部署的 DeFi 预言机的研究。首先,我们研究依赖于预言机的主流 DeFi 平台的设计。我们发现,这些设计将预言机定位为无责任或低责任的受信方。然后,我们展示了部署中预言机的大量测量数据。我们发现并报告,预言机的报价经常偏离当前汇率,预言机无法摆脱运营问题,其报价会出现异常。最后,我们比较预言机设计并提出潜在的改进方案。
关键词
区块链;DeFi 平台;价格预言机;去中心化
简介
人们无需受信任方,就可以普遍获得金钱和支付手段,这是开放式加密货币的一种承诺。去中心化金融(DeFi)旨在扩展这一承诺,提出基于区块链的智能合约平台之上的创新和传统的金融工具。与传统金融相比,DeFi 具有多种优势。首先,它继承了区块链属性,例如去中心化,开放性,可访问性和抗审查性。其次,DeFi 具有高度的灵活性,可以通过组合,堆叠或连接不同的金融工具进行快速的创新和实验。最后,DeFi 提供可互操作的服务。通常,可以通过组合其他 DeFi 平台来构建或组成新的 DeFi 项目。
DeFi 生态系统内一种日益增长的趋势是混合协议,这种协议试图提供 DeFi 的所有优势,并消除加密资产的高波动性[1](这阻碍了DeFi 的广泛应用)。它们通过将其加密资产连接到常规金融工具来实现。一个突出的例子是去中心化的借贷协议,该类协议比其他任何类别的 DeFi 协议都得到了越来越多的关注。MakerDAO[2] 是一种抵押品支持的稳定币,其价值相对于美元保持稳定,它使任何人都可以通过动态的抵押债务系统来利用抵押资产生成新的代币[3]。一旦生成新资产,就可以同任何加密货币一样使用它们。偿还债务和稳定费用后,用户可以提取抵押品并结清其贷款。继 MakerDAO 成功之后,其他 DeFi 贷款平台,如 Compound[4] 这样的平台已经发布。通过减轻传统信用检查的负担并通过自动化降低成本,Compound 市场实际上可以通过算法根据特定资产的供求来得出利率的资产池。这些资产的出借人和借贷者可以直接与协议交互,以便分别赚取和支付浮动利率,而无需协商任何条款,例如到期日或利率。截至 2020 年 3 月,DeFi Pulse 报告称,四种公开借贷协议(Fulcrum[5],dYdX[6],MakerDAO 和 Compound)的未偿还贷款超过 2 亿美元[7]。
另一个致力于价格稳定的项目案例是 AmpleForth[8],这是第一个具有弹性供应量的 DeFi 协议。为了应对需求的变化,该平台始终通过向持有者普遍扩张或收缩供应来寻求基于市场和 CPI 指数的价格供应均衡,以使在经济震荡和失控的通货膨胀中保持稳定。Synthetix[9] 是另一个最近的 DeFi项目,它允许创建“合成资产”—— Synths,各种合成资产的价格可以跟踪货币,加密货币和商品。持有者首先锁定其 Synthetix 的原生代币 SNX 作为抵押,以铸造各种 Synths,后者是跟踪目标资产(例如,美元或黄金)价格的代币。
所有这些系统都需要用作抵押和赎回的资产市场价格的实时信息,由于加密资产抵押品的价格(以法币计价)是不稳定的,实时价格信息对于系统的安全性是必要的。为了实现此功能,DeFi 协议引入了预言机,即报告现实世界(链下)来源的资产价格的第三方。预言机充当馈送到智能合约的数据源。尽管预言机在 DeFi 生态系统中扮演着至关重要的角色,其底层机制仍然模糊且未被充分探索。首先,它们的部署实践(包括价格更新的频率,如何从多个节点汇总价格值等)是不透明的,也是不负责任的,这为各种错误行为留下了空间。其次,预言机的信任程度尚不明确,对生态系统的许多参与者而言很可能是未知的。最后,目前暂无研究针对具有潜在恶意的一个或一组预言机对 DeFi 生态系统的影响。
在这项工作中,我们阐明了这几个问题,提出了关于 DeFi 预言机的首创(据我们所知)的研究。首先,我们解释了在实践中部署的各种预言机设计。其次,我们系统地探讨四个流行且开放的 DeFi 平台 MakerDAO,Compound,AmpleForth 和 Synthetix 中部署的预言机,这些平台依赖外部预言机来提供价格。我们对价格偏差进行了详细的测量,这些价格偏差是由外部预言机提供的信息与真实世界价格之间的差异引起的。此外,我们通过交易图来分析衡量预言机的健壮性和部署实践。最后,我们比较部署的平台,并就潜在的改进提供见解。
背景
许多 DeFi 协议旨在通过使用价格与某些现实世界资产挂钩的加密抵押品来降低其加密资产的波动性[A]。与现实世界不同,向 DeFi 协议传递资产价格并非易事,因为这些协议被实现为区块链上的智能合约,而无法访问任何外部资源(例如当前资产价格)。因此,在这种设计中,价格预言机是将加密资产与其有关的预期价值外部信息桥接在一起的基本组件。在本节中,我们介绍著名的 DeFi 协议及其预言机设计。所有这些平台以及绝大多数 DeFi 平台都是基于以太坊[10] 的。
MakerDAO
MakerDAO是最受欢迎的去中心化借贷协议,其中原生代币 SAI 与美元挂钩,并以加密资产的形式得到抵押。由于加密货币的波动性是一个问题,MakerDAO 提供了加密货币的可编程性,而不像比特币或以太坊这样的传统加密货币由于具有波动性导致不利影响。用户将加密资产作为抵押存入抵押债务头寸(Collateralized Debt Positions,以下简称 CDP)合约,能够生成多抵押的 SAI 代币,这些代币可以以与任何其他加密货币相同的方式进行交易。与此同时,CDP 会按债务抵押率(即 C 比率)来确定称为超额抵押贷款的债务,将其锁定为无法使用,直到还清未偿还的债务为止。当前的 C 比率设置为 150%,这有助于该平台通过过度抵押基础资产来管理借款人的风险。当用户想要取回抵押品时,他们必须偿还 CDP 中的债务,再加上随着时间的推移连续不断产生的稳定费用,该费用只能以 MakerDAO 的原生代币(MKR)支付。除了支付稳定费之外,MKR 代币还允许用户对平台的发展进行投票,并在 MakerDAO 的治理中发挥重要作用,其比例与每个所有者拥有的 MKR 数量成正比。SAI 作为稳定币和 MKR 作为治理代币的结合可确保系统的稳定。MKR 的持有人直接受益于 SAI 的使用,并且SAI 的功用由能够保护系统的持有人维系。
MakerDAO 引入了一个预言机模块来获取资产的实时价格,该信息的准确性至关重要,因为它确定 CDP 是否锁定了足够的抵押资产以及何时触发清算。预言机模块由许多列入白名单的预言机地址和一个聚合器合约组成。预言机定期将价格更新发送到聚合器,对其进行汇总,将中间价作为参考价格,并以该参考价格更新平台。每种资产类型都有一个独立的聚合器合约,以从授权的预言机收集信息。我们在图 1 中对此结构进行了高层次的概述。聚合器合约实现了访问控制逻辑,允许添加和删除价格预言机地址。这项操作由治理人,也就是 MKR 代币持有人决定,他们投票表决并更新对预言机地址的更改。此外,逻辑允许治理人设置其他控制聚合器行为的参数,例如,接受新的中位数所需的最小预言机数目。因此,在这种去中心化的治理机制中,MKR 持有者可以操纵预言机。与 51% 的攻击类似,成员的联盟可以操纵治理系统来“窃取”系统的抵押资产获利[11]。
Compound
Compound是一个基于区块链的借贷平台,参与者可以在其中借出自己的加密资产,并从中赚取利息。参与者将他们的加密资产作为抵押品存入 Compound 智能合约,并以此为抵押。该合约自动匹配借款人和贷方,并根据供求动态调整利率。与 MakerDAO 相似,Compound 使用预言机来管理价格,这些预言机由管理员(即 Compound 的 COMP 代币的持有者)管理和控制。COMP 持有人可以管理和升级 Compound,并通过管理功能来提案,投票和实施任何更改。提案可以包括诸如调整利率模型或质押率,管理聚合器合约以及选择预言机来源之类的更改。
Compound 中价格更新的逻辑如图 2 所示,一开始,管理员部署了一个锚定合约,然后创建了一个具有 min,anchor 和 tolerance 数据集合的聚合器合约,其中 min 是生成新的中位数价格必需的最小报告数量,默认为 1。anchor 表示 anchor 合约的地址,并且 tolerance 设置为 10%。Compound 中的预言机系统允许多个授权来源(称为报告者)将价格数据报告给聚合器合约。报告者可以是交易所,其他 DeFi 项目,应用程序,场外交易(OTC)平台等。聚合器从报告者那里收到参考价格,对其进行验证并计算中位数,然后将其存储起来,以便被 Compound 市场访问。更新资产参考价格的机制基于锚定价格(由锚定地址报告)以及聚合器计算出的中位数价格的上限和下限共同确定。如果新的中位数价格与锚定价格之间的比率超出界限,则资产的官方参考价格将不会更新。
AmpleForth
黄金等传统商品,甚至比特币等加密货币(根据固定的供应计划产出)都无法有效地应对需求量的变化,从而使其容易受到不稳定的经济冲击和恶性通缩的影响。为了解决此缺点,AmpleForth 创建了AMPL 代币使资产价格信息自动影响供应量。它具有自动价格供应平衡机制,根据 AMPL 对美元的汇率从每个持有人普遍且成比例地扩张或收缩代币数量,是反周期的且非稀释性的。AMPL 最初与美元挂钩,但并非永久固定,因为该平台考虑了消费者物价指数以平衡未来的美元通货膨胀。因此,AmpleForth 的目标是通过根据对 AMPL 代币的需求来改变供应,从而提高购买力的稳定性。更具体地说,只要需求大于供应,该平台就会自动增加 AMPL 的总量,以防止商品的相对价格上涨。类似地,当总需求少于供应时,它相应地减少代币总量。
对于这类以价格供应均衡为目标的协议而言,拥有准确可靠的市场价格信息源至关重要。AmpleForth 的这一核心功能如图 3 所示。平台管理员在初始化时设置聚合器合约的 min,delay 和 expire 参数,其中 min(默认为1)代表让聚合报告有效的最少数据源数量,delay 是自报告开始至生效必须经过的秒数(默认设置为 1 小时),expire 代表报告过期失效的秒数,在 AmpleForth 中,此值为默认为 2 小时。有效的报告必须在链上公开存在至少 1 小时,然后才能由供应策略使用,如果在 12 小时之前未提供新报告,则该报告将在链上过期。这意味着只有在有效时间戳内提交的报告才被视为有效报告。我们在图 4 中描述了此逻辑,如果我们假设聚合器在 T0 时间检索价格信息。正确的 AMPL/USD 价格汇率是聚合器从受信预言机根据下面公式中提交的报告计算得出的中位数:
Chainlink 像以太坊这样的智能合约平台缺乏将智能合约与链下资源(例如互联网)连接的能力。Chainlink[12] 旨在通过去中心化的预言机网络来解决这个问题,该网络将链上智能合约与链下环境桥接在一起。(在第 5 节中,我们讨论了 Chainlink 的竞争者设计。)它向智能合约提供 API 来实现此目的,这些 API 可以请求链下资源,例如:市场数据、银行付款、零售付款、后端系统、事件数据或网页内容。Chainlink 由多个去中心化的,独立的预言机和聚合器组成的网络组成,它们收集和处理链下数据,并根据请求将其(处理后)交付给智能合约。AmpleForth 是一例与Chainlink 集成的平台。
Synthetix
Synthetix[13] 是一个允许用户创建和交易例如黄金,白银,加密货币和传统货币等资产的合成版本的平台。Synthetix 的目的是创建价格可以跟踪货币,加密货币和商品的“合成资产”。Synthetix 涉及两种不同类型的代币。用户首先购买 Synthetix 的原生代币SNX 并将其锁定到 Synthetix 合约中,该合约将作为抵押物来支持其他 Synth 代币[B]。这些Synth 是通过 Synthetix 平台创建的合成资产。请注意,Synthetix 平台始终将合成资产之一的 sUSD 估值为1 美元。Synth 的价格是通过预言机确定的,这些预言机将外部真实世界的资产价格报告给聚合器,然后再计算中位数。如图 5 所示,当前的预言机和聚合器是 Chainlink 提供的。每种资产类型都提供一个独立的 Chainlink 聚合器,该聚合器维护许多预言机源。为了确保准确的数据馈送,预言机会在很短的时间内(例如 5 或 10 分钟)更新链上价格。
测量
在本节中,我们介绍测量研究的细节与结果。我们专注于 AmpleForth,Synthetix,MakerDAO 和 Compound 平台,评估并报告以下内容:1. 平台资产的市场价格波动(第 3.1 节);2. 市场价格与预言机报告价格之间的偏差(第 3.2 节);3. 可能表明预言机发生故障或行为异常的异常现象(第 3.3 节);4. 预言机的交易图显示了他们与生态系统的相互(第 3.4 节)。
价格波动性
在本节中,我们演示了旨在消除波动性的 DeFi 资产的价格波动性。我们在表 1 中汇总了上述每个平台的市场价格(以美元为单位,由 https://coinmarketcap.com所报告),表中测量数目指平台运行的天数)。可以看出,尽管目标是维持稳定,但所有平台在一天之内价格都会发生 1% 或 5% 的变化。此外,在大约 30% 的观测日内,AMPL 的市场价格每日价格变化超过 10%。价格随时间的波动如图 6 所示,其中价格的快速变化主要是由交易量变化,外部事件(例如国家禁止加密货币)或投机行为引起的。所有结果表明,这些 DeFi 协议和依赖于其资产的协议需要实时准确的参考价格数据来对冲高波动带来的风险。
价格偏差
在本节中,我们测量实时市场价格与四个主要 DeFi 平台的预言机报价之间的偏差。我们还调查了异常值的可能原因-预言机报价的偏差比其他报价方式高。为了进行研究,我们从 Maker DAO,Compound 和 Synthetix 中选择报告频率最高的报告 ETH/USD 汇率的活跃预言机。对于 AmpleForth,我们研究其官方市场预言预言机,该预言机每 12 小时报告一次 AMPL/USD 汇率。我们使用以太坊的 BigQuery 数据库[14] 来获取有关预言机与 DeFi 平台进行交互的数据。对于每个预言机,我们通过提取交易的数据和元数据,解析为可读的价格格式并将其与预言机应该遵循的真实价格来源进行比较来分析其所有交易(预言机可能使用不同的价格来源)。在我们的实验中,我们将预言机的声明数据源视为给定资产价格的基准。此外,由于预言机的报价方法未严格指定,因此对于每个基准源,我们还将显示其实时“原始”价格以及 1、5、10 和 60 分钟内的中位数。
结果:我们首先研究 Synthetix 预言机[C],比较其 3,308 次报价,并将其与来自不同交易所的数据进行比较。由于 Synthetix 与 Chainlink 集成,我们发现预言机声称的 ETH 价格来源[15] 是 Coinmarketcap,Bitfinex[16] 和Bittrex[17]。因此,在图7 中,我们显示了预言机报告及其价格来源之间的 ETH/USD 价格偏差。可以看出,具有偏差的报价数量很大,大多数偏差都在 ±2% 范围内。
同样,在图 8 中,我们展示了 MakerDAO ETH/USD 预言机[D] 的偏差。由于预言机未指定来源,因此我们使用与 Synthetix 中相同的基准进行评估,除了 Bittrex 仅自 2018 年 6 月以来才提供 ETH/USD 汇率信息[18](我们从2018 年 1 月开始计算预言机的动态)。可以看出,大量报价存在偏差,大多数偏差在 5% 范围内,这表明 MakerDAO 预言机的表现不如前述 Synthetix 的预言机。此外,还有一些异常报价,偏差超过 10%(我们在表 3 中对其进行了进一步调查)。
在 AmpleForth 中,已声明的预言机源是 Anylock Analytics[19][20],但是,它没有向个人开放 API 来检索实时价格。因此,我们采用了与 Synthetix 相同的基线,除了不追踪 AMPL/USD 汇率的 Bittrex。我们分析了AmpleForth 预言机[E] 的 980 笔交易,并对照 Coinmarketcap和 Bitfinex 检查了结果。如图 9 所示,大多数偏差都在 5% 范围内,与 Synthetix 预言机相似。有趣的是,有一个异常值具有非常大的偏差(即 273.7%),我们将在本节中进一步讨论此问题。
Compound的预言机使用 Kraken[21] 和Coinbase Pro[22] 作为其ETH/USD 价格来源[23]。我们对 Compound 的预言机[F] 进行了评估,总共分析了 2,144 笔交易,在图 10 中展示了结果。可以看到,大多数偏差都在 4% 的范围内,只有少数偏差高于 5%。
偏差比较:在图 11 中,我们显示了所有平台上每个来源的平均偏差。请注意,平均偏差的计算方式如下:
其中是每个数据点(即交易)的百分比,N 是数据点(交易)的总和。在大多数情况下,由于加密资产的波动性,平均偏差低于 2%,可以看作报价信息相对准确。从图 11a 到图 11c,我们可以看到从原始数据到 60 分钟中位数数据的过程中平均偏差在增加。在 Synthetix 中,Bittrex 相对于 Coinmarketcap和 Bitfinex 是更精确的数据源。在 MakerDAO 中,Bitfinex 的实时价格(1 分钟和5 分钟中位数)更准确,而 Coinmarketcap的 10 分钟和 60 分钟中位数更好。对于 Compound,可以观察到 CoinbasePro 比 Kraken 更准确。此外,AmpleForth 预言机的结果呈现其他三个平台相反的趋势,这很可能是由于该平台预言机在向聚合器报告之前处理了较长时间的平均价格。
为了更好地说明预言机之间的差异,我们在表 2 中也给出了具体数字。可以观察到,除了 AmpleForth(其预言机引入了相当高的偏差)之外,大多数报价的偏差分别为 ≤1% 和 ≤5%。可能的原因可能是,我们观测所用的基线与其使用的基线不同(如前所述,AmpleForth 的预言机没有透露其价格来源)。但是,我们测量的平均偏差约为 2.5%,与其他平台相比似乎可以接受。
异常值:由于每个预言机都可能由于实时价格的突然变化或预言机本身的错误而面临一些不可避免的异常值,在表 3 中,我们列出了在 3.1 节中观察到的具有较大偏差值的特定报价。在 AmpleForth,市场预言机在 2020 年 3 月 5 日[G] 出现一个明显的报价错误,当时预言机提交了十六进制的价格 0x5667f2bb31e073c7,与当前交易所价格偏差为 273.7%。我们没有发现此异常的任何原因,怀疑是输入有误[H]。另一个有趣的异常报告的偏差为 50.2%。[I] 这种不一致的输入很可能是由于汇率的突然下跌,达到了过去四个月的最低价格。类似的情况也发生在 MakerDAO 的预言机提交的两个报价中,分别偏离了 12.8% 和 12.2%,这是由于过去三个月内加密资产汇率的突然下跌[J] 。在 Synthetix 和 Compound,前两个异常报告的百分比比前两个平台小得多,仅为 5%。Synthetix 中最大的异常值也来自真实价格[K] 的突然下跌,而第二大异常值很可能是最近美国股市的波动所致。
故障
在本节中,我们调研预言机的故障。对于 MakerDAO,Compound 和 AmpleForth,我们检查所有由其预言机提交但以太坊网络处理不成功的交易(被网络拒绝或由预言机本身回退交易)。对于 Synthetix,由于与Chainlink 集成,我们检查了所有受支持资产的预言机节点,找出了它们从中收集的真实资源并评估了这些预言机。
MakerDAO:MakerDAO 中 ETH/USD 的参考价格由聚合器更新,该聚合器从许多外部来源收集价格数据。如表 4 所示,由于一个 ETH 预言机[L] 中的异常错误,在总计 7,042 笔交易中发生了 54 次由于gas 用尽失败[M] 的交易,失败率为 0.77%。同样的问题也存在于其他三个预言机[N],失败率分别为 2.17%,1.39% 和 0.53%。
AmpleForth:接下来,我们调研所有由 AmpleForth 的预言机发起的交易。我们的发现如表 4 所示,截至2020 年 4 月,AmpleForth 的两个市场预言机中分别发生了 30[O] 和 34[P]次被回退的交易。
Synthetix:Synthetix 完全集成了 Chainlink 的服务用于报价。Synthetix 支持的每种资产类型都有相应的一组 Chainlink 节点,以完成类似于预言机的任务。我们进一步调研所有交易对的节点 -ETH/USD,BTC/USD,AUD/USD,EUR/USD,CHF/USD,GBP/USD,JPY/USD,XAG/USD 和 XUG/USD,以找出潜在的故障。
在表 5 中,我们提供了有关预言机的详细信息,其相应数据源以及遇到的问题。我们发现 Omniscience,Ztake.org,Anyblock 和 Simply VC 提交过被以太坊网络回退的交易。到 2020 年 2 月 14 日,Alpha Vantage 收到 Chainlink 的 17 项请求,但忽略了它们,未成功提交答复。LinkPool 使用两个外部来源(即 CryptoCompare 和 Alpha Vantage)获取 ETH,BTC,AUD 和 XAG 汇率。但是,Alpha Vantage 不可靠也使LinkPool 也变得不可靠。Fiews,Cosmostation,Validation 等是稳定的节点,没有发现异常,而 stake.fish 和 Chainlayer 的来源尚不对公众开放,因此无法进行审核。
交易活动分析
预言机地址可能会与大量以太坊地址进行交互,这些地址可能是 ERC-20 代币合约,链上服务,其他协议的实体或外部账户地址等。在本节中,我们重点介绍 DeFi 平台的预言机的活动分析。我们使用 BigQuery 搜寻预言机的整个交易历史记录,然后构建交易图,并查找与预言机交互的最常见地址,与之通信的实体或外部账户以及涉及的有趣活动。
AmpleForth:我们从 AmpleForth 的市场Oracle 收集了 132,119 笔交易,发现与预言机交互的地址有 47 个。如图 12a 所示,整个交易的很大一部分是与 Chainlink 聚合器的交互,颜色为绿色。红色节点表示市场预言机有 161 笔交易使用 AmpleForth 的 UpgradeProxy 合约来设置或更新某些参数。蓝色和橙色是外部账户地址,分别涉及 48 和 1 笔交易。预言机于 2020 年 3 月 13 日连续向蓝色节点[Q] 发送了48 笔没有输入数据的交易(很可能是测试行为)。
MakerDAO:类似地,我们使用 MakerDAO 的 ETH/USD 预言机作为我们的测量对象,提取 4,914 笔交易,进行分析,结果如图 12b 所示。图中预言机与来自七个不同地址的四种类型的实体进行交互,大多数交易都与价格发布行为有关,但是,由于 gas 用尽的错误,有两个交易失败。它进行了四次代理活动(红色节点),而只有三次代币转移成功(蓝色节点)。此外,当平台决定进行 SAI 和 DAI 转换时,还有一项迁移活动。
Compound:我们在 Compound 中选择了一个ETH/USD 的预言机,分析其所有 11,458 笔交易。所有交易均涉及与三个链上聚合器交互的报价操作。与其他平台的预言机不同,交易历史记录不包含与其他参与者或服务的交互。
Synthetix:图 12d 中展示了Synthetix 预言机的 142,422 笔交易组成的图。与其他平台类似,该平台 ETH/USD 预言机主要与绿色标记的活跃聚合器合约进行交互。聚集器之中的一个礼物是橙色节点[R],该聚集器在原因不明的情况中自毁了。除此之外,预言机还参与了与 Synthetix 网络相关合约的 2,056 笔交易,大多数是从平台获取参数值。一个有趣的活动(以红色表示)是总计 667 笔发送给自身且没有输入数据的交易(很有可能处于测试目的)。
讨论
去中心化
在背景部分,我们讨论了 DeFi 中预言机的不同设计。他们中有一些依靠中心化的聚合器来获取参考价格,而另一些则与 Chainlink 的报价提供商合作。在本节中,我们将研究实践中预言机系统的实现方式,以及它如何影响平台去中心化的目标。
表 6 描述了影响预言机去中心化的一些属性。MakerDAO 和 Compound 具有相似的体系结构,他们使用一个单一的聚集器来定期从外部的预言机白名单节点检索价格信息。即使这些系统的其他组件部署在去中心的智能合约平台上,该设计也存在中心化的固有缺陷。AmpleForth 利用Chainlink 提供预言机功能,这减轻了(由于 Chainlink 的设计)单一聚合器的中心化风险。但是,它仍然依赖于一个聚合器合约来从四个预言机中收集数据。在不久的将来,AmpleForth 计划与Chainlink 完全集成来获取数据,因此,到目前为止,我们将其归类为半中心化设计。Synthetix 宣布Synthetix 与 Chainlink 集成现已在以太坊上运行[24],提供完全去中心的价格信息。数据源将转移到 Chainlink 的去中心化预言机网络中,参考价格将由多个独立节点通过经济激励措施在链上转移,而不依赖任何中心化组织支持。因此,就目前而言,其设计是最接近去中心化的设计。
建议
我们的初步研究表明预言机生态系统尚不成熟。因此,在本节中,我们尝试从观察中学习,并就未来预言机平台的潜在改进提供见解。
透明性:正如第 3.2 节所讨论,预言机的价格处理方法并无明确说明。甚至预言机的数据源对于平台用户也是模糊未知的。这导致预言机平台缺乏透明性,并且可能无法检测到预言机的不当行为,因为当前没有任何实体能够证明预言机报价的准确性。我们对未来的预言机设计的第一个建议是,预言机应明确声明其信息清单。这样的清单将包含预言机元数据(如预言机联系人信息),已部署的数据源,预期更新频率以及价格的准确推导过程。底层的区块链平台由于其特性,我们认为是发布此类清单的自然场所。
责任制:我们认为,预言机正在成为重要的受信方,应对其行为负责。在区块链生态系统中,我们可以设想,实现责任制的一种可行方法是加密激励。因此,为了激励预言机按承诺的频率报告准确的价格,我们可以想象平台将实施某种机制,来惩罚违反预言机清单或平台政策的行为,诸如延误或漏报,或可验证的不当行为,例如高价格偏差。这种机制可以通过智能合约部分实现,但它需要预言机储存大量的加密资产。
运行的稳健性:一件令人惊讶的事情是,尽管预言机交互相对简单,它们仍存在基本的运行问题(例如 gas 用尽的错误)。由于预言机报告在 DeFi 生态系统中起着至关重要的作用,我们鼓励运营商通过提高 gas 用量和价格来超量供应。前者必须保证整个交易执行过程中将具备足够的 gas,后者可以减少报价的延迟,在以太坊网络拥挤时尤为重要[25]。较高的gas 价格将使预言机报告更快地上链,因为区块链网络优先打包那些支付了更高手续费的交易。
相关工作
我们尚无知晓任何衡量或分析 DeFi 预言机的工作,但是,下面我们将讨论与主题最相关的工作。
预言机设计:Town Crier(缩写:TC,城市小贩)[26] 是用于智能合约的经验证的数据馈送系统。TC 实体充当了智能合约和现有网站之间的桥梁,这些网站已经被非区块链应用普遍信任。它结合了区块链前端和受信任的硬件(即英特尔 SGX 技术[27])后端,以获取支持 HTTPS 的网站,向依赖于这些数据的智能合约提供从源头得到认证的数据。由于 SGX 技术的集成,TC 可以远程证明执行了正确的代码。TC 与网站建立了安全的 TLS 连接并解析其内容,然后将其用作智能合约的输入。但是,TC 的一个潜在限制是,它将 Intel 定位为执行远程证明所需的可信方。
TLS-N[28] 是一种通用的TLS 扩展,可为 TLS 协议提供不可否认的安全性。TLS-N 修改 TLS 堆栈,以便对服务器发送的 TLS 记录进行身份验证(分批进行)。因此,TLS-N 客户端可以将接收到的 TLS-N 记录呈现给可验证的第三方,只需要信任服务器(没有任何其他受信的第三方)。通常,TLS-N 会生成可有效验证的有关 TLS 会话内容的非交互式证明,可以由第三方和基于区块链的智能合约进行有效验证。这样,TLS-N 增强了Web 内容的可说明性,并为 Web 内容提供了实用且去中心化的区块链预言机。但是,主要缺点是其可部署性,它需要对 TLS 协议进行重大更改,并且采用过程非常缓慢。
实用数据馈送服务(PDFS)[29] 是一种内容提供商的扩展系统,提供新功能来提升数据透明性和一致性验证。,它允许内容提供商将 Web 实体与其区块链实体链接起来。在 PDFS 中,数据通过区块链进行身份验证,但不会破坏 TLS 信任链或修改TLS 堆栈。此外,内容提供商可以自由指定他们想使用的数据格式,因此可以轻松地对数据进行解析和定制以生成智能合约。PDFS 使内容提供商可以进行审核,并减轻其恶意活动(例如,数据修改或审查),并允许他们创建新的业务模型。缺点是智能合约中实现的验证逻辑不够轻量,效率不够高,PDFS 的潜在改进可能在于提供较短证明的设计。
DeFi调研:《SoK: Demystifying Stablecoins》[30]11 提供了关于主流 DeFi 协议的易于理解的调研,主要集中在稳定币的设计上。《A Classification Framework for Stablecoin Designs》[31]12和《Monetary Stabilization in Cryptocurrencies-Design Approaches》[32] 系统地讨论了现有 DeFi 平台的一般设计。将设计分解为锚定资产,抵押品金额,价格信息和治理机制等组成部分,此类调查旨在探索 DeFi 平台的优缺点,以确定未来的发展方向。
攻击DeFi:《Attacking the DeFi Ecosystem with Flash Loans for Fun and Profit》[33]详细探索了以太坊网络 DeFi 生态系统的闪电贷。它分析了现有的两次投资回报率超过 500,000% 的攻击,然后将寻找闪电贷攻击的参数定义为优化问题。它还展示了之前两次攻击可被“增强”的方式,如此将分别产生 82.95 万美元和110 万美元的利润,分别提高 2.37 倍和1.73 倍。Lewis 等人[34] 探索了设计缺陷是如何导致 DeFi 危机。他们的论文讨论了 MakerDAO 的过度抵押和治理攻击,提出一种新的经济危机的传播形式。
对于加密货币的拉高出货问题,《The anatomy of a cryptocurrency pump-and-dump scheme》[35] 研究了412 个拉高出货活动,建立了一个模型预测各种加密资产在出货前拉盘的可能性,发现了加密市场中拉高出货的模式。Josh 等人[36] 考察了经典经济学文献中有关拉高出货的现有信息文献,将其与加密货币进行了综合,并提出了定义加密货币“拉高出货”的标准。这些模式可以在异常行为中定位异常交易活动的疑点,以标记潜在的拉高出货活动。
Philip等人[37] 提出了在去中心交易所执行的套利策略,由机器人由支付高额交易费用,并优化其网络延迟以进行领先于普通用户的交易。通过对机器人的谋利行为和特定于区块链的策略进行实证研究,《Flash Boys 2.0: Frontrunning in Decentralized Exchanges, Miner Extractable Value, and Consensus Instability》正式模拟了机器人为了在 gas 拍卖中取得矿工提供的优先权相互竞争的行为,表明在许多情况下,机器人纯套利所产生的收入远远超过以太坊区块奖励和交易费用。
总结
在本文中,我们进行了对 DeFi 预言机的第一个研究。我们消除了主流 DeFi 平台预言机设计的迷雾,通过对四个著名的开放 DeFi 平台 Maker DAO,Compound,AmpleForth 和 Synthetix 部署的预言机进行大规模测量,我们研究了价格偏差的细节,源于实时价格和预言机节点报价之间的差异。我们比较了已部署平台的价格偏差,对预言机的稳定性,责任制和部署模式进行了详细的评估。我们发现相对声称数据源的偏差以及运行故障是非常常见的。最后,我们对此类平台可能遭受的潜在安全漏洞进行了讨论,并提出了可以改善某些已知缺点的建议。
注释
[A] 我们注意到,还有其他设计不需要锚定或抵押物,但这些系统超出了本文的范围,我们建议读者参阅最近的调查.
[B] 目前,Synthetix 的债务抵押率为 800%。
[C]地址:0xac1ed4fabbd5204e02950d68b6fc8c446ac95362
[D]地址:0xfbaf3a7eb4ec2962bd1847687e56aaee855f5d00
[E] 地址:0x8844dfd05ac492d1924ad27ddd5e690b8e72d694
[F] 地址:0x3c6809319201b978d821190ba03fa19a3523bd96
[G] 交易信息:https://bit.ly/2KHiTFE
[H] 当更改交易有效负载的第一个数字时,偏差降低到 2.9%,这是此预言机的标准范围。
[I] 交易信息:https://bit.ly/2K5kSDF
[J] 交易信息:https://bit.ly/3ep74BO, https://bit.ly/2K3NcGb
[K] 交易信息:https://bit.ly/34Av0xo
[L] 地址:0x000df128eb60a88913f6135a2b83143c452c494e
[M] 这个错误发生在要完成一笔交易.需要比发送方提供的计算资源更多的时候。
[N] 地址:0x005b903dadfd96229cba5eb0e5aa75c578e8f968、0x0032ad8fae086f87ff54699954650354bb51e050、0xa8eb82456ed9bae55841529888cde9152468635a
[O] 地址:0xd0352aad6763f12d0a529d9590ea2f30421667a6
[P] 地址:0xcaefaf2130f0751520d5a6a62f3b9c9eaa4739f4
[Q] 地址:0x43eb83a6b54a98b2d051c933b8e4a900d6bacbee
[R] 地址:0x5c545ca7f9d34857664fdce6adc22edcf1d5061f
参考文献
[1] 2020. Most volatile cryptos. https://yhoo.it/2YhINbg.
[2] 2019. MakerDAO. https://makerdao.com.
[3] 2019. SAI. https://sai.makerdao.com.
[4] 2019. Compound. https://compound.finance.
[5] 2020. Fulcrum. https://fulcrum.trade.
[6] 2019. dYdY. https://dydx.exchange.
[7] 2020. The active outstanding loans from open lending protocols reported by DeFi Pulse. https://defipulse.com/defi-lending.
[8] 2019. Ampleforth. https://www.ampleforth.org.
[9] 2019. Synthetix. https://www.synthetix.io.
[10] 2020. Ethereum DeFi ecosystem. https://defiprime.com/ethereum.
[11] 2019. How to turn $20M into $340M in 15 seconds. https://bit.ly/2VNilEM.
[12] 2019. ChainLink. https://chain.link/.
[13] 2019. Synthetix whitepaper. https://www.synthetix.io/uploads/synthetix_litepaper.pdf.
[14] 2020. Ethereum in BigQuery: a Public Dataset for smart contractanalytics. https://bit.ly/3aNU8lU.
[15] 2019. The sources of Chainlink ETH/USD. https://feeds.chain.link/ethusd.
[16] 2019. Bitfinex. https://www.bitfinex.com.
[17] 2019. Bittrex. https://global.bittrex.com.
[18] 2020. Bittrex ETH/USD rate. https://bit.ly/2VQHTRv.
[19] 2020. Anylockanalytics. https://www.anyblockanalytics.com.
[20] 2020. The claimed sources of AmpleForth’s oracles. https://bit.ly/3aMaqfc.
[21] 2019. Kraken. https://www.kraken.com.
[22] 2019. Coinbasepro. https://pro.coinbase.com.
[23] 2019. The claimed sources of Compound’s oracles. https://bit.ly/3bNiuh5.
[24] 2020. Synthetix integrates with Chainlink. https://bit.ly/3bJfLFc.
[25] 2020. Ethereum gas price shot up. https://bit.ly/2y15AgR.
[26] Fan Zhang, Ethan Cecchetti, Kyle Croman, Ari Juels, and Elaine Shi. 2016. Town crier: An authenticated data feed for smart contracts. In 23rd ACMSIGSAC conference on computer and communications security.
[27] Victor Costan and Srinivas Devadas. 2016. Intel SGX Explained. IACR Cryptology ePrint Archive (2016).
[28] Hubert Ritzdorf, Karl Wüst, Arthur Gervais, Guillaume Felley, and Srdjan Capkun. 2017. TLS-N: Non-repudiation over TLS Enabling Ubiquitous Content Signing for Disintermediation. IACR Cryptology ePrint Archive (2017).
[29] Juan Guarnizo and Pawel Szalachowski. 2019. PDFS: practical data feed service for smart contracts. In 24th European Symposium on Research in Computer Security.
[30] Jeremy Clark, Didem Demirag, and Seyedehmahsa Moosavi. 2019. SoK: Demystifying Stablecoins. Available at SSRN 3466371 (2019).
[31] Amani Moin, Emin Gün Sirer, and Kevin Sekniqi. 2019. A Classification Framework for Stablecoin Designs. In 24th Financial Cryptography and Data Security.
[32] Ingolf Gunnar Anton Pernice, Sebastian Henningsen, Roman Proskalovich, Martin Florian, Hermann Elendner, and Björn Scheuermann. 2019. Monetary Stabilization in Cryptocurrencies-Design Approaches and Open Questions. In 2nd IEEE Crypto Valley Conference on Blockchain Technology.
[33] Kaihua Qin, Liyi Zhou, Benjamin Livshits, and Arthur Gervais. 2020. Attacking the DeFi Ecosystem with Flash Loans for Fun and Profit. In arXiv preprint: 2003.03810.
[34] Lewis Gudgeon, Daniel Perez, Dominik Harz, Arthur Gervais, and Benjamin Livshits. 2020. The Decentralized Financial Crisis: Attacking DeFi. arXiv preprint: 2002.08099.
[35] Jiahua Xu and Benjamin Livshits. 2019. The anatomy of a cryptocurrency pump-and-dump scheme. In 28th USENIX Security Symposium.
[36] Josh Kamps and Bennett Kleinberg. 2018. To the moon: defining and detecting cryptocurrency pump-and-dumps. Crime Science (2018).
[37] Philip Daian, Steven Goldfeder, Tyler Kell, Yunqi Li, Xueyuan Zhao, Iddo Bentov, Lorenz Breidenbach, and Ari Juels. 2020. Flash Boys 2.0: Frontrunning in Decentralized Exchanges, Miner Extractable Value, and Consensus Instability. In 41st IEEE Symposium on Security and Privacy.