LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 币圈百科 > 除了闪电贷,bZx 事件还给 DeFi 带来了哪些启示?

除了闪电贷,bZx 事件还给 DeFi 带来了哪些启示?

2020-02-18 链闻独家 来源:火星财经

DeFi合约到底该不该设置管理员密钥?

撰稿:LeftOfCenter

本周加密圈子最引入注目的要属bZx攻击事件了。

就在两天前,一名聪明的黑客通过对几个DeFi协议进行了简单的操作,区区十几秒就获得了价值35万美元的ETH的套利收益

简单来说,某个操纵人通过「闪电贷FlashLoan」从去中心化数字货币衍生品交易平台dYdX借出了1万枚ETH,使用其中5500ETH在Compound借出112WBTC,另外使用1300ETH到bZx上开了5倍ETH空单(即,使用其中5637ETH兑换WBTC),由于Uniswap池子中可兑换的WBTC有限,为了继续完成这笔兑换操作,WBTC价格被拉高,与此同时,操纵人再把从Compound借到的112WBTC卖出,获得约6800ETH,然后归还了最初借到的1万枚ETH(6800+3200,注:3200=4500-1300)。在这个过程中,获利等价36万美元的ETH。

这次事件将DeFi推至风口浪尖,并让人开始关注到「闪电贷FlashLoan」这个新物种,这次套利行为之所以能成功,正是因为黑客利用了这种DeFi世界的新模式,不需要任何抵押物,只要借贷和还款在一个区块时间完成即可,一时之间,「闪电贷FlashLoan」成为了热门话题。

此前,链闻曾经发布「贷款协议bZx被操纵让闪电贷走红,读懂13秒必须还款的闪电贷的秘密」一文,对闪电贷这种模式进行了完整的介绍。

除此之外,此次事件还引发了我们对去中心化保险、管理员密钥等问题的广泛讨论。

DeFi合约到底该不该设置管理员密钥?

在事件发生后,bZx动用管理密钥冻结攻击者的51.34WBTC,这个操作引发了广泛争议,一方面,项目方如果不这么做,必然会损失惨重,但如果这么做,则会让人怀疑掌握了管理密钥的DeFi项目是真的去中心化吗?如果项目方拿着密钥升级合约然后跑路怎么办?

进一步来看,这是一个「对DeFi合约到底应不应该设置管理员密钥(adminkey)」的问题。

目前主要有这样几派观点:

一派观点认为,从管理团队的角度来看,设置密钥是十分必要的。因为DeFi合约存在不可预测的风险,如果没有任何弥补措施,那将会引发极大风险,比如著名的theDAO事件

2016年,黑客利用DAO代码中的漏洞盗取了约三分之一的DAO资金,最终社区通过硬分叉方式回滚交易,索回丢失资金,同时也让最初的以太网络分叉成现在以太经典和以太坊。

事实上,目前大部分DeFi项目都设置了管理员密钥。

根据DeFi观察者ChrisBlec针对多个DeFi项目调研整理出一份**「DeFi管理员密钥风险评估」清单**,目前大部分DeFi项目都设置了管理员密钥,根据不同需求,权限控制也各不相同,有些采用的是TimeLock方式,有些则是采用的是多签的方式。

DeFi观察者ChrisBlec整理的「DeFi管理员密钥风险评估」清单

不过,并非所有DeFi项目都设有管理密钥。Uniswap和Instadapp就没有设置管理员密钥,意味着这两个项目的团队无法控制用户的资金。

一般来说,只要是可升级式的智能合约都会设置管理员密钥。大部分团多握有私钥都是为了对智能合约进行升级。通过密钥对合约进行升级完善,在项目发展早期,管理员密钥确实有存在的必要。

不过需要思考的是,用户将资金投入到设有管理员密钥的项目具有一定风险,对于用户来说,会有足够大的动机参与进来吗?

另一派观点则认为,如果管理员密钥被认为是合理的,那这些DeFi项目和Coinbase、币安或Bitmex这个CeFi中心化交易所相比,又有什么区别呢?

DeFi团队一旦拥有管理员密钥,意味着团队拥有对用户资产完全和任意的控制权,虽然密钥的大部分功能都是用于团队「升级」合约,但「升级」合约意味着,团队对合约进行任何更改,甚至可以通过更改规则拿走用户的资金,这相当于修改宪法了。

用户应注意DeFi协议的风险。是否真正去中心化一个明显的标识就是团队是否有单方面对合约进行升级的能力,如果有,那么说明该DeFi协议实际上是中心化的。

去中心化保险

此次bZx攻击还让人开始注意另一个DeFi的重要领域,即去中心化保险业务。

随着加密货币行业逐渐变得成熟,各类基础设施开始涌现。早在去年,就出现了一大批保险服务提供商,此次bZx攻击导致损失了35万美元的ETH,那么是否保险业务可以派上用场了呢?

事实上,去中心化保险服务提供商NexusMutual在Fulcrum平台上部署了活跃的保险池,不过这并不意味着bZx此次事件可以获得索赔。

和传统保险模式相同,NexusMutual有需要人为操作的理赔评估,还可以检查潜在的欺诈行为。但和传统保险不同在于,传统保险公司可以拒绝保险购买者,但NexusMutual则无需许可,这意味着NexusMutual不能以任何方式进行歧视。

DeFi目前存在3种类型的风险,第一种是技术风险,第二种是外部风险,第三种则是经济激励失败风险。显然,NexusMutual承保范围只包括第一种技术风险,而非后两种,因此虽然NexusMutual针对Fulcrum设立了保险池,但不能进行索赔。

然而,即使不属于索赔范围,NexusMutual社区还是针对此次事件发起了投票,虽然最终以决绝索赔而告终,但NexusMutual在此次事件中的反应也让人印象深刻,发起的投票活动说明了,NexusMutual利益相关者拥有完全的自主权,是真正的去中心化。

正如NexusMutual创始人和首席执行官HughKarp在项目官方Discord频道所指出,虽然这是一起价格预言机操纵事件,而且不存在智能合约漏洞问题,这说明拒绝索偿是完全合理的,但是社区会员有完全酌情决定权支付(或拒绝)索偿。这种讨论能为NexusMutual带来更大的价值,它建立了社区信任,证明了NexusMutual完全是由社区控制,从而可以鼓励用户购买保险。

相对于NexusMutual需要复杂繁琐的去中心化治理流程,期权形式的DeFi保险可能是一种更好的服务,这也让大家把目光聚焦在后起之秀Opyn上。

最近上线没多久的Opyn是一种期权形式的保险,目前仅为Compound存款保提供险服务,如果Compound合约遭受攻击时用户依旧可以取回本金和利息。对于Compound的用户,可以在Opyn购买以oToken当前价格定价的期权,期权的卖方可以在价格下跌时保护Compound上的存款,当Compound合约受到攻击,资金被偷走时,通过执行期权,Opyn用户仍然可以将其本金和利息拿回。Opyn基于Convexity协议开发,非托管且无需信任,因此不需要保险索赔和风险评估方,DeFi开发者可通过集成Opyn以为平台用户提供保险服务。

虽然尚不支持bZx,但Opyn这种期权模式显然是一种更加适合DeFi业务模式的保险。因为承保范围可与黑客入侵无关,承保人可随时要求从保险提供商的iETH代币(bZx上的用户存款)中兑换保险费。

提出索赔也很简单,没有复杂的审批治理流程,用户只需将iToken和oToken发送到Opyn智能合约中,即刻就可获得保险费。只要iToken可转让,用户就可以行使索赔权。

期权模式的保险显然更适合DeFi领域,因为用户可以精确地知道参数以及保险执行的事件,也没有复杂的治理流程,一目了然。

事实上,Opyn最近就「接下来希望Opyn支持哪些平台」的问题发起一项调研,针对DSR中的DAI、dYdX、Aave和bZx发起投票,最终闪贷平台Aave以48.8%的票数获得最多支持。

与过去黑客事件不同的是,这次事件带给我们的影响远不止丢失一笔资产这么简单,它更引发了我们对去中心化、治理、如何抵御风险等问题的思考,也是一种对平台设计的检阅,只是检阅的代价并不小,35万美元。从这个角度来看,确实可以说是一种聪明的赏金活动了

DeFi开放、无需许可的特性意味着无限可能,就像是蛮荒的狂野西部,野蛮生长又迸发着无限活力,来势汹汹,势不可挡。

而各种可无限组合的协议搭建出来的货币乐高,将导致更加复杂的情况发生,这意味着巨大的风险和套利的漏洞,吸引着最为聪明的头脑来疯狂套利掘金。

35万美元的套利行为只是开始。就在今天下午,bZx再次遭到用闪电贷进行套利的黑客行为,攻击者使用了Synthetix交易,目前bZx又一次暂停了协议。

bZx黑客事件更是一次代价高昂的学习经验。这次事件给我们的警醒是,作为DeFi项目方,不仅应该不断检视产品设计,考虑到可能的风险。同时,DeFi作为一个复杂系统,就像是一个在成长的生物一样,势必会变得越来越复杂,基元也会越来越丰富,这意味着在不远的将来,会暴露出更多的新问题,这就要求DeFi从业者应该从整体上思考和其他组件之间的交互、利益驱动和可能存在的风险,从而从整体上提高整个DeFi生态的安全性和鲁棒性。

参考来源

贷款协议bZx被操纵让「闪电贷」走红,读懂13秒必须还款的闪电贷的秘密 TusharJain推文 DeFi观察者ChrisBlec整理的「DeFi管理员密钥风险评估」清单DeFiTheWorld微信群讨论

—-

编译者/作者:链闻独家

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...