比特币现金BCH重放交易,指硬分叉产生多条同源公链后,单条链上经过私钥签名确认的有效交易,原封不动被复制广播至同源分叉链并被节点打包确认,造成用户在两条链同步消耗对应资产的特殊交易行为,也是BCH分叉周期内高频出现的资产损耗风险场景。简单来讲,用户仅打算在其中一条分叉链转出BCH,最终却在另一条同源链上同等金额资产被自动划转,整笔操作由同一组签名数据驱动,无需二次私钥授权,这也是币圈投资者在BCH重大升级分叉阶段重点规避的安全隐患。

BCH重放交易的诞生根源来自同源区块链硬分叉的底层架构特性,BCH最早在2017年区块高度478558从比特币主网分叉诞生,分叉前BTC与BCH共用全套地址、私钥、UTXO数据与签名验证逻辑,早期仅通过修改区块容量规则区分两条网络,此后2018年BCH再度因开发团队路线分歧分叉为BCHABC与BSV两条主网,此次分叉双方开发团队均未落地全量重放保护机制,两条链沿用绝大多数交易校验规则,成为BCH历史上大规模爆发重放交易的关键节点。同源分叉后用户私钥可同时管控两条链上等额资产,攻击者或是网络脚本抓取用户在A链广播的已确认交易哈希、签名字段,直接向B链节点重复推送,只要B链验证规则匹配原始签名,这笔复制的交易就会被矿工收录进区块,重放交易就此落地生效。
从实际交易流程拆解,一笔完整的BCH重放交易分为三个执行阶段,首先用户使用自有私钥在某一条BCH分叉链发起转账,签名后的交易数据广播至对应链节点等待打包上链;其次恶意抓取程序或者自动广播脚本抓取全网已确认交易原始数据包,剥离区块信息后保留签名、转出地址、收款地址、转账金额核心字段;最后将处理后的交易数据包在同源分叉链重复广播,无重放防护的节点校验私钥签名无误,直接确认转账,用户两条链内对应BCH同步减少,整个过程用户没有进行第二次签名授权,资产被动流失。2018年BCH分岔前后短周期内,全网络单日出现数十万笔跨链重放交易,大量散户因未提前拆分币种,持有的ABC与BSV资产在单次转账中双双被划扣,平台也临时暂停BCH链上提币业务来缓冲风险。

区分被动自然重放与主动恶意重放是币圈实操的关键细节,被动重放多为链上节点同步数据漏洞造成,用户正常转账后,部分跨链节点自动同步交易数据触发另一条链交易确认,属于非人为操控的系统漏洞;主动恶意重放则是黑客针对性构造抓取脚本,批量搜集大额持仓地址交易数据集中重播,专门瞄准存量大额BCH持仓用户与小型交易平台,也是平台分叉期冻结资产的主要诱因。另外2017年BCH初次从BTC分叉时,开发方通过修改SIGHASH签名字段加入专属分叉标识,搭建BTC与BCH之间的双向重放壁垒,所以BTC和原生BCH之间极少出现跨币种重放交易,风险集中出现在BCH自身的内部分叉币种之间。

普通投资者规避BCH重放交易有标准化实操方案,分叉窗口期优先选择合规交易所托管持仓,平台会提前完成币种拆分隔离,由机构统一处理重放防护;自托管钱包用户则采用UTXO污染拆分法,在分叉区块过后,往原有持仓地址转入极小额度对应分叉币种,利用新UTXO改变原有交易输入结构,使原有签名无法在另一条链通过校验,从源头阻断重放条件,完成币种拆分后再自由进行链上转账操作,这也是钱包厂商在BCH分叉前普遍推送的避险教程。随着后续BCH各分支逐步完善链标识编码,新增重放保护协议,现阶段常规行情下BCH重放交易频次大幅回落,但每逢BCH重大协议升级、硬分叉提案落地,重放交易依旧是用户需要优先排查的风险项。
