我之前的文章介紹過比特幣的挖礦是怎么回事兒。比特幣采用的工作量證明機制,就是讓礦工互相競爭求解一個數(shù)學題,誰先解出來了,他就大喊一聲:“我的工作量證明成功了,你們快來看!比w礦工就都過來把那一頁賬目抄寫一份,貼在自己賬本的最后面,然后又開始新的記賬過程。
在這個過程中,經(jīng)常會出現(xiàn)這樣一種情況:兩個礦工同時解出了題目,這時要怎么辦呢?
前面的文章也曾經(jīng)講過:“在任何區(qū)塊里,第一條都是沒有轉(zhuǎn)出地址的,就是所謂的CoinBase(挖礦交易)。沒有任何人付給礦工這筆錢,礦工只是理所應當?shù)膶懮献约韩@得了12.5比特幣。所有節(jié)點都認可礦工這樣寫,因此礦工就得到了挖礦收入。不同的礦工在填寫區(qū)塊的時候,數(shù)據(jù)一定是不一樣的,因為每個礦工的第一條肯定不一樣,礦工只會把挖礦收入轉(zhuǎn)入自己的地址!
由于每個礦工的區(qū)塊數(shù)據(jù)都不一樣,所以他們解題得出的結果也是不一樣的,都是正確答案,只是區(qū)塊不同。于是,區(qū)塊鏈在這個時刻,出現(xiàn)了兩個都滿足要求的不同區(qū)塊。那么,全體礦工這時該怎么辦呢?
由于距離遠近,不同的礦工看到這兩個區(qū)塊是有先后順序的。通常情況下,礦工們會把自己先看到的區(qū)塊復制過來,然后接著在這個區(qū)塊開始新的挖礦工作。于是,出現(xiàn)了這樣的情景:
我們把這種現(xiàn)象叫做分叉。
在以工作量證明機制為共識算法的區(qū)塊鏈系統(tǒng)中,這個問題是這樣被解決的:從分叉的區(qū)塊起,由于不同的礦工跟從了不同的區(qū)塊,在分叉出來的兩條不同鏈上,算力是有差別的。形象地說,就是跟從兩個鏈礦工的數(shù)量是不同的。由于解題能力和礦工的數(shù)量成正比,因此兩條鏈的增長速度也是不一樣的,在一段時間之后,總有一條鏈的長度要超過另一條。當?shù)V工發(fā)現(xiàn)全網(wǎng)有一條更長的鏈時,他就會拋棄他當前的鏈,把新的更長的鏈全部復制回來,在這條鏈的基礎上繼續(xù)挖礦。所有礦工都這樣操作,這條鏈就成為了主鏈,分叉出來被拋棄掉的鏈就消失了。
最終,只有一條鏈會被保留下來,成為真正有效的賬本,其他都是無效的,所以整個區(qū)塊鏈仍然是唯一的。
注意,能夠讓區(qū)塊鏈保證數(shù)據(jù)唯一性的前提是:所有礦工都遵從同樣的機制。
還有一種情況,就是礦工不遵從同樣的機制,那么也會出現(xiàn)分叉。這種分叉又有兩種情況:一是由于整個區(qū)塊鏈系統(tǒng)軟件的升級,一部分礦工沒有來得及升級,出現(xiàn)了遵從不同機制產(chǎn)生的分叉。當這部分礦工升級系統(tǒng)后,這個分叉就會消失,我們稱這種分叉為軟分叉。二是由于礦工之間出現(xiàn)分歧,一部分礦工決定采用不同的機制,產(chǎn)生出來的分叉是不會消失的。我們一般把這種分叉稱為硬分叉。
軟分叉很好理解,我們重點談談硬分叉。
區(qū)塊鏈圈里第一個有影響力的硬分叉應該是以太坊的分叉事件。以太坊上一個著名的項目The DAO由于其自身漏洞,導致黑客竊取了當時價值約6000萬美元的以太幣。2016年7月,以太坊開發(fā)團隊通過修改以太坊軟件的代碼,在第1920000個區(qū)塊強行把The DAO及其子DAO的所有資金全部轉(zhuǎn)到一個特定的退款合約地址,從而“奪回”黑客所控制的DAO合約幣。由于一部分礦工并不認同這個修改,于是形成兩條鏈,一條為以太坊(ETH),一條為以太坊經(jīng)典(ETC),各自代表不同的社區(qū)共識以及價值觀。當以太坊發(fā)生了這次硬分叉后,產(chǎn)生了兩條區(qū)塊鏈。由于這兩條鏈在發(fā)生分叉之前的數(shù)據(jù)都是一樣的,一個非常有意思的現(xiàn)象出現(xiàn)了:原本持有以太幣(ETH)的人,發(fā)現(xiàn)自己除了持有原有的ETH外,又有了相同數(shù)量的ETC。
也就是說,憑空的多出了一些資產(chǎn)。這些資產(chǎn)的價值具體怎樣,還要看市場交易情況。但總的來說,區(qū)塊鏈的硬分叉,沒有減少資產(chǎn),反而讓人手里多了一種資產(chǎn),看上去總歸是一件不虧的事情,于是區(qū)塊鏈分叉就成了一種資產(chǎn)憑空增加的方式。
在2017年8月1日,由ViaBTC領導的礦工團體創(chuàng)建一個比特幣分叉——Bitcoin Cash(簡稱BCC或BCH)。這次分叉,讓大量的比特幣持有者憑空的增加了一種新的數(shù)字貨幣(BCH)。
硬分叉這種創(chuàng)造貨幣的方式和ICO非常類似,于是一個新的名詞誕生了——IFO(Initial Fork Offerings)。礦工團隊在創(chuàng)造分叉的同時,可以在分叉發(fā)生的區(qū)塊中,利用自己的特權,分配一些貨幣給自己或其他人(直接寫成CoinBase交易即可),然后再開放讓所有人都可以參與挖礦。
隨著越來越多的硬分叉發(fā)生,比特幣的公信力是否還能像以前一樣?IFO會不會成為比特幣的殺手?還需要時間的考驗。
作者簡介
敖萌,現(xiàn)就職于中國信息通信研究院北京泰爾英福網(wǎng)絡科技有限責任公司,主要研究模式識別和區(qū)塊鏈,