用一個小故事,讓你三分鐘搞懂比特幣挖礦
韭妹 / 何渝婷編譯
2019-01-31 12:18

大家都知道比特幣可以透過挖礦獲得,但對挖礦如何產生比特幣的過程一知半解,我們就透過一個小故事,讓你三分鐘搞懂比特幣挖礦。

 

這是一個遠古的傳說,世界上散落著7顆龍珠,誰集齊這7顆龍珠,並念出咒語,就能召喚神龍;神龍會實現他的一個願望。神龍在實現願望後,7顆龍珠便會自動飛散,變成石頭,一年後才可再次使用。沒錯,這個故事來自大家耳熟能詳日本著名動漫《七龍珠》。只要能看懂這個故事,就能搞懂比特幣挖礦。不信,咱走著瞧。

 

召喚神龍需要集齊7顆龍珠。比特幣挖礦和召喚神龍很相似,需要集齊6顆「龍珠」,才能召喚出比特幣。為什麼是6顆呢?我們先來瞭解一下,比特幣區塊的構造。

 

比特幣區塊主要由兩部分組成:區塊頭和區塊體。區塊體用來裝載該區塊打包的所有交易,一個裝載滿交易資訊區塊,其大小一般不超過1M。

 

區塊頭裡包含的資訊有版本、父區塊頭哈希值(也就是前一個區塊)、該區塊中梅克爾樹根的哈希值、時間戳、難度目標、隨機數(Nonce)6個字段。區塊頭的大小是固定的,只有80字節,12500個區塊頭容量大小也只有1M。

 

請注意:讀到這裡,如果發現這些名詞看不懂,沒關係,忽視它們,把它們當成是一顆顆「龍珠」,不會影響到你對挖礦的理解。

 

對於挖礦而言,收集到區塊頭裡的「6顆龍珠」就有機會「召喚神龍」。6顆「龍珠」就是區塊頭裡的6個字段,「神龍」就是挖出的新區塊,你對「神龍」許的願便是比特幣獎勵,包括創建新區塊的獎勵及該區塊中所含交易的交易費。

 

我們先來瞭解一下比特幣挖礦的6顆「龍珠」分別是什麼,容不容易得到?6個字段中,除了隨機數需要不斷試錯尋找,其他的5個字段都是很容易獲得的。

 

1、版本字段:是用來追蹤軟體升級的版本號,可自動從軟體訊息得到。

 

2、父區塊頭的哈希值:父區塊被挖出後,其區塊頭哈希值就確定了,也很容易得到。

 

3、該區塊中梅克爾樹根的哈希值:當一個區塊打包的交易確定了,這個字段也就確定,So Easy。

 

4、時間戳,是指該區塊產生的近似時間,也是確定。

 

5、難度目標:該區塊工作量證明算法的難度目標,系統給出的,同樣是確定的。

 

也就是說,區塊頭中,6顆「龍珠」中的5顆是很容易獲得的,並且是相對確定的。只有第6顆「龍珠」——隨機數(Nonce),是個不確定的、需要礦工不斷試錯尋找的變量。

 

只有找到了合適的Nonce,才能召喚出「神龍」——挖出新的區塊,得到比特幣獎勵。

 

什麼是合適的隨機數呢?對區塊頭裡的6顆「龍珠」取哈希值,如果這個值小於或等於系統給定的難度目標值,那麼就算是找到了合適隨機數,就能成功「召喚神龍」——挖出新區塊,得到比特幣獎勵。這就是比特幣挖礦的過程。

 

我們來總結一下:比特幣挖礦和《七龍珠》裡召集神龍類似,集齊6顆「龍珠」就有機會「召喚神龍」。

 

6顆「龍珠」中,其中5顆很容易得到,只有第6顆——隨機數,需要礦工不斷試錯尋找。直到找出合適的隨機數,也就是對區塊頭裡的6顆「龍珠」整體進行哈希運算,得到的值小於等於難度目標值,才算挖出新的區塊,得到相應的比特幣獎勵。

 

相比於集齊7顆龍珠能召喚神龍,集齊6顆「龍珠」能召喚比特幣,從概率角度更加困難,但挖礦確實是個好生意,所以就算再難也有人不斷入場,好在現在有很多線上挖礦平台都提供全方位的托管服務,不需要再像以前一樣自己買礦機建礦場,選擇一體化挖礦服務平台比如無尾熊礦工,不僅輕鬆省事、礦場還可保證收益不斷,並推出了「增值回購」業務,保證不會虧,可以說是很值得信賴的線上挖礦,同時也是現在動盪的幣市規避風險的最佳辦法!

 

本文為金色財經授權刊登,原文標題為「三分鐘搞懂怎麼挖出比特幣?