BCH/BCHABC/BCHSV分叉后重放机制小结
1.
不过,在谈重放保护之前,我们需要先了解一下重放攻击(又称重播攻击、回放攻击)。实际上,重放攻击在互联网行业里就有过出现,也是计算机世界黑客最常用的攻击方式之一,它是指攻击者发送一个目的主机已接收过的数据包,来达到欺骗系统的目的。重放攻击在任何网络中都可能发生,在区块链上,重放攻击并不是指身份欺诈,而是发生在区块链硬分叉之时一种独特的现象。由于硬分叉的两条链,他们的地址和私钥生产的算法相同,交易格式也完全相同,因此导致在其中一条链上的交易在另一条链上很可能是完全合法的。所以当你在其中一条链上发起的交易,也可以到另一条链上去重新广播,并且极有可能得到确认,这就是“重放攻击”。
重放保护是指在分叉后的两条区块链之间加了一重保护,此时如果你在其中一条链上发起的交易,在另一条链上重复广播就会被判为无效。这样用户就可以放心地在两条链上分别持有资产,但同时也意味着两条链完全无关了。
事实上,卡尔文·艾雅最先表示CoinGeek希望通过启动重放保护,这样就能与Bitcoin ABC彻底分开。而且为了实现这一目标,卡尔文·艾雅甚至表示愿意放弃Bitcoin Cash的代币符号。不过Money Button首席执行官瑞安·X·查尔斯则强调自己非常反对实施重放保护,因为此举对比特币现金网络具有非常大的破坏性。此外他还指出,Bitcoin SV的关键价值主张其实就是“一个稳定的协议”,即使它和原生比特币协议有些区别,但其实是最接近比特币的分叉币,因此如果被重放保护破坏其实是得不偿失。
2.
重放保护,就是让交易只在当前链中有效,并且在其它链中无效。通常在一条链分裂成两条链时,为了让两条链的交易互不影响,需要在生成交易信息的时候,加入不同的标识或者使用不同的交易结构,这样,另一条链的矿工就会验证该交易无效,从而不打包该交易。
众所周知,算力大战的起因是,2018年11月15日,BitcoinCash从版本0.17硬分叉升级到0.18时候,出现了另外一个与0.18不兼容的版本BitcoinSV,SV并没有加重放保护,双方互不想让,于是吴比特与澳比特之间的算力战争就爆发了。
此后,BCH上的重放交易数一度超过了100万,11月18日,PeckShield态势感知平台信息显示,同时存在于ABC链SV上的重放交易数已高达1,115,114次,达到了百万级,共涉及4,583.98个BCH,其中可能包含重放攻击,安全问题堪忧。
为什么双方最初不添加重放保护的一方?
从过去的历史来看,添加重放保护的一方,是处于劣势的,因为该举动意味着放弃了另一方的所有生态。2017年8月1号BCH从BTC分叉出来时,主动添加重放保护,只能重新建立自己的相关应用,从0开始。
但是,添加重放保护,是能上交易所的基本条件。虽然不添加重放保护,交易所也可以把两种分离,但是交易所要花费很多精力和技术去做这些事。技术差的交易所,会因为账务混乱,无法支持。除非这种币有很大的用户群,否则交易所不愿意花费高成本去支持这种币。因此我们看到在火币上目前BCH和BSV都是无法充提的,原因就在于此。
02 添加重放保护的一方,是处于劣势的
BCH/BCHABC/BCHSV分叉后重放机制小结的更多相关文章
- 在BCH硬分叉后防止重放攻击-1
导致新加密货币的硬分叉为加密交换运营商带来了独特的机遇和挑战.Poloniex在最近的Bitcoin Cash硬叉之后面临的一个挑战是保护我们的客户免受重播攻击.由于SV链后面的开发团队选择在分叉后近 ...
- 硬分叉后,BCH的钱包解决方案
上周BCH进行了硬分叉,分叉成了两条链:BCH和BCHSV,对于分叉后的BCH如何进行交易呢?钱包是否有相关的危险因素? 由于分叉后的两条链没做重放保护,可能导致一条链上发起的交易,在另一条链上做重放 ...
- 说说API的防重放机制
说说API的防重放机制 我们在设计接口的时候,最怕一个接口被用户截取用于重放攻击.重放攻击是什么呢?就是把你的请求原封不动地再发送一次,两次...n次,一般正常的请求都会通过验证进入到正常逻辑中,如果 ...
- API防重放机制
说说API的防重放机制 我们在设计接口的时候,最怕一个接口被用户截取用于重放攻击.重放攻击是什么呢?就是把你的请求原封不动地再发送一次,两次...n次,一般正常的请求都会通过验证进入到正常逻辑中,如果 ...
- 说说API的重放机制
API的重放机制 我们在设计接口的时候,最怕一个接口被用户截取用于重放攻击.重放攻击是什么呢?就是把你的请求原封不动地再发送一次,两次...n次,一般正常的请求都会通过验证进入到正常逻辑中,如果这个正 ...
- 在BCH硬分叉后防止重放攻击-2
重放攻击原理和防范措施——如何安全分离BCH的分来源:巴比特018-11-18 16:49:37 热度 12390 第0章 引言 即将面临的比特币分裂,如何保证你的币在分裂后肯定留下两种币?一个重点要 ...
- BCHABC/BCHSV的矛盾所在
BCHABC: 将BCH以后发展智能合约: 消息方面: 吴忌寒:BCH分叉不可避免 未来可能继续分叉 近日,吴忌寒在北大光华管理学院的区块链培训课程上发表演讲表示,在这种言论自由地环境下,我认为分裂就 ...
- Nodejs:Node.js模块机制小结
今天读了<深入浅出Nodejs>的第二章:模块机制.现在做一个简单的小结. 序:模块机制大致从这几个部分来讲:JS模块机制的由来.CommonJS AMD CMD.Node模块机制和包和n ...
- Oracle Redo Log 机制 小结(转载)
Oracle 的Redo 机制DB的一个重要机制,理解这个机制对DBA来说也是非常重要,之前的Blog里也林林散散的写了一些,前些日子看老白日记里也有说明,所以结合老白日记里的内容,对oracle 的 ...
随机推荐
- 半精度浮点数取5bit指数位
半精度浮点是指用16bit表示一个浮点数,最高1bit为符号位,中间5bit为指数a,低10bit为尾数b Value = (符号位)(1+b/1024)*(2^(a-16)) 程序很简单,用pyin ...
- Hibernate学习笔记2.1(Hibernate基础配置)
Hibernate基础配置 1.<property name="hbm2ddl.auto">update</property> 在SessionFactor ...
- C++ 关于MFC List Control 控件的使用事项 原创
1\在开发项目时,使用到了 listcontrol 控件,就一些问题,做一下备注,以备以后使用 (1) 给list项目 删除所有的项目 DeleteAllItems(); (2) 给list项目 ...
- 维护没有源代码的遗留 Java 项目
维护没有源代码的遗留 Java 项目 Give Those Sweets Some Love --> 有时你可能不得不修改一些只有 Jar 和 .class 的 Java 项目. 要修改 Jar ...
- FMS Dev Guide学习笔记
翻译一下其中或许对游戏开发有用的一个章节 一.开发交互式的媒体应用程序 1.共享对象(Shared objects) ----关于共享对象 使用共享对象可以同步用户和存储数据.共享对象 ...
- 聚类分析K均值算法讲解
聚类分析及K均值算法讲解 吴裕雄 当今信息大爆炸时代,公司企业.教育科学.医疗卫生.社会民生等领域每天都在产生大量的结构多样的数据.产生数据的方式更是多种多样,如各类的:摄像头.传感器.报表.海量网络 ...
- yii NAV x下拉
$menuItems[] = [ 'label' => "<img src='/images/small.jpg'>", 'url' => ['/site/ ...
- JAVA语言 第七周
啊因为来学校了,没有网,昨天的总结今天来写吧. num1=In.next(); student1[number].stuNum=num1; 这个添加的代码,显示添加成功了,但是根本查询不出来,烦 ...
- Java的学习路线图
在网上看到一个关于Java的学习路线图,个人感觉很详细.https://blog.csdn.net/s1547823103/article/details/79768938
- springcloud eureka.instance
1.在springcloud中服务的 Instance ID 默认值是: ${spring.cloud.client.hostname}:${spring.application.name}:${sp ...