replay数字货币里的重放攻击,到底怎么防?
replay数字货币里的重放攻击,到底怎么防?
replay(重放)是数字货币领域一个容易被忽视的安全隐患,指把一笔已完成的交易原样再发一遍,让系统误以为是新交易。对普通用户来说,理解这个概念能避免真金白银的损失。
2016年以太坊分叉出ETC后replay数字货币,没做重放保护的钱包直接把ETH交易在ETC链上重放,很多人账户里突然多出一堆ETC。原理很简单:同一笔ECDSA签名replay数字货币里的重放攻击,到底怎么防?,在两条结构相同的链上都能通过验证,网络层根本分不清是"新交易"还是"旧交易翻出来重发"。

跨链桥是重放攻击现在的高发区。攻击者截获一笔已完成的桥接交易,在目标链上原样提交,把资产再"桥"回来一次。2021年Wormhole被黑、2022年Ronin Bridge丢6亿刀,底层逻辑都跟桥合约缺少链ID与nonce去重校验有关。
普通用户防重放其实不复杂。用MetaMask、Trust Wallet这类主流钱包,签名时会自动附带chainId字段;大额资产用硬件钱包离线签名;别点来路不明的"跨链空投"链接。开发者则要确保每笔交易绑定nonce和chainId,桥合约维护全局去重表。
重放攻击的门槛没有想象中高,它利用的是协议层"同一笔交易可重复提交"的漏洞。记住一个原则:一笔钱只能花一次。把chainId、nonce、去重表这三样搞明白,绝大多数重放风险就被挡住了。
关键词:replay数字货币