區(qū)塊鏈分叉背后有著怎樣的利弊
掃描二維碼
隨時(shí)隨地手機(jī)看文章
區(qū)塊鏈分叉分為兩種:一種是軟分叉,一種是硬分叉。
我們首先從字面上理解一下分叉,分叉在區(qū)塊鏈里面來說,顧名思義就是原來一根鏈,最后通過分叉分為了兩根,一分為二,可以這樣理解。在區(qū)塊鏈中分叉的主要原因有兩種:一種,可以理解為軟分叉,另外一種,可以理解為硬分叉。咱們今天主要說的話題,就是什么叫軟分叉,什么叫硬分叉。這兩種分叉分別是什么意思,最后會(huì)導(dǎo)致什么樣的一個(gè)結(jié)果,這是咱們今天主要討論的話題。在區(qū)塊鏈中分叉是一個(gè)什么樣的過程呢?咱們來詳細(xì)說一下:首先,分叉可以理解為是一種升級(jí),升級(jí)在咱們中心化的應(yīng)用中是一個(gè)非常普遍的過程。
第一章 分叉的概念
分叉,顧名思義就是一分為二,當(dāng)區(qū)塊鏈上有兩撥參與者(也就是節(jié)點(diǎn))產(chǎn)生分歧的時(shí)候,即有一方希望改良,一方則希望保持原狀,只要其中一方進(jìn)行代碼更新區(qū)塊鏈就會(huì)分叉。那么分叉具體是怎么一個(gè)過程呢,接下來我給大家講解下。
第二章 分叉的過程用蘋果手機(jī)的都知道,升級(jí)一個(gè)應(yīng)用是十分簡(jiǎn)單的,直接在APP Store中升級(jí)就行,這是中心化應(yīng)用的升級(jí),但是在去中心化的系統(tǒng)中升級(jí)就沒有這么容易了。比特幣網(wǎng)絡(luò)每次代碼升級(jí)都要獲得社區(qū)的一致認(rèn)同,如果社區(qū)無法達(dá)成一致,就有可能形成分叉,簡(jiǎn)單一句話來講分叉就是指在升級(jí)的時(shí)候發(fā)生了沖突,從而導(dǎo)致區(qū)塊鏈分叉。根據(jù)分叉后的區(qū)塊鏈?zhǔn)欠窦嫒菖f區(qū)塊,將分叉分為硬分叉和軟分叉。說的簡(jiǎn)單點(diǎn),就是類似window系統(tǒng)的升級(jí)和補(bǔ)丁升級(jí)。
軟分叉軟分叉是指區(qū)塊鏈的交易數(shù)據(jù)結(jié)構(gòu)發(fā)生改變的時(shí)候,舊節(jié)點(diǎn)忽略此種改變,可以接受和驗(yàn)證新節(jié)點(diǎn)產(chǎn)出的區(qū)塊,即軟分叉之后不會(huì)產(chǎn)生兩條鏈。軟分叉相比硬分叉雖然“溫和”了不少,但由于軟分叉必須向前兼容,也就是說不能增加新字段,只能在已有結(jié)構(gòu)下做修改,所以升級(jí)空間有限。且軟分叉同樣也存在著一些爭(zhēng)議,軟分叉相比硬分叉技術(shù)實(shí)現(xiàn)要復(fù)雜很多,會(huì)使區(qū)塊鏈的代碼變得更復(fù)雜,這不利于未來的代碼維護(hù),也更容易出現(xiàn)BUG。硬分叉通常是擴(kuò)展共識(shí)規(guī)則,而軟分叉是收緊共識(shí)規(guī)則,所以一旦進(jìn)行了軟分叉,想要回退就非常困難了,很可能造成硬分叉而導(dǎo)致資金損失。
硬分叉硬分叉是指區(qū)塊的交易數(shù)據(jù)結(jié)構(gòu)發(fā)生改變的時(shí)候,舊節(jié)點(diǎn)拒絕對(duì)新節(jié)點(diǎn)生產(chǎn)出的區(qū)塊進(jìn)行驗(yàn)證,舊節(jié)點(diǎn)認(rèn)為這是不符合規(guī)則的,所以新舊節(jié)點(diǎn)各自沿著自己的鏈向前走,造成永久分叉,進(jìn)而形成了不同的兩個(gè)鏈。
硬分叉也分為兩種,技術(shù)上的硬分叉和社區(qū)理念上的硬分叉。技術(shù)上的硬分叉指的是,節(jié)點(diǎn)代碼的版本升級(jí),升級(jí)結(jié)束后,不向前兼容,也就是不對(duì)舊版本的節(jié)點(diǎn)進(jìn)行兼容,舊版本的節(jié)點(diǎn)代碼失效。必須升級(jí)到新版本才能進(jìn)行挖礦記賬。
而社區(qū)理念上的硬分叉指的是,社區(qū)參與者的觀點(diǎn)不一致,導(dǎo)致一部分社區(qū)成員開發(fā)出了新的版本,并進(jìn)行升級(jí),升級(jí)結(jié)束則在新的鏈上進(jìn)行挖礦,而另一部分開發(fā)者則依然在原鏈上進(jìn)行記賬挖礦,這樣就導(dǎo)致生成了2條同時(shí)運(yùn)行的公鏈。
第三章 兼容性區(qū)別需要注意的是,軟分叉和硬分叉都“向后兼容”,什么是“向后兼容”呢?“向后兼容”指的是新軟件接受由舊軟件產(chǎn)生的數(shù)據(jù),舉一個(gè)最簡(jiǎn)單的例子咱們:Windows 10可以運(yùn)行Windows XP的軟件。這里注意,軟分叉還可以“向前兼容”,“向前兼容”就是指舊軟件接受由新軟件產(chǎn)生的數(shù)據(jù),如用word2013保存的兼容版本文檔可以由word2010打開。而硬分叉不支持向前兼容,一旦升級(jí)后,新節(jié)點(diǎn)軟件版本產(chǎn)生區(qū)塊將不再兼容老的節(jié)點(diǎn)。接下來咱們舉例來說明硬分叉的幾種情況。
比特幣:比如比特幣硬分叉出比特幣現(xiàn)金這種幣,因?yàn)槭欠駭U(kuò)容區(qū)塊的大小導(dǎo)致社區(qū)出現(xiàn)了兩派,一部分以礦場(chǎng)為代表,另一派以社區(qū)開發(fā)者為代表;雙方因?yàn)槔砟詈透髯源淼睦娉车貌豢砷_交,于是礦工為代表的一方就通過節(jié)點(diǎn)代碼升級(jí)出現(xiàn)了兩條鏈。一部分礦工在新鏈上生產(chǎn)區(qū)塊,一部分人繼續(xù)在舊鏈進(jìn)行挖礦,這才導(dǎo)致了比特幣現(xiàn)金的出現(xiàn)。
EOS:而eos呢前段時(shí)間也是搞的沸沸揚(yáng)揚(yáng)的分叉事件,起因是因?yàn)锽M發(fā)了一條信息說,eos要進(jìn)行硬分叉,讓社區(qū)的一大部分人嚇得不輕。最后發(fā)現(xiàn)BM說的分叉是軟件技術(shù)的硬分叉,不會(huì)導(dǎo)致生成兩條鏈。EOS主鏈發(fā)布以來,基本上每周都會(huì)有代碼上的小更新,小補(bǔ)丁,但這些都不是硬分叉。但很明顯,這次BM提出的升級(jí),是一次比較“嚴(yán)肅”的升級(jí),其目的是為了提升EOS的性能,并不是因?yàn)镋OS社區(qū)里出現(xiàn)糾紛,打得不可開交才會(huì)硬分叉。這是一次技術(shù)性的硬分叉,所有的節(jié)點(diǎn)都會(huì)升級(jí)到最新版,并不會(huì)出現(xiàn)“EOS現(xiàn)金”類似的情況。如果EOS節(jié)點(diǎn)不更新那這個(gè)節(jié)點(diǎn)就沒有了,之后它就不能再繼續(xù)作為節(jié)點(diǎn)存在。他只能在舊鏈上自己玩,包括錢包在內(nèi)的所有應(yīng)用都會(huì)失效,因?yàn)榕f鏈與應(yīng)用都不再被兼容,整個(gè)舊鏈都會(huì)“死”,就更別說節(jié)點(diǎn)了。
以太坊:區(qū)塊鏈圈里第一個(gè)有影響力的硬分叉應(yīng)該是以太坊的分叉事件。以太坊上一個(gè)著名的項(xiàng)目The DAO由于其自身漏洞,導(dǎo)致黑客竊取了當(dāng)時(shí)價(jià)值約6000萬美元的以太幣。2016年7月,以太坊開發(fā)團(tuán)隊(duì)通過修改以太坊軟件的代碼,在第1920000個(gè)區(qū)塊強(qiáng)行把The DAO及其子DAO的所有資金全部轉(zhuǎn)到一個(gè)特定的退款合約地址,從而“奪回”黑客所控制的DAO合約幣。
由于一部分礦工并不認(rèn)同這個(gè)修改,于是形成兩條鏈,一條為以太坊(ETH),一條為以太坊經(jīng)典(ETC),各自代表不同的社區(qū)共識(shí)以及價(jià)值觀。當(dāng)以太坊發(fā)生了這次硬分叉后,產(chǎn)生了兩條鏈。由于這兩條鏈在發(fā)生分叉之前的數(shù)據(jù)都是一樣的,一個(gè)非常有意思的現(xiàn)象出現(xiàn)了:原本持有以太幣(ETH)的人,發(fā)現(xiàn)自己除了持有原有的ETH外,又有了相同數(shù)量的ETC。
也就是說,憑空的多出了一些資產(chǎn)。這些資產(chǎn)的價(jià)值具體怎樣,還要看市場(chǎng)交易情況。但總的來說,區(qū)塊鏈的硬分叉,沒有減少資產(chǎn),反而讓人手里多了一種資產(chǎn),看上去總歸是一件不虧的事情,于是區(qū)塊鏈分叉就成了一種資產(chǎn)憑空增加的方式。
第四章 IFO社區(qū)硬分叉,讓大量的幣持有者憑空的增加了一種新的數(shù)字貨幣。硬分叉這種創(chuàng)造貨幣的方式和ICO非常類似,于是一個(gè)新的名詞誕生了——IFO(Initial Fork Offerings)。隨著越來越多的硬分叉發(fā)生,比特幣的公信力是否還能像以前一樣?IFO會(huì)不會(huì)成為比特幣的殺手?我認(rèn)為這還需要時(shí)間的考驗(yàn)。IFO本來可以是一種很不錯(cuò)的對(duì)比特幣改造的實(shí)驗(yàn)方法,但是這些分叉幣不但絲毫沒有影響比特幣的價(jià)值與地位,反而他們自己看起來大部分即將歸零。比特幣可以無限復(fù)制出無數(shù)種加密貨幣,為什么只有比特幣有價(jià)值?現(xiàn)在事實(shí)給了你們一些答案,你可以復(fù)制比特幣的代碼,創(chuàng)造無數(shù)個(gè)比特幣,但是比特幣背后的生態(tài)(開發(fā)者、礦工、交易所、商家、用戶)你無法復(fù)制。就像如果把淘寶、微信的源碼給你,你能再造一個(gè)淘寶和微信嗎?
第五章 分叉是好還是壞分叉的好壞目前也沒有一個(gè)定論,如果分叉的目的是使得公鏈更加健壯,那么我們認(rèn)為這種分叉是有利的,如果分叉的目的單純的為了IFO并衍變?yōu)楦罹虏说娜﹀X行為,那么我們認(rèn)為這樣的分叉是有損公鏈的實(shí)際價(jià)值的。但是分叉最終的結(jié)果必定會(huì)對(duì)幣的內(nèi)在價(jià)值帶來一些波動(dòng)。