区块链的分叉可以被看作是一种版本升级方式,就像我们平常使用的软件一样,使用了一段时间需要进行优化升级,以解决一些问题。但区块链的升级比较特别,升级时由参与的矿工共同来决定,甚至会产生多种版本,而且不像互联网一样只有一种选择。
实际上,当区块链升级时,会从一个数据块开始,连到两个不同的数据块上,从而分成两条链,就像树枝一样,大家共用同一个树干,但分成多条链。这个过程被称为分叉。
当矿工们达成共识时,分叉出来的两条链相当于老的版本和新的版本,两者兼容。旧链上的矿工升级后,逐渐向新链过渡,最终大家升级完成,只剩新链,这被称为软分叉。实际上,软分叉属于短暂现象,只是系统内升级过程中的一部分,不会分叉出新的区块链。区块链系统升级后,即使一部分节点没有及时升级,它仍旧可用。比特币软分叉后不会像硬分叉一样产生两条链,仍旧保持在一条链上。软分叉只进行一些升级,但不会影响整个系统的稳定和有效性。旧节点会兼容新节点,而新节点不兼容旧节点,二者依然可以在一条链上共存。
当矿工们不能达成共识时,大家虽然共用之前的数据,但会形成两条新的链,这就相当于物种进化一样,一部分进化成了人类,另一部分进化成了猩猩,两种物种都发生了改变,互不兼容,这被称为硬分叉。这种情况下,区块链会发生永久性分歧,未升级的节点无法验证已经升级的节点生产的区块。硬分叉会改变算法的难度级别。
实质上,分叉之所以产生,是因为区块链在发展过程中,原社区内的理念产生了不可调和的分歧。去中心化社区主张非暴力自由人联合,这意味着当遇到的新问题超出了原有的游戏规则时,分歧一旦产生就难以达成一致。这是由于区块链基因里去中心化的属性决定的。
区块链技术的发展还处于初期,分叉对于区块链来说,相当于技术迭代过程。随着人们不断发现区块链技术现有的限制,只有不断升级和扩展这项技术,才能让区块链技术走向成熟。这种分叉跟区块链不可篡改的特性正在背道而驰,但没有天生完美的技术,区块链也不例外,技术的发展如果在发生错误时都不可控,那这种技术就无法普及,人们对它的信任度也无法提升。且分叉的结果是由社区成员投票决定的。某种程度上来说,它依旧遵守着去中心化的原则。
人们对于区块链分叉的态度不尽相同。但在区块链发展的历史进程中,分叉无疑让区块链变得更有意思和有可能。合适的分叉可以给区块链带来新的可能性,发展出更多新的应用。虽然分叉比较麻烦,但它却给了每个人更多的选择权。区块链就在这样的求同存异之中逐渐成熟和发展。