【得得白话】链圈分叉指南:分道扬镳还是小打小闹?
摘要: 去中心化系统中达成共识大部分时候可能很困难,但有时候也可能很简单。如果共识的正误无法估量,那么软硬分叉的准确性也更难以捉摸。
七夕刚过去不久,相信不少人还沉溺在爱情粉红色里,所以我决定泼一盆冷水,缓解下内心。谈过恋爱的都知道,情侣,聊得投机,事情再大,顶多只是小打小闹;话不投机,事情再小,最后还是分道扬镳,充分体现着共识的重要性。当然如果遵从“女朋友说得永远都对”这个观点,共识实现就很轻松啦!
谈到共识,就不能不想到区块链,毕竟这是个建构在共识机制上的网络,那么根据达成共识程度的不同,区块链也会做出相应调整,比如软分叉、硬分叉......
聊不好,分道扬镳——硬分叉
首先我们还是要了解下【硬分叉】的诞生过程:开发者发布新的客户端,但新旧版本协议不兼容,区块链发生永久性分歧;运行新客户端的矿工开始挖出基于新规则的区块,而旧客户端的矿工仍然会挖掘基于旧规则的区块。
一句话来说,硬分叉意味着新旧版本软件互不兼容,必须分道扬镳,分成两条不同的区块链。
抛开技术严谨性,我们来举个例子。假设一对情侣,因为结婚分歧导致分手,支持女方的闺蜜们说男方太渣,支持男方的哥们说女方太作,两方互不相让,最后分道扬镳,这就是区块链硬分叉的产生过程。
因为硬分叉不需要考虑新旧版本兼容性的问题。那么,硬分叉就可以对交易数据结构和区块数据结构更大胆的修改。如果修改幅度过大,可能会将对区块链网络造成难以挽回的影响。
在一般情况下,主链是包含着最大区块的那条链,如果某一条分叉在某个时刻超过了主链,那么就将成为成为新的主链。新的主链究竟是机遇还是危机?没有人说得清楚。
聊得好,小打小闹——软分叉
首先,了解下相关定义,当新共识规则发布后,节点不一定要升级到新共识规则,因为软分叉的新规则仍旧符合旧规则,所以未升级的节点仍能接受新规则。也就是说,旧节点可以兼容新节点产生的区块,即为软分叉。
这也就意味着软分叉并不会产生两条区块链,新旧区块都在同一条区块链。只不过新区块通过一些不可告人的技术让旧区块接受了他。
一句话来说,软分叉仍然是一条区块链,只不过前后区块并不能实现相互兼容。
我们仍然抛开技术的严谨性来谈谈,我们都知道飞机安检比火车严格,那么我们将满足火车安检的需求标记为区块一,满足飞机安检的需求标记为区块二。很显然,区块二是能够被区块一接纳的,也就是乘坐飞机安检的需求势必能乘坐火车,反之则不行。
小打小闹VS分道扬镳
软硬分叉其实各有利弊。硬分叉实现难度较软分叉低,BUG更容易避免,代码实现更容易。同时新生区块和旧区块互不兼容,就像是判断题,对错分明,不需要思前顾后,避开很多限制,技术延展性更强。
而软分叉比硬分叉温和很多,软分叉不要求区块链中所有节点统一时间升级,可以允许逐步升级,并且在软分叉过程中不影响系统的稳定性和有效性。
但这也就意味着实现难度更高,并且多了更多限制。新区块只能在已有结构中调整,要能够让旧区块接受,因此,升级空间有限。相比较硬分叉,软分叉无疑像个论述题,更需要瞻前顾后,思量周全。
软硬分叉与共识之间剪不断,理还乱,去中心化系统中达成共识大部分时候可能很困难,但有时候也可能很简单,比如当一些利益的因素达成共识之后,如果共识的正误无法估量,那么软硬分叉的准确性也更难以捉摸。(本文首发链得得App)
评论(0)
Oh! no
您是否确认要删除该条评论吗?