從零開始學習區塊鏈,軟分叉和硬分叉到底是什麼

分叉 軟硬分叉 火星專欄 貝殼手錶CCT 2018-07-24

硬分叉是指,當決定對區塊鏈網絡內軟件升級時,有些節點接受升級,有些節點不接受。

來源:貝殼手錶CCT

初識軟硬分叉

上期我們介紹了什麼是區塊鏈分叉,當全網的節點遵循著相同的約定——工作量證明時,少數服從多數,分叉即使發生也只是暫時的,區塊鏈最終會選擇一條鏈走下去。那麼,有沒有全網節點遵循不同約定的時候呢?如果有,區塊鏈又將怎樣延伸呢?這就是我們今天要學習的軟分叉和硬分叉。

軟硬分叉問題是節點的軟件、協議以及版本的升級問題,為了方便理解,我們可以把它和手機APP更新類比。最初,全網的節點運行著相同的軟件,遵循著相同的共識(比如POW工作量證明),在同一條鏈上工作。如果此時有一部分節點的軟件升級了(這部分節點的算力超過全網算力的50%),它們開始運行新的版本,遵循新的共識,這時候就存在兩種節點,舊節點:未升級軟件,遵守舊約;新節點:已升級軟件,遵守新約。

網絡中同時存在新舊兩種節點的時候,就會出現四種不同的情況:

1、新版本兼容舊版本;

2、新版本不兼容舊版本;

3、舊版本兼容新版本;

4、舊版本不兼容新版本。

其實簡單的理解就是,存在的兩種不同的版本對彼此接受與否。

硬分叉特點   

硬分叉是指,當決定對區塊鏈網絡內軟件升級時,有些節點接受升級,有些節點不接受,未升級的舊節點不兼容(承認)新節點產生的區塊,兩種節點就沒法一起玩下去了。因此硬分叉會採用強制(硬)升級,這個升級需要在某一時間確定,不同意升級的節點(舊節點)進入舊鏈,同意升級(新節點)的進入新鏈,這樣一條鏈就被分成了兩條,新舊節點分別在自己認為正確的鏈上工作。

從零開始學習區塊鏈,軟分叉和硬分叉到底是什麼

軟分叉特點

軟分叉是指當整個區塊鏈系統軟件升級時,有部分節點未及時升級,這就使得系統中存在兩種節點。此時,未升級節點(舊節點)兼容(承認)新節點產生的區塊,升級節點(新節點)也兼容(承認)舊節點產生的區塊。兼容性很好,在相當長的時間裡,舊節點可以選擇不升級,新舊區塊共存。在軟分叉中,沒有真正的分成兩條鏈,只是在區塊鏈中存在兩種區塊:新區塊和舊區塊。等到所有節點都完成升級之後,分叉就消失了。從零開始學習區塊鏈,軟分叉和硬分叉到底是什麼

與硬分叉相比,軟分叉總是一條鏈,沒有分叉的風險,而且軟分叉的升級不是必須在某一時間完成,不影響系統的穩定性和有效性。但是軟分叉需要老節點能夠接受新節點創建的區塊,總是要欺騙老節點,讓老節點察覺不出已經發生的變化。


文章聲明:本文為火星財經專欄作者作品,版權歸作者所有,不代表火星財經觀點。

相關推薦

推薦中...