深探DeFi 预言机

Defi之道 view 32 2020-7-2 17:06
share to
Scan QR code with WeChat

AI人工智能,和区块链都是当下最热门的话题。但两者却格格不入。AI是模糊的,追求的是概率性大多数的,而区块链追求的却是确定性共识。

通常我会把区块链当作网络来评估其价值,然而网络的价值在于结构洞,存在“结构洞“位置的节点断开了,通过他传播信息的节点间就无法再通信了。预言机就是存在于结构洞这样的位置,他联接着链上链下。

DeFi智能合约需要用到Oracles/预言机的链下数据才能自动执行,预言机向链上“确定”能真实反映现实世界供求关系的市场数据,如ETH/USD汇率等,因为一上链“确认”就无法更改,合约自动执行。预言机向链上输入的是一种确定性。

目前预言机的喂价都是由多节点抓取,维度单一,未来如果能通过5G, IoT等技术多维度抓取较验,才有可能更智能地向链上“确认”链下数据。并且无论区块链多么去中心化,如果预言机不去中心化,也会严重影响DeFi的去中心化程度。

摘要

新兴的去中心化金融(DeFi)智能合约推动加密货币的进一步发展,利用去中心化的链上网络将传统金融产品转变成为一个无中央机构运行的无需许可的透明协议。然而,这些DeFi智能合约通常需要关键的外部信息,如货币或商品汇率,依赖于特殊DeFi Oracle/预言机的喂价。在这篇论文中,我们深入研究了实践中部署的DeFi Oracle/预言机。首先,我们研究了依赖于预言机喂价的主流DeFi智能合约的设计。令人惊讶的是我们发现,预言机在这些设计中并没得到重视。然后,我们大规模测量的实践部署预言机的链上数据。我们发现,预言机报告的价格经常偏离当前的汇率,预言机运营也存在问题并造成报告异常的情况。最后,我们比较了DeFi Oracle/预言机的设计并提出了潜在的改进。

简介

去中心化的加密货币是在不需要中心信任实体下运行,使得资金和支付变得普遍可用。去中心化金融(DeFi)是在加密货币的一个拓展,建立在区块链的智能合约平台之上的新颖金融工具。与传统金融相比,DeFi具有多种优势。首先,它继承了区块链的特性,如去中心、开放性、无需许可和抗审查等。其次,DeFi具有高度的灵活性,允许通过组合、堆叠或连接不同的金融工具进行快速迭代创新。最后,DeFi提供了可互操作的服务。新的DeFi项目无需从零开始,可以通过分叉或组合其他DeFi平台来构建或组合,像搭乐高积木。

DeFi生态系统中的一个日益增长的趋势是混合协议,它试图吸取不同DeFi项目的优势,来消除了密码数字资产的高波动性[24],高波动性阻碍了DeFi的广泛应用。通过将加密资产与传统金融工具相连接来试图解决这一点。一个突出的例子是DeFi发展最快的分类,去中心化借贷协议。MakerDAO[11]是一种抵押品支持的去中心化借贷协议,任何人都能够利用其抵押品资产,通过一个动态的抵押债务合约CDP生成新的稳定代币DAI[12]。一旦产生新的DAI,它们就可以像其他任何加密货币一样使用而且DAI相对美元是稳定的。用户在付清债务和费用后,可以提取抵押物并结清贷款。在MakerDAO成功之后,其他DeFi贷款平台,如Compound[7]也相继推出。通过取消传统的信贷审检,并自动化合约执行降低成本,Compound市场实际上是一个资产池,其算法是根据特定资产的供求关系得出利率。这些资产的贷款人和借款人直接与协议进行互动,以便分别赚取和支付浮动利率,而无需就到期日或利率等任何条款进行谈判。截至2020年3月,DeFi Pulse报告称,四个去中心化贷款协议(Fulcrum[23]、dYdX[8]、MakerDAO和Compound)的活跃未偿贷款超过2亿美元[16]。

所有这些系统都要求实时了解用作抵押品和赎回的资产的市场价格。由于加密资产抵押物的价值(以法定货币表示)是不稳定的,我们如何获得安全的市场价格呢?为了实现这一功能,DeFi协议引入Oracle/预言机,报告来自真实世界(链外)的市场资产价格。Oracle/预言机充当数据源,这些数据将被输入到智能合约中。尽管预言机在DeFi生态系统中起着至关重要的作用,但它的基本机制是模糊和未经验证的。首先,它们的部署实践,包括价格更新的频率、如何从多个节点聚合价格值等,既不透明,也不负责,为各种不当行为留下了空间。第二,预言机中的信任程度不清楚,即使是生态系统的许多参与者很可能也不知道。最后,一个潜在的恶意预言机(或一组)对DeFi生态系统的影响程度也没有被审查过。

在本文中,我们会阐明这些问题,提出了预言机的研究报告。首先,我们将解释实际部署的预言机设计。其次,我们系统地研究了四个流行的DeFi合约平台(MakerDAO、Compound、AmpleForth和Synthetix)的预言机部署,它们依赖外部预言机来获取价格信息。我们对外部预言者提供的信息与实际价格之间的偏差进行了详细的测量。此外,我们还通过事务图分析来衡量预言机的健壮性和部署实践。最后,我们比较了部署的平台,并对潜在的改进提出建议。

背景

DeFi协议是通过部署在区块链上的智能合约来实现的,但无法获取任何外部链下资源(如当前资产价格)。因此,在这种设计中,price oracle/预言机是一个基本组件,它将加密资产与外部链下信息连接起来。在本节中,我们将介绍主要的DeFi协议及其oracle设计的背景。目前绝大多数DeFi平台,都建立在以太坊之上[20]。

2.1 MakerDAO

MakerDAO是最为流行的去中心化借贷协议,其中每个代币SAI都与美元挂钩,并由加密资产形式的抵押品支持。由于处理加密资产的波动性是一个问题,MakerDAO提供了加密的可编程性,而不会带来传统加密货币(如比特币或以太坊)波动性的负面影响。通过将他们的加密资产作为抵押品纳入债务抵押头寸(CDP)合同,用户能够生成SAI代币,这些代币可以以与任何其他加密货币相同的方式进行交易。作为回报,CDP根据抵押比率计算出被称为超额抵押贷款的债务(即,抵押比)。目前的抵押比率设定为150%,这有助于对冲借款人的风险。当用户想要取回他们的抵押品时,他们必须支付CDP中的债务,加上债务随时间持续累积的稳定费用,这些费用只能用MakerDAO的本地代币(MKR)支付。除了支付稳定费外,MKR代币还可以对平台的迭代治理演进进行投票,并根据拥有的MKR数量比例投票,在MakerDAO的治理中发挥重要作用。SAI作为stablecoin和MKR作为治理标记的结合确保了系统的平衡。MKR持有人直接受益于SAI的使用,SAI的使用由能够保护系统的持有人管理。

深探DeFi 预言机

MakerDAO引入了预言机模块来获取资产的实时价格。该信息的准确性至关重要,因为它决定了CDP是否锁定了足够的抵押资产,以及何时触发清算。预言机模块由许多白名单上的预言机节点地址和一个聚合器契约组成。预言机节点定期向聚合器发送更新市场价格,聚合器聚合它们,计算中间价格作为参考价格,并以此参考价格更新平台。每种资产类型都有一个独立的聚合器合同,用于从授权的oracle节点收集信息。我们在图1中对这个体系结构进行了概述。聚合器合约实现访问控制逻辑,允许添加和删除喂价的预言机节点地址。此操作由管理者-MKR持有者决定,他们投票并更新预言机地址上的更改。此外,逻辑允许设置控制聚合器行为的其他参数,例如,接受新中值所需的最小预言机节点数。因此,在这种治理机制中,预言机可以被MKR持有者操纵。实施类似于51%的攻击,一个联盟可以通过操纵治理来“窃取”系统抵押品而获利[9]。

2.2 Compound

Compound是一个基于区块链的DeFi借贷平台,参与者可以将他们的加密资产借出并从中赚取利息。参与者将其加密资产作为抵押品存入Compound智能合约,并以此为抵押借款。该合同自动匹配借款人和贷款人,并根据供求动态调整利率。与MakerDAO类似,Compound使用oracle作为price feed,并由Compound的COMP令牌的持有者管理和控制。Compound平台对任何变更的提出、投票和实施合规持有人管理和升级进行管理。可以包括调整利率模型或担保因素、管理聚合器合同和选择oracle的来源等更改。

Compound合约中价格更新的逻辑如图2所示,在开始时,管理员部署一个锚定合约,然后创建一个包含min、锚定和公差集的聚合器合约,其中min是计算默认设置为1的新中值所需的最小报告数,锚定表示锚定的合同地址和公差设为10%。Compound中的oracle系统允许多个授权来源(称为reporters)向聚合器合同报告价格数据。reporters可以是交易所、其他DeFi项目、应用程序、场外(OTC)交易台等。聚合器从reporters那里接收参考价格,对其进行验证并计算中间值,然后将其存储起来,以便被Compound市场访问。更新资产参考价格的机制是基于锚定价格(由锚定地址报告)以及检查聚合器计算的中值价格的上下限。如果新的中间价格和锚定价格之间的比率超出界限,则不会更新资产的官方参考价格。

深探DeFi 预言机

2.3 AmpleForth

由于比特币等加密资产因其固定的供应及生产时间无法有效应对需求变化,使它们价格的稳定性容易受到经济冲击和通货紧缩的破坏。为了解决这一缺点,AmpleForth创建AMPL令牌来自动将资产价格信息传播到supply中。根据AMPL和美元之间的价格汇率,通过按比例地扩大或收缩每个持有者的代币数量,这种反周期的,非稀释性的自动价格供应平衡。AMPL最初与美元挂钩,但并非永久挂钩,因为该平台考虑到消费者价格指数,以平衡未来美元通胀。因此,AmpleForth的目标是通过根据对AMPL代币的需求改变供应来稳定购买力。更具体地说,当需求大于供给时,平台会自动增加AMPL的总量,以防止商品的相对价格上涨。同样,当总需求小于供给时,数量也相应减少。

深探DeFi 预言机

对于以价格-供应均衡为目标的协议来说,有一个可靠和准确的市场价格信息来源是至关重要的。AmpleForth的核心功能如图3所示。平台管理员在聚合器合约初始化期间设置其min、delay和expire参数,其中min(默认为一个)指有效报告的的最小预言机节点数目,以认为聚合报表有效。delay是自报告可用之前必须通过等待的秒数(设置默认情况下为1小时)。而expire表示报告被视为过期的秒数,在AmpleForth中,该值默认为12小时。有效报告必须在链上公开至少1小时,然后才能被使用,如果在12小时后未提供新报告,则该报告将在链上过期。这意味着只有在有效时间戳内提交的报告才被视为有效报告。我们在图4中描述了这个逻辑,并假设聚合器在T0检索价格信息。正确的AMPL/USD价格是聚合器根据授权oracles提交的报告计算得出的中间价。T0 − expire ≤ valid timestamp ≤ T0 − delay

Chainlink。像以太坊这样的智能合约平台,本身就缺乏将智能合约与非链上资源(如web)连接起来的能力。Chainlink[4]的目标是通过充当一个去中心化的oracle网络来解决这个问题,该网络是连接链上智能合约和链下环境的桥梁。(在第5节中,我们讨论了与Chainlink竞争的设计。)它通过提供智能合约api来实现这一点,允许DeFi合约请求链外资源,如市场数据、银行支付、零售支付、后端系统、事件数据或web内容。Chainlink由多个分散的、独立的oracle和聚合器组成的网络,这些oracle和聚合器收集和处理链外数据,并根据请求将其传递(处理)到智能合约。AmpleForth是与Chainlink集成的平台的一个例子[4]。

深探DeFi 预言机

2.4 Synthetix

Synthetix[15]平台允许用户创建和交换黄金、白银、加密货币和传统货币等资产的合成版本。Synthetix的目的是允许创建“合成资产”,其价格可以跟踪货币、加密货币和大宗商品。Synthetix涉及两种不同类型的令牌。用户首先购买Synthetix的本地令牌SNX并将其锁定到Synthetix合同中,该合同作为支持其他synth令牌的抵押品。2这些synth是通过Synthetix平台创建的合成资产。请注意,Synthetix平台总是将合成资产之一sUSD的价值定为1美元。synth的价格也是通过oracles来确定,oracles将资产的外部真实价格报告给聚合器,然后进行中值计算。如图5所示,当前的oracle和聚合器是通过Chainlink提供。每种资产类型都提供一个独立的Chainlink聚合器,它由许多oracle节点源维护。为了确保准确的数据输入,oracles会在短时间内(比如5或10分钟)更新链上价格。

测量/MEASUREMENTS

在本节中,我们将详细介绍我们的测量研究。我们对AmpleForth、Synthetix、MakerDAO和Compound平台,进行详细测量并报告以下内容:a)平台资产的市场价格波动(第3.1节),b)市场价格与预言机报告价格之间的偏差(第3.2节),c) 预言机的故障和异常行为(第3.3节),d)预言机与生态系统交互的交易图(第3.4节)。

3.1 价格波动

在这一部分中,我们将演示旨在消除波动性的DeFi资产的价格波动性。我们总结了市场价格的每日变化(以美元为单位,由 https://coinmarketcap.com 网站)对于表1中讨论的每个平台,其中Obs。是观测次数(即平台运行的天数)。可以观察到,尽管目标是稳定,但所有平台在一天内都经历了1%或5%的价格变化。此外,在调查的30%左右的时间里,AMPL的市场价格每天变化超过10%。价格随时间的波动如图6所示,价格的快速变化主要是由交易量的变化、外部事件(如各国禁止加密货币)或投机行为引起的。所有的结果表明,这些DeFi协议和依赖于其资产的协议需要实时准确的参考价格数据来对冲高波动性的风险。

深探DeFi 预言机

3.2 价格偏差

在本节中,我们将测量市场实时价格与这四个主要DeFi平台的oracles报告的价格之间的偏差。我们还调查了“异常值”的可能原因—oracle报告的偏差比其他报告高得多。为了进行这项研究,我们从MakerDAO、Compound和Synthetix中选择了报告最频繁的ETH/USD汇率。对于AmpleForth,我们调查其官方市场预言机,该预言机每12小时报告一次AMPL/USD汇率。我们使用以太坊的BigQuery数据库[22]来获取有关预言机与其DeFi平台交互的数据。对于每个预言机,我们通过提取其数据和元数据、将数据解析为可读的价格格式并将其与预言机应该遵循的真实价格源(oracle可能使用不同的价格源)进行比较来分析其所有交易事务。在我们的实验中,我们将预言机的数据源视为给定资产价格的基准。此外,由于oracle的价格报告方法没有严格规定,对于每个基准源,我们还显示了其实时“原始”价格和超过1、5、10和60分钟的中值。

深探DeFi 预言机

结果。我们首先调查了Synthetix oracle,通过分析其3,308价格公告,并将其与来自不同交易所的数据进行比较。由于Synthetix与Chainlink集成,我们发现他们oracle的ETH价格来源是Coinmarketcap、Bitfinex[2]和Bittrex[3]。因此,在图7中,我们显示了oracle报表与其价格来源之间的ETH/USD价格偏差。如我们所见,偏差数量很大,大多数偏差在±2%范围内。

深探DeFi 预言机

类似地,在图8中,我们展示了MakerDAO ETH/USD oracle 的价格偏差。由于oracle没有指定其来源,我们使用与Synthetix中相同的基线进行评估,除了Bittrex,它仅提供自2018年6月以来的ETH/USD价格信息[18](我们从2018年1月开始测量oracle交互)。如我们所见,存在大量的偏差,其中大多数偏差都在5%的范围内,这表明MakerDAO oracle不如以前的Synthetix oracle有效。此外,还有一些异常值报告,偏差超过10%(我们在表3中进一步调查它们)。

深探DeFi 预言机

在AmpleForth中,oracle的声明来源是Anylock-analytics[17,19],但是,它不提供公共API来检索的实时价格。因此,我们考虑与Synthetix中相同的基线,但Bittrex不跟踪AMPL/USD汇率。我们为AmpleForth oracle分析了980笔交易,并将结果与Coinmarketcap和Bitfinex进行对比。如图9所示,大多数偏差都在5%的范围内,与Synthetix oracle类似。有趣的是,有一个异常值报告具有非常大的偏差值(即273.7%),我们将在本节中进一步讨论。

深探DeFi 预言机

Compound的预言机使用Kraken[10]和CoinbasePro[6]作为其ETH/USD来源[5]。我们对Compound oracle进行评估,总共分析了2,144个事务,并将得到的结果显示在图10中。如我们所见,大多数偏差在4%以下,只有少数偏差在5%以上。

深探DeFi 预言机

比较。在图11中,我们显示了所有平台的每个源的平均偏差。在大多数情况下,考虑到加密资产的波动性,平均偏差小于2%

深探DeFi 预言机

比较。在图11中,我们显示了所有平台的每个源的平均偏差。在大多数情况下,平均偏差在2%以下,考虑到加密资产的波动性,可以看作是相对精确的信息。从图11a到图11c,我们可以看到平均偏差从原始数据增加到60分钟中值。在Synthetix中,Bittrex比Coinmarketcap和Bitfinex更精确。在MakerDAO中,Bitfinex对于实时价格、1分钟和5分钟中间值更为准确,而Coinmarketcap对于10分钟和60分钟中间值更为准确。对于Compound,观察到CoinbasePro比Kraken精确得多。此外,AmpleForth oracle的结果表明,与其他三个平台的趋势相反。这很可能是由oracle在向聚合器报告之前处理较长时间内的平均价格引起的.

深探DeFi 预言机

为了更好地说明oracles/预言机之间的差异,我们还给出了表2中的具体数字。我们可以观察到,除了AmpleForth,相对较高的偏差之外,大多数的发布行为的偏差都是≤1%和≤5%。一个可能的原因可能是我们测量的基准线与他们使用的基准线不同(如前所述,AmpleForth oracles不透露其价格来源)。然而,我们测量的平均偏差约为2.5%,与其他平台相比似乎是可以容忍的。

异常值。由于实时价格的突然变化或Oracles/预言机本身的错误,每个oracle可能会面临一些不可避免的异常值,因此在表3中,我们提供了一些在第3.1节中观察到的较大偏差值的选定报告。在AmpleForth,市场oracle在2007年3月5日有一个明显的发布错误,当时oracle以十六进制格式提交的价格为0x5667f2bb31e073c7,与当时的汇率偏差273.7%。我们没有发现任何原因导致这种异常,我们怀疑是输入错误。另一个有趣的异常报告有50.2%的偏差。这种不一致的输入很可能是由于汇率突然下降,达到了过去四个月的最低价格。由于加密资产汇率在过去三个月内突然下降,MakerDAO的oracle有两个异常报告,分别偏离12.8%和12.2%。在Synthetix和Compound中,前两个异常值报告的百分比远小于前两个平台,只有5%左右。Synthetix中最大的异常值也来自于实际价格的突然下跌,而第二大异常值很可能是由于最近美国股市的波动。

深探DeFi 预言机

3.3 故障

在本节中,我们将研究oracle故障。对于MakerDAO、Compound和AmpleForth,我们检查了它们的oracle提交但由于Ethereum网络处理失败的所有事务(要么被网络拒绝,要么被oracle本身还原)。对于Synthetix,由于与Chainlink的集成,我们检查所有受支持资产的oracle节点,找出它们从中收集的真实来源,然后测量这些oracle。

MakerDAO。MakerDAO中的参考价格ETH/USD由聚合器更新,聚合器整理来自多个外部来源的价格数据。如表4所示,在总共7042个事务中,有54个失败的事务是由于ETH oracle中的GAS错误而发生的,失败率为0.77%。另外三个oracles的故障率分别为2.17%、1.39%和0.53%,也存在类似的问题。

AmpleForth。接下来,我们调查所有源自AmpleForth预言机的交易。在表4中,我们发现,到2020年4月,在AmpleForth的两个市场仓中发生了3015和3416笔逆转交易。

Synthetix。Synthetix与feed服务的Chainlink完全集成。Synthetix中支持的每种资产类型都有一个对应的Chainlink节点集合,用于完成类似于oracle的作业。我们进一步检查所有交换对的节点-ETH/USD、BTC/USD、AUD/USD、EUR/USD、CHF/USD、GBP/USD、JPY/USD、XAG/USD和XUG/USD,以找出潜在故障。

深探DeFi 预言机

在表5中,我们给出了有关预言机节点的详细信息、它们各自的来源以及遇到的问题。我们发现一些问题,如Anyblock和Simply VC提交的事务随后被以太坊网络还原。到2020年2月14日,Alpha Vantage收到了来自Chainlink的17个请求,但都忽略了它们,没有提交任何成功的响应。LinkPool采用两种外部资源,即CryptoCompare和Alpha Vantage,用于ETH、BTC、AUD和XAG汇率。然而,Alpha的优势是不可靠的,这使得LinkPool也不可靠。Fiews, Cosmostation, Validation等,是稳定的节点,没有发现异常,而stake.fish鱼池和Chainlayer 不是公开的,因此不能被公开审计。

深探DeFi 预言机

3.4 预言机的活动分析

oracle地址可以与大量以太坊地址交互,这些地址可以是ERC-20令牌合约、onchain服务、来自其他协议的实体或外部帐户地址等。在本节中,我们将重点分析DeFi平台的oracle的事务活动。我们使用BigQuery对oracle的整个事务历史进行爬行,然后构建事务图,找出oracle与哪些最常见的地址进行交互,它们与哪些实体或外部帐户进行通信,以及它们涉及哪些有趣的活动。

AmpleForth。我们从AmpleForth的oracle收集了132119笔交易,发现有47个不同的地址与oracle交互。如图12a所示,整个事务的很大一部分是与Chainlink的聚合器的交互,颜色为绿色。红色节点表示预言机有161笔交易需要升级AmpleForth的代理合约来设置或更新某些参数。蓝色和橙色的是外部账户地址,涉及48笔和1笔交易。oracle在2020年3月13日连续向blue node发送了48个没有输入数据的事务(很可能是测试活动)。

深探DeFi 预言机

MakerDAO。类似地,我们使用ETH/USD MakerDAO oracle作为度量目标,提取4,914个事务,对它们进行分析,并在图12b中显示结果。如图所示,oracle与来自七个不同地址的四种类型的实体进行交互。大多数交易都是关于价格过账行为的,但是,有两个失败的交易是由于GAS不足错误造成的。它有四个代理活动(红色节点),只有三个SAI和DAI的令牌传输(蓝色节点)。此外,当平台决定进行SAI和DAI转换时,还有一个迁移活动。

Compound。我们在Compound中选择ETH/USD预言机,并分析其所有11,458笔交易。所有事务都是关于价格报告操作与三个onchain聚合器交互。与其他平台的预言相反,事务历史不包含与其他参与者或服务的交互。

Synthetix。Synthetix oracle的142,422事务图如图12d所示,与其他平台类似,该ETH/USD oracle主要与绿色标记的活动聚合器契约交互。一个例外是聚合器(橙色节点)18之一,该聚合器在没有明确原因的情况下自毁。除此之外,oracle还参与了与Synthetix网络合约的2,056笔交易,大部分是从平台获取参数值。一个有趣的活动(红色)是总共667个事务在没有输入数据的情况下发送给自己(很可能是为了测试目的)。

讨论

4.1 去中心化

在这部分,我们讨论不同的DeFi oracles设计。其中一些依赖于中心化的聚合器来检索参考价格,而另一些依赖于与Chainlink的feed提供者建立合作关系。在本节中,我们将研究oracles系统在实践中是如何实现的,以及它如何影响平台的去中心化。

表6描述了影响oracles去中心化的属性。MakerDAO和Compound有相似的架构——它们使用一个聚合器定期从外部白名单oracle节点检索价格信息。即使这些系统的其他组件部署在去中心化的智能合约平台上,这种设计由于预言机喂价的中心化而引入了固有的中心化缺陷。AmpleForth部分使用Chainlink来提供oracle功能,这也减轻了(由于Chainlink的设计)单个聚合器的中心化风险。然而,它仍然依赖一个聚合器合约从四个oracle节点收集数据。因此,我们将其归类为半去中心化的设计。Synthetix已经宣布Synthetix与Chainlink集成到以太坊上运行[25],提供完全去中心化的喂价。数据馈送将被转到由Chainlink组成的去中心化oracle节点网络中,参考价格由多个独立节点在经济激励的支持下而不是由任何中心第三方在链上传输。因此,就目前而言,它的设计最接近于去中心化。

深探DeFi 预言机

4.2 建议

我们的研究,初步看来oracle/预言机生态系统并不成熟。因此,在本节中,我们试图从我们的观察中学习并洞察未来oracle平台的潜在改进。

Transparency/透明度。如第3.2节所述,oracles报价的处理方法没有明确说明。甚至oracle检索来源对于平台用户来说也是不明确的。这导致oracle平台缺乏透明度和潜在的不可察觉的错误行为,因为目前没有实体能够证明oracles报告的价格的准确性。我们对未来oracle设计的第一个建议是要求oracles显式声明其清单。这样的清单将包含oracle元数据(如oracle联系人信息)、部署的数据源、oracle更新的预期频率以及价格推导的精确描述。

Accountability/问责。我们认为,oracles,成为关键的信任方,应该为他们的行动负责。在区块链生态系统中,我们可以预见实现责任的一种可行方式是加密激励。因此,为了激励oracles以承诺的频率报告准确的价格,我们可以想象,平台实施的机制将惩罚oracles违反其清单或平台策略的行为,例如,延迟或丢失报告等事件,或高价格偏差等可证明的不当行为。这种机制可以通过智能合约部分实现,但它需要oracles存储大量的加密资产作保证。

Operational Robustness/操作稳健性。我们发现,令人惊讶的是,尽管oracle的交互相对简单,但它们并没有摆脱基本的操作问题(例如,导致出故障)。由于oracle报告在DeFi生态系统中起着至关重要的作用,我们鼓励运营商通过提高GAS和GAS价格来过度供应。前者必须保证在整个交易执行过程中有足够的GAS消耗。后一个参数对于报告的延迟很重要,当以太坊网络拥塞时,这一参数可能特别重要[21]。高昂的GAS价格将使oracle的报告能够更快地广播到区块链中。

相关工作

我们目前并不知道是否还有其他测量或分析DeFi oracles的工作,但是,下面我们讨论下最相关主题的工作。

Oracle Designs/ 预言机设计。Town Crier(TC)[37]是一个经过认证的智能合约数据喂送系统。实体TC充当智能合约和现有网站之间的桥梁,这些网站已经被非区块链应用程序普遍信任。它将区块链前端与受信任的硬件(即英特尔SGX技术[27])后端结合起来,以抓取支持HTTPS的网站,并根据智能合约提供源认证数据。由于SGX enclave的集成,在TC中有可能执行正确代码的远程证明。TC建立与网站的安全TLS连接并解析其内容,然后可以将其用作智能合约的输入。然而,TC的一个潜在限制是它将Intel定位为执行远程认证所需的可信方。

TLS-N[35]是一个通用的TLS扩展,它为TLS协议提供了安全的不可否认性。TLS-N修改TLS堆栈,以便对服务器发送的TLS记录进行身份验证(成批)。因此,TLS-N客户端可以将接收到的TLS-N记录呈现给第三方,第三方可以验证它,只需信任服务器(没有任何其他第三方信任)。一般来说,TLS-N生成关于TLS会话内容的非交互式证明,这些证明可由第三方和基于区块链的智能合约有效验证。因此,TLS-N增加了对web上提供的内容的责任,并使web内容成为一个实用且分散的区块链oracle。然而,它的主要缺点是可部署性。它需要对TLS协议进行重大更改,采用过程相当缓慢。

实用数据馈送服务(PDFS)[29]是一个扩展内容提供商的系统,它包含了数据透明性和一致性验证的新功能。它允许内容提供商将其web实体与区块链实体链接起来。在PDF中,数据通过区块链进行身份验证,但不会破坏TLS信任链或修改TLS堆栈。

此外,内容提供商可以指定他们想自由使用的数据格式,因此数据可以很容易地被解析和定制为智能合约。PDFS使内容提供商保持可审计性,并减轻其恶意活动(例如,数据修改或审查)并允许他们创建新的业务模型。缺点是,智能合约中的验证逻辑不太轻量级或高效,而且证明更短的设计可能是PDF的潜在改进。

DeFi Surveys/DeFi调查。[26]提供了一个关于主流DeFi协议的调查,主要集中在stablecoins的设计上。[32]和[33]系统地讨论了现有DeFi平台的总体设计。通过将这些设计分解为各种组成部分,即挂钩资产、抵押品数量、价格信息和治理机制,这些调查旨在探索DeFi平台的优缺点,以确定未来的发展方向。

Attacking DeFi。[34]详细探讨了DeFi生态系统以太坊网络上的闪贷款机制。分析了两个已有的ROI大于500k%的攻击向量,并将基于闪贷款的攻击参数作为优化问题进行求解。它还显示了如何“提升”两个先前执行的攻击,从而分别获得829500美元和110万美元的利润,分别提升了2.37倍和1.73倍。刘易斯等人。[30]探索设计的弱点如何导致DeFi危机。本文讨论了MakerDAO的过度抵押和治理攻击,提出了一种新的金融传染病。

对于加密货币中的拉高出货(pump-and-dump scheme)的问题,[36]通过建立一个模型来预测拉高出货之前在加密交易所上市的所有资产的拉高出货可能性,来调查412个拉高出货活动,并发现与拉高出货方案相关联的加密市场中的模式。Josh等人。[31]从经典的经济文献中检查关于拉高出货方案的现有信息,将其与加密货币进行综合,并提出可用于定义加密货币拉高出货的标准。这些模式可以显示异常行为,用于定位异常交易活动的点,以标记潜在的拉高出货活动。

Philip等人[28]提出了去中心化交易所的套利策略,这些交易所由支付高额交易费用并优化其网络延迟以提前处理普通用户交易的机器人执行。通过对bot盈利和区块链特定策略的实证研究,[28]正式模拟了在GAS优先拍卖中,bot为争夺矿商提供的交易优先权而相互竞争的行为,表明在许多情况下,bot从纯收入套利中获得的收入远远超过以太坊区块奖励,并且交易费用。

结论

在这篇文章中,我们提出了第一个DeFi oracles的研究。通过对MakerDAO、Compound、AmpleForth和Synthetix四个著名的开放DeFi平台上部署的oracle进行大规模测量,我们研究了实时price和oracle节点提供的价格信息之间的差异引起的价格偏差的细节。我们比较了部署平台的价格偏差,对oracles的稳定性、责任性和部署模式进行了详细的度量。我们发现,与声称来源的偏差以及操作故障相当频繁。最后,我们讨论了这类平台可能面临的潜在安全漏洞,并提出了一些建议,可以改进发现的一些缺陷。

[1] 2019. Ampleforth. https://www.ampleforth.org.

[2] 2019. Bitfinex. https://www.bitfinex.com.

[3] 2019. Bittrex. https://global.bittrex.com.

[4] 2019. ChainLink. https://chain.link/.

[5] 2019. The claimed sources of Compound’s oracles. https://bit.ly/ 3bNiuh5.

[6] 2019. Coinbasepro. https://pro.coinbase.com.

[7] 2019. Compound. https://compound.finance.

[8] 2019. dYdY. https://dydx.exchange.

[9] 2019. How to turn $20M into $340M in 15 seconds. https://bit.ly/ 2VNilEM.

[10] 2019. Kraken. https://www.kraken.com.

[11] 2019. MakerDAO. https://makerdao.com.

[12] 2019. SAI. https://sai.makerdao.com.

[13] 2019. The sources of Chainlink ETH/USD. https://feeds.chain.link/ethusd.

[14] 2019. Synthetix. https://www.synthetix.io.

[15] 2019. Synthetix whitepaper. https://www.synthetix.io/uploads/ synthetix_litepaper.pdf.

[16] 2020. The active outstanding loans from open lending protocols reported by defi Pulse. https://defipulse.com/defi-lending.

[17] 2020. Anylockanalytics. https://www.anyblockanalytics.com.

[18] 2020. Bittrex ETH/USD rate. https://bit.ly/2VQHTRv.

[19] 2020. The claimed sources of AmpleForth’s oracles. https://bit.ly/ 3aMaqfc.

[20] 2020. Ethereum DeFi ecosystem. https://defiprime.com/ethereum.

[21] 2020. Ethereum gas price shot up. https://bit.ly/2y15AgR.

[22] 2020. Ethereum in BigQuery: a Public Dataset for smart contract analytics. https://bit.ly/3aNU8lU.

[23] 2020. Fulcrum. https://fulcrum.trade.

[24] 2020. Most volatile cryptos. https://yhoo.it/2YhINbg.

[25] 2020. Synthetix integrates with Chainlink. https://bit.ly/3bJfLFc.

[26] Jeremy Clark, Didem Demirag, and Seyedehmahsa Moosavi. 2019. SoK: Demystifying Stablecoins. Available at SSRN 3466371 (2019).

[27] Victor Costan and Srinivas Devadas. 2016. Intel SGX Explained. IACR Cryptology ePrint Archive (2016).

[28] 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.

[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] Lewis Gudgeon, Daniel Perez, Dominik Harz, Arthur Gervais, and Benjamin Livshits. 2020. The Decentralized Financial Crisis: Attacking DeFi. arXiv preprint: 2002.08099.

[31] Josh Kamps and Bennett Kleinberg. 2018. To the moon: defining and detecting cryptocurrency pump-and-dumps. Crime Science (2018).

[32] Amani Moin, Emin Gün Sirer, and Kevin Sekniqi. 2019. A Classification Framework for Stablecoin Designs. In 24th Financial Cryptography and Data Security.

[33] 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.

[34] 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.

[35] Hubert Ritzdorf, Karl Wüst, Arthur Gervais, Guillaume Felley, and Srdjan Capkun. 2017. TLS-N: Non-repudiation over TLS EnablingUbiquitous Content Signing for Disintermediation. IACR Cryptology ePrint Archive (2017).

[36] Jiahua Xu and Benjamin Livshits. 2019. The anatomy of a cryptocurrency pump-and-dump scheme. In 28th USENIX Security Symposium.

[37] Fan Zhang, Ethan Cecchetti, Kyle Croman, Ari Juels, and Elaine Shi. 2016. Town crier: An authenticated data feed for smart contracts. In 23rd ACM SIGSAC conference on computer and communications security

btcfans公众号

Scan QR code with WeChat

Link
Disclaimer:

Previous: MOV:DeFi的下一个可能 Next: 六月份DeFi重大进展总结

Related