比特幣分叉中的硬分叉和軟分叉

比特幣分叉中的硬分叉和軟分叉

為什麼分叉還要分為硬分叉和軟分叉呢?簡單來說是因為兼容性的不同,軟分叉是暫時的,而硬分叉則是永久的。

區塊鏈發生永久性分歧,在新的共識規則發佈之後,一些沒有及時升級的節點則沒有辦法驗證已經升級的節點所產生的區塊。這個時候硬分叉就會發生。

對於硬分叉,行業內的定義是這樣的,硬分叉是指比特幣的區塊格式或者交易格式(也就是大家所熟知的“共識”)發生改變時,沒有升級的節點會拒絕驗證已經完成升級的節點所生產出的區塊。而已經升級的節點則可以驗證未升級節點所產生的區塊。然後大家各自延續自己認為正確的鏈。因此就分成了兩條鏈:新鏈和舊鏈。

比特幣分叉中的硬分叉和軟分叉

硬分叉的特點

1, 沒有向前兼容性,之前的版本將不可再用,需要強制升級;

2, 在區塊鏈的層面會有分叉的兩條鏈,一條舊鏈,一條分叉的新鏈;

3, 需要在某個時間點全部同意分叉升級,不同意的將會進入舊鏈。

當新的共識規則發佈以後,沒有完成升級的節點由於不瞭解新的共識規則,便會產生不合法的區塊,從而產生臨時性的分叉。這種臨時性的分叉也被稱作軟分叉。關於軟分叉是這樣定義的:

軟分叉是指比特幣交易的數據結構發生改變時,沒有升級的節點可以驗證已經升級的節點所產生出的區塊,而且已經升級的節點也可以驗證沒有升級的節點所產生的區塊。

比特幣分叉中的硬分叉和軟分叉

軟分叉的特點

1, 具有很好的兼容性,之前的舊版本部分功能可用,可以不用升級。

2, 在區塊鏈的層面沒有分叉的鏈,只是組成的鏈的區塊有新舊區塊之分;

3, 在相當長的時間裡,可以允許不進行升級,繼續使用原有的版本生成舊的區塊,並與新區快並存。

舉個有趣的例子來說明

我們模擬一個極端的情況來抽象出一個比特幣的國王來解釋新系統的兼容性問題。在一個小島上,存在著一個比特幣王國,島上的居民相安無事的生活了很多年,但是由於島上的基礎設施落後陳舊。因此導致了很多的問題,於是大家開始討論解決方案。有人覺得應該推翻重建,並且給國王提供了一個如何建設一個豪華王國的方案,裡面包含了各種各樣的建設方案。

也有人認為沒必要重建,可以在原來的基礎上進行一些翻新。因此雙方爭論不休,始終無法達成一致。這樣就造成了分叉。

比特幣分叉中的硬分叉和軟分叉

那什麼時候會出現硬分叉呢?雙方的意見始終無法達成統一,於是各幹各的。提議重建的開始拆遷重建。建成之後,王國的建築風格開始煥然一新,但是新舊風格並存,顯得十分不統一。這就是比特幣世界中的硬分叉。表現為從新的節點開始,分成了兩條鏈——新鏈和舊鏈。兩者互不相容。

如果是軟分叉會出現什麼樣的結果呢?兩個派系爭論不休,但是有一方開始有了妥協的意願,同意另一方的建議,但是在裝修的風格上要求部分採用他們的方案。於是最後我們看到王國裡的正常生活仍然在繼續,新舊面貌共存。表現在比特幣上就是沒有升級的節點按照之前的規則繼續計算,但是升級後的節點按照擴容後的新規則計算。因此,Bitcoin Core(比特幣核心錢包)主張的Segwit(隔離見證)升級之後,比特幣仍然是比特幣,不會產生新的幣種。


分享到:


相關文章: