1. 首页
  2. 链圈头条

成都链安:从balancer事件看DeFi安全问题

从balancer事件看DeFi。

2019年以来,DeFi逐渐成为区块链的热点,一时间大量资金开始涌入各类DeFi项目。自Synthetix项目崭露头角后,DeFi项目如雨后春笋般纷纷出现在人们的视线里。但随着DeFi的不断发展,DeFi项目的安全问题也愈发紧急。

前不久发生的Balancer被攻击事件,攻击者利用Balancer资金池与通缩货币结合产生的漏洞,盗取资金池500,000美元。而后不到24小时,balancer再次遭受攻击,攻击者利用Compound“借贷即挖矿”的特性,窃取了资金池中无人认领的Comp币。

lazy - 成都链安:从balancer事件看DeFi安全问题

对于第一次攻击事件,我们在前面已经有分析,感兴趣的朋友可以移步(https://mp.weixin.qq.com/)。

对于第二次攻击事件,笔者觉得攻击者的行为是介于薅羊毛和非法攻击之间,并不能一口咬定就是非法攻击。

从一方面看,攻击者确实是违背了Balancer合约设计的理念,利用Balancer的代码漏洞窃取了本不属于自己的利益。

但是从另一方面看,攻击者窃取的资金,并不是资金池内的本金,是Compound “借贷即挖矿”的特性而产生的盈利,且即使攻击者不攻击,Balancer合约本身也并没有合理的将这笔钱分配给用户。

这就像一个超市每天产生的空纸盒,公司并没有明文规定怎么处理,一般都是堆积到一定程度后,某个发现的员工拿去卖出,此员工获得利益。这时候来了个外来的人,他发现了这些纸盒可以产生利益,所以就去应聘员工,卖出纸盒后马上离职再去下一家。Balancer官方在第二次事件发生后,也未对此做出相对的修复措施,这也间接表明了官方的态度,官方可能更倾向于这是一种“薅羊毛”行为。

lazy - 成都链安:从balancer事件看DeFi安全问题

而这次事件,总共涉及到了三个DeFi项目。Balancer、dydx和 Compound。

What is DeFi?

DeFi中文意思是“去中心化金融”,旨在利用区块链技术完成传统金融中的借贷、存储、支付等功能,缩短金融交易中的交易时间,减少交易手续费,解决跨国难等问题。

目前DeFi上火热的项目有Compound、Maker、dydx等,如下图所示:

lazy - 成都链安:从balancer事件看DeFi安全问题

在DiFi的项目里,很多都是将传统金融行业的工具直接搬到区块链上,比如借贷、存储。但区块链和现实世界是有极大差异的,他们的底层逻辑是不同的。

例如,在传统金融领域,“信用”是作为信贷的根本条件,银行会对一个人的信用进行评级,从而判断是否可以放贷给他。在区块链这个封闭的世界里,因区块链的隐私性,地址无法关联到人,也就不存在“信用”属性。如果要实现“信用”,就必须要有预言机来获取真实世界的信息。

但也正是因为区块链与现实世界的不同,使得DeFi可以实现一些现实世界无法实现的功能。

dydx闪电贷:

0抵押借出3千万美元

在balancer第一次事件中,攻击者利用dydx借贷了3千万美元,但是却无需任何抵押物。这在传统的金融领域是无法做到的,传统金融领域的借贷方式都是以“资产抵押”或者“信用抵押”作为规避借贷风险的手段,但因为区块链的特性,可以做到将一笔交易回滚,所以也就可以实现0抵押进行大额借款。

dydx允许用户进行一笔0抵押的大额借款,用户只需在一笔交易中将借款进行归还即可。如果用户在一笔交易后并未将借款归还,那么交易将被回滚,花出去的钱又可以收回来,从而规避了本金风险。虽说在一笔交易中必须归还借款,但智能合约又允许用户在一笔交易中进行多次操作,用户可以在这笔交易中以低价大量买入某种代币,再以高价卖出,即使差价非常小,在巨量本金的基础下,也可以实现可观的收益。如果放在传统的金融领域,一般是难以实现这种操作的。但有了dydx,任何人都可以获得这一笔“巨额资金”。

新事物的出现总是存在两面性,dydx闪电贷为一般人提供使用巨款的可能性的同时,也为躲在暗处的黑客提供了帮助。就如Balancer第一次被攻击,如果没有dydx,黑客必须筹集巨额的本金,才能实现将资金池内的通缩代币抽空,否则将无法进行攻击。

Balancer:

通过收取费用

来管理自己的资产

在传统金融里,用户需要向第三方的管理机构支付管理费用,从而平衡自己的资产,保障资产价值。但Balancer的出现打破了这一情况,资产拥有者可以通过收取费用来保障自己的资产价值。

Balancer允许用户建立自己的资金池,将自己的不同资产放入池中,当不同资产的市场价格产生变化时,形成的差价会诱使套利者在资金池中进行兑换,从而使得资金池中的各种代币含量达到一种平衡。套利者通过套利行为获得利益,而资金拥有者也因此平衡了资产价值。

假设一个资金池中有DAI和WBTC两种代币,当DAI在外部升值时,DAI兑换WBTC的比例就会减少,这会诱使套利者在此资金池将手中的WBTC兑换成DAI,直到资金池兑换比例和外部一样为止,这使得资金池内的DAI持有量上升,总体价值下降。当DAI在外部贬值时,又会诱使套利者将手中的DAI兑换成WBTC,因为早先持有大量的DAI,合算起来,总体价值再次回升。经过套利者的持续操作,资金池内总是保持着一种平衡。

Balancer的这种资金池模型并没有太大问题,但当遇到如通缩货币或者Compound这种特殊的代币时,就会产生问题。Balancer资金池的核心是变动的兑换比例,正常情况下,这种比例会随不同代币的流入流出而变化,使得池内金额达到一种平衡,但遇到通缩货币或者Compound这类特殊货币时,流入流出的数据就与用于计算比例的数据产生误差,这种误差使得攻击者可以进行攻击并获利。

如何看待DeFi

从上面的两个项目不难看出,DeFi并不是简单的将现实世界的金融体系搬到链上就可以的。因为底层的不同,造就了DeFi能够做到现实金融体系无法做到的很多事情,比如0抵押借贷、跨国汇款等非常有前景的功能。但随之而来的还有很大的风险和问题,比如如何与现实世界互通、如何得到政府的认可以及如何解决安全问题。

“给我一个支点,我可以撬动地球”。对比于传统金融,DeFi的底层靠的是智能合约,本质上是程序,程序拥有传统金融不可比拟的高效性和便捷性,但也存在传统金融无需考虑的代码漏洞问题。如果黑客在智能合约中找到了这样一个“支点”,便可以轻易撬动上千万的资产。

所以成都链安建议各位读者,理性对待DeFi,选择安全且有发展前景的项目进行理性投资,在进行投资前,做好调研工作,对未公开智能合约和审计报告的项目,要保持警惕。

免责申明:本站所发布文章仅代表个人观点,与链圈网官方立场无关,版权归原作者所有。

联系我们

微信:lianquancn    或扫码

邮件:mt@lianquan.cn

工作时间:周一至周五,9:30-18:30,节假日休息

QR code