(自画像,梵高)
前言:自从bZx事件之后,闪贷逐渐为大家熟悉。如果利用闪贷对Maker进行治理攻击,会发生什么情况?闪贷之前,要发起治理攻击的成本很高,可能会采用众筹策略,而有了闪贷,只要流动池中有足够的ETH,即可发动对Maker的治理攻击,从而取走Maker的所有抵押品并发行新Dai。基于这样的可能性,Maker决定制定新的治理合约,并于今天发起投票,以引入延迟,防止对系统的治理攻击。闪贷的出现,对DeFi的安全提出更高要求。此外,蓝狐笔记发现,当前uniswap池中的MKR被大幅减少,1.6万个MKR降至4000多个MKR,从目前情况看,由很大概率是大户撤出,以防止被攻击者利用。本文作者Dominik Harz,由“蓝狐笔记”社群的“JT”翻译。
摘要
如果不对新的治理合约引入延迟,通过闪贷,你有机会窃走Maker的所有抵押品(7亿美元左右)以及发行任意数量的新Dai。
任何人都可以执行攻击,且只需要支付交易费用(几美元),且无须持有任何MKR。
如果Maker在闪贷池的流动性超过阀值之前,不引入延迟,则几乎没有机会阻止攻击。
2020年2月8日我们曾跟Maker联系,并于2020年2月14日跟他们联系讨论我们的发现。
Do Kwon个人钱包于7月3日转移1873万枚USDC:7月7日消息,Terraform Labs首席执行官Do Kwon的个人以太坊钱包地址于7月3日将所持1873万枚USDC全部转移至匿名地址。该匿名地址疑似于近期创建,第一笔交易时间为7月3日。7月3日至5日,该匿名地址将1873万枚USDC通过Uniswap等DEX兑换成WBTC、ETH、stETH和DAI等其他代币,目前该地址还有201万枚USDC和923枚stETH,其余资产已被发送至另一个匿名钱包地址以及其他DeFi项目。业内人士表示。尚未被捕的Do Kwon同伙似乎正在试图大规模套现。
此前消息,Do Kwon所持LFG钱包于7月3日将5292枚BTC转至新地址,约合1.63亿美元。[2023/7/7 22:23:10]
Maker清楚攻击向量,并于PST(蓝狐笔记:太平洋标准时间)本周五下午12点举行投票(也就是今天),以防止攻击。
介绍
Maker及其Dai稳定币是以太坊DeFi上最受欢迎的项目,其智能合约锁定了大约7亿美元。(蓝狐笔记:当前大约6亿美元,跟ETH价格波动相关)Maker协议依赖编码于智能合约的治理流程。MKR代币持有人可以投票取代现有的治理合约。投票票数跟MKR数量成正比。MKR的总代币量为987,530,其中选定的钱包或合约持有大量的代币:
Maker治理合约:192,910 MKR
Lido上周Polygon市场新增3210万枚MATIC的存款净额:金色财经报道,Lido Finance发推特表示,上周Lido上Polygon市场新增3210万枚MATIC的存款净额,其中3000万是由某个巨鲸地址质押,质押率增长34.56%,Lido在Polygon的市场份额达到3.47%。[2023/5/16 15:06:18]
Maker基金会:117,993 MKR
a16z: 60,000 MKR
0xfc7e22c6afa3ebb723bdde26d6ab3783aab9726b: 51,291 MKR
0x000be27f560fef0253cac4da8411611184356549: 39,645 MKR
请注意:Maker治理合约包含多个主体的MKR代币
治理攻击
在2019年12月的一篇文章中,Micah Zoltu指出如何攻击Maker治理合约。(蓝狐笔记:具体参考《MKR治理攻击:15秒内将2000万美元变成3.4亿美元,可能吗?》)。其基本思想是,积累足够的MKR代币,用攻击者的治理合约取代现有的治理合约,也就是恶意的治理合约。然后,恶意治理合约可以让攻击者完全控制系统,可以取出系统中的所有质押品,同时发行任意数量的新Dai。
为了减少所需的MKR代币数量,他建议在对新治理协议进行投票时执行攻击。目前,治理合约中已锁定192,910个MKR。但是,如果假设两到三个合约用类似代币分配进行并行投票,那么攻击者将需要较少的代币。如下图,这种情况在过去经常发生:
MetaMask新版本支持发送ERC-721代币:4月5日消息,MetaMask宣布在最新版本的扩展中,只要启用自动NFT检测,所有ERC-721和1155代币都会出现。通过此更新,用户可以发送ERC-721代币,将很快添加发送ERC-1155代币的功能。[2023/4/5 13:44:47]
对“Maker治理合约”进行投票
最明显的攻击策略是通过智能合约众筹所需的MKR代币,并在胜利后给每个参与者分配相应的收益。然而,攻击者可能需要累积大约5万个MKR代币,才有机会在不被Maker注意到的情况下发起对系统的攻击。
勇敢的新攻击策略:闪贷
不过,如果我们考虑使用闪贷,则可以完全无须考虑累积MKR代币。闪贷是相当新的概念,因此我们可以给予简要说明。(蓝狐笔记:关于闪贷flashloan,可以参考之前的文章《加密闪贷:互联网货币的神奇新发明》)
一般来说,一个人必须提供抵押品以在DeFi中获得贷款。例如,在Maker中,Alice通过存入ETH借到Dai。这是必须的,因为这是在弱身份和主体在经济上会做出理性选择的系统下运行的。
而闪贷将这些要求都去掉,因为它仅在单个交易中发生:
*Alice从闪贷流动性提供商中获得贷款(例如在Aave或dYdX中)
Web3原生支付公司Airswift与Cloud Payments合作:金色财经报道,Web3原生支付公司Airwift Technology Limited与数字支付和银行技术平台供应商Cloud Payments合作,使加密货币消费者能够在销售点使用VISA和万事达支付方式即时获得加密货币。通过使用VISA和万事达卡的优化汇率提供线上加密货币和NFT购买。该上线服务将首先在北美和欧洲推出。[2023/2/2 11:43:18]
*Alice执行一些操作(例如,对Uniswap、Fulcurm、Kyber等进行套利交易)
*爱丽丝偿还闪贷及利息
闪贷在一次交易中分三步执行
闪贷之所以有效,是因为这是以太坊EVM的设计方式:如果在这次交易中闪贷在任何时候失败,整个交易都会被还原。
因此,Alice可以承担贷款的风险,即,如果她无法偿还贷款,她也永远不会承担其风险。流动性提供商也获得胜利:他们只有在Alice能够偿还贷款的情况下才会出借其资金。
利用闪贷进行套利或预言机操纵
在2月14日和2月18日,两起跟闪贷有关的事件导致bZx停止其平台。在第一次的交易中,一次闪贷获利1,193ETH,大约298,250美元。该交易使用智能合约执行,在Fulcrum上开了wBTC的空头头寸。在同一笔交易中,该交易从Compound中借出一笔wBTC贷款,并在kyber的Uniswap储备池中交易wBTC,导致很大的滑点,最终也将Fulcrum的价格降低。具体可参考bZx和peckShield的分析。(蓝狐笔记:也可参考之前蓝狐笔记的文章《bZx事件的启示》)
数据:过去一个月由 StarkEx 驱动的交易笔数占所有以太坊 Layer2 交易笔数的 58%:11月6日消息,StarkWare 发推称,过去一个月由其扩容引擎 StarkEx 驱动的交易笔数占所有以太坊 Layer2 交易笔数的 58%。StarkEx 自从 2020 年推出以来已累计处理 2.65 亿笔交易,铸造超 8000 万枚 NFT。当前由 StarkEx 驱动的应用或解决方案包括 Immutable、Sorare、dYdX、rhinofi 和 Myria。[2022/11/6 12:23:20]
同样,2月18日发生了第二起事件,这一次交易中“攻击者”获得了2,378ETH(约60万美元)的收益。该交易涉及最初借入7,500ETH,以在Synthetix的sUSD买入多头头寸。(蓝狐笔记:大概的攻击步骤如下:1.通过闪贷借出7,500ETH ;2.将其中的3,517ETH在Synthetix上换取94万美元的sUSD,sUSD价格此时为1美元左右;3. 使用900ETH在Kyber和Uniswap上购买sUSD,将sUSD价格推高至2美元;4.通过抵押sUSD借入6,796ETH,之所以用之前94万sUSD能借入这么多ETH,是因为sUSD的价格被推高到2美元,也就是说相当于188万美元价值的抵押品;5.使用借来的6,796个ETH和剩余的3,083ETH偿还7500ETH的闪贷,那么还剩下6,796+3,083-7500=2,379ETH的收益)
预言机操纵以减少所需的流动性
对于有些攻击,我们可以假设5万MKR就足够了。即使实践上所需的代币数量可能更多,闪贷会让Maker安全面临困境,如果没有治理延迟的话。用一种幼稚的方法,攻击者可以借出一笔闪贷购买5万MKR代币。
按照目前的汇率,攻击者需要大约485,000ETH,用来购买MKR,因为只有一个交易所Kyber有足够的量。但是,攻击者也可以在多个交易所购买MKR,在Kyber买入3.8万的MKR,在Uniswap买入1.15万的MKR,从Switcheo买入500MKR,共计需要378,940ETH。这个数字依然很高,但已经减少了近10万ETH。
攻击者可以使用预言机操控策略以有效降低Kyber和Uniswap上MKR的价格。这是两个最大的MKR提供商,并显出很容易受到预言机价格操纵的影响。需要进一步分析来确定MKR价格可以降低多少。但是,像wBTC这样的流动性较低的代币,攻击者能够将汇率操纵大约285%。
获得足够的流动性
Aave上锁定的ETH
即使使用预言机操纵,也需要大量的ETH执行对Maker的攻击。但是,攻击者可以通过在同一次交易中进行两笔闪贷来提高其流动性。Aave和dYdX为了保护自己免遭重入攻击的伤害,在一次交易中仅允许单笔闪贷。但是,攻击者可以在同一笔交易中从这两个不同协议中借出ETH。
因此,截止到2月18日,攻击者在dYdX上拥有一个9万ETH池,在Aave上有1.7万ETH池。因此,以当前的流动性,攻击者可以从dYdX和Aave那里获得共计大约10.7万ETH的贷款,通过借入的ETH,试图用来操纵MKR代币价格,并由此获得足够的MKR代币,以取代当前Make治理合约。
为了让这种方法成功,攻击者必须能够将MKR平均价格降低至少3.54倍。或者,攻击者可以等待dYdX和Aave增加其流动性池。由于两种协议的当前流动性池增长率大约在5%左右,因此似乎不太可能在两个月内实现此攻击。
组合攻击?
显然,可以将众筹和闪贷两种方法结合起来。使用当前可获得的大约10.7万的ETH,大约可以从Kyber上获得1.08万MKR。这样一样,多个攻击者所需的众筹MKR量从5万个降至3.92万个。在非正式的Twitter调查中显示,似乎有些人确实对这种攻击感兴趣:
还应注意:排名前四位的账户持有人(实际上有5个,但不考虑当前Maker治理合约)能够在无须众筹的情况下实施攻击。
没时间等待。
一旦通过闪贷池获得足够的流动性(使用或不使用预言机操纵的组合),任何人都可以接管Maker治理合约。当流动性池资金达到这种阀值时,一旦Maker开始投票,Maker需要确保MKR代币尽可能少地分布。如果在此投票过程中,任何时候MKR的分布被允许利用此漏洞,那么,任何抵押品都可能被取走。
该攻击者将能够取走价值7亿美元的ETH抵押品,且能够任意印发新Dai。这种攻击将会扩散到整个DeFi领域,因为Dai在其他协议被用作抵押资产。此外,攻击者可以使用新Dai交易其他价值2.3亿美元的代币。
对策
Maker应制定新的治理合约,防止闪贷攻击其系统。具体来说,新的治理合约应该能够被Maker基金会核查,以查看是否有恶意代码,并能够有足够的时间做出反应。从最低限度来说,新治理合约不应该在单个交易中生效。这样,攻击者无法从攻击中获利,从而导致无法偿还闪贷贷款。如果攻击者无法偿还闪贷,攻击也就不会发生。
Maker将于2020年2月21日大平洋标准时间12点(星期五)下午对这类合约进行表决。其建议对合约激活治理安全模块(GSM),并防止此类闪贷攻击。
------
风险警示:蓝狐笔记所有文章都不能作为投资建议或推荐,投资有风险,投资应该考虑个人风险承受能力,建议对项目进行深入考察,慎重做好自己的投资决策。
标签:MKRETHMAKEMakermkr币能长期持有吗ETHA币上主网Rainmaker Gamesmakerdao官网app
一位备受瞩目的比特币鲸鱼表示,他已停止做空比特币。 图片来源:Pixabay这条鲸名为Joe007,从2019年12月到2020年1月在加密货币交易所Bitfinex上实现了2000万美元的实现.
1900/1/1 0:00:00根据 Skew 的最新数据,Bakkt 的实物结算期货交易量超过了其现金结算产品的交易量。在过去一个月里,比特币的日均交易量达到 1400万美元,而本月稍早,以实物结算的 Bakkt 未平仓合约.
1900/1/1 0:00:002月20日,瑞典国家银行于官网上表示,已开始测试数字克朗,使该国更接近创建世界上第一个中央银行数字货币(CBDC)。瑞典央行在其官网上表示,以数字瑞典克朗付款将“像发送短信一样容易”.
1900/1/1 0:00:00金色财经 区块链2月17日讯 中国人民银行(PBOC)已经申请了84向与其数字货币计划有关的专利,这些专利揭示了有关央行数字货币的计划.
1900/1/1 0:00:00美国总统候选人迈克尔·布隆伯格正在提议制定规则,以阐明金融系统中加密资产的地位,布隆伯格希望这些措施能够提供更大的政府监督以及消费者保护.
1900/1/1 0:00:00Libra涉及的东西比较多,我们从三条线介绍Libra的设计与实现:通过分析Node启动并加入到Libra网络的过程,介绍Network组件的设计与实现;围绕Transaction的生命周期.
1900/1/1 0:00:00