Cobo Wallet
Cobo Custody
arrow
Cobo Vault
Company
arrow
menu

BCH分叉后怎么办?Cobo钱包率先做了「重放保护」

我们的工程师小哥哥又做了一件特别牛逼的事:在业内率先对BCHABC和BCHSV进行了「重放保护」。
课堂 • November 22, 2018

我们的工程师小哥哥又做了一件特别牛逼的事:在业内率先对BCHABC和BCHSV进行了「重放保护」。

这要先从最近很火的BCH硬分叉说起:11月16日凌晨2:16分,BCH在第556767个块高度发生硬分叉,分成了BCHABC和BCHSV两个阵营。由于分叉后的两条链都没做「重放保护」,可能导致一条链上发起的交易,在另一条链上做「重放攻击」,造成相关对象的财产损失。

这里简单跟大家介绍一下「重放攻击」。重放攻击起源于2016年7月20日的以太坊硬分叉:当时以太坊在第192万个区块高度发生硬分叉后产生了两条链,分别称为ETH chain和ETH Classic chain,代币分别称为ETH和ETC。

此次硬分叉后,BCHABC和BCHSV两条链都继承了原有BCH链上的所有协议,因此你在其中一条链上发起的交易,放到另一条链上去重新广播,也有可能被承认有效,从而进行相同的交易操作。

攻击者一旦利用这个漏洞,不断在交易所进行充提BCHSV操作, 就能获取额外的BCHABC。

BCH分叉后,我们的工程师小哥哥第一时间对存储在Cobo钱包的BCH分叉资产进行了重放保护,我特地向他们请教了一下技术原理:

BCHABC和BCHSV两条链的共识是有差别的,这种差别也体现在操作码上,因此第一步在BCHABC链中,构造含有OP_CHECKDATASIG 的输出,那么该笔交易在BCH ABC上是合法的,但在BCHSV 链上是不合法的;同理在BCHSV 链中,构造含有 OP_MUL 的输出,那么该笔交易在BCHSV 上是合法的,但在BCHABC上是不合法的。

基于这个特殊的处理,对其它所有BCHABC和BCHSV的交易都可以进行防重放保护。

听起来很复杂,对于普通用户来说,最重要的意义是,如果把未受重放保护的任一BCH分叉币存入Cobo,可以同时获得BCHABC和BCHSV两个币的余额。

而当他们在Cobo进行BCHABC和BCHSV转账操作的时候,也不必担心因重放攻击带来的资产损失。

Promoted articles

Use Cobo Wallet to Get $ONE

August 20, 2019

Cobo v4.3 Adding Crypto Index Funds

August 09, 2019

Cryptocurrency Index Funds

August 08, 2019