预言机为何成为当前DeFi高危点?
一件接着一件,Compound动辄千万美金资产清算事件的爆出,让从前备受推崇的预言机成为众矢之的。而且闪电贷攻击系列事件给外界塑造了一种愈演愈烈的恶性示范, 从一系列事件上来看,基于可重入性的漏洞利用在过去几年中有所下降,而基于预言机价格操纵的漏洞利用率现在正在上升 ,预言机成了一个高危地带。
为什么预言机是DeFi中的重要角色?
预言机主要围绕着区块链协议如何以可靠、可信的方式从第三方来源收集数据,然后将数据反馈给高度网络化和自动化的去中心化应用Dapp和智能合约,以实现来自链外世界的信息源、数据源的沟通引入,从而建立链上权威事实。
这种外部数据的引入,将作为链上智能合约触发的重要依据。以Compound为例,他们需要预言机的价格来确定借贷能力和抵押要求,以及用于需要计算账户价值的的所有功能,从而判定要不要对这个账户的资产进行清算从而满足抵押需求。而对于一些采用AMM方案的DEX来说,由于交易规模小,深度不足,其市场价格很容易受到大额交易的影响而出现剧烈波动,这也需要预言机提供主流交易所数据来避免这种剧烈波动。
讲到这里可能你会觉得,预言机可能只是一个单一的辅助件,仅能作为外部数据的引入作用,事实恰恰相反。预言机的喂价功能或数据源的可靠支撑只是非常早期的形态,长远来说, 预言机将作为现实世界各类数据、信息、信用、资产等诸多要素的集大成者,它提供数据或信息的正确程度、技术实现的去中心化程度以及模块脚本的智能化程度,都将对未来的区块链世界和现实世界的连接产生重大影响。
从当红炸子鸡到高危点的预言机
本身预言机在今年DeFi爆火的盛夏中名声大燥,包括Chainlink、NEST Protocol等项目一度成为市场聚光灯下的当红明星项目。但早先的热度与最近一个月里的舆论风向形成了鲜明反差,预言机被推到了另一个方向的风口浪尖上。
起因就是预言机越来越成为闪电贷攻击、Compound清算等事件的突破点。 Compound首席执行官Robert Leshner回应道,“Compound协议本身似乎没有遭受损失,对于预言机攻击是否是有人故意为之还是意外,或者是两者兼有,无法得知。”
回顾早先Synthetix的攻击事件,其核心逻辑是在Synthetix上,用户可以合成其他货币资产,Synthetix(当时)依靠定制的链下喂价机制,从一组秘密喂价核算出总价格,并以固定的时间间隔发布在链上。然后,依据计算出来的价格,允许用户针对资产进行多头或空头交易。
(Synthetix MKR操纵的演示)
然后2019年6月底,Synthetix所依赖的其中一个喂价渠道错误的报告了韩元价格,报价比真实汇率高出1000倍,这个价格被系统接受并发布在了链上。有一个交易机器人迅速在sKRW市场上进行了买入和卖出,利益汇率差赚取巨额利润。虽然Synthetix从多个来源提取价格,然后一个错误的报价就使得整个平台遭遇了毁灭性的打击。
早先的闪电贷攻击原理就很简单,即作恶者从闪电贷中贷出巨量资金,用于深度或流量少的交易所或池子中,而这样就会造成短时间内资产价格被操控的局面,这种不符实际被操控的数据波动将会为预言机带来错误的输入和输出,作恶者利用这些错误的输入和输出所造成的后果就可以轻松获利,更直白的说,攻击者在交易过程中几乎完全控制了价格,受害者只能被动的接受损失。同理,Compound清算事件中,由于Coinbase Pro平台上的稳定币DAI价格一度被拉升至1.3美元,这导致使用该平台预言机喂价信息的DeFi协议Compound出现了大规模清算。
而“罪魁祸首”DAI上涨是因为Coinbase Pro采用的是订单簿模式,当流动性不足时就很容易对价格进行操纵。攻击者事先计算好了操纵Coinbase Pro平台DAI价格所需的金额,以及通过清算Compound巨鲸能够获得的利润,并在短时间内完成了这次攻击。
由此看来作为重要的依据的预言机很大程度上无法保证数据来源的真实性或者有效性,Compound平台的 预言机取价数据来源中心化且单一,而中心化的来源则很容易被伪造、篡改、修改或隐藏信息,这种将任何单一的中心化数据源用作价格预言机是不明智的也是极度危险的,预言机摄入遭破坏或无效的数据可能会给下游用户带来巨大的灾难。
另一方面,就是链下数据对价格波动的反应一般比较慢,不够智能。 背后原因是需要相信推送链上数据的特权用户不会变坏也不会被胁迫推送不良更新,而这种信任推送不允许任何特权方访问,这也就意味着即使被攻击,也只能坐以待毙,由于没有更好的解决方案跟上,这就引发了一起又一起的资产损失,但本质来说,攻击者的操控手段也并非高深,只是在现阶段预言机还不够智能,很难及时应对和抵御。 未来一个相对成熟的预言机应该是一个协议的权威真相来源,关于资产的价格,关于市场的状态,关于危机事件的处理。
拯救DeFi安全先要拯救预言机
既然上面已经提到了预言机的漏洞所在,尤其遭受诸多惨痛代价后,将预言机这个“短板”暴露无遗。那么,在拯救DeFi安全性上,首先应该就是在数据源供应方的选择上,预言机本身必须要做到, 通过符合区块链共识机制的去中心化方式将价格数据在链上生成出来,这也是唯一可行的正确逻辑,而不是找中心化数据源几个节点取个中位数简单的给链上喂价。
除此以外 ,预言机应该寻求更多的防护罩,这方面可以依托更安全的第三方机构保驾护航,进一步降低危机漏洞发生的可能性。 在报价方面,预言机应尽量从多节点聚合数据,对价格偏差预留处理机制,并按照时间同步更新,确保提供给智能合约的数据可靠、可信、抗干扰,像数据可信验证机制,异常报警机制等都应该用于预言机上。
最为重要的是,在异常数据的处理上,如何做到及时反馈并阻止事件发生,这里面我们可以适当增加一些人为干预,即在市场波动大、链上表现异常、价格更新慢的时候,我们可以设置专门的报告人手动在链上发布更新。而更智能的阻止异常数据的发生,可借鉴参考Nest预言机项目,其构建的去中心化验证者和报价矿工之间的博弈机制,形成质押报价交易对资产的方法进行双边报价的链上生成,直接杜绝错误数据被采用。
不论是DeFi发展还是区块链新领域的拓展,链上、链下的数据交换势在必行,预言机的作用不可小觑。随着预言机海量的数据类型越来越多,其影响力和关键作用越来越重要,预言机也将从价格预言机向事件型预言机发展,市面上诸如博彩、政务、游戏等行业已经出现了事件型预言机的采用和推广,相信历经沧桑,预言机依然将作为沟通链上和链下世界的重磅武器,只不过需要时间修炼。