學習 · 簡短解答

比特幣挖礦如何運作?

作者:CloudMineCrypto 團隊更新於 閱讀時間 5 分鐘

簡短答案

礦工會把等待確認的交易打包成一個區塊,然後開始猜。他們會一次又一次地計算區塊中 80 位元組的標頭雜湊值,每次改動一個數字,也就是 nonce,直到雜湊值低於目標值。整個網路平均需要約 10 分鐘。勝出的礦工會把區塊加入區塊鏈,並獲得獎勵:3.125 BTC 的新比特幣,以及該區塊的手續費。

重點整理

  • 區塊是一批交易,上方附有 80 位元組的標頭。
  • 挖礦就是不斷猜:更換 nonce、計算雜湊、檢查,再重來。
  • 找到有效的雜湊值很難,驗證一個只需要計算一次雜湊。
  • 獎勵是新發行的 bitcoin 加上手續費,並透過區塊中的第一筆交易支付。

實際區塊,一步步看

區塊 969,785,最新區塊

1。收集交易

礦工會從自己的記憶池中挑選待處理交易,優先選擇費率最高的交易,直到區塊填滿。這個區塊包含 3,433 筆交易。第一筆交易很特別,是 coinbase 交易,礦工會透過它支付給自己。

白話說明比特幣挖礦如何運作

定義 · 比特幣挖礦

透過找到低於網路目標值的區塊雜湊,將下一個交易區塊加入 Bitcoin 帳本的過程。這需要大量猜測。勝出者會獲得新發行的 bitcoin 和手續費。

想像一場用電力買彩券的彩票遊戲。每位礦工都會建立自己的候選區塊,再透過雜湊運算盡可能快速地買彩券。大多數彩券都不會中獎。大約每 10 分鐘,世界某處就會有人抽中,並把結果公布給所有人,接著大家又會以該區塊為基礎展開新一輪競賽。

深入了解 · 完整指南

從頭了解比特幣挖礦

獎勵、減半、難度、硬體、礦池、能源,以及挖礦現在是否划算,附即時數據。

挖出一個區塊有哪些步驟?

上方主視覺會在區塊 969,785 上播放這些內容。以下用文字說明:

  1. 1

    收集交易

    從記憶池取出等待處理的交易,依手續費率由高到低排列,再加入一筆支付給礦工的 coinbase 交易。

  2. 2

    建立梅克爾根

    將交易兩兩配對計算雜湊,逐層處理,直到只剩下一個代表所有交易的雜湊值。

  3. 3

    填入區塊標頭

    80 bytes 中的六個欄位:版本、前一個區塊的雜湊值、默克爾根、時間、目標值和 nonce。

  4. 4

    計算雜湊、更改 nonce,重複操作

    將區塊標頭輸入 SHA-256 計算兩次。如果結果太大,就更換 nonce 再試一次。

  5. 5

    找到低於目標值的結果

    雜湊值低於目標值,就是工作量證明。其他節點只要計算一次雜湊值就能驗證。

  6. 6

    領取獎勵

    區塊加入區塊鏈後,coinbase 交易會發放區塊補貼和手續費。所有人接著開始處理下一個區塊。

當 4.3 十億種可能的 nonce 都試完時,現代機器通常還不到一秒,礦工就會改動 coinbase 中一個可變更的欄位。這會產生新的 merkle root,並帶來一組全新的 nonce 可供嘗試。

Bitcoin 挖礦為什麼這麼難?

因為 SHA-256 無法預測。只要改動標頭中的一個位元,雜湊值就會完全不同,因此沒有捷徑。找到勝出者的唯一方法就是不斷嘗試,而目標值的設定,讓整個網路平均需要約 10 分鐘。

811 EH/s

全網算力

即時,每小時更新

4.9 × 1023

平均每個區塊的雜湊次數

算力 × 600 秒

約 10 分鐘

平均區塊時間

難度目標

2,016

難度變更之間的區塊數

約兩週

如果有更多機器加入,區塊會暫時更快產生;下次調整時,目標值會變得更難達成。如果有礦工離開,難度就會降低。難度指南會即時追蹤下一次調整。

我可以試著自己挖出一個區塊嗎?

可以,就在這裡。這個工具會在你的瀏覽器中,對簡化版區塊進行真正的雙重 SHA-256 運算。把難度設為前導零 5 個或 6 個,看看耗時會增加多少:

互動式 · 在瀏覽器裡挖出一個區塊

真實的 SHA-256d 工作量證明,簡化版區塊標頭

區塊 #1前一個雜湊0000000000000000000000000000000000000000000000000000000000000000Nonce(隨機數)0

區塊雜湊(雙重 SHA-256)

改動交易內容:哪怕只改一個字,雜湊也會整個變掉。

嘗試次數:0

你的算力:不適用

時間:0.0 s

每多一個前導零,難度約增加 16 倍。實際區塊通常需要約 19 或 20。想了解雜湊運算本身、可逐位元組編輯的區塊標頭,以及發動 51% 攻擊需要什麼,請看 工作量證明。

Bitcoin 為什麼需要挖礦?

比特幣沒有銀行來判定哪些付款先發生。這正是挖礦的工作。每個區塊都會依序收錄一批交易,而每個區塊都接在前一個區塊之後,因此要修改舊交易,就得重做之後所有區塊的工作。這讓已確認的付款很難撤銷。

新比特幣也會依固定時程發行,每四年減半一次。獎勵的部分會在區塊獎勵和減半中介紹。

你可以自己挖比特幣嗎?

如果有專用 ASIC、便宜電力和 礦池,可以,但利潤空間很小。手機或筆電的速度慢了數百萬倍,根本派不上用場。

The easy way to start is the CloudMineCrypto app. You mine for free with the free plan, ads, games, offers and daily check-ins, with no hardware, noise or power bill, and withdraw to your own wallet over Lightning, Bitcoin on-chain or BNB Smart Chain. Paid plans are an optional boost and usually mine less than they cost. Rewards are estimates based on live network data and aren’t guaranteed.

深入了解 · 完整指南

從頭了解比特幣挖礦

獎勵、減半、難度、硬體、礦池、能源,以及挖礦現在是否划算,附即時數據。

常見問題

簡單來說,比特幣挖礦如何運作?

礦工會把等待處理的交易打包成區塊,接著不斷猜一個數字,也就是 nonce,直到區塊的雜湊值低於目標值。最先找到符合條件結果的人,就能把區塊加進區塊鏈並獲得區塊獎勵。

礦工到底在解什麼?

沒有什麼巧妙之處。礦工要找的是雙重 SHA-256 雜湊值低於目標值的區塊標頭。找到的方法只有不斷更換 nonce、重新計算雜湊,每秒重複數兆次。

挖出一個區塊需要多久?

整個網路平均約需 10 分鐘。難度每 2,016 個區塊調整一次,讓時間維持在這個水準,不受總算力影響。

礦工挖出區塊能得到什麼?

區塊補貼為 3.125 BTC(自 2024 年 4 月起),另加區塊內所有交易的手續費。大多數區塊由礦池挖出,獎勵會由礦池中的礦工共享。

我可以在家挖比特幣嗎?

只有使用專用 ASIC 機器、電費便宜並加入礦池,才有可能做到,而且即使如此,通常也不划算。手機或筆電的速度遠遠不夠。CloudMineCrypto 這類 App 讓你不用自己運作硬體,也能免費挖礦。獎勵是估算值。

來源與延伸閱讀

  1. 《Bitcoin:點對點電子現金系統》(白皮書) · 中本聰(Satoshi Nakamoto),2008
  2. 區塊鏈指南:標頭、Merkle 樹與工作量證明 · Bitcoin 開發者文件
  3. 挖礦指南:單獨挖礦與礦池 · Bitcoin 開發者文件
  4. 區塊雜湊演算法 · Bitcoin Wiki
  5. 默克爾樹 · Bitcoin Wiki
  6. 難度 · Bitcoin Wiki

本頁即時數據來自 CloudMineCrypto API,或旁邊標示的公開區塊鏈資料服務,並依排程更新,也會在頁面上標明來源。本指南僅供學習參考,不構成財務建議。CloudMineCrypto 不是投資產品,App 內的獎勵為估算值,不保證一定能獲得。

你已經看過運作方式了。現在來看它實際跑起來。

在 CloudMineCrypto app 領取免費 8 小時挖礦方案,根據即時網路數據看你的預估 BTC 一點一點增加。不需要硬體,也不用信用卡。