比特幣的軟分叉和硬分叉有何區(qū)別?
分叉有區(qū)別為普通的升級(jí),普通的升級(jí)在升級(jí)前后是沒有影響協(xié)議共識(shí)的,也一般不需要社區(qū)共識(shí)或算力共識(shí)的參與。而分叉根據(jù)對(duì)協(xié)議的修改情況分為軟分叉和硬分叉。
現(xiàn)有的定義:
【閃電定義】硬分叉是指比特幣區(qū)塊格式或交易格式(這就是廣泛流傳的“共識(shí)”(應(yīng)該是部分協(xié)議共識(shí)))發(fā)生改變時(shí),未升級(jí)的節(jié)點(diǎn)拒絕驗(yàn)證已經(jīng)升級(jí)的節(jié)點(diǎn)生產(chǎn)出的區(qū)塊,不過已經(jīng)升級(jí)的節(jié)點(diǎn)可以驗(yàn)證未升級(jí)節(jié)點(diǎn)生產(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)(這就是被廣泛流傳的“共識(shí)”(應(yīng)該是部分協(xié)議共識(shí)))發(fā)生改變時(shí),未升級(jí)的節(jié)點(diǎn)可以驗(yàn)證已經(jīng)升級(jí)的節(jié)點(diǎn)生產(chǎn)出的區(qū)塊,而且已經(jīng)升級(jí)的節(jié)點(diǎn)也可以驗(yàn)證未升級(jí)的節(jié)點(diǎn)生產(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.
我覺得不能說哪個(gè)定義正確還是錯(cuò)誤,具體的定義可以根據(jù)已經(jīng)較大社區(qū)共識(shí)的兩者的區(qū)別來自己總結(jié),不需要權(quán)威來指定。
硬分叉:沒有向前兼容性,之前的版本將不可再用,需要強(qiáng)制升級(jí)。
軟分叉:有較好的兼容性,之前版本至少部分功能可用,可不升級(jí)。
硬分叉:在區(qū)塊鏈層面會(huì)有分叉的兩條鏈,一條原舊鏈,一條分叉新鏈。
軟分叉:在區(qū)塊鏈層面沒有分叉的鏈,只是組成鏈的區(qū)塊,有新區(qū)塊和舊區(qū)塊。
硬分叉:需要在某個(gè)時(shí)間點(diǎn)全部同意分叉升級(jí),不同意的將會(huì)進(jìn)入原舊鏈。
軟分叉:相當(dāng)長的時(shí)間里,可允許不進(jìn)行升級(jí),繼續(xù)使用原版本生成舊區(qū)塊,與新區(qū)塊并存。
硬分叉與軟分叉區(qū)塊示意圖