如前述文章所讨论,区块链通过分布式的节点网络,协作验证事务和存储信息。本质上,区块链上的信息不可更改,也就是说,一旦数据经过验证并添加到链中,任何人都不能更改或删除它。尽管如此,开发人员有时不得不对区块链的代码进行更改,要么是为了升级,要么是为了修复某些问题。这个复杂的过程,便是区块链分叉。它对区块链而言究竟意味着什么呢?
区块链百科No.51:区块链分叉
分叉,并不是区块链的专有名词。
在软件工程中,当开发人员从一个软件包中获得一份源代码副本,并基于此开始独立开发,从而创建另一个软件程序时,就会出现一个独立的项目分支。
区块链分叉就像是应用程序的升级更新。
汇丰银行加入迪拜经济的阿联酋KYC区块链平台:迪拜经济和汇丰加强了阿联酋KYC(Know Your Customer)区块链联盟,汇丰成为该平台上线的第四个创始成员。阿联酋KYC区块链平台是一个国家生态系统,用于在许可机构和金融机构之间交换经过验证的“了解您的客户”数据。该计划于2020 年2月由迪拜经济与创始成员银行合作推出。该平台包括阿联酋伊斯兰银行、阿联酋国民银行、迪拜商业银行、阿布扎比商业银行、汇丰银行、RAKBANK和 Mashreq银行以及迪拜经济和DIFC等成员。(GulfNews)[2021/6/27 0:09:38]
对于中心化的系统,其升级比较简单,可分为:服务器升级和终端升级。对于服务器升级来说,只要在后台部署好,即可一键升级;对于终端升级来说,可以选择在软件库或应用商店直接升级。并且,终端版本的不一致并不会影响客户使用其服务。
动态 | 日本房地产公司将使用BTC和NEM区块链进行合同结算:据bitcoinexchangeguide消息,东京证交所上市的日本房地产公司Ruden Holding表示,它将使用BTC和NEM区块链进行合同结算,因为与之前使用的框架相比,它们的效果更好。Ruden Holding公司已与澳大利亚区块链公司Blockchain Global合作,推出一个“虚拟注册数据查询账簿”,该账簿也称为“虚拟区块链结算平台”。[2018/10/8]
对于区块链这种去中心化的系统,其升级比较复杂。由于其没有中心机构,没有中心服务器,每次“代码升级”都需要获得网络参与者的一致认可,如果大家无法达成一致,区块链就会形成分叉,即终端版本不一致。这里需要注意的是:终端版本的不一致,可能会影响客户使用其服务。
声音 | 国务院发展研究中心马源:区块链等技术使政府管理理念发生改变:据紫光阁消息,国务院发展研究中心企业研究所副研究员马源今日撰文表示,近年来,互联网、移动互联网、云计算、大数据、人工智能、区块链等网络信息技术接力涌现、相互叠加、迅猛发展,政府管理理念和社会治理模式正在发生深刻变化。加快政务信息化建设,重点推进各地各部门在协同联动、流程再造、系统整合等方面深化改革,是当前深化“放管服”改革、引领政务服务创新的关键环节。[2018/7/24]
简单来说,分叉会在以下情况下发生:
任何时候,两个“矿工”(记账权争夺者)几乎同时发现一个区块。
开发人员,试图改变决定交易是否有效的规则。
动态 | 世界经济论坛发布技术先锋榜单,包括6个区块链相关项目:世界经济论坛近日宣布了本年度技术先锋榜单,其中包括6个区块链或数字货币相关的项目,占61个项目总数的10%。这些项目包括BitPesa、Everledger、Horizon State、Melonport、Plataforma Verde以及Grid Singularity。[2018/7/5]
当然,并不是所有的分叉都会成功。不同矿工在大致相同的时间生产一个区块是很常见的,这就在区块链中创建了一个明显的分叉,如下图所示。但当新的替代块是由一个不可靠的矿工生成时,系统会一致认为这个块是无效的,并且这个“孤立块”很快就会被其他矿工抛弃。只有在新的协议得到部分人的一致认可时,这条分叉链才算真正形成。
本质上,区块链分叉是对协议的更改。因为区块链是建立在共同规则之上的,所以改进它们的最简单的方法,似乎就是引入新的规则或改变现有的规则。长期以来,这种机制被认为是危险的,或者至少是破坏性的,但对于升级区块链来说,它也是一种更直观的机制。
这就像我们走在一条路上,到达一个交叉路口,面前是两条分岔路。我们可以选择其中一条路,这并不会影响此前的旅程。由于两条分岔路的不同性质,不同选择将把我们带向不同的终点。
尽管有相似的名称,但根据新旧版本是否可以交互,区块链分叉可分为两种类型:硬分叉和软分叉。
硬分叉
硬分叉是引入一套全新规则,它与旧的网络协议互不兼容。换句话说,硬分叉是一种向后不兼容的升级。所有网络参与者都必须升级到最新版本,遵循新的一致规则,以便继续验证和验证新的事务块。当然,在硬分叉的情况下,如果仍有人对旧版本持续支持,那么两个区块链可以同时存在:一个使用旧规则,另一个使用新规则。
硬分叉即可以是有计划的硬分叉:这通常是指在硬分叉出现之前,项目开发人员和社区已经达成了高度的共识,事先已经有明确的升级协议。例如Monero公司在2017年1月推出的“硬分叉”,它增加了一项新的隐私特性,即环机密交易(Ring Confidential Transactions, RingCT)。
它也可以是有争议的硬分叉:当项目中各参与方(包括:项目开发人员、网络用户和节点)之间存在严重分歧时,就会出现这种类型的硬分叉。著名例子是比特币现金硬叉,2017比特币被分成两个独立的链——最初的比特币(BTC)和新的比特币现金(BCH)。这是因为社区的部分人认为,将比特币的区块大小从1MB增加到8MB将使网络上的交易处理速度更快。
软分叉
通常来讲,软分叉是一种向后兼容的升级。这意味着软分叉不需要网络上的节点升级来维护一致性,它一般只是添加一个与旧规则不冲突的新规则。因此软分叉区块链上的所有块都遵循旧的一致性规则集以及新的一致性规则集。
例如,块大小(每个块中保存的数据量)变化可以通过软分叉来实现。如果你只想接受小于一定大小的块,那么只需要拒绝较大的块即可。
但实际上,符合旧规则集节点产生的块将会违反新规则集,因此很可能会随着新节点的增多而变得陈旧。这是因为,要让“软叉”发挥作用,大家会承认并执行一套新的共识规则。如果达到了这一比例,那么旧的区块链就会被淘汰,而新的区块链就会被认可为“真正的”区块链。
可以看出,无论是硬分叉还是软分叉,其持久性取决于规则变化的性质以及与资源的相对分配。但分叉自身所带来的创新突破,将助力于区块链技术的发展。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。