预言机 bZx 启示:DeFi 所需的预言机 (Oracle) 应该是怎样的

CryptoHan · 2020年02月22日 · 165 次阅读
本帖已被设为精华帖!

前几日,行业内最热门的话题当数 bZx 协议上发生的 DeFi 资产“攻击”事件。根据 PeckShield 数据分析,bZx 协议前后发生的两次攻击使得 bZx 协议用户累计损失 3649 枚 ETH。由于 Uniswap 协议使用算法价格,在其交易深度有限的情况下,价格很容易发生剧烈变化。套利者正是利用了 Uniswap 的算法价格缺陷,通过直接或间接的方式恶意操作了某些资产的交易价格,致使引入 Uniswap 价格数据的关联 DeFi 协议用户遭受巨大资产损失。

表明上来看,这是发生在 dydx、bZx、Uniwap 等多个 DeFi 协议上的套利行为;究其本质,这两次攻击的核心都在于控制 DeFi 协议所引入的预言机价格,攻击者通过操纵预言机的价格数据,成功进行了 DeFi 协议间的套利。

bZx 事件使得预言机问题再次暴露出来,引发 DeFi 行业内的集体思辨与警觉。早在 bZx 事件之前,著名的合成资产平台 Synthetix 就发生过重大的预言机攻击事件:

2019 年 6 月 25 日凌晨 3 点,Synthetix 遭遇 Oracle 攻击,损失超过 3700 万枚 sETH。官方披露,Synthetix 使用预言机向多个商业 API 获取外汇,商品和加密货币的价格,整合过后作为最终结果。在事发当时,KRW 的价格仅由两个 API 提供,其中一个 API 间歇性地汇报错误的 KRW 价格(为正常价格的 1000 倍),因此导致预言机从两个 API 获得价格数据之后取均值将得到的错误价格上报给平台的汇率合约。Synthetix 平台的一个交易机器人检测到之后利用这个错误进行大量交易 sKRW,在短短不到 1 个小时的时间里获利 10 亿美金。

幸运的是,事发之后,Synthetix 平台与用户紧急协商沟通,回滚了所有交易,并给予其用户 Bug 奖金,以此修复了 10 亿美金的错误!

有关预言机(Oracle)相关的攻击,Synthetix 发生过,bZx 也发生过,我们很清楚这并不是最后一次,也许只是开始。

预言机问题,是整个区块链行业的公共问题。在 《Vitalik:回顾区块链近 5 年经济学进展,以及新出现的问题》一文中,预言机问题排在第 16 条,V 神将预言机问题的重点放在了「获取真实数据」 这一核心要素上。作为 Web 3.0 时代最为重要的基础设施之一,安全稳定的去中心化预言机系统将在推动 DeFi 发展方面起到决定性作用!

那么,DeFi 所需的预言机(Oracle)应该是怎样的?合格的预言机需要满足哪些条件?

目前,行业内现有的预言机网络通常采用往链上合约“喂数据”的方式将线下数据(价格)上传到链上,形成所谓的预言机,以备其它合约调用。

此方案存在一个根本性的问题,即数据的验证并不是直接的,而是通过对上传者进行验证的方式间接保证了数据的真实有效,我们将此方案称之为间接预言机。间接预言机的另一个问题是,上传数据的节点的信用风险决定了该预言机数据的攻击成本。如果基于该预言机提供的价格衍生了 1 万亿美金的资产,则预言机节点的信用也应当与之匹配,这在现实中显然是不可能的,无论采用怎样的节点随机性都无法保证,这是本质问题,不是技术问题,因此间接预言机只能用于小规模的、非金融属性的场景。

DeFi 是整个区块链技术落地应用最具商业价值的方向,未来,它将承载数以万亿计的资产规模。所以,DeFi 所需的预言机绝不是上面提到的间接预言机,而是一种对价格数据直接进行验证的预言机,以保证价格的真实有效以及足够及时;同时,该预言机也应该能够将攻击成本提升到一个极高的程度,接近无穷大;当然,该预言机也一定要是分布式的,去除所有的中心化风险。

现在,我们可以对 DeFi 所需要的预言机网络特点进行提炼:

  • 1) 数据具备准确性:能真实反应市场数据

  • 2) 数据具备灵敏性:对市场数据的反应足够快

  • 3) 数据具备抗攻击性:扭曲或者影响真实数据的成本极高

  • 4) 对数据进行直接验证:且验证者是任意第三方,同时不需要审查或门槛

  • 5) 网络系统是分布式的:不需要审查或门槛,可以自由进入或退出

以上 5 点,是我们对一个真正意义上的预言机系统所提出的严格要求,链上可用的事实不多,链下数据事实的上链显得格外重要。

目前市场上常见的预言机网络有 Oraclize、ChainLink、DOS.Network、NEST Protocol、MakerDAO、Band Protocol、Tellor 等,他们各有各的特点,去中心化程度以及验证方案也各不相同。根据我们前面的定义,他们中的大部分都属于间接预言机,并不是直接在链上生成数据事实。其中比较特殊的是 Tellor 采用 pow 机制进行验证,但本质上也是间接预言机;此外,值得关注的是 NEST 分布式价格预言机网络,其定义并实现了一种全新的在区块链网络上生成链上事实的机制,采用市场博弈理论,通过矿工双边资产报价的方式将链下市场的价格事实同步产生于链上,并结合 NEST 报价挖矿机制,对矿工进行激励,使其成为一套逻辑闭环的分布式报价系统,完美的将链下价格事实同步在链上生成出来,形成了分布式价格预言机。

关于预言机价格数据上链的思考:

  • 1)价格上链的本质不是往链上“上传”价格信息,而是要在链上形成(生成)价格事实;

  • 2)不管是中心化的上传价格信息,还是以去中心化的方式上传,都意味着链下价格事实先于链上产生。而真正的预言机系统,应该要做到链下价格事实同步产生于链上;

  • 3)NEST 分布式价格预言机的独特之处是直接在链上形成一个价格事实,而其他预言机系统则只是往链上传了一个价格事实,这是本质差异;

  • 4)预言机价格形成的成本和信用规模,要能够支撑远超过该规模的 DeFi ,才是正确的预言机;NEST 分布式价格预言机产生的每一条数据都是矿工用真金白银去验证的。

预言机作为区块链技术落定应用最为重要的基础设施,其对 DeFi 产业的发展起到决定性作用!我们需要更多创新的、优秀的预言机方案,不止于 ChainLink、NEST、Tellor…(完)

参考内容:

1.《PeckShield:bZx协议再遭黑客“二连击”背后的技术命门》https://www.odaily.com/post/5146453

2.《慢雾:详解 bZx 两次被黑始末》https://www.chainnews.com/articles/577907050630.htm

3.《Vitalik:回顾区块链近 5 年经济学进展,以及新出现的问题》https://www.chainnews.com/articles/862037184275.htm

4.《NEST Protocol:一种分布式价格预言机网络》https://www.nestfans.com/wiki/whitepaper

共收到 0 条回复
CryptoHan 将本帖设为了精华贴 02月24日 10:15
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册