一個經典故事,讓你3分鐘搞懂比特幣挖礦

買賣虛擬貨幣

作者 | 晏文春出品|白話區塊鏈

在之前的科普文章裡,白話區塊鏈介紹過比特幣挖礦:礦工透過不斷試錯,直到找到合適的隨機數,新的區塊被挖出,得到對應的區塊獎勵和交易手續費獎勵。

有部分小夥伴在後臺留言,希望能更具體的介紹一下挖礦的過程。今天白話區塊鏈就換一個角度來介紹,讓你三分鐘搞懂比特幣挖礦。

01講個故事給你聽

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

02比特幣挖礦就是召喚“神龍”

召喚神龍需要集齊7顆龍珠。比特幣挖礦和召喚神龍很相似,需要集齊6顆“龍珠”,才能召喚出比特幣。我們先來了解一下,比特幣區塊的構造。

比特幣區塊主要由兩部分組成:區塊頭和區塊體。區塊體用來裝載該區塊打包的所有交易,一個裝載滿交易資訊區塊體,其大小約在1M左右(為了便於理解,我們以最原始的1M限制來舉例,目前常常會突破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個位元組取雜湊值,如果這個值小於或等於系統給定的難度目標值,那麼就算是找到了合適隨機數,就能成功“召喚神龍”——挖出新區塊,得到比特幣獎勵。這就是比特幣挖礦的過程。

03小結

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

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

機智如老鐵,這下肯定清楚了比特幣挖礦是怎麼回事了!如果覺得不錯,嘗試給身邊的小夥伴科普一下吧。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;