區塊鏈分叉是怎麼回事兒?

我之前的文章介紹過比特幣的挖礦是怎麼回事兒。比特幣採用的工作量證明機制,就是讓礦工互相競爭求解一個數學題,誰先解出來了,他就大喊一聲:「我的工作量證明成功了,你們快來看。」全體礦工就都過來把那一頁賬目抄寫一份,貼在自己賬本的最後面,然後又開始新的記賬過程。

在這個過程中,經常會出現這樣一種情況:兩個礦工同時解出了題目,這時要怎麼辦呢?

前面的文章也曾經講過:「在任何區塊里,第一條都是沒有轉出地址的,就是所謂的CoinBase(挖礦交易)。沒有任何人付給礦工這筆錢,礦工只是理所應當的寫上自己獲得了12.5比特幣。所有節點都認可礦工這樣寫,因此礦工就得到了挖礦收入。不同的礦工在填寫區塊的時候,數據一定是不一樣的,因為每個礦工的第一條肯定不一樣,礦工只會把挖礦收入轉入自己的地址。」

由於每個礦工的區塊數據都不一樣,所以他們解題得出的結果也是不一樣的,都是正確答案,只是區塊不同。於是,區塊鏈在這個時刻,出現了兩個都滿足要求的不同區塊。那麼,全體礦工這時該怎麼辦呢?

由於距離遠近,不同的礦工看到這兩個區塊是有先後順序的。通常情況下,礦工們會把自己先看到的區塊複製過來,然後接著在這個區塊開始新的挖礦工作。於是,出現了這樣的情景:

我們把這種現象叫做分叉。

在以工作量證明機製為共識演算法的區塊鏈系統中,這個問題是這樣被解決的:從分叉的區塊起,由於不同的礦工跟從了不同的區塊,在分叉出來的兩條不同鏈上,算力是有差別的。形象地說,就是跟從兩個鏈礦工的數量是不同的。由於解題能力和礦工的數量成正比,因此兩條鏈的增長速度也是不一樣的,在一段時間之後,總有一條鏈的長度要超過另一條。當礦工發現全網有一條更長的鏈時,他就會拋棄他當前的鏈,把新的更長的鏈全部複製回來,在這條鏈的基礎上繼續挖礦。所有礦工都這樣操作,這條鏈就成為了主鏈,分叉出來被拋棄掉的鏈就消失了。

最終,只有一條鏈會被保留下來,成為真正有效的賬本,其他都是無效的,所以整個區塊鏈仍然是唯一的。

注意,能夠讓區塊鏈保證數據唯一性的前提是:所有礦工都遵從同樣的機制。

還有一種情況,就是礦工不遵從同樣的機制,那麼也會出現分叉。這種分叉又有兩種情況:一是由於整個區塊鏈系統軟體的升級,一部分礦工沒有來得及升級,出現了遵從不同機制產生的分叉。當這部分礦工升級系統后,這個分叉就會消失,我們稱這種分叉為軟分叉。二是由於礦工之間出現分歧,一部分礦工決定採用不同的機制,產生出來的分叉是不會消失的。我們一般把這種分叉稱為硬分叉。

軟分叉很好理解,我們重點談談硬分叉。

區塊鏈圈裡第一個有影響力的硬分叉應該是以太坊的分叉事件。以太坊上一個著名的項目The DAO由於其自身漏洞,導致黑客竊取了當時價值約6000萬美元的以太幣。2016年7月,以太坊開發團隊通過修改以太坊軟體的代碼,在第1920000個區塊強行把The DAO及其子DAO的所有資金全部轉到一個特定的退款合約地址,從而「奪回」黑客所控制的DAO合約幣。由於一部分礦工並不認同這個修改,於是形成兩條鏈,一條為以太坊(ETH),一條為以太坊經典(ETC),各自代表不同的社區共識以及價值觀。當以太坊發生了這次硬分叉后,產生了兩條區塊鏈。由於這兩條鏈在發生分叉之前的數據都是一樣的,一個非常有意思的現象出現了:原本持有以太幣(ETH)的人,發現自己除了持有原有的ETH外,又有了相同數量的ETC。

也就是說,憑空的多出了一些資產。這些資產的價值具體怎樣,還要看市場交易情況。但總的來說,區塊鏈的硬分叉,沒有減少資產,反而讓人手裡多了一種資產,看上去總歸是一件不虧的事情,於是區塊鏈分叉就成了一種資產憑空增加的方式。

在2017年8月1日,由ViaBTC領導的礦工團體創建一個比特幣分叉——Bitcoin Cash(簡稱BCC或BCH)。這次分叉,讓大量的比特幣持有者憑空的增加了一種新的數字貨幣(BCH)。【傳送門比特幣分叉,你的1塊錢可能變成了1塊5】

硬分叉這種創造貨幣的方式和ICO非常類似,於是一個新的名詞誕生了——IFO(Initial Fork Offerings)。礦工團隊在創造分叉的同時,可以在分叉發生的區塊中,利用自己的特權,分配一些貨幣給自己或其他人(直接寫成CoinBase交易即可),然後再開放讓所有人都可以參與挖礦。

隨著越來越多的硬分叉發生,比特幣的公信力是否還能像以前一樣?IFO會不會成為比特幣的殺手?還需要時間的考驗。

作者簡介

敖萌,現就職於中國信息通信研究院北京泰爾英福網路科技有限責任公司,主要研究模式識別和區塊鏈,聯繫方式:[email protected]


更多觀點,歡迎關注中國信通院微信公眾號:中國信息通信研究院CAICT

或訪問中國信通院官網:www.caict.ac.cn

文章為泰爾英福原創,轉載請註明出處!

泰爾英福聚焦域名、工業互聯網標識、區塊鏈、企業信息資料庫等相關領域。

更多內容歡迎關注公眾號:Teleinfo_

運營人員: 馬文晶 MZ012

你可能會喜歡