如果最近密切关注比特币,也许注意到了关于“分叉”的话题很流行。
简单说大约两周内比特币网络可能会面临一些协议的改变。由于可能的用户激活的软分叉(UASF)计划和一些团体可能会反对这个计划,因此关于8月1日的行动引起了成千上万的讨论。现在,这个以比特币为焦点的网站Bitcoin.org在网站上发布了警告,提醒用户“可能会引起网络中断”。在这里有必要向大家介绍一下比特币分叉。
与区块链不同,分叉是不同参与者在确定通用规则时发生的技术事件。
根本上说,分叉是区块链分裂成两个路径,要么是关于网络的交易历史,要么是使交易成立的新规则。
因此使用区块链的人必须二选一。
然而分叉类型很多,而关于分叉的科学研究却很新。目前我们知道一些分叉可以自行解决,但社区极度分歧引起的其他分叉会使网络永久分裂,造成两个区块链历史和两种独立的货币。
大多数人对分叉是没有明确的概念的,只是听说和想象,到底什么是分叉呢?
首先重温一下比特币的基本工作原理,前一阵在币科技上有个账簿的例子非常好,借用一下矿工挖矿就是大家抢着算一道题,谁先算出来谁就获得记账权,并在一页新的记账纸上记入第一笔交易,给自己的地址发25个币,然后把十分钟内网络上传播的其他交易都依次写到这页记账纸(区块)上,然后通过传真发给大家,大家都收到这页纸以后,用规则验证,合格后钉到每个人的账簿上(区块链)成为最新的一页
每一页记账纸必须遵循一定的规则,比如说矿工不能收入超过25个币,总共不能超过一千行等等。这些规则由各人手中的规章制度(客户端)来保证。不符合这些要求的记账纸就被扔掉了,不会被钉到账簿里去,只要大家都运行同样的客户端,有同样的规则,那么所有人手里的账簿就基本都是一样的
为什么说“基本”?因为网络上信息的传输需要被一个个节点不断转发,转发需要时间,在不同的地方就会有不同的“真相”,这就引出了分叉的概念。
分叉是分布式共识的副产物,只要两个矿工几乎同时发现区块就会发生分叉。当后续区块添加到其中一个区块,这种不确定性就会消失;使这个链最长,另一个区块则被网络“孤立”或“抛弃”。
当开发者想修改决定交易是否成立的软件规则,也可以自愿对网络进行分叉。
当一个区块包含无效交易,该区块将被网络忽略,发现这个区块的矿工就会失去区块奖励。因此通常矿工只想挖到有效区块,并加入最长的链。
以下是一些常见分叉及特征。
比特币协议不作更改时,即绝大多数时间里比特币系统运行时,所有节点追随最长链。请记住这一条规则,这是所有节点都应当遵守的规则,除非最长链在节点看来是包含了非法的区块。
常见的分叉又分为硬分叉和软分叉
硬分叉
硬分叉是软件升级,将不兼容旧软件的新规则引入网络。你可以将它看作规则的延伸(使区块大小为2MB,而不是1MB的新规则将需要硬分叉)。
分叉后,继续运行旧版软件的节点将发现新交易是无效的。因此为了切换到新链继续挖有效区块,所有网络节点必须升级为新规则。
当出现某种政治僵局,社区部分人坚持旧规则,就会出现问题。旧链的哈希率、网络算力将变得不合时宜。重要的是,旧链的数据和规则仍被看作具备价值,矿工当然希望继续挖矿,开发者也希望继续支持它。
The DAO硬分叉是展示社区规则分歧的最好分析案例。现在我们有两个不同软件的区块链——ETC和ETH,各自有不同的理念和货币。
软分叉
软分叉是指协议规则收紧。这样新规则部署后,新规则是旧规则的一个子集,未升级的节点并不会认为新规则的区块是非法的。所以简单想,软分叉不升级的节点并不会主动分裂出去,并且依然追随最长链规则。但软分叉也有可能会造成区块链分裂。只要加上追随最长链这个规则就可以想明白。
软分叉造成区块链分裂的风险主要是升级过程中支持的算力过小。只要执行软分叉的算力不占有绝对的优势,无法使用追随最长链规则孤立掉不升级的算力打包的区块,那就会分裂。
这和硬分叉造成分裂的风险是一样的。因为从原理上,硬分叉中不升级的节点就是对已经升级的节点发起的一次软分叉(规则收紧)。
避免硬分叉和软分叉造成分裂的办法也都是一样——使用更大的算力阈值才允许部署。考虑到出块幸运值的原因,至少要75%算力才可以保持安全。
而为什么会提到8月1号这个时间点?因为8月1日启动的BIP148是一种UASF(用户激活软分叉),在不需要全网大多数算力支持的情况下就可强制激活隔离验证。UASF被执行生效以后,之前的一些有效区块就会消失,这会导致比特币网络的不稳定,甚至对比特币网络造成不可预估的灾难。更重要的是,由于UASF没有达成社区共识,没有全网大多数算力的支持,BIP148被执行也会致使比特币区块链的分裂,把比特币分裂成148币和比特币,148币未来也会分裂成更多的币。
提到本次分叉就不得不提到纽约共识,纽约共识协议基于的是根链(RSK)首席科学家Sergio Demian Lerner所提出的Segwit-2MB方案。此外,希尔伯特声称已有56家公司及全网84%的算力支持了这一方案。Segwit2x工作组将负责落实比特币纽约共识代码,比特币核心开发者Jeff Garzik参与了其中,并贡献出了大部分的代码,目前方案的代码已发布在Github上可供查阅。社区在一步一步的推进纽约共识的实施。2017年5月23日,来自全球21个国家56家知名区块链初创公司共同签署了纽约共识(隔离验证+2M)。纽约共识获得了全网83.28%的算力支持,总量超过每月51亿美元交易额的各交易所以及超过2000万的比特币钱包同意执行共识方案。
而在中国2017年6月15日,国内各大交易所、矿池、矿机厂商、矿工等中国比特币圆桌论坛的代表在成都召开了比特币协议升级会议,会议达成了以下四点共识:
1、支持纽约共识SegWit2x方案;
2、6月19日开始矿工投票支持SegWit2x方案。为避免使用BIP9投票方式影响正式投票结果,在coinbase中写入“NYA”标记,代表投票支持纽约共识SegWit2x方案;
3、立即开始纽约共识SegWit2x方案btc1软件测试并加入testnet5,并在正式版本发布后尽快部署;
4、在7月31号之前激活纽约共识SegWit2x方案。
按照纽约共识的计划,7月21日,Segwit+2x版本的比特币将上线,比特币用户可以选择是否从老版本切换至新版本。7月21至7月31日之间,比特币社区将统计用户使用情况,如果到31日,超过80%以上的人持续使用新版本,比特币将正式切换至新版本Segwit+2x,但如果选择新版本人数少于80%,比特币将大概率遭遇硬分叉。
可以预见未来3-4个月内,比特币会有很多大事发生。,如果比特币区块链出现硬分叉,用户持有的比特币将会发生什么。这些想法可能会发生几个潜在的结果:该用户激活软分叉(UASF)是8月1日开始,Segwit2x其中七月中旬左右开始至10月,以及最近的比特币ABC(UAHF)可能在八月部署。
任何一个这样的计划都有可能发生的一些事情,但最大的担忧是连锁分叉的可能性。比特币硬分叉是由于在升级期间未达成共识的情况下,区块链断裂成两条链。这意味着比特币网络参与者的特定部分参与者对计划不同意,并选择忽略对方的规则或协议升级。这与以太坊网络很相似,现在又有一个叫以太经典的区块链。现在,比特币区块链可能出现硬分叉,而并不意味着较小的链能够生存。但是,每一个比特币持有者都应该知道的第一件事是,如何在硬分叉中保存自己的比特币:如果你在一个区块链的分裂过程中持有私钥,那么你将能够检索两个链的数字货币。
这并不意味着您的资金将翻倍,因为一个未获得工作证明的代币,其价值大大低于具有最多工作证明的链条代币,甚至是无价值的。随着当前网络难度的增加,一个较小的链条的生存机会将是一件困难的事情,而这个链条将需要大量的支持才能生存下去。新链或传统链确实有机会长于另一个链,并且每个链将具有一定量的哈希算力。如果有连锁分裂,价格波动和混乱的可能性很可能。
确保您的资金在比特币硬分叉期间安全的最佳方法是确保您拥有私钥,做好备份,并确保您的种子和加密短语是安全的。如果你拥有你的私钥,你不必做任何事情,但要耐心等待一切展开。
如果您将资金留在交易所或拥有您比特币钥匙的第三方,您将不得不处理他们在硬分叉期间和之后做出的决定。人们经常在了解区块链分裂的可能性时会问这个问题,应该相当明显,你必须向交易所或第三方妥协才能控制自己的资产。可能会有很多混乱和交易可能会阻止交易。交易平台也可以在这段时间内禁用存款和取款。一些最大的比特币交易或经纪服务可能会离线,你可能无法使用比特币。关键是,如果他们持有你的资金,你将不得不遵守他们的规则、指导方针和可能的不利结果。
在接下来的几个星期内,人们将有时间确保他们的备份和种子掌握在自己的手上,他们也可以将资金从交易所转移。然而,选择完全取决于用户,并且可能有许多人与第三方离开比特币。无论分裂或不分裂,掌握您比特币的保管权利将永远让您免受特定业务或操作的影响。
此外,比特币社区参与者也有机会达成共识,而且不会发生任何硬分叉。然而,为了安全起见,比特币用户还是应该做好充足的准备。
下面有几个步骤,详细说明了人们可以做什么来确保他们的比特币私钥保持安全。在接下来的几个月里,所有的东西都是备份和安全的。
比特币私钥安全保护
1、备份您的钱包,相关文件和您的钱包的加密短语。
2、确保您的钱包软件或固件是最新的。
3、确保您的密码和种子或记忆短语可用并记录下来。
4、将您的比特币持有人从交易所移到您控制的钱包,并按照步骤1—3。
vk