目录

WBTC/ETH交易对价格波动后续——Wing清算事件

2020年11月30日14:36前后,WBTC/ETH的交易对价格发生剧烈波动(见下图,取自火币,但暂不清楚是从哪里开始的),紧随其后地,一连串的币价在链上开始发生连锁反应,而在交易所内却无事发生。

WBTC/ETH交易对价格(火币)

随之而来的,是借贷平台的预言机因为数据来源过于单一,而导致大量的资产达到可以清算的标准,被触发清算。

截至目前(2020年11月30日21:48),我没有看到任何媒体或KOL对此事件做出评价,因此斗胆记录和分析一下。

借贷平台

Wing是一个在ONT链上的加密货币借贷平台,通过存入/质押某种加密货币,来借出另一种加密货币。

不同的公链都有自己的借贷平台,以便他人快速地获取到某个链上的代币,而不需要经过交易所或者跨链设置进行繁琐的跨链操作。在不同的公链上,类似的产品有:

预言机与清算

区块链上并没有记录交易对之间的价格,然而,作为链上设施,尤其是链上的借贷设施,必须要依赖某个数据源来获取加密货币的价格。

以Wing的借贷为例,在ETH/USDT的价格为400时,Blanker存入500 USDT,按80%的质押率计算,借出了1 ETH(等值400 USDT);而后ETH/USDT价格上涨至500,则Blanker质押的USDT数量已经不足以覆盖我借出的ETH价值,就有可能被其他人触发清算。

在上述案例中,区块链上并没有ETH/USDT价格,因此,需要通过外部数据来获取交易对价格,我们称这种喂价设施为预言机。预言机可以通过中心化交易所(如币安、火币等)或者去中心化交易所(如Uniswap等)来获取数据,并将数据喂给链上基础设施。

由于数据来源过于中心化,如果某个恶意攻击者人为操纵预言机数据,那么就有可能在某一个瞬间(比如某一个瞬间ETH/USDT的价格发生大波动),导致原本不可能的清算成为可能。

最近,正好发生了一起Compound遭到预言机攻击的案例,可以作为参考。

作为去中心化借贷平台,它们并没有一个设施来负责清算,所有的清算由用户自行监控并执行。由于用户自发性的清算可以保证平台的杠杆率始终维持在较低水平,因此,作为奖励,平台会将清算资产的部分作为回馈(Wing为8%)。

延续上方的案例,如果某位用户发现Blanker的资产可被清算,则TA可以执行清算,存入ETH以降低整个池子的杠杆率,并取回等值的Blanker存入的USDT(外加8%的Blanker存入的USDT作为奖励)。

Wing清算事件

在WBTC/ETH价格发生剧烈波动后的一分钟内,Wing上的预言机就出现问题,原本处在低杠杆率的大量资产,瞬间达到清算标准可以被清算。我有一个机器人实时监控Wing上可清算资产,就记录了这一个惊人的瞬间:

Wing上的可清算交易对-1 Wing上的可清算交易对-2

上述只是不完整的可清算资产,粗略估计,两分钟之内可清算资产可能超过300万美元。

另外,或许是Wing的历史遗留问题或者他们也曾经成功触发过清算(通过清算,可以实现借贷两端存在相同资产),部分巨鲸们存入sUSD,同时借出了sUSD/ETH/UNI等货币。因此,在触发清算时,可以使用sUSD来清算对方的sUSD资产,相当于无风险获得了8%的清算收益。

由于用单个货币就可以循环往复进行清算,短短10分钟之内,大量的资产在Wing上被触发清算。如果上述的300万美元资产被完全清算,则可获得超过24万美元的收益。

我相信,此次出问题的不仅是Wing的借贷平台,其他借贷平台肯定也因此出现了大批量可清算资产,并在数分钟之内被人悄无声息地执行了清算。

事后分析

由于WBTC/ETH的价格发生波动,Uniswap上的DAI/ETH等交易对的价格势必同样发生波动(由WBTC/DAI等交易对传导)。

不能确定的是,问题的根源是否为WBTC/ETH交易对价格发生剧烈波动,抑或是其他交易对的价格发生波动,传导到火币导致的WBTC/ETH交易对呈现如此诡异的形态。

团队处理

大约在14:46前后,团队暂时关闭了合约的所有功能、关闭了网站并挂起正在维护字样。

Wing关停通知-1 Wing关停通知-2

市场稳定后(大约15:30左右),网站又恢复正常。

Wing恢复通知

作为去中心化平台,预言机/链上数据受到控制之后,团队以中心化的手法直接关停合约并关闭网站,这样的行为到底是对是错?

去中心化的借贷背面本就应该是去中心化的风控,当预言机失去效力时,以中心化的手段直接干预链上行为的发生,岂不是对去中心化的违背么?