宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > 聚币 > 正文

2000 万 OP 代币被盗关键:交易重放

作者:

时间:1900/1/1 0:00:00

背景

6 月 9 日,Optimism 与 Wintermute 双双发布公告,向社区披露了一起 2000 万 OP 代币丢失的事件。Optimism 委托了 Wintermute 来为 OP 在二级市场上提供流动性服务,同时将向 Wintermute 提供 2000 万枚 OP 代币。为了接收这笔代币,Wintermute 给了 Optimism 一个多签地址,在 Optimism 测试发送了两笔交易且 Wintermute 确认无误后,Optimism 将 2000 万 OP 转移到了该地址。在 Optimism 转完币之后,Wintermute 却发现自己没办法控制这些代币,因为他们所提供的多签地址暂时只部署在了以太坊主网上,尚未向 Optimism 网络部署。Wintermute 立即启动了补救操作,但已有攻击者察觉到了这一漏洞,并抢在 Wintermute 之前将多签部署到了 Optimism 网络的该地址之上,成功控制了这 2000 万代币。那么问题来了,为什么会出现这种漏洞?

英特尔承诺投入200亿美元 建造至少两家半导体制造厂:1月21日消息,英特尔承诺投入200亿美元,在俄亥俄州新奥尔巴尼哥伦布郊区建设一个大型制造基地。英特尔将在这里建造至少两家半导体制造厂,将在这里雇佣至少3000人,工厂建设将于今年开始,预计将于2025年投入运营。 (纽约时报)[2022/1/21 9:03:40]

前置知识

首先需要确定交易签名是否符合 [EIP155] 标准,符合 [EIP155] 标准的签名会对 9 个 RLP 编码元素 (nonce, gasprice, gas, to, value, data, chainid, 0, 0) 进行哈希,其中包含了 chainid,因此符合 [EIP155] 标准的签名 v 值就为 {0,1} + chainid * 2 + 35。而对不符合 [EIP155] 标准的签名,其只对 6 个元素进行哈希 (nonce, gasprice, gas, to, value, data),因此签名后 v 值为 {0,1} + 27。而不同的链会定义有不同的 chainid,不同的 chainid 会得到不同的 v 值。根据 ECDSA 我们知道在 v 值不同的情况下,就算 r 与 s 值相同,签名所还原出的公钥也是不同的。因此对于符合 [EIP155] 标准的交易是无法在其他链上成功进行重放的。

加密货币以太坊突破2200美元/枚,刷新日高:火币全球站数据显示,ETH短线上涨,突破2200美元关口,现报2200.89美元,日内涨幅达到3.74%,行情波动较大,请做好风险控制。[2021/4/13 20:14:40]

值得一提的是在以太坊伦敦升级时实施的 [EIP2718] 引入了新的交易格式 0x02 || RLP([chain_id, nonce, max_priority_fee_per_gas, max_fee_per_gas, gas_limit, destination, amount, data, access_list, signature_y_parity, signature_r, signature_s]),chainid 是单独编码的,而不包含在签名 v 值中了,签名 v 值只是作为一个简单的奇偶校验位,因此当前交易签名得到的 v 值变为 0 或 1。

2000枚BTC从Bitstamp交易所转入Coinbase交易所,价值3085.6万美元:据Whale Alert数据显示,北京时间11月09日17:29,2000枚BTC从Bitstamp交易所转入Coinbase交易所,按当前价格计算,价值约3085.6万美元,交易哈希为:fd259c05c031174ad7b84ecf13c2e149a58bf6951a4cddf51934838294b5fb92。[2020/11/9 12:06:11]

交易重放

在我们了解完以上交易签名构造后我们就可以很清晰的知道签名 v 值为 27 或 28 是可以在不同链上被重放的。那么该如何在不同链上进行重放呢?这与我们发送交易并无不同,只需要将原始交易内容再其他链上进行发送即可。

行情 | CME比特币期货收于8200美元之上:CME比特币期货BTC 6月合约收涨445美元,涨约5.72%,报8225美元;CME比特币期货BTC 7月合约收涨至8230美元。5月15日纽约尾盘,CBOE比特币期货XBT 6月合约上涨3.8%,报8161.41美元。[2019/5/16]

以 Wintermute 2000 万个 OP 代币被窃取事件为例,攻击者在此次事件中重放了 Gnosis Safe 部署 Factory 合约的交易。我们在这里尝试重放 Gnosis Safe Deployer 3 的 nonce 为 3 的交易。

一种较为简单的方法是先通过 Etherscan 获取原始交易:

然后直接通过 Optimistic 的 eth_sendRawTransaction [RPC]

(https://eth.wiki/json-rpc/API) 接口进行发送即可。

若无法直接获取到原始交易内容,我们可以先通过 eth_getTransactionByHash

[RPC](https://eth.wiki/json-rpc/API) 接口获取交易内容。

再对交易内容进行 RLP 编码后得到原始交易内容:

然后再通过 Optimistic 的 eth_sendRawTransaction [RPC]

慢雾科技

个人专栏

阅读更多

金色早8点

Bress

PANews

链捕手

财经法学

成都链安

Odaily星球日报

区块律动BlockBeats

标签:IMITIMIPTIMISJimizzOptimism DogeCryptiaMISA

聚币热门资讯
韩国All IN元宇宙

截至目前,韩国政府已经出台了一系列有关新技术的倾斜政策,而5G和XR是这些政策中的核心。随着元宇宙概念的深入人心,韩国政府不断调整他们的施政方向.

1900/1/1 0:00:00
晚间必读 | Web3 的“七层深渊” 暗处有什么?

本文介绍5款工具,让你可以轻松无代码为你的NFT智能合约创建铸造UI。点击阅读随着上周Solana和Nomad黑客事件的发生,对安全、可扩展的区块链需求越来越显著.

1900/1/1 0:00:00
金色观察 | NFT热潮持续升级 CryptoPunks交易量周内飙升1270%

2021年可以称得上是NFT发展的元年,NFT的加密艺术正在成为主流。从收藏品到二级市场,NFT行业的头部参与者销售额不断突破。其中,CryptoPunks称得上是最受欢迎的NFT收藏品平台之一.

1900/1/1 0:00:00
白话解析 RSA 加密算法的数学原理

前不久 Jason 同学邀请复旦大学数学系的梅同学给希望了解 Web3 的朋友们上了 5 节硬核的数学课。从自然数开始,一直讲明白了 RSA 非对称式加密的细节。我再回顾一下,尝试解释这个其实还挺复杂的事儿.

1900/1/1 0:00:00
以太坊“伦敦”升级 你是否已准备好

以太坊网络的第十一次硬分叉“伦敦”升级将于区块高度 12,965,000 处激活 (据估算将于北京时间2021年8月5日晚进行).

1900/1/1 0:00:00
币圈投资常见的 9 个陷阱 该如何避免?

对一项投资过于自信会毁掉你的投资组合。铁子们,我在下面列出了在加密货币领域投资时需要注意的 9 个最常见的陷阱。付费才能进的 Discord 并不是真正的阿尔法来源.

1900/1/1 0:00:00