當前位置:維知科普網 >

科普

> 硬分叉是什麼意思

硬分叉是什麼意思

硬分叉是致區塊鏈發生永久性分歧,在新共識規則發佈後,部分沒有升級的節點無法驗證已經升級的節點生產的區塊,通常硬分叉就會發生。代碼出現一個硬分叉,會改變挖礦算法的難度級別。

軟分叉是指當新共識規則發佈後,沒有升級的節點會因為不知道新共識規則下,而生產不合法的區塊,就會產生臨時性分叉。

硬分叉是什麼意思

在2013年3月12日,當時是bitcoin qt 0.8.0 版本軟件發佈了,0.8版本採用了一種新的數據庫level db。有的礦工節點升級了bitcoin qt 0.8版本,有的礦工還繼續使用bitcoin qt 0.7版本的軟件。雙方各自生產區塊,但bitcoin qt 0.8採用的新數據庫生產出的區塊被被qt 0.7版本節點拒絕掉。具體的原因是舊的數據庫對超過800Kb的區塊有時不接受。因此在區塊高度 225430 比特幣區塊鏈分成了兩條鏈,結果導致了比特幣區塊鏈產生兩條鏈,一條是包含大於800kb區塊的鏈,另一條是拒絕承認這些包含更大區塊的鏈,這就發生了硬分叉。

當時是採用bitcoin qt 0.8版本的礦工放棄了他們挖的鏈,退回到bitcoin qt 0.7版本上繼續挖礦。

這次硬分叉是一次意外,是bitcoin qt 0.8版本的軟件出了bug,導致採用舊軟件的節點拒絕驗證新軟件節點生產的區塊。但硬分叉的成因就是採用舊軟件版本的節點拒絕驗證採用新軟件版本的節點生產的區塊,然後雙方各自挖礦。

在2015年7月4日比特幣區塊鏈在區塊高度363731發生一次硬分叉。當時是Bitcoin Core 開發者往新版本的Bitcoin Core 0.10.0添加了BIP 66。這本來是一起軟分叉的修改,在比特幣網絡上主要礦池都使用了0.10版本的軟件時,但有一個礦池BTC Nuggets沒有升級,導致BTC Nuggets挖出來的兩個區塊其他礦工拒絕掉,然後雙方就各自挖礦延續自己認為是正確的區塊鏈,由此產生硬分叉,分成了兩條鏈。

隨後發佈公告,呼籲礦工升級到bitcoin core 0.10.2版本來消滅分叉。

這也是一次意外,硬分叉的成因是採用新軟件版本的節點拒絕驗證採用舊軟件版本的節點生產的區塊,然後雙方各自挖礦。

這兩次硬分叉都是意外,但硬分叉的成因前一個是因為對新產生的區塊格式在不同節點上產生分歧,後一個是因為對交易格式在不同節點上產生分歧。

標籤: 分叉
  • 文章版權屬於文章作者所有,轉載請註明 https://wzkpw.com/kp/4ooon.html