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 添加重放保护的一方,是处于劣势的

转载于:https://www.cnblogs.com/x-poior/p/10135674.html

BCH/BCHABC/BCHSV分叉后重放机制小结相关推荐

  1. 硬分叉后,BCH的钱包解决方案

    上周BCH进行了硬分叉,分叉成了两条链:BCH和BCHSV,对于分叉后的BCH如何进行交易呢?钱包是否有相关的危险因素? 由于分叉后的两条链没做重放保护,可能导致一条链上发起的交易,在另一条链上做重放 ...

  2. MySQL redo log 重做日志 原理 Oracle Redo Log 机制 小结

    MySQL-重做日志 redo log -原理 [redo log buffer][redo log file]-原理 目录: 1.重做日志写入过程图 2.相关知识点汇总图 3.redo_log_bu ...

  3. ListView缓存机制小结

    文章目录 ListView缓存机制小结 前言 概述 layout过程 第一次Layout 第二次Layout 滑动事件 参考资料 ListView缓存机制小结 前言 由于本人水平有限,如果文章中出现一 ...

  4. Hudson Jameson将在柏林硬分叉后卸任以太坊基金会社区经理

    帮助协调推动以太坊核心开发者会议(AllCoreDevs,ACD)的以太坊基金会社区经理Hudson Jameson发推称,决定将在柏林硬分叉后卸任该职位,之后以太坊开发者Tim Beiko将接任.H ...

  5. java时间戳防重放_API防重放机制

    说说API的防重放机制 我们在设计接口的时候,最怕一个接口被用户截取用于重放攻击.重放攻击是什么呢?就是把你的请求原封不动地再发送一次,两次...n次,一般正常的请求都会通过验证进入到正常逻辑中,如果 ...

  6. 回应关于《BCH五月硬分叉是伪需求》的疑问

    其实之前那篇文章的重点在于探讨增加OP_RETURN 字段长度并添加相关脚本命令的意义,在下的观点是完全没有意义.不过评论区来的大多数BCH粉丝们似乎并不能理解什么是脚本命令,只会一遍一遍地喊口号.因 ...

  7. BCH的硬分叉升级,谱写其在币圈稳扎稳打的成功逆袭史

    BCH自诞生以来,相对于其他币种,说它是含着金钥匙长大的货币一点也不为过.在众多币种之间,BCH是如此幸运且出彩.在短短时间内,它的番位之争发生了令人惊叹但不惊讶的变化.我们不得不承认,BCH的脱颖而 ...

  8. 屏幕刷新机制小结(九)

    Android刷新机制 SurfaceView理解 一.Android屏幕刷新机制 首先需要了解一些基本概念 在一个显示系统里,一般包括CPU.GPU.Display三部分,CPU负责计算数据,把计算 ...

  9. java反射的编译过程_Java反射机制小结和实际操作

    一.什么是反射 1.编译和运行 在了解什么是Java反射机制前,先聊聊Java的编译和运行. 还记得第一次使用记事本编写第一个Java程序的场景吗?通过命令窗口,使用javac命令编译一个.java文 ...

  10. android 混淆后的机制,Android 代码混淆机制

    Android 代码混淆机制 由于Android项目是基于java语言的,而java属于高层抽象语言,易于反编译,其编译后的程序包包含了大量的源代码变量.函数名.数据结构等信息,根据其编译打包后的AP ...

最新文章

  1. laravel mysql sum查询并排行_必看!PHP常见面试题——MySQL篇(二)
  2. 互联网协议 — LISP 位置/身份分离协议
  3. java 二分查找_计算机入门必备算法——二分查找法
  4. Python vaptcha手势人机验证码识别
  5. 七大排序的个人总结(一)
  6. 四种形态图解_涨停板战法的四种形态(图解)
  7. 无心剑中译丁尼生《乞丐少女》
  8. Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.9
  9. C#与Matlab混合编程中遇到的“MathWorks.MATLAB.NET.Arrays.MWNumericArray”的类型初始值设定项引发异常。
  10. UML-类图-关键字如何使用?
  11. 【机器学习系列】隐马尔科夫模型第一讲:通俗易懂概述HMM
  12. 固定日历 jeDate 日期控件 选择时间,没有相应的回调事件
  13. Python 代码库之Tuple如何append添加元素
  14. DCM 与CCM模式
  15. MyExcel--Excel操作新方式
  16. 2021-05-29 DOM元素的属性和操作:节点非内置属性,节点增删改查,cssDOM设置行内样式与非行内样式等
  17. 批发/零售商家如何合理控制库存?做好优化库存结构
  18. Linux中opengl库叫什么名字,Linux下的OpenGL——Mesa和GLX简介
  19. 应用ceph对象存储(ceph-13.2.10)
  20. mac 备份文件 太大 时间机器_如何在Mac OS X中设置时间机器备份 | MOS86

热门文章

  1. 点歌机终端服务器停止服务怎么办,点歌机常见问题解析
  2. QCC3040 BLE bonding相关配置
  3. 51单片机对直流电机的控制(使用proteus仿真)
  4. 未明学院:通往管理层的“特快列车”管培生项目如何甄别?
  5. 电脑显示windows无服务器,win10电脑提示windows似乎未正确加载_网站服务器运行维护...
  6. 五镜头无人机倾斜摄影POS编辑小程序
  7. 表格如何把边框线条加粗
  8. 如何设置代理服务器?
  9. Rs.recordcount=-1的解决办法
  10. SpringCloud之熔断器Hystrix(二)