以太課堂|一文看懂區塊鏈挖礦技術原理

區塊鏈行業龍頭:比特大陸,

一家上千億估值的獨角獸,有94%的收入來自礦機銷售,

半年近7.5億美元的淨收入刷新了資本圈對挖礦行業的陳舊看法,

挖礦概念也在一次席捲圈外人,

本文將用最通俗的語言帶你瞭解挖礦背後的原理!

我們從眾所周知的比特幣切入。

比特幣挖礦,其中有兩點傳播最為廣泛:

其一,隨著時間的推移,挖礦難度越來越大。

其二,挖礦人數約多,挖礦難度越來越大。

這兩個結論看似簡單且廣為傳播,然而它的背後卻蘊含著極其複雜的原理。當我們搞清楚這兩個原因時,也就能加深對挖礦以及哈希算法了。

以太課堂|一文看懂區塊鏈挖礦技術原理

1

首先,區塊鏈挖礦的本質是:生成一個區塊,鏈入區塊鏈的過程,就是挖礦。挖礦的人,便是礦工。

那區塊又是什麼呢?

區塊是一塊儲存空間,可以儲存數據。而無數區塊被串在一起,便是區塊鏈。對這些無數區塊的管理方式,便是按照一個約定好的方式進行串連。而這個方式便是哈希算法。也就是挖礦的本質。

以太課堂|一文看懂區塊鏈挖礦技術原理

舉個栗子:

比如有一筆交易,從A地址轉入B地址。我們需要將其記錄嵌入到區塊鏈上。我們首先是需要對這個信息進行“翻譯”,因為在區塊鏈的世界裡所有的行為都是被哈希算法加密後記錄的。就比如我們想將一句法語記錄到只有中文系統的軟件裡。我們首先需要將其統一化。

以太課堂|一文看懂區塊鏈挖礦技術原理

而這個“翻譯”的行為,是需要有人來操作的。那麼就需要礦工。礦工通過哈希算法將這個信息“翻譯”並打包成一個區塊。然後嵌入這條區塊鏈的“末端”。

那麼難點就來了:我們想要嵌入區塊鏈的“末端”,就需要先找到上一個位於末端的那一個區塊,即前一個區塊。

前面我們說了,在區塊鏈世界裡運用的是“哈希加密”的方式運行的。這就是難點所在:哈希加密是不可解密的!沒錯,只有加密這個過程,卻沒有解密這個逆向操作。不過,因為它的這種特質,區塊鏈也擁有了絕對安全的優勢。

2

那麼,如果我們想找到這個區塊鏈的合適位置,並且使之能將信息成功記錄到區塊鏈上,到底該怎麼操作呢?

以太課堂|一文看懂區塊鏈挖礦技術原理

窮舉法,沒錯,最簡單粗暴的方式,這也是對礦機的運算能力有高要求的原因。

具體來講,假如對最新的區塊頭進行兩次SHA256計算,得到的256bit哈希結果,高位48bit是0x00000000FFFF,才算挖礦成的話,那麼其概率為:(1/2)^48

這就好比在一座山上隨手撿一塊石頭,正好是一塊金子。我想,這也正是把生成區塊並記錄叫做“挖礦”的原因。

也許會有人說,只要礦機運算時間足夠久,那麼總能挖到礦呀?

錯,這時你得了解一下上述提到的低二個廣為流傳的觀點:越多人參與進來,挖礦難度越大!

為什麼呢?

原因是這樣的:如果別人計算能力強,在你挖到礦之前,如果別人先打包完成區塊,並找到正確的位置並嵌入。那麼就算你找到了,因為不是第一個,你所打包好的這個區塊就被視為作廢。此時你需要更新最新的區塊鏈重新挖,才有可能挖到礦。

以太課堂|一文看懂區塊鏈挖礦技術原理

再回過頭來看上文提到的第一條:隨著時間推移,挖礦難度越來越大。這到底是為什麼呢?

簡單來說,因為區塊太多,鏈條越來越長,區塊的加密計算位數會越來越多,越來越複雜。再加上比特幣每四年減少一半的特點,這就加大了我們挖礦的難度係數了。如果你想獲得等額的比特幣,之前你只需要打包100個區塊,就能獲得一個比特幣獎勵。隨著比特幣四年減半的特點,現在你至少需要一千乃至上萬個有效區塊。

3

最後,我們聊點實際也是大家最關係的問題:到底通過什麼方式我們可以提升挖礦速度呢?

以太課堂|一文看懂區塊鏈挖礦技術原理

我們不妨先從原理角度出發:

“緩存”是無效的:每個區塊鏈的哈希值都不同,歷史計算過的值無法通過“查表”的方式來節省時間。

“scale up縱向擴展”是有效的:增強CPU的計算能力,使用特殊的芯片計算哈希是有效的。

“scale out橫向擴展”也是有效的:單機總是有極限的,那麼可以並行,一臺搶不到,搞群集,這也是為什麼會有那麼多礦場的原因。

看完本文,在題頭提到的兩個被普遍傳播的挖礦特點,我相信你已經有了屬於你自己的理解方式。後面,以太財經將會更通俗易懂的給你帶來區塊鏈世界裡其他專業知識。


分享到:


相關文章: