BZX:别再怪“闪电贷”了,bZx连遭攻击的真凶是它

一周内,DeFi贷款协议bZx遭遇两次攻击,攻击者空手套白狼,十几秒套利超百万美金。这一事件被高度关注,因为它并非一起简单的、针对单一漏洞的“黑客式”攻击,而是在充分了解DeFi的情况下,利用各产品特点组合出拳。这起攻击事件或许暴露出DeFi系统性金融风险的隐患,并对行业发展的路径选择,具有醍醐灌顶的警示意义。笔者先说结论:

1.bZx被攻击的本质是自身产品设计漏洞,喂价完全依赖第三方,没有考虑接入方的机制,也没有经过极限压力测试;2.对于其他DeFi产品,也要谨慎考虑所接入的其他协议可能会对本身协议造成的影响和?险,防止协议调用导致的系统性风险;3.对于生态发展,开发炫技式产品和构建无限杠杆似乎成为一种风气,这是不健康的,DeFi的初心本应是开放式普惠金融。

回顾:攻击者借刀杀bZx,空手套得百万美金

首次攻击发生在2月15日,攻击者通过“闪电贷”0成本借得1万个ETH作为初始资金,利用多个DeFi协议的相互调用,实现了一笔非常不合理的交易。

第一步:通过“闪电贷”0抵押物从dYdX借出1万个ETH;第二步:将其中5500ETH在Compound中抵押借贷112WBTC的贷款抵押;第三步:将1300ETH在bZx被发送到fulcrum,打开了一个ETH/BTC交易对的5倍杠杆空头头寸;第四步:通过KyberReserve到UniswapWBTCpool卖5637ETH,获得51.34BTC;第五步:把Compound借出来的112BTC,在UniswapWBTCpool卖112WBTC,获得6800ETH;第6步:将3200ETH+6800ETH=10000ETH还给dydx。

AKB48 TSH数字卡牌NFT以6.88 ETH的价格售出:7月22日消息,AlienSwap NFT市场数据显示,稀有度等级为SR的AKB48 TSH数字卡牌NFT以6.88ETH的价格售出,约合13000美元。据悉,AKB48 TSH Genesis Card NFT总量1024个,共分为4个等级,等级越高越稀有,开出SR的概率为4.69%。[2023/7/23 15:52:49]

笔者也做了一个表格还原资产变化和最终结果:

据悉,攻击者获得总利润为1193ETH,目前价值29.8万美元。链上数据显示,攻击者已将所获资金转移到了Compound。理论上,Compound可以使用管理员密钥没收资金,但根据ChrisBlec发起的投票,支持没收资金的仅占12.3%,反对者占69.5%。Hydro创始人李天放表示「使用管理者权限非常损害信任,Compound没有因为攻击遭受损失,不太可能牺牲自己的信任帮竞争对手找钱。」「Compound也可以发起社区投票,征询这种用户是否受欢迎,如果Compound社区一致抵制,就可以冻结资金。」数字文艺复兴基金会董事总经理曹寅表示。

数据:昨日LTC活跃地址数为23.48万,新增地址数为10.79万:4月27日消息,据Tokenview数据显示,昨日LTC活跃地址数为23.48万,较前日上升14.45%,较近7日LTC日均活跃地址数上升10.62%;昨日LTC新增地址数为10.79万个,较前日上升10.74%,较近7日LTC日均新增地址数上升4.15%。[2023/4/27 14:30:57]

今日,bZx再次发现了使用“闪电贷”进行的可疑交易,目前没有证据表明是同一个攻击者。尽管首次攻击发生之后,bZx关闭了Fulcrum交易平台进行维护,但该攻击者再出新招,使用了Synthetix进行交易,目前bZx已暂时关闭被利用的合约。Ethhub创始人EricConner估算到,这一次攻击者获利2,388个ETH,约64.4万美金。

有趣的是,尽管bZx官方表示这次的损失跟“预言机”没有任何关系。但在首次攻击发生后,bZx宣布将新增集成预言机平台ChainLink作为价格来源之一。「目前看来,ChainLink能够在真实反映价格和预言机去中心化之间找到比较好的平衡,避免Uniswap等去中心化交易所喂价机制流动性不足导致的价格失真问题」曹寅表示。

澄清:bZx并非价格被操控,主要是产品漏洞

早期网友分析中有很多错误,最广泛流传的就是bZx的价格被操纵。但真实情况是「利用了bZx的合约漏洞,借了大笔钱,然后在bZx接入的Kyber和Uniswap上操纵价格,套利成功。」MakerDao中国社区负责人潘超表示。

乌克兰连锁药店ANC Pharmacy支持加密货币支付:金色财经报道,乌克兰最大连锁药店之一ANC Pharmacy已与Binance Ukraine合作,通过非接触式加密支付服务Binance Pay推出加密货币支付。ANC Pharmacy周二宣布,从1月3日起,消费者在网上购买药品时可以进行即时支付。

据悉,AANC Pharmacy在乌克兰各地经营1000多家药房,并运营自己的在线药房服务。在基辅的药店将首先支持Binance Pay支付服务。(Cointelegraph)[2023/1/3 9:49:47]

我们来具体解释下,这几个协议的关系。bZx是一个保证金交易协议,用户可以抵押一种币作为保证金,在某个杠杆下借出另一种币。但是这两个币的浮动汇率是多少呢?bZx需要调用预言机或者去中心化交易所来喂价。在第一起攻击中,bZx使用Kyber作为链上预言机来检查抵押品和借贷的比例。

而Kyber作为去中心化代币交易协议,它有很多储备库来提供流动性。储备库为兑换者们提供代币兑换,它可以是有丰富代币的个人,也可以是专业的做市商、项目团队、DEX等。而且为了获得竞争力,Kyber设计成为兑换者提供最好的兑换汇率,Uniswap就是Kyber的储备库之一。

在第一轮攻击中,攻击者在bZx上发起了保证金交易,抵押1300个ETH用5被杠杆兑换51.3个WBTC的行为,拉高了Uniswap上WBTC兑ETH的相对价格,此时攻击者再将从Compound借出来的112WBTC在此价位兑换成ETH,于是就获得了利润。

数据:以太坊域名服务ENS主域名注册量突破42万:金色财经报道,据Dune Analytics最新数据显示,以太坊域名服务ENS主域名注册量已突破42万,本文撰写时为421,047个,创历史新高。此外,ENS参与地址总数量为589,172个,迄今已创立的ENS域名总量达到2,753,725个。[2022/10/26 16:39:33]

不可否认,储备池式DEX的确交易深度不够、流动性不足。试想一下,攻击者仅用1300个ETH就拉高了WBTC的价格,这在主流的中心化交易所大概率不会发生。

究其根本原因,bZx被“”在uniswap上做了一笔非常不合理的交易,只能怪自己太依赖第三方。「此类型的攻击方案只针对于bZx这种完全依赖第三方AMM的DeFi产品,在dydx,DDEX,和compound等类型产品中并不存在」李天放表示。

因此,bZx被攻击的主要原因是「它自身存在设计上的失误,没有考虑到Kyber聚合型交易所的喂价机制,也没有经过极限的压力测试,于是被人利用了。」曹寅表示。从结果上来看,本次攻击也没有影响到其他协议,损失由bZx承担。

诘问:“闪电贷”和协议调用,谁才是魔鬼武器?

攻击事件让“闪电贷”进入了大众视线,这是攻击者无成本套利的关键。“闪电贷”是在一个区块内在不同DeFi借贷平台发起多笔交易的方式,也就是不同资产和债务之间的转贷。“闪电贷”也是一种无需抵押物的借贷方式,前提是贷款的发行和偿还必须在以太坊同一个区块内完成,按照目前以太坊的出块速度,就是13秒。如果不是空手借来的ETH,而是超额抵押借贷模式,还会出现这个情况吗?笔者采访的几位嘉宾有不同的看法。

全球做市商MBIT将为Pyth Network提供数字资产对实时市场数据:10月25日消息,全球做市商MBIT已与预言机项目Pyth Network合作,将为其提供各种数字资产交易对的机构级实时市场数据,以为加密货币市场带来更大流动性和透明度。[2022/10/25 16:37:48]

曹寅表示,“闪电贷”本身没问题,但应该要限制“闪电贷”的使用场合,不能让大家随意调用这个协议,尤其是在DeFi这样一个无监管、去中心化、代码即法律的场景里,肯定要谨慎使用。他用了一个很形象的比喻:

现在的DeFi从功能的完善度上,就是一只猴子。而“闪电贷”则相当于一把,你给了猴子一把抢,那会有什么好结果呢?猴子现在需要学习用火,学会种地,学会服务实体经济,而不是纯金融工具类型的DeFi协议。

但李天放认为,“闪电贷”只是降低了攻击的门槛。

就算没有“闪电贷”,一个本来就很有钱的以太坊账号也可以做出同样的攻击。当然“闪电贷”的存在让这类攻击变得更容易,合约设计者必须需要考虑到此现象的存在。

潘超也认为,闪电贷本身不是问题,而是协议之间的耦合问题。「本次攻击的漏洞对于独立的单个协议而言没有问题,但是几个协议联系起来就会被成功攻击,结果就是虽然账户里没有资产,但依然可以空手套白狼,或者说是借刀杀人,利用其他协议的漏洞借钱,损失让其他协议承担。」就像bZx团队“狡辩”的那样,「从协议的角度来看,只是有人简单地借了一笔钱,而从贷方的角度来看,这笔贷款与其他任何贷款一样,照常支付利息。」

「这也给了DeFi从业者一个警示,设计产品是要谨慎考虑所接入的其他协议可能会对本身协议造成的影响和?险」潘超表示。DeFi各产品的智能合约自由调用,增加了很多不确定性因素,那么应该予以限制吗?

针对这个问题,李天放表示,所谓的”adminkey“在各个合约之间中是非常不一样的,而且并不是个0或1的选择,在每类操作中你都可以选择留出fullcontrol,limitedcontrol,timedelayedcontrol等。

「每个合约的设计者需要在”去中心化“和“便于操作”中做出一系列选择。比如DDEX为了避免中心化,留的管理者权限非常少。当然这也有一些不便,比如我们不能随便升级合约的一些模块,加功能,移动资产,哪怕是“为了用户好”的操作。」他最后说到,时间会告诉我们正确的选择是什么。

反思:无限杠杆意义何在,DeFi开发者勿忘初心

对于此次攻击事件,笔者的直观感受是DeFi很多产品的主要用途就是“加杠杆”,这让我想到2008年经济危机起因,就是华尔街把房地产打包成各种证券产品,制造了太多杠杆,同时让人们以很低的成本贷款。这和如今DeFi行业做的事情多么相似。

这究竟有什么意义?

「你说的很对,每个DeFi项目都应该考虑这些问题。一个好的协议设计应该鼓励更多有价值的”winwin”行为。如果一类行为真的是空手套白狼,对整个系统是负价值的,也许协议上可以做一些调整来改善整个系统价值」李天放表示。

然而,DeFi社区不仅没有因为攻击事件变得审慎,反而在推波助澜。笔者注意到了两liang:

1.0x的研发人员RemcoBloemen提出直接在代币的合约中创建免费无限的闪电贷款;2.1inchExchange新推出的1x.ag,利用“闪电贷”提高杠杆仓位的效率,来做无限杠杆。

「DeFi中造价值的角色有个共同点:它们都需要承担风险。比如做市商需要承担风险,liquidator需要承担风险。但是“闪电贷”和“无风险套利”之都是在一个区块中做操作,空手套白狼」李天放表示。

「这暴露出这个行业的开发者存在误区,就是以“炫技式”的心态,去做一些DeFi协议的开发。」曹寅一刀见血的指出。

DeFi的初心究竟是什么?这值得建设者和拥护者反思,曹寅的这几段话非常有道理:

对于投机者来说,高杆杆、空手套白狼,肯定喜欢这样的工具。虽然套利行为对促进信息有效性,降低交易成本能够起到一定的作用。但无限杠杆可能带来连环性事故,酿成系统性风险。按照DeFi目前的发展方式,这种情况很有可能会发生。

我们做DeFi的初心是什么?是为了服务那些没有金融基础设施的的中小企业、创业者、普通生产者。我们降低中心化带来的摩擦成本,去掉完全没必要的中介成本,同时把数据所有权和金融所有权,从不靠谱的中心化机构手里抢回来,还给生产者,这才是我们做DeFi的初心。

DeFi的开发者,是想做一个服务全球人类,让金融成为一种普惠商品,让数据回到生产者和消费者手里的开放金融市场?还是要做一个没有监管,无限杠杆,非常投机性的?大家到底想做什么事,这很重要。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:0ms0-1:101ms