11 月 26 日下午,去中心化借贷平台 Compound 遭遇黑客攻击,价值约 9 千万美元的加密资产被系统强制清算。除了用 ETH 等非稳定加密资产贷出 DAI 的用户遭受影响外,抵押其他稳定币借 DAI 的用户也被殃及。

Compound 开创了今年 DeFi 流动性挖矿的先河,目前平台总锁仓的加密资产高达 14.7 亿美元,略高于 Aave 但低于 Maker,在 DeFi 借贷平台中排名第二。

图:DeFi 借贷平台 TLV 排名;来源:https://defipulse.com

Compound 的此次巨额清算,罪魁祸首不是项目本身的代码漏洞,而是被很多人忽略的预言机数据源。事实上,在过去的几年里,因为代码漏洞遭遇黑客攻击的比例有所下降,但基于价格预言机操纵的漏洞攻击正在逐步上升。

无论是开发者,还是我们普通用户,都需要关注预言机的数据源,重视预言机的安全性。今天这篇文章,我们将通过通俗易懂的语言,带领大家了解:

1、什么是预言机?2、黑客是如何操纵预言机数据源,导致 Compound 发生巨额清算?3、普通用户如何自我保护?

 01 什么是预言机?

提到预言机(Oracle),大家可能第一时间想到预测市场。事实上,预言机并不作任何预测,相反,它只是一个提供数据、提供信息的桥梁。

举一个生活中的常见例子。你早上刚睡醒睁开眼,想知道外面是否下雨,你对着 iPhone 说“Hi Siri,今天的天气如何,会下雨吗?”语音助手 Siri 回复你:“主人,现在外面正下着小雨,出门请记得带伞。”

在这个例子中,Siri 就扮演了预言机的角色,扮演了现实世界和你之间的桥梁,通过它,你知道了外面正在下雨。

在区块链领域,我们最常见的是价格预言机,即为区块链应用提供加密资产的价格信息。

需要注意的是,预言机本身并没有数据,它是通过采集不同渠道的数据,然后进行加工处理,其他应用调取预言机处理后的数据信息。就像上面的例子中,Siri 本身并不知道外面的天气情况,它是采集了气象服务商的实时天气数据,而我们调取了 Siri 获得的这个天气数据。

价格预言机,按照获取价格的方式可以分为两种:一种是通过中心化交易所 API 获取加密资产的实时价格,并将这个链外价格数据带到区块链上;另外一种是直接读取去中心化交易所(DEX)的实时数据来获取价格。这两种方式各有利弊。

此次 Compound 因为 DAI 的价格剧烈波动而触发巨额清算,它所使用的预言机就是采集的中心化交易所 DAI 的价格信息。

 02 Compound 为何会发生巨额清算?

在介绍黑客是如何操控预言机数据源导致 Compound 触发巨额清算之前,我们先来了解一下 DeFi 借贷平台的借贷规则。

无论是 Compound 还是 Maker、Aave,主营业务都是抵押贷,即贷款之前你需要有加密资产进行抵押。这个很容易理解,现实生活中你去银行贷款,也需要抵押(比如房子、车子等)。如果你偿还不上银行的贷款,银行会把你的抵押物(房子、车子等)拿去拍卖,用拍卖的钱偿还你的欠债。DeFi 借贷平台也一样,如果你偿还不上,平台会卖出你抵押的加密资产用来还债。

DeFi 是去中心化的应用,由智能合约自动执行。为了防范风险,这些 DeFi 借贷平台都会设置:

抵押率清算门槛

抵押率,指的是你抵押加密资产后,可以贷出多少比例的其他资产。不同的加密资产,因为波动性和市场认可度不同,最大抵押率也可能不同。举个例子,在Compound 和 Aave 上,ETH 的最大抵押率都是 75%,即你抵押价值 100 美元的 ETH 到 Compound 或者 Aave 上,你最多可以贷出价值 75 美元的其他加密资产;UNI(Uniswap 的代币)最大抵押率,Compound 上是 60% 而 Aave 上是 40%,即抵押价值 100 美元的 UNI 在 Compound 可贷价值 60 美元的其他加密资产,而 Aave 上最多只能贷 40 美元。

清算门槛,指的是你的债务与你抵押的资产之间的比例达到某个数值后,平台会强制卖出你的抵押资产以偿还债务。同样,不同的加密资产,因为波动性和市场认可度不同,清算门槛也可能不同。举个例子,ETH 在 Aave 平台上的清算门槛为 80%,意味着当你的债务(借款+利息)达到抵押资产价值的 80% 时,系统就会把你的抵押资产卖出还债。

发生清算时,借贷平台会给清算人奖励,以激励清算人代表借款人去偿还债务,防范后续出风险。举个例子,Aave 上 ETH 的清算奖励为 5%,隔壁老王抵押了 1ETH(假设抵押时价格为 500USDT),借出了 300DAI(价值 300USDT,抵押率 60%)。过了几天,ETH 价格跌到了 375USDT,隔壁老王的抵押率达到了 80%,就要被清算了。矿矿作为清算人,以 5% 的优惠折扣,即 356.25USDT 的优惠价购买被系统清算的价值 375USDT 的 1ETH,系统收到货款后,扣除隔壁老王的债务 300DAI,剩余的 56.25USDT 还给隔壁老王。这个例子为了计算方便没有考虑利息,在实际操作中,因为利息的存在,ETH 价格还没跌到 375USDT 就会被清算。

接下去说是昨天发生的 Compound 巨额清算。

Compound 上的 DAI 价格来源于预言机,而该预言机的 DAI 价格采集自单一的交易所——Coinbase Pro。根据目前的分析,黑客操纵了 Coinbase Pro 上 DAI 的价格,下图我们可以看到,DAI 的价格短时间内最高拉到了 1.34USD。

Coinbase Pro 交易所 DAI 价格的上涨,让 Compound 上抵押其他资产借出 DAI 的用户债务增加了,一些杠杆率高的用户(包含一位大户)触发了清算门槛,被 Compound 清算,而黑客此时扮演清算人的角色,获取系统给的 5% 清算奖励,最终获利约 355 万美元。

Sam Priestley 在推文中分析道:当你的帐户正在清算时,清算人可以选择接受你的任何抵押品,以换取偿还你的债务。所以清算人(即本次的黑客)拿走了 DAI。从 Uniswap 借入 DAI ,偿还 DAI 债务,从清算中获取更多 DAI,偿还 Uniswap,坐收利润。

 03 我们普通人应该如何自我保护?

Compound 发生巨额清算,主要是预言机只采集单一交易所 DAI 的价格惹的祸。其他借贷平台上的 DAI,比如 Aave,因为采用的是 Chainlink 预言机,Chainlink 采用的是多家运营商的报价,因而避开了此次事故。

对我们普通人而言,在使用借贷平台时,一定要先了解借贷平台的预言机数据源。数据源越多,黑客操控预言机的难度越大,相对而言越安全。

另外,在抵押借贷时,适当降低自己的抵押率。加密资产价格波动剧烈,黑客操纵价格或是插针砸盘往往在短短几分钟内完成,如果抵押率高了,很多人根本没有时间增加资产抵押,那面临的结果只能是被清算。

最后,也是最重要的一条建议,能场外借贷就不要场内借贷。场内借贷,场内杠杆,被恶意操控、恶意爆仓的例子数不胜数。

风险提示:本文内容仅为作者个人观点,不代表知矿大学的看法或立场,亦不构成任何投资意见或建议。

参考资料:1、《Compound突现9000万美元巨额清算,预言机安全应受重视》2、《Compound 一日内清算逾 9 千万美元,Coinbase 预言机难辞其咎?》3、《细数DeFi预言机攻击套路,这六种安全措施你需要了解》4、《什么是区块链预言机(BlockChain Oracle)》

推荐阅读:江卓尔实例讲述:什么是显卡挖矿的底层逻辑?以太坊挖矿,普通人应该如何入场?江卓尔:如何在本轮牛市,不仅赚钱还赚币?

阅读原文