比特幣採用的工作量證明機制, 就是讓礦工互相競爭求解一個數學題, 誰先解出來了, 他就大喊一聲:" 我的工作量證明成功了, 你們快來看。 " 全體礦工就都過來把那一頁目抄寫一份, 貼在自己帳本的最後面, 然後又開始新的記帳過程。
在這個過程中, 經常會出現這樣一種情況:兩個礦工同時解出了題目, 這時要怎麼辦呢?
前面的文章也曾經講過:" 在任何區塊裡, 第一條都是沒有轉出位址的, 就是所謂的 CoinBase(挖礦交易)。 沒有任何人付給礦工這筆錢, 礦工只是理所應當的寫上自己獲得了 12.5 比特幣。 所有節點都認可礦工這樣寫, 因此礦工就得到了挖礦收入。 不同的礦工在填寫區塊的時候, 資料一定是不一樣的, 因為每個礦工的第一條肯定不一樣, 礦工只會把挖礦收入轉入自己的地址。 "
由於每個礦工的區塊資料都不一樣, 所以他們解題得出的結果也是不一樣的,
由於距離遠近, 不同的礦工看到這兩個區塊是有先後順序的。 通常情況下, 礦工們會把自己先看到的區塊複製過來, 然後接著在這個區塊開始新的挖礦工作。 於是, 出現了這樣的情景:
我們把這種現象叫做分叉。
在以工作量證明機制為共識演算法的區塊鏈系統中, 這個問題是這樣被解決的:從分叉的區塊起, 由於不同的礦工跟從了不同的區塊, 在分叉出來的兩條不同鏈上, 算力是有差別的。 形象地說, 就是跟從兩個鏈礦工的數量是不同的。
由於解題能力和礦工的數量成正比,
最終, 只有一條鏈會被保留下來, 成為真正有效的帳本, 其他都是無效的, 所以整個區塊鏈仍然是唯一的。
注意, 能夠讓區塊鏈保證資料唯一性的前提是:所有礦工都遵從同樣的機制。
還有一種情況, 就是礦工不遵從同樣的機制, 那麼也會出現分叉。 這種分叉又有兩種情況:一是由於整個區塊鏈系統軟體的升級, 一部分礦工沒有來得及升級,
當這部分礦工升級系統後, 這個分叉就會消失, 我們稱這種分叉為軟分叉。 二是由於礦工之間出現分歧, 一部分礦工決定採用不同的機制, 產生出來的分叉是不會消失的。 我們一般把這種分叉稱為硬分叉。
軟分叉很好理解, 我們重點談談硬分叉。
區塊鏈圈裡第一個有影響力的硬分叉應該是乙太坊的分叉事件。 乙太坊上一個著名的項目 The DAO 由於其自身漏洞, 導致駭客竊取了當時價值約 6000 萬美元的乙太幣。 2016 年 7 月, 乙太坊開發團隊通過修改乙太坊軟體的代碼, 在第 1920000 個區塊強行把 The DAO 及其子 DAO 的所有資金全部轉到一個特定的退款合約位址, 從而 " 奪回 " 駭客所控制的 DAO 合約幣。
由於一部分礦工並不認同這個修改,
也就是說, 憑空的多出了一些資產。 這些資產的價值具體怎樣, 還要看市場交易情況。 但總的來說, 區塊鏈的硬分叉, 沒有減少資產, 反而讓人手裡多了一種資產, 看上去總歸是一件不虧的事情, 於是區塊鏈分叉就成了一種資產憑空增加的方式。
在 2017 年 8 月 1 日,由 ViaBTC 領導的礦工團體創建一個比特幣分叉—— Bitcoin Cash ( 簡稱 BCC 或 BCH ) 。這次分叉,讓大量的比特幣持有者憑空的增加了一種新的數字貨幣 ( BCH ) 。
硬分叉這種創造貨幣的方式和 ICO 非常類似,於是一個新的名詞誕生了—— IFO(Initial Fork Offerings)。礦工團隊在創造分叉的同時,可以在分叉發生的區塊中,利用自己的特權,分配一些貨幣給自己或其他人(直接寫成 CoinBase 交易即可),然後再開放讓所有人都可以參與挖礦。
隨著越來越多的硬分叉發生,比特幣的公信力是否還能像以前一樣?IFO 會不會成為比特幣的殺手?還需要時間的考驗。
在 2017 年 8 月 1 日,由 ViaBTC 領導的礦工團體創建一個比特幣分叉—— Bitcoin Cash ( 簡稱 BCC 或 BCH ) 。這次分叉,讓大量的比特幣持有者憑空的增加了一種新的數字貨幣 ( BCH ) 。
硬分叉這種創造貨幣的方式和 ICO 非常類似,於是一個新的名詞誕生了—— IFO(Initial Fork Offerings)。礦工團隊在創造分叉的同時,可以在分叉發生的區塊中,利用自己的特權,分配一些貨幣給自己或其他人(直接寫成 CoinBase 交易即可),然後再開放讓所有人都可以參與挖礦。
隨著越來越多的硬分叉發生,比特幣的公信力是否還能像以前一樣?IFO 會不會成為比特幣的殺手?還需要時間的考驗。