市場動態每日快訊

新手!五分鐘搞懂「軟分叉」和「硬分叉」

比特幣價值水漲船高,但也有許多問題需要更新或解決,從而產生了諸如比特現金、比特黃金等新的加密貨幣。不只發生在比特幣上,其他如以太坊與以太經典,都是這樣產生的。

是否在其他介紹虛擬幣的資料上,見過「軟分叉」和「硬分叉」呢?聽起來有點酷,我們一起來用白話文 簡單了解一下!

比特幣的交易中,有統一使用的數據結構

就像每一張新台幣,都有一定形式的編碼。透過互相發送比特幣,而產生交易歷史紀錄。比特幣網絡會在平均10分鐘內,收集各個節點(想成一台一台電腦)發出的交易然後打包,成為一個區塊,蓋上時間戳,然後添加到區塊鏈上。所以區塊鏈就是裝了交易紀錄的容器。

所有的節點都必須按照編碼的形式來打包區塊,就如同新台幣編碼,前兩位英文字母、中間六位數字、後兩位在英文字母一樣,不同區段的編號有不同意義,好讓節點可以認證這些交易。當然,虛擬幣上的編碼要比新台幣長很多(才安全呀!)想看的話可以看看下圖,區塊的數據結構就是長這樣。

硬分叉和軟分叉的「官方」定義

"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.
http://bit.ly/2sO9J0P
區塊鏈發生永久性分歧,在新共識規則發布後,部分沒有升級的節點無法驗證已經升級的節點生產的區塊,通常硬分叉就會發生。"

"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.
http://bit.ly/2sOSX1w
當新共識規則發布後,沒有升級的節點會因為不知道新共識規則下,而生產不合法的區塊,就會產生臨時性分叉。"

喔!簡而言之,硬分叉就是舊版看不懂新版、軟分叉就是舊版同意新版!

但也不要被名詞定義嚇到了,其實硬分叉也沒什麼不好。後面說明~

有時後有些數據欄位沒有定義清楚,如果新版本把他定義清楚了,也可以被舊版本認可,就是軟分叉。當然新版也能驗證舊版,互通的概念,就如同軟分叉也可以用來修改交易歷史。(可以參考2010年8月15日,黑客盜取1844個比特幣的事件,還有他的修正方案)

硬分叉就是舊版拒絕了新版,各走各的路的感覺。由於軟分叉必須雙向互通,在技術上是不容易的,如果有節點拒絕驗證不一樣的交易區塊,就會變成硬分叉。而硬分叉則不考慮沒有升級的節點會不會拒絕已經升級的節點生產的數據和代碼的情況,情況就簡單許多。

比較軟分叉和硬分叉的優缺點

"軟分叉可以保證不想升級的人不去升級,但硬分叉必須要求所有舊節點進行升級,否則舊節點就無法識別新節點生產的交易和區塊,導致區塊鏈分成兩條鏈。軟分叉的升級空間有限,硬分叉的升級空間則大很多,因為硬分叉只要考慮能夠接受以前舊節點生產的交易和區塊就可以了,使得硬分叉可以對交易數據結構和區塊數據結構做更大膽的修改。"

"最後,比特幣交易數據結構和區塊數據結構都有一個欄位叫「版本號」,意義是「明確這筆交易或區塊參照的規則」。這意味著中本聰是希望使用硬分叉來修改這些規則,就是說如果我們要修改規則,那就重新定義版本號。但軟分叉在不修改「版本號」的前提下,卻修改了規則。"

以上簡單說明了「軟分叉」和「硬分叉」,如果還想要知道更技術性的內容,以及細部分叉的歷史,可以看這裡: http://bit.ly/2sOdfbB

Source
相關新聞
Tags
看更多

相關文章

Leave a Reply

Your email address will not be published. Required fields are marked *

Close
Close