凡心所向,素履所往

BCH分叉-重放攻击解决方案

字数统计: 420阅读时长: 1 min
2018/07/23 Share

BCH分叉 重放攻击解决方案

BCH在进行硬分叉:分为BCH和BCHSV

对于分叉前拥有BCH的用户,在分叉后该钱包中会拥有BCH/BSV两种虚拟货币,若是分叉前钱包里有BCH,在硬分叉完成后,这个钱包里也会生成相应的BSV

目的:分离同一地址中 共同存在的BCH和BSV 来防重放攻击
针对转账业务

限制条件:该用户账户拥有BCH的同时也拥有BSV
利用原理:在用户原意在分叉后转帐 BCH 时,该消息被攻击者广播在BSV链上,导致用户的BSV资产也被转移,受到重放攻击。

INPUT污染法分离:

INPUT污染法的原理:
就是用分叉后的BCH混入分叉前的BCH,从而达到分离BCH与BSV的目的。
具体操作如下:
   在分叉完成后,用分叉后的BCH币充值到分叉前的BCH币所在的钱包,然后将这个钱包里所有的BCH币(分叉前的BCH和分叉后的BCH)转移到另
一个地址。此次交易在BCH链可以成功完成,但是在BSV链上广播时却不能被节点接受,因为这笔交易离存在着分叉后的BCH币。这样子,BSV还是存
在于原本的钱包中,达到了将BCH和BSV分离的目的。

构造特有的操作码交易:

分叉后的BCH和BSV链的共识机制有一定的区别,主要体现在操作码上,

BCH链上交易时,构造含有 OP_CHECKDATASIG 操作码的输出

BCHSV链上交易时,构造含有 OP_MUL 操作码的输出

CATALOG
  1. 1. BCH分叉 重放攻击解决方案
    1. 1.0.1. 目的:分离同一地址中 共同存在的BCH和BSV 来防重放攻击
    2. 1.0.2. 针对转账业务
    3. 1.0.3. INPUT污染法分离:
  2. 1.1. 构造特有的操作码交易: