BCH:从BSV下架风波 揭秘构造区块链分叉的测试方案_区块链存证怎么弄

2018年末,BSV与BCH的算力战牵动了整个数字货币市场的目光,最终以BSV放弃与BitcoinABC争夺BCH,转而另起炉灶,并命名bitcoinSV而告一段落。

而最近“澳本聪”DrCraigSWright和其BSV再次处于风口浪尖之上,其原因是最近澳本聪再次高调宣称自己就是“中本聪”,因其所提供的“证据”漏洞百出,引发比特币闪电网络支持者、闪电火炬发起人Hodlonaut的不满和抵制。

随后冲突产生了规模升级,比特币社区、V神、赵长鹏等纷纷直接或间接的声讨澳本聪,包括币安在内的诸多交易所,开始迅速发布下架BSV的公告,一系列操作让BSV陷入众矢之的。

美国法院清除唱歌手TI关于FLiK ICO相关的指控:美国一家法院已将说唱歌手TI与其在促进FLiK代币ICO中的有关指控清除。法院裁定,这名说唱歌手没有任何证券违规行为。(Coingeek)[2020/3/5]

BSV是BCH硬分叉的产物

想理解BSV到底是什么,就要先说说什么是硬分叉。

硬分叉是指,区块链系统有其自己的共识规则,一旦区块链共识规则发生改变,并且旧规则不认同新的规则,导致新规则无法向前兼容,旧的区块不认可新的区块,导致新旧节点在不同的区块链运行。这种情况就被称为硬分叉。

动态 | 火币矿池发布关于澄清“火币矿池错误监听BCH的挖矿任务”的公告:火币矿池日前发布公告称,“我们在15日凌晨2点,使用 “侦查挖矿” 技术对其他矿池挖矿端口下发的任务进行监听时,由于BTC.TOP矿池在BCH硬分叉后,将某些端口上的BTC算力切换到BCH上进行挖矿,导致火币矿池错误监听了BCH的挖矿任务,并错误下发给火币矿池的矿工。此错误任务只持续了很短时间,之后就被 “侦查挖矿” 的相关纠错机制自动终止,但下发的BCH挖矿任务被第三方网站pool.lol捕获。”[2018/11/16]

然而,区块链分叉也有两面性,因为硬分叉一直是一种十分危险和具有争议的区块链升级技术。

动态 | 众安科技CTO披露区块链布局路线图:据央广网消息,众安科技CTO李雪峰介绍,众安科技布局通证经济,具体会分为三步走:第一步,定义开放资产协议,向企业、个人、监管提供统一标准化的接口,从而解决如何让资产在区块链上流通的问题。第二步,创建保险通证,打通共保、再保、保单质押、监管等环节,从而有效节省时间,保护数据隐私,同时助力监管。第三步,资产通证由保险行业逐步扩展到银行、借贷、农业、供应链、共享等各个领域,实现基于通证的数据开放生态。[2018/11/21]

从长远来讲,当整个区块链网络面临不可避免的巨大风险时,整个区块链网络将达成共识对系统进行升级,以躲避风险的侵害。

分析 | 据统计:海外医疗区块链项目 医疗数据占大多数:根据硅谷密探消息,通过对海外 40 余家医疗区块链项目的统计,从数量来看,医疗数据占据了 62.8%,是毫无争议的大多数;医疗保险占 9.3%,基因数据占 16.3%,其余为其他领域。除了ICO项目,另有35% 的项目获得了B轮或以上投资。当然,这也和诸如诺基亚、IBM Watson等信息处理巨头进军有关。[2018/9/14]

但在没有得到大部分区块链生态参与者的共识同意下,强行进行硬分叉,无疑将整个区块链生态拉入分裂的境地,而当生态参与者对未来发展意见不一致时,硬分叉很有可能发生。

因为在一个去中心化的系统中,达成共识并不是一件容易的事情。

如何尽可能避免区块数据不一致?

区块链作为一个状态机,则每次交易就是试图改变一次状态,而每次共识生成的区块,就是参与者对于区块中所有交易内容导致状态改变的结果进行确认。

一个基本的区块链系统,首要保证的就是全网络区块的一致性,由于区块链为去中心化系统,实际环境中网络性能、每个节点的不确定性等情况,因此区块中每个节点都需要保持同步状态才能够对自身利益最大化,同时保证区块链整体的安全。

区块链开发当中首先要保证所有节点的链始终工作在主链,或者发现处于非主链的情况下能够快速回退切换到主链中,以避免不必要的损失。

本文就介绍一种快速模拟真实环境下构造区块链分叉,然后验证区块链是否能够及时消除分叉的测试方案。

该方案的主要特点即在一台机器上就可以完成测试,同时利用自动化脚本部署可以快速搭建测试环境,构造测试中所需要的分叉,以及验证出现分叉之后区块链系统是否能够消除分叉。

请看示意图:

区块链测试方案示意图

以上述示意图为例进行说明:

图中A1、B1、C1、A2、B2、C2为部署在测试机上的docker容器;

将该六个容器分成两组,一组为A1、B1、C1,另外一组为A2、B2、C2;

两组中每个容器运行的区块链节点间都可以进行P2P通信;

其中A1、A2节点分别为挖矿节点,其余节点为普通节点;

通过控制两组容器的启动停止即可构造分叉。

通过获取所有测试节点同一区块block哈希值即可以验证是否存在分叉以及分叉是否消失。

该方案的整体节点控制流程图如下图所示,将上述A1、B1、C1、A2、B2、C2分为A、B两组,A组包括A1、B1、C1,B组包括A2、B2、C2。

其中一些步骤中需要统计当前P2P网络中的节点数目进行验证,超时时间可以自行根据实际情况进行设定。

整体节点控制流程图

结束语

分叉问题是区块链网络不得不面对的问题,一个能够保持全区块一致、交易状态准确的区块链网络,是未来一个安全、稳定的区块链的最基本需求。

希望通过以上案例流程的解析,能够帮助或启发开发者们实现出针对分叉问题更好的优化,及解决方案,让分叉有效可控、异常交易状态快速消除。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:15ms0-2:558ms