MKR 治理攻击:15 秒内将 2000 万美元变成 3.4 亿美元,可能吗?

前言:__本文提出了对 MakerDAO 治理攻击的可能模式,并提出了改进期望。__由于 MakerDao 在整个以太坊的 DeFi 生态中具有非常重要的地位,也是当前锁定资产量最大的 DeFi 项目,任何跟它有关的潜在风险都会对整个 DeFi 生态和以太坊产生重大影响。__尤其考虑到可组合性,这也是双刃剑。__整个加密世界处于早期也很稚嫩,几乎所有正常项目都具有共生共荣的特点,任何正常项目的风险都可能会转化为整个领域的风险。__不管如何,期望所有的 DeFi 项目都能够不断完善,一起推动区块链行业的持续发展。__本文作者 MichaZoltu,由“蓝狐笔记”社群的“CL”翻译。

摘要

任何人只要拥有大约 40,000 个 MKR,也就是大约 2000 万美元,就能够偷走所有在 MakerDAO 上的抵押资产,包括 Dai 和 Sai,以及来自 Compound、Uniswap、和其他 Maker 集成系统的大量资产,全部加起来大约超过 3.4 亿美元。

MakerDAO v2,也就是多抵押资产的 Dai,原本应该采用防御措施(紧急关闭和治理延迟)启动的,这样可以防止有敌意的 MKR 持有人劫掠所有抵押资产,防止可能掠走 Uniswap、Compound、以及其他集成 Maker 的系统中的大量资产。相反,他们决定不这么做。

银行

MakerDAO 是让 Dai 运转的东西。当前,已经有价值 3.4 亿美元的 ETH 锁定在其 V1 和 V2 版本中。跟 Uniswap 和 Augur 不同,它也是一个“治理”系统,这意味着某些有钱人可以控制系统的运作。

设计

治理系统可以调用各种各样的内部功能,以允许治理人实现各种他们想要的事情。治理是一个相当简单的“利益相关者说了算”的系统,你可以在合约中权益质押你的 MKR 代币,其中质押最多 MKR 的用户得到控制权。

由于当前的执行合约上有 80,000MKR 的权益质押代币(蓝狐笔记:MKR 总量接近 100 万个,权益质押的代币占 8% 左右,质押率较低),这意味着,想对 Maker 合约做任何你想要的事情的成本大约是 80,000MKR, 换算成美元是 4100 万美元。

为了减轻恶意行为者的威胁,系统有个机制,在新执行合约被选择之后,会存在一段执行的延迟时间。在此延迟时间,任何拥有足够 MKR 数量的人都可以触发整个系统的全球结算,从而可以在新执行合约做出任何不好的事情之前有效关闭系统。

这意味着,如果劫掠者出现并试图通过给执行合约投票以劫取所有抵押资产,即使他们拥有的代币比其他执行合约更多,他们也必须等待这一延迟时间,并希望没人在这期间触发防御机制。

疏忽

问题是 Maker 基金会已经确定此治理延迟的适当值是 0 秒。没错,防御者有 0 秒的时间来防御由有钱但恶意的攻击者发起的攻击。

微妙之处

鉴于如上所述,攻击者可以做如下的事情:

  • 不管通过何种方式,获取 80,000 个 MKR 代币。

  • 创建一份执行合约,它可以将所有 Maker 上的抵押资产转给你。

  • 立即对合约进行投票(在同一交易中)。

  • 立即激活合约(在同一交易中)。

  • 拿着价值 3.4 亿美元的 ETH 开溜(不要再管那些攻击用的 MKR 了,在攻击之后,它会毫无价值)。

这具有让人难以置信的利润,有 8 倍的 ROI,但执行起来很昂贵。不过,只需要有耐心就可以将攻击成本将至 50%。

还记得我们上面提到的当前投票系统的运作方式是:拥有最多投票数的执行合约是拥有全部控制权的合约吗?每当治理投票对提议进行表决时,MKR 权益从旧执行合约转入新执行合约会存在一段时间。这不会一次全部发生,它通常会随着时间推移发生,因为个人转移他们的投票会有时间。

那么,在某个时间点上,将 80,000 个积极参与的 MKR 分到两个执行合约,每个大约有 40,000 个 MKR。一个好的脚本可以很容易进行交易计时,它可以在 MKR 给两个执行合约最佳分配时进行恰时操作,并在那时执行上述攻击,仅仅花费大约 40,000MKR,也就是 2000 万美元。

收银机

如果窃取 3.4 亿美元还不满足,那么,他们还可以在攻击执行过程中铸造出千万亿的 Dai。在抢掠 Maker 的同一交易中,他们还可以将 Dai 移至 Uniswap,并通过 ETH 交易对偷走所有 ETH 可用的流动资金。

要从不走运的银行顾客的口袋中获得一些额外的零钱,他们还可以去 Compound,出借千万亿的 Dai,并借入所有可获得的可借资金(他们永远不会偿还贷款,只保留借入的资产)。如果他们行动迅速,在铸造所有 Dai 之后,他们甚至能立即在一些半去中心化的交易所,例如 IDEX、Paradex、RadarRelay 等进行套现。

群众

但是等一下,还有更多!以太坊是建立在具有约束力的协议之上的系统。这意味着,一个人能够创建一个智能合约,其中多个互不信任的各方可以根据一套严格规则实现合谋。规则集可能如下:

如果该合约集中了 40,000 个 MKR,那么任何人都可以触发它,且它将立即劫掠 Maker。成功劫掠之后,战利品会在 MKR 贡献者之间平均分配。如果劫掠失败,参与者可以取回 MKR。任何时间任何人都可以拿回其 MKR。

这个智能合约非常简单,它在贡献 MKR 的参与者之间是具有约束力的协议,因此他们之间无须像传统劫掠那样需要彼此间的信任。没人可以带着所有战利品逃跑,没有人可以窃取其他参与者的贡献,除了将所贡献的 MKR 用于执行约定的行为之外,也没有人可以将其用作其他任何事情。

有人可能会争辩,任何攻击者都必须将其计划传达给人们,而 Maker 基金会可以简单地打破其“我们不参与治理”的规则,通过将基金会的所有 MKR 用于投票,以制止攻击。这样,这会让攻击的成本上升到 400,000,000MKR,而不是 40,000MKR。(蓝狐笔记:MKR 总发行量为 1,000,000 个,不知道文中所提到的 4 亿个 MKR 怎么来的)

如果 Maker 基金会看到这种情况的来临,确实有能力阻止它。但是,没有任何保证说,Maker 基金会一定会察觉到它的来临。例如,攻击者可能在其他地方有资金,并且他们随着时间用这些资金来购买 MKR。攻击者也可能是 MKR 持有人,他们知道其他 MKR 持有人具有一定的道德缺陷,他们可以在私下进行协调。

即使具有约束力的协议合约是公开的,但它也能够以一种混淆众包的方式进行设计。例如,可以让每个感兴趣的人都向中心服务提供者提交预签署的交易(无须完全信任他们),然后中心服务提供者直到“动员”足够的 MKR 之后才会广播这些交易。

在这种情况下,要么 Maker 基金会介入以集中控制系统,而不知道是否有人在行动,要么他们什么都不做,冒着随时都会发生被攻击的风险,且无法即时作出反应。

局内人

值得注意的是,Maker 基金会现在就可以用这种方式攻击系统,如果他们想的话。他们拥有远超 80,000MKR 的代币。更糟糕的是,a16z 现在手上也拥有足够的 MKR 实施有耐心的攻击。还有一些其他的 MKR 持有人,他们的身份我们不清楚,他们也拥有足够的代币去实施耐心版本的攻击。然后,还有少数人需要跟其他几方合谋实施攻击。

这里让人感到恐惧的是,这不是 DeFi,而是 CeFi。不是只有一个人能够劫掠所有的钱,一些大的代币持有人,或一群较小的代币持有人也可以随时合谋来劫掠所有资金。

后果

那么,如果有人实施此种攻击,对 Maker 用户会有什么影响?首先,每个用户的 CDP/Vault 将会擦除,劫掠者直接取走所有抵押资产。这会导致连锁反应,Dai 会变成抵押不足,其价格有可能会归零。然后,MKR 价值也将可能归零,因为在这种情况下其整个系统基本上失败了。在经历这种级别的失败之后,不太可能重新恢复。

以太坊也可能会因此遭受不小的重创,因为这算是以太坊生态系统内的一个重大失败。也许它会恢复过来,因为它依然是个好的平台,但这提醒大家“人们可以在好的事情上构建坏的事情”,这是对非理性繁荣的清醒。

防御措施

我已经与 Maker 提出过这种攻击场景,他们明确表示,放弃即时的治理控制来防止此类攻击是不值得的。(蓝狐笔记:这里的即时,应该是指没有延迟期间)他们辩护论点的一般主题如下,(这是二手的解释,如果需要第一手的陈述,可以直接与他们交谈),其中也包括了我的反驳:

  • 攻击向量已经存在很长一段时间了,但迄今为止情况还不错。

在被发现之前,Heartbleed (OpenSSL 攻击)已经存在 10 年了。Maker 的源代码难以遵循,且在以太坊开发者社区中有不少抱怨。之前,我曾亲自告诉他们我没有审计 Maker 合约,因为其代码很难阅读。我最终咬紧牙关并深入 Maker v2,因为它应该是安全的(跟 Maker v1 被认为是不够安全不同)。

仅仅因为没有人实施过攻击,并不意味着他们将来不会实施攻击。当向量变得广为人知时,更是如此。

  • 除了少数几个人执行之外,对任何人来说,都太昂贵了。

请参考上述提到的,同时也请注意,攻击只需要一个人即可实施。因此,“除了少数几个人过于昂贵”的说法,并不会让系统安全。

  • 攻击者必须传播其攻击计划

仅当攻击来自于大量 MKR 持有人协同工作时,且仅当 Maker 愿意在有人可能为攻击做准备时设置防御

  • 我们将对任何攻击者采取法律行动

这几乎是对 DeFi 的打脸。以太坊生态中的很多人试图保护其资产安全。而这种方式无法保护所有。同样,它假定攻击者不是匿名的。

  • 以太坊上很难匿名

确实,以太坊上很难匿名。尽管如此,DAO 攻击者依然未知。中本聪依然未知。很多非常富有的 ETH 持有人也是未知的。“很难”并非是抵御大规模获利攻击的好防御。

  • 这是已知的风险,但未知的风险可能会更糟。

我非常不同意这种风险评估。你有一个已知的风险,其攻击系统可以获利颇丰,并正在与未知影响和未知可能性的未知风险进行比较。这种思路是“没有值得我们放弃控制的攻击向量”。

——
风险警示:蓝狐笔记所有文章都不能作为投资建议或推荐,投资有风险,投资应该考虑个人风险承受能力,建议对项目进行深入考察,慎重做好自己的投资决策。

通往区块链的新世界:关注“蓝狐笔记”公众号:lanhubiji

加入蓝狐笔记的知识星球:https://t.zsxq.com/iaQNnIq

加入蓝狐笔记群微信:pacinoli

来源链接:mp.weixin.qq.com

>>> 【买币首选】DragonEx龙网交易所,买比特币和以太坊等币简单快捷,现在注册交易手续费终身4折,每天现金分红 + 30%年化理财收益,注册并中级认证即可获得抽DT奖励(100%中奖),1小时内极速出入资金。

...

...

>>【8年老牌】现在注册Gateio比特儿交易所,即可享受一年内交易手续费9折优惠+糖果空投。

...

...

相关推荐

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址