链圈分叉指南:分道扬镳还是小打小闹?

区块链
谈到共识,就不能不想到区块链,毕竟这是个建构在共识机制上的网络,那么根据达成共识程度的不同,区块链也会做出相应调整,比如软分叉、硬分叉......

[[241147]]

七夕刚过去不久,相信不少人还沉溺在爱情粉红色里,所以我决定泼一盆冷水,缓解下内心。谈过恋爱的都知道,情侣,聊得投机,事情再大,顶多只是小打小闹;话不投机,事情再小,***还是分道扬镳,充分体现着共识的重要性。当然如果遵从“女朋友说得永远都对”这个观点,共识实现就很轻松啦!

谈到共识,就不能不想到区块链,毕竟这是个建构在共识机制上的网络,那么根据达成共识程度的不同,区块链也会做出相应调整,比如软分叉、硬分叉......

聊不好,分道扬镳——硬分叉

首先我们还是要了解下【硬分叉】的诞生过程:开发者发布新的客户端,但新旧版本协议不兼容,区块链发生***性分歧;运行新客户端的矿工开始挖出基于新规则的区块,而旧客户端的矿工仍然会挖掘基于旧规则的区块。

一句话来说,硬分叉意味着新旧版本软件互不兼容,必须分道扬镳,分成两条不同的区块链。

抛开技术严谨性,我们来举个例子。假设一对情侣,因为结婚分歧导致分手,支持女方的闺蜜们说男方太渣,支持男方的哥们说女方太作,两方互不相让,***分道扬镳,这就是区块链硬分叉的产生过程。

因为硬分叉不需要考虑新旧版本兼容性的问题。那么,硬分叉就可以对交易数据结构和区块数据结构更大胆的修改。如果修改幅度过大,可能会将对区块链网络造成难以挽回的影响。

在一般情况下,主链是包含着***区块的那条链,如果某一条分叉在某个时刻超过了主链,那么就将成为成为新的主链。新的主链究竟是机遇还是危机?没有人说得清楚。

聊得好,小打小闹——软分叉

首先,了解下相关定义,当新共识规则发布后,节点不一定要升级到新共识规则,因为软分叉的新规则仍旧符合旧规则,所以未升级的节点仍能接受新规则。也就是说,旧节点可以兼容新节点产生的区块,即为软分叉。

这也就意味着软分叉并不会产生两条区块链,新旧区块都在同一条区块链。只不过新区块通过一些不可告人的技术让旧区块接受了他。

一句话来说,软分叉仍然是一条区块链,只不过前后区块并不能实现相互兼容。

我们仍然抛开技术的严谨性来谈谈,我们都知道飞机安检比火车严格,那么我们将满足火车安检的需求标记为区块一,满足飞机安检的需求标记为区块二。很显然,区块二是能够被区块一接纳的,也就是乘坐飞机安检的需求势必能乘坐火车,反之则不行。

小打小闹VS分道扬镳

软硬分叉其实各有利弊。硬分叉实现难度较软分叉低,BUG更容易避免,代码实现更容易。同时新生区块和旧区块互不兼容,就像是判断题,对错分明,不需要思前顾后,避开很多限制,技术延展性更强。

而软分叉比硬分叉温和很多,软分叉不要求区块链中所有节点统一时间升级,可以允许逐步升级,并且在软分叉过程中不影响系统的稳定性和有效性。

但这也就意味着实现难度更高,并且多了更多限制。新区块只能在已有结构中调整,要能够让旧区块接受,因此,升级空间有限。相比较硬分叉,软分叉无疑像个论述题,更需要瞻前顾后,思量周全。

软硬分叉与共识之间剪不断,理还乱,去中心化系统中达成共识大部分时候可能很困难,但有时候也可能很简单,比如当一些利益的因素达成共识之后,如果共识的正误无法估量,那么软硬分叉的准确性也更难以捉摸。

责任编辑:未丽燕 来源: 链得得
相关推荐

2012-02-20 10:29:16

微软苹果桌面

2016-04-08 08:55:42

C#Visual Basi分道扬镳

2012-11-14 11:05:18

比尔·盖茨Win 8之父

2024-07-11 13:19:21

2020-12-07 08:14:17

KubernetesDocker容器

2014-03-28 17:39:34

世界杯

2011-12-12 14:12:05

百度开放平台

2023-12-29 00:11:35

AI架构OpenAI

2012-05-13 14:15:49

2012-07-23 10:35:54

2019-04-12 09:39:39

2018-01-11 14:59:01

Intel美光闪存

2014-08-19 16:10:05

Material DeUI设计趋势

2012-08-31 17:09:31

FacebookHTML5W3C

2015-11-04 15:21:07

2015-02-10 09:54:48

云数据中心发展现状趋势

2015-04-07 14:11:57

创业屡次失败继续前行

2023-06-02 18:32:00

Rust项目开源

2023-05-10 11:12:14

2017-02-13 11:57:17

敏捷开发
点赞
收藏

51CTO技术栈公众号