區(qū)塊鏈的分叉是怎么一回事
掃描二維碼
隨時(shí)隨地手機(jī)看文章
所謂區(qū)塊鏈的分叉,可以說是區(qū)塊鏈網(wǎng)絡(luò)中獨(dú)有的一種版本升級(jí)方式。像我們?nèi)粘I钏玫摹拔⑿?、淘寶”這些APP,實(shí)際都是中心化的應(yīng)用,每隔一段時(shí)間騰訊、阿里這些應(yīng)用的創(chuàng)建者們,為了增加新功能或解決一些bug,所以就要對(duì)程序進(jìn)行升級(jí)。
這類app升級(jí)的時(shí)候,會(huì)由阿里、騰訊這些中心化的團(tuán)隊(duì),將代碼完成后,部署在后臺(tái)中,先進(jìn)行服務(wù)器的升級(jí),然后我們這些用戶才可以在終端(客戶端)升級(jí)產(chǎn)品,但歸根到底,這些中心化的互聯(lián)網(wǎng)產(chǎn)品,升級(jí)的內(nèi)容是一致的,由中心化的公司決定,用戶統(tǒng)一升級(jí)。
而區(qū)塊鏈中的系統(tǒng),我們知道,它是一個(gè)人人都可以參與的數(shù)據(jù)庫,它的代碼是開放的,整個(gè)網(wǎng)絡(luò)是去中心化的。這就意味著沒有中心化的公司來做升級(jí)決策,制定版本的升級(jí)內(nèi)容,甚至連服務(wù)器都沒有。
所以,當(dāng)區(qū)塊鏈在做版本升級(jí)時(shí),就需要一種與中心化產(chǎn)品升級(jí)完全不同的升級(jí)方式。于是分叉就應(yīng)運(yùn)而生。
區(qū)塊鏈雖然沒有中心化的公司來維護(hù)、也沒有一個(gè)中心服務(wù)器,但每個(gè)人都可以參與進(jìn)來,這就使得區(qū)塊鏈在做版本升級(jí)時(shí),升級(jí)的內(nèi)容會(huì)由參與的礦工共同來決定該如何更改,甚至有可能因?yàn)榈V工之間發(fā)生分歧產(chǎn)生多個(gè)版本,不像互聯(lián)網(wǎng)一樣,一家獨(dú)裁,沒有選擇的余地。
此外它也是有終端的,每個(gè)終端都會(huì)連在區(qū)塊鏈這個(gè)大的分布式數(shù)據(jù)庫中。數(shù)據(jù)被打包成區(qū)塊,鏈接起來形成一個(gè)鏈?zhǔn)浇Y(jié)構(gòu)。
它的原理是這樣的:當(dāng)區(qū)塊鏈進(jìn)行版本升級(jí)時(shí),其實(shí)是由終端開始升級(jí),大家可以在各自社區(qū)中下載、安裝,進(jìn)行升級(jí)。升級(jí)后的終端再接入?yún)^(qū)塊鏈網(wǎng)絡(luò)中,進(jìn)行數(shù)據(jù)處理,共享數(shù)據(jù)。
在升級(jí)的過程中,必然有一段時(shí)期是,新老版本并存,在兩個(gè)版本接入數(shù)據(jù)的時(shí)候,會(huì)將現(xiàn)有的區(qū)塊鏈進(jìn)行分裂,從某一個(gè)區(qū)塊開始,連接到兩個(gè)不同版本處理的區(qū)塊上,然后兩個(gè)區(qū)塊再各自連入新的區(qū)塊,由此形成了兩條鏈。就好像樹枝一樣,大家共用同一個(gè)樹干,共享之前未分開時(shí)的數(shù)據(jù)。
當(dāng)所有人都完成升級(jí)后,老版本的那條鏈沒人再用了,自然就只剩下了一條新鏈,這種大家能達(dá)成共識(shí)且只有一種更新版本,兩者兼容的分叉,就叫做軟分叉。
而當(dāng)大家不能達(dá)成共識(shí)的時(shí)候,就相當(dāng)于在終端產(chǎn)生了多個(gè)新版本。大家在各自社區(qū)中下載、安裝完成,連接到區(qū)塊鏈上后,所形成的兩條鏈一直會(huì)有人使用,這就導(dǎo)致原來的一條鏈會(huì)徹底分裂成兩條新鏈,這種兩個(gè)版本不兼容,你不承認(rèn)我,我也不承認(rèn)你,就叫做硬分叉。它屬于升級(jí)異常的情況,這個(gè)分叉不會(huì)消失,反而會(huì)徹底分裂成兩條鏈。
總的來說,分叉這種基于去中心化的升級(jí)方式,看起來要比傳統(tǒng)互聯(lián)網(wǎng)麻煩很多,但麻煩的同時(shí),因?yàn)樗拇a是開放式的,每個(gè)人都可以提出建議、參與更改,所以它實(shí)際上是給了每個(gè)人更多選擇的權(quán)利。也許,區(qū)塊鏈就在這樣的求同存異之中,孕育著更大的可能性。
來源: OKBS2018