名詞解釋第七十二講:軟分叉區(qū)塊鏈
王團(tuán)長區(qū)塊鏈學(xué)院,與最優(yōu)秀的區(qū)塊鏈人一起成長!
這里是王團(tuán)長區(qū)塊鏈學(xué)院,與最優(yōu)秀的區(qū)塊鏈人一起成長!今天給大家講講軟分叉。
區(qū)塊鏈上節(jié)點(diǎn)眾多,當(dāng)出現(xiàn)新版軟件后,不一定所有的節(jié)點(diǎn)都愿意升級,也不一定所有的節(jié)點(diǎn)都能馬上反應(yīng)過來。節(jié)點(diǎn)面對新版軟件反應(yīng)的不同,造成的分叉結(jié)果也不同。
根據(jù)升級后的區(qū)塊鏈?zhǔn)欠衲芗嫒菖f區(qū)塊鏈,分叉又分為“硬分叉”和“軟分叉”。今天先重點(diǎn)介紹軟分叉。
軟分叉:是指區(qū)塊鏈網(wǎng)絡(luò)系統(tǒng)軟件升級后,舊的節(jié)點(diǎn)并不會意識到比特幣代碼發(fā)生改變,并繼續(xù)接受由新節(jié)點(diǎn)創(chuàng)造的區(qū)塊,新老節(jié)點(diǎn)始終還是在同一條鏈上工作。
有人說硬分叉就是分叉,而軟分叉就是不分叉,其實(shí)這話并不完全對,硬分叉就是分叉是對的,但軟分叉其實(shí)也可能會出現(xiàn)分叉的情況。
一、不分叉的軟分叉
軟分叉通常不會產(chǎn)生兩條區(qū)塊鏈,實(shí)際上未升級節(jié)點(diǎn)無法識別新規(guī)則的真實(shí)意義,意識不到有新規(guī)則的改變。于是,新規(guī)則下產(chǎn)生的區(qū)塊會被舊節(jié)點(diǎn)接受。這時(shí),如果已經(jīng)升級的節(jié)點(diǎn)也可以驗(yàn)證未升級的節(jié)點(diǎn)生產(chǎn)出的區(qū)塊,那么新規(guī)則發(fā)布后,新舊節(jié)點(diǎn)仍然在同一條鏈上,對整個(gè)系統(tǒng)的影響也就較小。
這種情況的軟分叉其實(shí)只是在叫法上有點(diǎn)迷惑性,實(shí)際上這種舊節(jié)點(diǎn)接受新區(qū)塊,新節(jié)點(diǎn)也接受舊區(qū)塊的軟分叉,本質(zhì)上是新、舊節(jié)點(diǎn)互相兼容,不分叉的。
二、分叉的軟分叉
如果系統(tǒng)軟件升級后,和舊版本不兼容,那么升級后的新節(jié)點(diǎn)就無法接受未升級節(jié)點(diǎn)挖出來的全部或者部分區(qū)塊,這種軟分叉是真的分叉了。因?yàn)椋号f節(jié)點(diǎn)接受新區(qū)塊,而新節(jié)點(diǎn)不接受舊區(qū)塊。
這種形式的軟分叉又分為兩種情況:
1、新節(jié)點(diǎn)算力大于50%
因?yàn)樾鹿?jié)點(diǎn)算力大于50%,所以不論舊節(jié)點(diǎn)接不接受新區(qū)塊,最長的鏈也一定會是全部由新區(qū)塊組成的鏈。而且,這條最長鏈?zhǔn)请p方都認(rèn)為合法的一條。
未升級節(jié)點(diǎn)挖出來的區(qū)塊得不到升級節(jié)點(diǎn)的認(rèn)可,由此產(chǎn)生的區(qū)塊最終會被認(rèn)為是短鏈而被放棄。
2、新節(jié)點(diǎn)算力小于50%
新節(jié)點(diǎn)因?yàn)樗懔π∮?0%,又不接受舊區(qū)塊,所以挖的區(qū)塊鏈長最短,所以縱然舊節(jié)點(diǎn)同時(shí)承認(rèn)兩條鏈的合法性,最終也還是會選擇自己所挖的最長鏈。而全部由新區(qū)塊組成的鏈會被舊節(jié)點(diǎn)放棄掉。
軟分叉的優(yōu)勢:
1)軟分叉可以保證不想升級的節(jié)點(diǎn)不去升級,這種不想升級的需求在現(xiàn)實(shí)生活中其實(shí)是很常見的。
2)軟分叉不要求所有節(jié)點(diǎn)在同一時(shí)間升級,允許逐步升級,不影響軟分叉過程中系統(tǒng)的穩(wěn)定性和有效性。
軟分叉的局限性:
1)軟分叉向前兼容的特性,意味著不能增加新字段,只能在已有交易數(shù)據(jù)結(jié)構(gòu)下做修改,所以升級空間有限。
2)由于舊版本節(jié)點(diǎn)不會仔細(xì)驗(yàn)證改變的字段,實(shí)際上是察覺不出來不能識別新規(guī)則的真實(shí)意義,因此容易對舊版本節(jié)點(diǎn)造成欺騙。
想要了解更多的區(qū)塊鏈知識,可以關(guān)注我們的公眾號:王團(tuán)長區(qū)塊鏈日記,與最優(yōu)秀的區(qū)塊鏈人一起成長!
1.TMT觀察網(wǎng)遵循行業(yè)規(guī)范,任何轉(zhuǎn)載的稿件都會明確標(biāo)注作者和來源;
2.TMT觀察網(wǎng)的原創(chuàng)文章,請轉(zhuǎn)載時(shí)務(wù)必注明文章作者和"來源:TMT觀察網(wǎng)",不尊重原創(chuàng)的行為TMT觀察網(wǎng)或?qū)⒆肪控?zé)任;
3.作者投稿可能會經(jīng)TMT觀察網(wǎng)編輯修改或補(bǔ)充。