LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > 直击 BCH 硬分叉:采用「钱包分离法」彻底根除重放攻击风险

直击 BCH 硬分叉:采用「钱包分离法」彻底根除重放攻击风险

2020-04-14 PeckShield 来源:链闻

北京时间 10 月 16 日,自 02:16 块高度 556767 起,以比特大陆和蚂蚁矿池为首的 BCH ABC 阵营(代表人物吴忌寒)和以 CoinGeek 及 nChain 为首的 BCH SV 阵营 (代表人物 Craig Steve Wright,即澳本聪)正式宣告分家,分叉为 BCH ABC 和 BCH SV 两条独立的公链。

这场被业界广泛关注的 BCH 分叉算力之战,并没有出现一开始假想的 51% 算力攻击,双方在算力、出块速度上你追我赶,各自独立运行,暂时 ABC 链保持领先,SV 紧追其后。表面上看似波澜不惊,实则却暗流涌动。由于 BCH 分叉为 ABC 和 SV 后,两条新分叉后的支链,地址、私钥、签名规则、交易格式都相同,因此存在被重放攻击的风险。

何为重放攻击,简而言之是指,A 在 ABC 公链上向 B 发出了一个交易请求(把 ABC 转给 B ),B 可以在 SV 链上重放 A 发出的请求(索取与 ABC 等量的 SV),结果是,A 只向 B 发出了一次交易请求(转出 ABC ),B 却可以同时获得属于 A 的两份资产(ABC+SV),这样以来,B (攻击者)就非法侵占了 A 原本预期转账之外的额外资产,造成 A 在数字资产上的损失。

在此前区块链历史上的多次硬分叉,都存在因缺乏重放保护功能而出现的重放攻击事件,此次 BCH 硬分叉后,外网也已经报道出现了重放攻击个例。

据区块链安全公司 PeckShield 态势感知平台数据显示:11 月 16 日,即 BCH 硬分叉后的当天,BCH ABC 和 BCH SV 两条链上存在 341,068 笔重放交易;11 月 18 日,在受到不明巨量粉尘攻击的影响下,BCH ABC 和 BCH SV 两条链上的重放交易数高达 1,409,055 次,达到了百万级。图一为 BCH ABC 和 SV 链上硬分叉后,每小时被重放的交易次数。

然而,在如此巨量重放交易存在的情况下,ABC 和 SV 公链并没有出台全链层面的重放保护功能,来保障用户资产不受重放攻击的威胁。且各大交易所开始逐渐恢复 BCH 交易和存取币,而任何交易行为都存在潜在被重放攻击的可能。

当务之急,在重放保护功能出台前,交易所和一般用户该如何保障自身的数字资产不受侵害呢?

图一:BCH ABC 和 SV 链上硬分叉后每小时被重放的交易次数

PeckShield 安全人员经过周密分析并实测认为:可采用「钱包分离法」来解除风险,也就是用户应该将 ABC 和 SV 资产分离到不同钱包地址,具体操作有以下三种:

无掺加地址分离:在 ABC 和 SV 链上分别生成一个不同的地址,然后把原 BCH 地址中 ABC 和 SV 币分别转到这两个地址中。这两个交易确认成功后,新地址中的数字资产就不会再遭受重放攻击。据了解,有些 SV 节点在把 SV 的交易重放到 ABC 链上,所以我们建议先发起 ABC 链的交易,确认后再发起 SV 链交易。掺加 Input 疫苗:在发起一个 ABC/SV 交易时,在 input 中加入一个只存在于 ABC/SV 链的小额 UTXO,使得这个交易在另一个链上是非法交易,无法重放。这个小额的 UTXO 可以由第三方服务商生成转发给用户,也可以自己产生。掺加特殊 OP Code:ABC 链和 SV 链都有独有的 OP code,所以可以把它们加入交易中,达到 类似于第二种方法的效果。在 ABC 链的交易中可以加入 OP_CHECKDATASIG,SV 链可以加 OP_MUL。

PeckShield 认为只要彻底做到钱包分离,且分离过程不受干扰,就可以确保资产不再受重放攻击困扰。当然,为了强化各个处理方法的高效、牢靠,可以组合叠加使用。PeckShield 建议一般 BCH 持有者可以采用简单容易操作的第二种方法。对于交易所而言,因存在更大规模的交易量和复杂地址,可以叠加使用第一种+第二种或第一种+第三种方法来确保安全。PeckShield 也已和各大交易所建立联系,并尝试用各类有效方法,帮助用户解除存在的重放攻击风险。

—-

编译者/作者:PeckShield

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...