# Optimism黑天鹅事件回顾

By [3WebDAO](https://paragraph.com/@3webcapital) · 2022-07-07

---

**\[关于3WebDAO\]**

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

![](https://storage.googleapis.com/papyrus_images/d812929cc53840160c605f0ac61720cf6b0414b482a918f4932635a406ff0a98.png)

**\[行情分析\]**

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

**\[正文\]**

背景
==

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

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

![](https://storage.googleapis.com/papyrus_images/3f6bd564126fc199a20136992e0e4c5ff03fb8331a3f803a66f7ed429cdb0036.png)

风波不断
====

从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。](https://docs.openzeppelin.com/cli/2.8/deploying-with-create2%EF%BC%8C%E6%80%BB%E5%85%B1%E6%9C%89%E4%B8%A4%E7%A7%8D%E7%94%9F%E6%88%90%E8%A7%84%E5%88%99CREATE%E5%92%8CCREATE2%E3%80%82)

![](https://storage.googleapis.com/papyrus_images/44a7d9494f737a8c4a204f7994451d377386df23360a8b7dab9e6878e14d4690.png)

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

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

![](https://storage.googleapis.com/papyrus_images/4ad4395f0eff7ae63262368f3431a1a037d2b817af09d8860e7f35bc5fbe6949.png)

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

![](https://storage.googleapis.com/papyrus_images/c96a6807b53b82533742555e38a7567dadc6b78159b1cf8ccd66369e7d7dd316.png)

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

![](https://storage.googleapis.com/papyrus_images/7bd1f0ba52c72deb48d40b634fcd686bc01d8646e609f7ef12838f32e064e936.png)

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

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

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

![](https://storage.googleapis.com/papyrus_images/668cbffac8fb2683678d46688785334fe77bfe4cad4bea1fd72963f7d8226c81.png)

**可添加微信加入社群: blockfree123**

![](https://storage.googleapis.com/papyrus_images/96c0306d22bdc33bcfc56c9172b3f7e42ef9591029ecae9a89368d8dd8953f96.png)

---

*Originally published on [3WebDAO](https://paragraph.com/@3webcapital/optimism)*
