比特幣的軟分叉和硬分叉有何區(qū)別?
分叉有區(qū)別為普通的升級,普通的升級在升級前后是沒有影響協(xié)議共識的,也一般不需要社區(qū)共識或算力共識的參與。而分叉根據(jù)對協(xié)議的修改情況分為軟分叉和硬分叉。
現(xiàn)有的定義:
【閃電定義】硬分叉是指比特幣區(qū)塊格式或交易格式(這就是廣泛流傳的“共識”(應(yīng)該是部分協(xié)議共識))發(fā)生改變時,未升級的節(jié)點拒絕驗證已經(jīng)升級的節(jié)點生產(chǎn)出的區(qū)塊,不過已經(jīng)升級的節(jié)點可以驗證未升級節(jié)點生產(chǎn)出的區(qū)塊,然后大家各自延續(xù)自己認(rèn)為正確的鏈,所以分成兩條鏈。
A permanent divergence in the the block chain, commonly occurs when non-upgraded nodes can’t validate blocks created by upgraded nodes that follow newer consensus rules.
【閃電定義】軟分叉是指比特幣交易的數(shù)據(jù)結(jié)構(gòu)(這就是被廣泛流傳的“共識”(應(yīng)該是部分協(xié)議共識))發(fā)生改變時,未升級的節(jié)點可以驗證已經(jīng)升級的節(jié)點生產(chǎn)出的區(qū)塊,而且已經(jīng)升級的節(jié)點也可以驗證未升級的節(jié)點生產(chǎn)出的區(qū)塊。
A temporary fork in the block chain which commonly occurs when miners using non-upgraded nodes violate a new consensus rule their nodes don’t know about.
我覺得不能說哪個定義正確還是錯誤,具體的定義可以根據(jù)已經(jīng)較大社區(qū)共識的兩者的區(qū)別來自己總結(jié),不需要權(quán)威來指定。
硬分叉:沒有向前兼容性,之前的版本將不可再用,需要強制升級。
軟分叉:有較好的兼容性,之前版本至少部分功能可用,可不升級。
硬分叉:在區(qū)塊鏈層面會有分叉的兩條鏈,一條原舊鏈,一條分叉新鏈。
軟分叉:在區(qū)塊鏈層面沒有分叉的鏈,只是組成鏈的區(qū)塊,有新區(qū)塊和舊區(qū)塊。
硬分叉:需要在某個時間點全部同意分叉升級,不同意的將會進入原舊鏈。
軟分叉:相當(dāng)長的時間里,可允許不進行升級,繼續(xù)使用原版本生成舊區(qū)塊,與新區(qū)塊并存。
硬分叉與軟分叉區(qū)塊示意圖





