作者|Anton Tarasov 译者|宋宋 来源|CryptoBriefing


尽管DeFi在2020年实现了爆炸式增长,但这个具备特殊吸引力的利基市场同样也存在着诸多失误。

DeFi是一场革命。这种基于区块链的自动化金融模式为改善甚至打破传统金融带来了无限可能。

同时,这股巨大的潜力吸引了大批用户和投资者参与其中,带动了以太坊链上活动的激增。

据链得得旗下DeFi产品D-Market Cap数据统计,截至发稿时,DeFi协议中锁定资产总额已超过178亿美元。

数据来源:D-Market Cap

与传统金融相比,DeFi允许实现自动化、无信任设置和透明度等功能为用户带来了诸多好处。

但不可否认,该领域也面临着特有的风险。截至目前,因故障、协议漏洞和黑客攻击等因素致使该领域造成的损失超过5000万美元。

尽管一些损失已被恢复,但DeFi用户在与应用程序交互时仍需保持警惕。

—1—

DeFi领域“危机四伏”

大多数DeFi项目都是开源的,也就是说,无论是善意还是恶意的用户都可以通过GitHub轻松获得代码,并对此加以检查。

倘若作恶者先检测出其中的漏洞,就可以加以利用,窃取其他用户的资金。

除了可能存在代码漏洞,DeFi应用程序也极易受到外界攻击。

DeFi的效率主要取决于可组合性,也就是说,相互关联的项目越多,它们所能提供的价值就越大。

而区块链交易的不可逆性更是加剧了这种情况,因为一旦黑客入侵成功,被盗的资金可能会永久丢失。

那么,DeFi领域在2020年究竟遭受过哪些创伤呢?

1. DeFi贷款协议bZx:损失954,000美元

在引入Compound的流动性挖矿计划后,DeFi领域在2020年夏天实现了爆炸式增长。

但早在2014年,这个空间就已经处于酝酿中。许多项目自那时起便已存在,并且遭遇了黑客攻击。

专注于保证金交易和贷款的DeFi项目bZx在今年年初连续遭遇两次黑客攻击(分别发生在2月14日和2月18日),总共造成了近一百万美元的损失。

在2月14日的攻击中,黑客并没有在bZx的智能合同中发现任何漏洞,相反,他们利用了这些DeFi协议之间的互连性。具体操作如下:

从 dydx, 0 抵押物,借 1 万个 ETH;2. 5500 ETH 被派去办理 112 wBTC 的贷款抵押;1300 ETH 被发送到支点 pToken sETHBTC5x,打开了一个针对 ETHBTC 比率的 5x 空头头寸;通过 Kyber Reserve 到 Uniswap WBTC pool 卖出 5637 ETH(150 万美金), 获得 51.34 BTC(51 万美金);把 Compound 借出来的 112 BTC,在 Uniswap WBTC pool 卖 112 WBTC, 获得 6800 ETH;将 “3200 ETH + 6800 ETH(卖 112 BTC 获利)= 10000 ETH” 归还给 dydx。

2月18日,平台再次遭受攻击,与第一次完全不同,此次黑客实施的是Oracle操作攻击。攻击者从bZx系统中获得了大约60万美元的净利润。

两次攻击造成的损失最终从bZx的保险基金中扣除,该基金由平台贷款人所得利息收入的10%构成。

2. DeFi借贷协议 Lendf.Me:损失2,500万美元

4月19日,dForce旗下DeFi借贷协议Lendf.Me被盗2500万美元。

黑客利用以太坊上一个“有名”的漏洞(2016年,曾有黑客凭借此漏洞盗取价值5300万美元的以太坊)对该平台发起攻击,盗取了WETH、WBTC、 CHAI 、HBTC、HUSD、BUSD、 PAX、TUSD、USDC、USDT、USDx和 imBTC等多种类型的代币。

并在之后不断通过 1inch.exchange、ParaSwap、Tokenlon 等 dex 平台将盗取的币兑换成 ETH 及其他代币。

值得注意的是,黑客最终将被盗资金返还给了Lendf.Me,但这并没有使dForce免遭批评。

此外,同一时间,Uniswap也遭受了类似的攻击,但黑客仅仅“榨取”到30万美元的资金。

3. 链上期权协议Hegic:损失48,000美元

链上期权平台Hegic并未受到攻击,但该项目代码中存在的一项错误导致用户资产被冻结。

Hegic是以太坊的链上期权交易协议,交易员和ETH持有者可以借此对冲价格波动,保护其资产免受亏损。

假设用户在ETH价格为500美元时购买了一份期权合约,那么该合约能够保证用户在某个时间窗口内以500 DAI的价格出售ETH。

倘若ETH价格跌至400美元,用户可以安全地执行合约,并以500 DAI进行平仓。

然而4月25日,在该协议刚刚上线两天后,Hegic发布了一个警告称,由于其智能合约中存在一个漏洞,导致未执行合约中的资金被冻结。

并且该漏洞将用户资金锁定在过期的期权合约中,使其永久无法访问。最终,Hegic的匿名创始人赔偿了所有遭受损失的用户。

4. 抵押平台Maker:负债超800万美元

3月12日加密市场崩溃后,以太坊上的自动化抵押贷款平台Maker陷入了困境。

由于一些贷款被免费清算,导致该平台最终负债超过800万美元。

由于Maker是去中心化的,因此不能通过信用评分来验证借款人的信用价值。

平台上的贷款被过度担保,这意味着借款方提供了更多他们可以取出的资产。如果抵押价值低于一定的门槛,贷款就会被标记为担保不足,这时清算人可以通过参加拍卖来清算贷款,并获得13%的报酬。

而当市场崩溃时,随着用户的恐慌加剧,以太坊链上的活跃度也随之飙升。

但该网络的低吞吐量造成了拥堵,于是Maker上的许多清算人便停止了工作。

结果,由于没有竞争,少数清算人免费赢得了拍卖。

而据区块链数据平台Blocknative发布的一份报告显示,造成网络拥堵的除了用户恐慌外,还有恶意的机器人活动参与其中。

这些机器人向以太坊发送“垃圾”交易,递归地替换着现有交易,以减缓其他清算者的速度,并借机获利。

5. Bancor:损失13万美元

专注于资产交换的去中心化流动性网络Bancor于今年6月中旬时,通过自我攻击修复了一个关键漏洞。

6月18日,Bancor官方在博客中公布了漏洞细节。

Bancor表示,其在6月16日部署的新Bancor Network v0.6版本合约中存在一个致命漏洞。

原本应该设置为私有的函数 “safeTransferFrom”被定义为公开函数,导致任何人都可以转移代币。

随后,Bancor通过团队发起白帽攻击,将54.5万美元资金成功转移至安全的地址。

虽然团队第一时间对此漏洞进行了修复,但仍有超13美元的资金被两个未知的套利机器人抢先交易。

Bancor团队在博客中提到,希望黑客可以将这13万美元资产归还给用户,并提供漏洞赏金作为交换,但截至目前,团队仍未获得回应。 

6. Balancer:损失50万美元

Balancer是一个拥有可定制流动性池的去中心化交易所,其中,Balancer的两个流动性池在6月28日遭遇了与bZx相似的闪电贷攻击,被转移了价值约50万美元的资产。

Balancer官方在博客中回应称,此次攻击者是从STA和STONK两个代币池中获取了资金,而遭遇攻击的两个代币均为带有转账费的代币,也称通缩代币。

黑客通过闪电贷从dYdX大量借出ETH并转换为WETH,同时利用STA代币的通缩功能。

即每笔交易消耗1%,不断地交易WETH和STA,以减少池中STA代币的数量。当STA的余额接近于零时,池中其他资产的价格就会飙升。

攻击者可使用STA以极低价交换代币池中的其他资产,此类攻击只限于通缩代币。

在黑客事件发生前,该团队就曾在社区中就“通货紧缩”存在的潜在风险作出警告。但由于协议无需许可,因此团队并不能阻止用户添加不安全的资产。

7. Uniswap:套利53万美元

bZx的协议代币BZRX在Uniswap上进行了首次去中心化交易所发行(IDO),但效果却差强人意,同时也暴露了IDO模型的缺陷。

在进行IDO期间,用户可直接向团队发送资金,同时资产的价格也会随着购买活动的增加而不断上涨。

7月13日,在BZRX通过IDO在Uniswap上线不到一分钟的时间里,由于机器人的抢先交易活动,使得该代币的价格迅速飙升至原来的12倍,机器人在标志着IDO启动的区块内不断下订单。

除了抢先交易外,这些机器人还向网络发送垃圾邮件,使得其他用户无法完成交易。

而当其他买家最终参与交易时,BZRX的价格已经很高了,由此这些交易机器人的所有者获得了可观的利润。

虽然这次事件不是黑客攻击造成的,但它引起了人们对IDO模型可行性和公平性的担忧。

8. 链上期权平台Opyn:损失37万美元

Opyn由于智能合约存在漏洞,致使其在8月4日损失37万美元(371260枚USDC)。

据悉,此次漏洞与Opyn的原生代币oTokens相关,用户在执行期权合约时可以销毁该代币。

但合约并不能正确地执行一批期权,并在每笔交易结束时销毁oTokens。因此,攻击者可以重复使用他们的oTokens余额,并通过免费执行期权合约抽走资金。

根据区块链安全公司PeckShield的说法,一个拥有智能合约编程经验的人可以很容易地发现这个漏洞。

尽管Opyn团队无法取消或更改智能合约,但其设法搁置了该协议,并挽救了一些用户的资金。

此外,8月5日,Opyn在推特发文表示,将全额赔偿受漏洞影响的ETH看跌期权卖家。 

9. YAM:损失75万美元

由社区主导的DeFi稳定币项目YAM在8月11日发布后的几个小时内就成功吸引了数亿美元资金。

但好景不长,该项目在几天后因为rebase智能合约的一个严重漏洞而夭折。

YAM被称之为“改良版的”Ampleforth,是一个动态供应的稳定币项目。

根据需求,YAM和Ampleforth可以对总供给量进行增加或减少的更改,以此维持1美元的挂钩。

而供应链则需要通过调用专用的“rebase”函数进行更改。

该团队希望在项目治理中使用YAM代币,但由于rebase中存在的漏洞,导致YAM的发行数量远远超出预期。

进而稀释了YAM代币持有者的治理权力。最终,YAM代币无法用于治理。

由于 YAM 采取的是去中心化治理,因此团队发起投票,希望暂停项目,对漏洞进行修复。

然而,尽管投票率很高,这项倡议最终还是失败了。

此外,YAM与Ampleforth的主要区别在于,每当供应量增加时,前者都会自动购买yCRV(Curve)代币。

当团队意识到无论如何都挽救不了这个项目时,价值75万美元的yCRV已被永久锁定在合约中。

10. Soft Yearn:损失25万美元

Soft Yearn是Yearn.finance(YFI)的仿盘,发行了软锚定自适应代币SYFI,同样利用rebase机制来根据需求调节供应。

9月3日,该协议在首次rebase过程中一个漏洞让匿名用户获得了大量代币。

据悉,一名钱包里只有2个SYFI的用户最先发现了这一漏洞。

利用rebase漏洞,该用户最终赚取超15000枚代币,按当时的价格来看,这些代币的价值约为25万美元,相当于740枚ETH。

最终,这名用户将SYFI代币全部置换成ETH,从而抹去了SYFI池的所有流动性。

事件发生后,团队启动了一个救援计划,其中包括重新启动SYFI代币,并向Uniswap池添加250个ETH。

11. bZx (再次):损失800万美元

相较于前两次攻击,此次攻击利用了bZx内部的协议漏洞。具体而言,当用户在bZx借出资产时,会收到iTokens。

而随着相应贷款池的增长,iTokens的价值也在增长。

在此次攻击事件中,黑客利用平台漏洞,无需借出资产即可生成iTokens。

9月13日,黑客使用这些无担保的iTokens交换了bZx池中的各项资产,成功地攫取了4700枚ETH (价值约为800多万美元)。

最终,bZx官方采取相应的措施,促使黑客将资金归还。

12. Eminence:损失1500万美元

作为DeFi领域的领军人物,Yearn.finance创始人Andre Cronje的新游戏项目Eminence备受关注。

在Andre Cronje于一条推文中披露了Eminence未经审计的智能合约后,该项目在还未上线的阶段就已吸引用户投入了1500万美元资金。

但由于该合约尚处于测试阶段,因此存在漏洞。

9月28日,黑客铸造了大量EMN代币并将其置换为更有价值的资产,从而耗尽了用户的资金。

随后,黑客将800 DAI发送到Andre本人的智能合约中。这些资金被用来弥补一些用户的损失。

13. Harvest:损失3400万美元

在攻击事件发生前,Harvest.Finance就因其中心化而遭受批评。

一些用户担心锁定在平台上的10亿美元资产的安全性,但该项目开发者并没有做出任何更改。

就在关于协议中心化问题的辩论刚结束不久,10月26日,黑客发起攻击,盗走了平台上的2400万美元资金(团队在10月27日将被盗总金额更新为3400万美元)。

攻击者通过闪电贷操纵了去中心化交易所Curve上的稳定币价格,并使用套利的方式购买了比通常情况下更多的稳定币。

具体方式为,黑客多次操纵一个货币乐高(Curve y Pool)的价格,以耗尽另一个货币乐高(fUSDT、fUSDC)的资金,并将资金转换为renBTC进行套现。

攻击者最终以USDT和USDC的形式返还了2478549.94美元被盗资金。

Harvest Finance表示,这些资金会按比例分配给受影响的储户。

此外,Harvest 已将赏金从10万美元提高到100万美元,以获取黑客信息,从而找回更多被盗资金。

14. PercentFinance:冻结100万美元

Compound分叉项目PercentFinance在11月4日冻结了大约100万美元资金(包括44.6万枚USDC,28枚WBTC和313枚ETH),其中约50%属于社区mod团队钱包。

PercentFinance 11月4日在博客中解释称,“协议的某些货币市场遇到了可能导致用户资金永久被锁定的问题。

具体来讲,由于今天早些时候进行的利率模型更新错误,USDC

WBTC和ETH市场被冻结。同时这些市场中的净资金(供应-借贷)也被锁定在合约中。”

PercentFinance团队表示,希望这些锁定基金的发行者能够将拥有被封锁资产的地址列入黑名单,并为遭受漏洞的用户发行新的代币。

如果WBTC的发行机构BitGo不能提供帮助,那么丢失的WBTC将被永久冻结。

15. Akropolis:损失200万美元

去中心化金融平台Akropolis可自动投资用户的资金并产生收益。

当用户将他们的资金存入该平台的一个池时,作为回报,用户会得到所有权代币。

黑客注意到,Akropolis的智能合约没有添加ERC20代币的白名单,而这些代币可以存入储蓄池。

为了利用这一点,黑客制造了假的ERC20代币,并在dYdX上进行了80万DAI的闪电贷。

11月13日,通过存入假的ERC20代币和DAI,黑客设法获得了比正常情况下高一倍的代币所有权。

由此黑客取出了本无法获得的资金。

事件发生后,Akropolis将平台的智能合约分别交由两家区块链安全公司审计。

同时,Akropolis希望黑客返还资金,作为回报将提供20万美元的漏洞赏金,但截至目前,团队仍未得到回应。

16. 闪电贷事件连续发生

11月14日,The Block发文称,Value DeFi协议遭到了闪电贷攻击,攻击者从Aave协议借出 80000 ETH,执行了一次闪电贷攻击,在DAI和USDC之间进行套利。

攻击者在利用740万美元DAI后,向Value DeFi归还了200万美元,保留了540万美元。

此外,攻击者还给Value DeFi团队留下了一条带有嘲讽意味的信息:“你真的懂闪电贷吗?”

随后,Value DeFi团队发推证实其MultiStables vault确实遭到了“一次复杂的攻击,净损失达600万美元。”

目前团队正在进行事后分析,并探索减轻对用户影响的方法。

11月17日,DeFi平台Cheese Bank表示,近期也遭遇了类似的闪电贷攻击,共计损失330万美元。

同一日,起源协议Origin Protocol稳定币OUSD遭闪电贷操纵预言机攻击,创始人Matthew Liu随即发文公布了OUSD闪电贷攻击事件细节。

此外,文章内容显示,攻击造成约700万美元损失,其中包括Origin创始人和员工存入的100万美元以上的资金。

团队正在全力以赴确定漏洞原因,以及确定是否能够收回资金。

除上述这些外,11月22日,DeFi协议Pickle Finance因漏洞造成损失近2000万美元,但具体原因目前暂未公布。

—2—

DeFi攻击仍未谢幕

项目设置为去中心化是一种解放,但同时也强加给用户巨大的责任。尽管有些团队努力挽救用户的资金或弥补损失,但此举仍掩盖不了安全性不足的问题。

一般来说,任何与DeFi协议进行交互的人,都应时刻保持警惕。

因为就目前而言,DeFi领域仍是“蛮荒西部”,不存在完美的代码,每个人的钱包对黑客来说都极具诱惑力,因此用户有必要采取预防措施。

在DeFi短暂而光明的历史中,已经出现多次因黑客攻击和漏洞等事件导致或大或小的平台蒙受损失,有时甚至不是可逆转的破坏。

随着该领域的发展,即便在技术和安全方面有了进步,但依旧可能会有更多的事故发生。

因此,DeFi用户应当制定适当的行为模式以保障资金安全。