上周BCH进行了硬分叉,分叉成了两条链:BCH和BCHSV,对于分叉后的BCH如何进行交易呢?钱包是否有相关的危险因素?

  由于分叉后的两条链没做重放保护,可能导致一条链上发起的交易,在另一条链上做重放攻击,造成相关对象的财产损失(依实际攻击场景而定)。

  在无重放保护的情况下,分离这两种链上资产的方法,目前社区的解决方法主要有如下两个:

  1.input污染法

  原理是引入了一笔非法交易的输出作为输入,那么这笔非法交易的输入将会使得这笔交易也会变为非法。 例如: 一笔交易广播到了 BCHSV 链中,引用了非法交易(在 BCH 合法,在 BCHSV 非法)的 UTXO 作为输入,那么这笔交易相当于被污染了,不会被 BCHSV 链承认,那么这笔交易就被重放免疫了;对应的,一笔交易广播到了 BCH 链中,引用了非法交易(在 BCHSV 合法,在 BCH 非法)的 UTXO 作为输入,那么这笔交易相当于被污染了,不会被 BCH 链承认,那么这笔交易就被重放免疫了。

  2. 构造特有操作码交易

  两条链的共识是有差别的,如果出构造一个本链合法,对方链上不合法的交易也可以进行分离,本次分叉双方的共识差别也体现在操作码上,可以在 BCH 链中,构造含有 OP_CHECKDATASIG 的输出,那么该笔交易在 BCH 上是合法的,但在 BCHSV 上是不合法的;同理在 BCHSV 链中,构造含有 OP_MUL 的输出,那么该笔交易在 BCHSV 上是合法的,但在 BCH 上是不合法的。结合社区的方式及交易所相关工程实践经验,我们推荐使用第 1 种 input 污染法,但这需要有分叉后的 BCH 或 BCHSV 的 coinbase 交易(创币交易) UTXO 作为污染源,从这个 coinbase 交易中可以划分大量的小额 output,在用户提现时,可以将这些小额的 output 作为新交易的 input 之一来构建提现交易,从而较方便地完成分离。

  另外,从工程实践上,我们也建议充提币的确认数可以适当提高,虽然目前来看两条分叉链未发生明显的攻击情况。

  对于普通用户来说,等着先,不着急。

  作者:慢雾安全团队

  千氪链接:https://www.kg.com/article/513691712565153792

硬分叉后,BCH的钱包解决方案的更多相关文章

  1. 在BCH硬分叉后防止重放攻击-1

    导致新加密货币的硬分叉为加密交换运营商带来了独特的机遇和挑战.Poloniex在最近的Bitcoin Cash硬叉之后面临的一个挑战是保护我们的客户免受重播攻击.由于SV链后面的开发团队选择在分叉后近 ...

  2. 在BCH硬分叉后防止重放攻击-2

    重放攻击原理和防范措施——如何安全分离BCH的分来源:巴比特018-11-18 16:49:37 热度 12390 第0章 引言 即将面临的比特币分裂,如何保证你的币在分裂后肯定留下两种币?一个重点要 ...

  3. BCH硬分叉,BitcoinABC强势逆袭BitcoinSV

        最近币圈讨论最多的就是BCH的硬分叉,今天凌晨BCH硬分叉在众多币圈大佬关注下落下帷幕,此次分叉大站BitcoinABC强势完胜BitcoinSV.吴忌寒在推特上表示:祝贺!在这个新的区块之后 ...

  4. BCH/BCHABC/BCHSV分叉后重放机制小结

    1. 不过,在谈重放保护之前,我们需要先了解一下重放攻击(又称重播攻击.回放攻击).实际上,重放攻击在互联网行业里就有过出现,也是计算机世界黑客最常用的攻击方式之一,它是指攻击者发送一个目的主机已接收 ...

  5. BCH硬分叉在即,Bitcoin ABC和NChain两大阵营PK

    混迹币圈,我们都知道,BTC分叉有了BCH,而近期BCH也将面临分叉,这次分叉将是Bitcoin ABC和NChain两大阵营的较量,最后谁能成为主导,我们拭目以待. 比特币现金(BCH)的价格自上周 ...

  6. what??|诞生才一年的BCH竟面临硬分叉的抉择

    BCH才刚过一周岁生日一个星期,BCH社区的主力之一Bitcoin ABC(BCH全网接近三分之二节点运行的软件系统由Bitcoin ABC开发)就搅动了社区的涟漪.8月8号,Bitcoin ABC公 ...

  7. pre-fork 分叉 软分叉 硬分叉 前叉实现 pre-fork implementation

    https://mp.weixin.qq.com/s/wIDTs2J1ZkLkAEHqQnkYnw 什么是分叉?为何对区块链发展至关重要? Uselink公有链 Uselink公有链 2018-12- ...

  8. 转 Oracle监听器启动出错:本地计算机上的OracleOraDb11g_home1TNSListener服务启动后又停止了解决方案

    今早刚上班.客户打电话过来说系统访问不了,输入用户名.用户号不能加载出来!听到这个问题,第一时间想到的是不是服务器重新启动了,Oracle数据库的相关服务没有启动的原因.查看服务的时候,发现相关的服务 ...

  9. g++编译后中文显示乱码解决方案(c++)

    g++编译后中文显示乱码解决方案   环境:Windows 10 专业版 GCC版本:5.3.0 测试代码: 1 #include <iostream> 2 using namespace ...

随机推荐

  1. Eclipse 最常用的 10 组快捷键,个个牛逼!

    虽然栈长我现在不怎么用 Eclipse 了,但 Eclipse 的快捷键还是忘不了的,可以说 Eclipse 的快捷键很方便,恰到好处. 今天,我大概整理了 10 组 Eclipse 我觉得比较常用的 ...

  2. 利用反编译学习Android

    自从2014年底到2015年中,全民创业的热潮就已经席卷全国了,一大批新的创业公司在北上广萌芽,也造成了大量的开发人员需求.扯远了,今天不谈创业潮,聊聊如何通过反编译学习Android.本文只是个人对 ...

  3. Linux中ping不通外网

    在linux中ping www.baidu.com 无法ping通 需要修改vi /etc/resolv.conf 增加如下内容: nameserver 114.114.114.114 nameser ...

  4. MAC - 命令行中用sublime打开指定文件,使用ln命令建立软链接

    眼下sublime是mac下最好的文本编辑软件.常常要使用它打开一些文件,比如html,js,txt,json等文件,可是sublime2默认不支持在命令行下调用.经过研究发现能够用建立软连接的方式调 ...

  5. 微信小程序 - 非Form数据怎么发送到后端?

    通过设置异步缓存,就可以做到 wx.setStorageSync('imgs',imglist); 最后的提交信息:

  6. Linux的经常使用命令(2) - 关机

    关机命令 shutdown‑h now 马上进行关机 shutdown‑r now 如今又一次启动计算机 -t sec : -t后面加秒数,即"过几秒后关机" -k      : ...

  7. java查看工具jinfo-windows

    Generates configuration information. This command is experimental and unsupported. Synopsis jinfo [  ...

  8. Linux测网速

    $ wget https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py$ chmod a+rx speedtest_cli. ...

  9. 入门--JTBC系统学习(1)

    下载代码 JTBC有还例如以下几类 JDK(1.6)+JSP(2.0)+MYSQL/SQLITE ASP.NET(2.0)+ACCESS/SQL SERVER PHP+MYSQL ASP(3.0)+A ...

  10. 使用JDK中的类URL访问HDFS(来自吴超Hadoop)

    package hdfs; import java.io.InputStream; import java.net.URL; import org.apache.hadoop.fs.FsUrlStre ...