数字货币投资有风险,富民财经无投资暗示
您已经看过
[清空]
    当前位置:富民财经>区块链>MakerDao紧急投票预防治理攻击 这场危机或关系到DeFi的生死

    MakerDao紧急投票预防治理攻击 这场危机或关系到DeFi的生死

    区块链Boom2020-02-21 22:336190A+A-

    最初闪电贷带给人们的惊喜,已经慢慢变成了恐惧,这种颠覆式创新,已经打开了DeFi的潘多拉魔盒。

    本周,DeFi协议bZx连续遭遇两次攻击后,共计丢失了3571ETH(近90万美元)资产,而在昨日,由伦敦帝国理工学院学者Dominik Harz撰写的《窃取所有的Maker抵押物》一文,再次让人们绷紧了神经。

    据悉,这篇文章讨论了如何通过闪电贷和Maker的治理缺陷来窃取价值数亿美金的抵押物,让人担心的是,其讨论的内容并不是危人耸听,而是为了提醒MakerDao官方做出防御措施。

    而对于潜在的攻击,MakerDao官方不得不在本周五进行一次紧急投票,以便将治理攻击的风险降到最低。

    在一篇帖子中,MakerDao成员LongForWisdom写道:

    “最后,我要求MKR持有者做两件事:
    1. 当本周五(东部时间中午12点)投票开始后,请及时审查,并认真考虑投票以尽快激活GSM。至关重要的是,这需要尽快激活;

    2. 在周五之前投票赞成目前的hat提议。这是一份已通过的执行提案,它是在上周五前提出的。此提议的MKR越多,Maker协议就越不容易受到攻击。当前的hat提案可以在这里找到:https://vote.makerdao.com/executive-proposal/activate-the-savings-rate-spread-and-the-sai-and-dai-stability-fee-adjustments 129

    而攻击方案的提出者Dominik Harz也提醒道:

    “目前,由于流动性缺失,人们还无法使用闪电贷进行攻击。但是,如果闪电贷池的流动性变得足够高,攻击是完全可能发生的。而通过GSM引入延迟,可以防止闪电贷攻击。

    事实上,我更希望有一个特别小组24小时不间断地工作,来解决这个问题……他们所能做的最好的事情,就是在mempool中检测到闪电贷交易,并在攻击者之前尝试一笔交易,以防止攻击。

    攻击的大致思路和可行性

    据悉,去年12月Micah Zoltu曾提出了Maker的治理缺陷,之后Maker官方尝试通过新的治理规则(将延迟时间从0增加到24小时)来应对这一问题,但最后的投票结果却是没有通过。

    而随着闪电贷方案的出现,新的攻击策略也出现了,因为理论上它可以取消大量MKR代币的要求,以极低的成本(交易费用)完成攻击。

    而研究者Dominik Harz等人在《去中心化金融的危机:攻击DeFi》这一论文中,提出了两种攻击方案:

    1. 由Micah Zoltu提出的Maker治理缺陷启发的攻击策略,而要在2个区块内秘密执行,这需要攻击者锁定约2750万美元的抵押品;

    2. 一种新的攻击策略,允许攻击者在两笔交易中积累Maker抵押品,这只需要预付几美元的gas费;

    那这个所谓的治理缺陷是什么呢?

    简单说,Maker的治理过程依赖于MKR代币,参与者拥有与其持有的MKR代币数量成比例的投票权。而通过执行投票,参与者可以选择一个执行合约,定义一套管理该系统的规则,也就是说,被选定的合约,是唯一允许操纵资金的实体,而如果是一个恶意的合约被选中,它可能会窃取所有作为抵押品锁定的资金。

    而要保护执行投票,有两种防御机制:

    1. 治理安全模块(GSM),增加延迟时间(目前依旧为0);

    讲完防御机制,再来谈攻击大致的思路:

    恶意方可以在以下两个选项中进行选择,以积累治理攻击所需的资本。

    1、众筹:众筹MKR代币可允许用户将其代币锁定在合约中,并对合约进行编程,以便在达到所需MKR代币数量时,将其所有资金投入恶意执行合约,这将允许多方在此类攻击中进行无需信任的合作,同时保持对其资金的控制,并确保他们参与攻击后得到回报。而众筹攻击存在的最大缺点是,这需要在参与者之间进行协调,而正义的MKR成员可能会警觉。

    2、而随着闪电贷的引入,新的攻击方案也浮现了出来,闪电贷的运作方式如下:一方创建一个智能合约,该合约(i)接受贷款,(ii)执行一些操作,(iii)偿还贷款和利息。

    有趣的是,如果在步骤(ii)行动执行失败或步骤(iii)贷款的支付无法完成,则EVM会将此贷款视为从未发生。因此,假设Aave等协议中有足够的可用流动性,攻击者可以在步骤(ii)中执行MKR治理攻击,如果成功,则在步骤(iii)中偿还闪电贷和利息。

    由于闪电贷不需要抵押品,攻击者的资金锁定成本就大大降低了,假设这些DeFi池中有足够的可用流动性,攻击者甚至不需要锁定任何代币。

    另外,研究者还发现,攻击者可能会结合众筹和闪电贷来进行攻击,而在可行性分析部分,他们还提到,目前全网持有MKR代币的账户大约有5000多个,总共涉及的代币数略高于27.2万MKR。

    为了不引起注意,攻击者可能会把累计的代币分散在多个账户当中(例如100个,每个账户平均500MKR),这种方法的缺点之一是要求从这100个账户中进行投票,而投票应在尽可能短的时间内进行。

    而对一个合约进行投票平均要花费69000 gas,这意味着用投票交易填满一个区块的一半,就可以允许72个合约以上的投票,根据当前以太坊gas价格计算,用交易填满半个区块仅需10美元,这意味着攻击者可以轻松地在两个区块内执行整个攻击。而在第二个区块中,攻击者可以完成对其恶意合约的投票,并执行合约中的攻击,对于其它人而言,这只留下了一个区块的时间(不到15秒)以供反应。

    而关于攻击所需流动性的判断,研究者在论文中提到:

    “截至2020年2月14日,Aave的流动性池中约有13670 ETH可用,并以每天约219.5 ETH的速度增长。如果我们估计可用流动性池会有类似的持续增长,那么这大概需要1663天才能执行治理攻击,而攻击者不需要拥有任何代币。然而,目前Aave的ETH增长率为每天5.18%,假设这一增长率持续下去,只需要66天,Aave的流动性就足够被攻击者利用。我们还注意到,如果观察到的DEX上的MKR的流动性增加,攻击者可以获得更好的汇率。因此,其需要借用的ETH就可以更少,从而缩短攻击发生的时间。”

    攻击潜在盈利和风险分析

    在众筹策略下,攻击的利润就可以在出资人之间进行平分,而唯一的成本就是20美元的交易费用,而作为回报,攻击者可夺走MakerDAO当前434873 ETH的抵押品以及1.45亿DAI。

    而在流动性池和闪电贷方案下,攻击者需要以0.35%的利率偿还攻击所需闪电贷的378940 ETH贷款,这笔利息相当于1326.29 ETH,此外还涉及两笔交易的gas费用,然后,在攻击结束时,攻击者将拥有约55933(434873-378940)ETH、50000 MKR以及1.45亿 DAI。

    而为了防止攻击失败,攻击者可以设计攻击智能合约,以便在无利可图时将其还原,这使得攻击者从成本角度看基本是没有风险的。

    此外,鉴于DeFi协议当前存在的无限制可组合性,金融传染的可能性分析就变得尤其重要。因此,研究者认为,假设以上两个缺陷被攻击者利用,就会导致危机蔓延到其它DeFi协议,从而可能引发去中心化金融的危机。

    洒脱喜简评:所幸的是,由于当前相关DeFi协议池的流动性不足问题,这场危机并未发生,并且Maker可以通过治理安全模块(GSM)简单化解这场危机。但是,倘若研究者没有和Maker团队进行沟通,而是偷偷藏起来应用,那么这场危机将对DeFi生态以及以太坊造成非常严重的后果。创新固然重要,但对金融要有敬畏之心。最后,希望MKR持有者在投票开启后尽快激活GSM,以真正化解这场危机。

    参考资料:

    1、https://forum.makerdao.com/t/all-mkr-holders-on-friday-12pm-est-please-vote-for-the-gsm-to-be-activated/1303/15

    2、https://arxiv.org/pdf/2002.08099.pdf

    3、https://medium.com/@dominik.harz/stealing-all-of-makers-collateral-f940970605b1

    文章来源:巴比特

    免责声明:版权归原作者所有,如有内容、版权等问题,本站24小时内删除

    MakerDao紧急投票预防治理攻击 这场危机或关系到DeFi的生死》由《富民财经》整理呈现,请在转载分享时带上本文链接,谢谢!
    Copyright © 2019-2020 富民财经 · 署名-非商业性使用-相同方式共享(BY-NC-SA 3.0 CN)
    投稿QQ/EMAIL 3335607165#qq.com(发邮件时请将#换成@)