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