學習 · 簡短解答

比特幣挖礦係點運作?

由 CloudMineCrypto 團隊撰寫更新於 5 分鐘閱讀

簡短答案

礦工會將等待處理嘅交易打包成一個區塊,然後開始猜。佢哋會不斷對區塊嘅 80 位元組標頭進行雜湊運算,每次改動一個數字,即 nonce,直到雜湊值低於目標值。全個網絡平均要用約 10 分鐘。勝出者會將區塊加入區塊鏈,並收取獎勵:3.125 BTC 新生成嘅 bitcoin,加上區塊內嘅交易費。

重點摘要

  • 一個區塊係一批交易,上面有個 80 位元組嘅標頭。
  • 挖礦就係不斷猜:改 nonce、計 hash、檢查,再重複。
  • 搵出有效嘅雜湊值好難,驗證一個只需要做一次雜湊。
  • 獎勵包括新發行的比特幣和手續費,會在區塊的第一筆交易中支付。

逐步拆解一個真實區塊

區塊 973,009,最新

1。收集交易

礦工會從自己的 mempool 中挑選待處理交易,先選手續費率最高的,直到區塊填滿。這個區塊包含 3,112 筆交易。第一筆交易比較特別,是 coinbase 交易,礦工會在其中支付獎勵給自己。

用淺白說話講,Bitcoin 挖礦點樣運作?

定義 · 比特幣挖礦

挖礦是透過找出低於網絡目標值的區塊雜湊值,將下一個交易區塊加入 Bitcoin 帳本的過程。這需要嘗試大量不同的數值。勝出的礦工會獲得新發行的比特幣和手續費。

想像有一場抽獎,每張彩票都要用電力來買。每個礦工都會自行建立一個候選區塊,然後盡可能快速計算雜湊值來買彩票。大部分彩票都不會中。大約每 10 分鐘,就會有人在某處抽中,並向所有人展示結果,然後大家會以那個區塊為基礎重新開始競逐。

深入了解 · 完整指南

由淺入深解釋 Bitcoin 挖礦

獎勵、減半、難度、硬件、礦池、能源,以及今日挖礦是否有利可圖,附有即時數據。

挖出一個區塊要經過哪些步驟?

上方主視覺會在區塊 973,009 上播放這些步驟。以下用文字說明:

  1. 1

    收集交易

    從 mempool 拿取等待處理的交易,按手續費率由高至低排列,再加入一筆支付給礦工的 coinbase 交易。

  2. 2

    建立 Merkle root

    將交易兩兩配對做雜湊,逐層處理,直到剩返一個代表所有交易嘅雜湊值。

  3. 3

    填寫區塊標頭

    六個欄位,共 80 bytes:版本、上一個區塊 hash、Merkle root、時間、目標值同 nonce。

  4. 4

    做雜湊、改 nonce,再重複

    用 SHA-256 對區塊標頭計算兩次。如果結果太大,就更改 nonce 再試。

  5. 5

    低於目標值

    低於目標值嘅雜湊值就係工作量證明。其他節點只要做一次雜湊運算就可以驗證。

  6. 6

    領取獎勵

    區塊加入區塊鏈,當中的 coinbase 會支付區塊補貼加手續費。所有人再開始處理下一個區塊。

當 4.3 十億個可能的 nonce 都試完後,礦工就會改動 coinbase 中一個預留欄位。現代機器遠不需一秒就能試完所有 nonce。改動這個欄位會產生新的 Merkle root,並帶來一批全新的 nonce 可以嘗試。

Bitcoin 挖礦為甚麼這麼難?

因為 SHA-256 無法預測。只要改動標頭入面一個 bit,雜湊值就會完全唔同,所以冇捷徑。要搵到勝出者,唯一方法就係不斷嘗試,而目標值嘅設定,令全個網絡平均要用約 10 分鐘。

876 EH/s

網絡算力

即時,每小時更新

5.3 × 1023

平均每個區塊所需嘅雜湊次數

算力 × 600 秒

~10 分鐘

平均出塊時間

難度設定嘅目標值

2,016

每次難度調整之間嘅區塊數

大約兩星期

如果有更多機器加入,區塊會有一段時間出得更快;到下次調整時,挖礦難度就會提高。礦工離開的話,難度就會降低。難度指南會即時追蹤下一次變動。

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

可以,就在這裏。這個工具會在你的瀏覽器中,對簡化版區塊實際執行兩次 SHA-256。將難度設為 5 個或 6 個開頭零,看看需要多長時間:

互動體驗 · 喺瀏覽器入面挖一個區塊

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

區塊 #1上一個雜湊0000000000000000000000000000000000000000000000000000000000000000Nonce0

區塊雜湊(雙重 SHA-256)

修改交易內容:只改一個字母,哈希值就會完全改變。

嘗試次數:0

你的算力:不適用

時間:0.0 秒

每多一個零,難度就會增加約 16 倍。實際區塊需要大約 19 或 20。想了解雜湊運算、可以逐個位元組修改嘅區塊標頭,以及發動 51% 攻擊需要啲乜,請睇工作量證明。

Bitcoin 為甚麼需要挖礦?

Bitcoin 冇銀行決定邊筆付款先發生。呢個工作由挖礦負責。每個區塊都會將一批交易排序,而每個區塊都建基於之前嗰個區塊,所以要改動一筆舊付款,就要重新完成之後所有區塊嘅工作。呢點令已確認嘅付款難以撤回。

佢亦係按固定時間表發行新比特幣的方式,每四年減半一次。獎勵部分可睇區塊獎勵同減半。

你可以自己挖 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.

深入了解 · 完整指南

由淺入深解釋 Bitcoin 挖礦

獎勵、減半、難度、硬件、礦池、能源,以及今日挖礦是否有利可圖,附有即時數據。

常見問題

簡單嚟講,Bitcoin 挖礦點樣運作?

礦工會將等待處理的交易打包成區塊,然後不斷猜一個數字,即 nonce,直到區塊 hash 低於目標值。第一個搵到結果的礦工會將區塊加入區塊鏈,並獲得區塊獎勵。

礦工到底要解決甚麼問題?

冇乜玄妙之處。佢哋只係搵一個雙重 SHA-256 hash 低於目標值的區塊標頭。搵到的方法只有不斷更改 nonce,再計一次 hash,每秒重複數萬億次。

挖出一個區塊要幾耐?

全個網絡平均約 10 分鐘。難度每隔 2,016 個區塊就會調整一次,無論總算力有幾多,都會維持喺呢個時間左右。

礦工挖出一個區塊會得到甚麼?

自 2024 年 4 月起,區塊補貼為 3.125 BTC,另加區塊內每筆交易的手續費。大部分區塊由礦池挖出,礦池會將獎勵分給旗下礦工。

我可以喺屋企挖 Bitcoin 嗎?

只有用專門的 ASIC 機器、電費夠平,再加入礦池先有可能做到;即使咁樣,通常都未必回本。手機或手提電腦速度遠遠唔夠。CloudMineCrypto 呢類 app 讓你唔使自己運行硬件,都可以免費挖礦。獎勵只屬估算。

來源及延伸閱讀

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

本頁即時數據來自 CloudMineCrypto API,或旁邊列明嘅公開區塊鏈數據服務,會按排定時間更新,並喺顯示位置標明來源。本指南只作教育用途,並非財務建議。CloudMineCrypto 不是投資產品;App 內嘅獎勵只屬估算,並不保證。

你已經了解運作方式,現在親眼看看實際情況。

喺 CloudMineCrypto app 領取免費 8 小時挖礦方案,根據即時網絡數據睇住預計 BTC 數量上升。唔使硬件,亦唔使信用卡。