3WebDAO

Posted on Jul 07, 2022Read on Mirror.xyz

Optimism黑天鹅事件回顾

[关于3WebDAO]

3WebDAO是一个去中心化的区块链洞察平台,它结合了研究报告和链上数据指标为数字资产利益相关者服务;愿景是帮助独角兽落地和Web3投资者获利。

[行情分析]

2022年7月7日,BTC价格:$20400(熊市震荡)

[正文]

背景

作为“Layer2 四大天王”中首个发币的项目,虽然无奈在熊市的大环境中发币,空投规则迷之HOP等种种因素的影响,空投还没完成就被社区诟病。但是从场外的大V口中市场对OP的期待预期还是走得很高,OP 在流通之前就已经被一些 KOL 喊到了 10 美元甚至 20 美元的高价,场外价格也被叫到了 3 - 5 美元。

然而,发币后的市场表现,狠狠地打了"Layer2天王"的脸。流通之后价格一路下行,截止目前,在0.5美元徘徊。天王项目变成了“天亡“项目。

风波不断

从6月1日空投领取开始官网的卡顿,花了接近10个小时的时间解决后官方表示竟然是因为节点RPC访问量暴增带来的宕机,让社区忍不住怀疑其技术能力。

6月9日,Optimism 与做市商 Wintermute 双双发布公告,向社区披露了一起 2000 万 OP 代币意外“失窃”的事件。

结合 Optimism 与 Wintermute 双方的说法,这件事的经过大致梳理如下:

  • OP 在代币发行之时,Optimism 委托了 Wintermute 来为 OP 在二级市场上提供流动性服务,Optimism 将向 Wintermute 提供 2000 万枚 OP 代币。

  • 为了接收这笔代币,Wintermute 给了 Optimism 一个多签地址(0x4f3a120E72C76c22ae802D129F599BFDbc31cb81),在 Optimism 测试发送了两笔交易且 Wintermute 确认无误后,Optimism 将 2000 万 OP 转移到了该地址(目前没有所有者)。

  • 这时候问题就出来了,在 Optimism 转完币之后,Wintermute 却发现自己没办法控制这些代币,因为他们所提供的多签地址暂时只部署在了以太坊主网上,尚未向 Optimism 网络部署。

  • 为了控制这些代币,Wintermute 立即启动了补救操作,希望将该多签合约部署至 Optimism 网络的同一地址上。

  • 不幸的是,在 Wintermute 之前,已有攻击者察觉到了这一漏洞,并抢在 Wintermute 之前将多签部署到了 Optimism 网络的该地址之上,成功控制了这 2000 万代币。

至于黑客是怎么抢先刚好部署了合约地址(0x4f3a120E72C76c22ae802D129F599BFDbc31cb81)的从openzeppelin的文档中我们可以看到

https://docs.openzeppelin.com/cli/2.8/deploying-with-create2,总共有两种生成规则CREATE和CREATE2。

我们先看CREATE,可以看到合约地址是由发布者地址和一个随机数生成的。另外一种CREATE2就复杂不少了有很多参数。

从Gnosis Safe(多签钱包)的合约代码,会发现它在创建合约时传入的参数类型与CREATE一致,所以能够确定如果想创建一个合约地址与Optimism中的地址一样,只能多次调用创建合约方法碰撞出来。

黑客的地址是:0x60B28637879B5a09D21B68040020FFbf7dbA5107,我们来看看它都做了些什么。可以看到他使用了合约0xE7145dd6287AE53326347f3A6694fCf2954bcD8A来调用Gnosis Safe用于创建多签钱包的合约:0xE7145dd6287AE53326347f3A6694fCf2954bcD8A,执行了64次交易,来看看这些交易是干嘛的。

打开其中一个可以看到,每一个交易中都执行了162次创建多签钱包的事件,其中可以看到Address即合约创建者参数它传入的就是当时给Wintermute在以太网创建了多签钱包的地址。

那么剩下的那个递增随机数就只需要不断的去创建然后去碰运气,迟早会刚好碰到这个数从而在Optimism生成一个与以太坊一样的地址。

在64笔交易中可以发现在0x00a3da68f0f6a69cb067f09c3f7e741a01636cbc27a84c603b468f65271d415b中找到了存着2000万个OP的地址(0x4f3a120E72C76c22ae802D129F599BFDbc31cb81)。

  • 黑客现在已成功控制了这些代币,且在随后出售了第一笔 100 万枚代币。
  • Optimism、Wintermute 公告发出后,黑客控制的合约地址出现第二次转出了 100 万枚 OP,只不过这次并非抛售,而是直接转给了 V 神地址(0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045)。
  • 6月10日,V神归还100w OP给项目方,黑客归还1700w OP。

可添加微信加入社群: blockfree123

Optimism