輸入算力與難度
比特幣單人挖礦(solo mining)計算機要解答的問題範圍雖窄,卻十分重要:在特定算力與目前網絡難度下,於選定期間內找到一個區塊的統計機率是多少?這與礦池收益計算機不同,後者是在特定支付方式(例如 PPS+ 或 PPLNS)下估算收益。單人挖礦計算機建模的是機率;礦池計算機建模的則是某種記帳方案下的預期現金流。兩者不應互相替代解讀。
所需的兩項輸入是礦工的算力與目前比特幣網絡難度。難度是一個無量綱數值,表示目前工作量證明(proof-of-work)目標相對於協議中定義的最低難度而言有多困難;難度本身並非目標值,難度數字越高,代表目標越低、越難達成。根據比特幣開發者文件中關於比特幣挖礦運作方式的說明,難度每 2,016 個區塊會根據上一週期的實際挖礦耗時調整一次。
輸入算力時應格外謹慎。礦機的標稱算力(rated hashrate)是一項規格參數,而其本地顯示值與礦池回報的估算值,反映的是不同的測量方法與時間窗口。應選擇能夠代表所建模運作條件的算力數值,並檢查其平均化窗口是否已經涵蓋停機時間。本文所有計算均將算力視為一項明確陳述的常數輸入假設。
遵循 Rosenfeld 在其比特幣礦池獎勵系統分析中所提出的挖礦模型,標準的預期區塊數公式為:
λ = (H × t) / (2^32 × D)
其中 H 為算力(每秒雜湊次數)、t 為時間週期(秒)、D 為目前難度,λ 為該期間內的預期區塊數。這是一個期望值,本身並不等於機率。
預期時間與機率的差異
對單人挖礦計算機常見的誤讀,是把「找到一個區塊的預期時間」當成一個確定的期限。它其實是一個統計平均值,計算方式為:
T_expected = (2^32 × D) / H
在泊松(Poisson)近似模型下,於預期時間點前找到至少一個區塊的機率僅約為 63.21%(1 − e⁻¹)。這意味著在該確切時間點,仍有 36.79% 的機率是尚未找到任何區塊。若要達到 50% 的機率門檻,實際所需時間會更早,約為預期時間的 0.693 倍;而要達到 90% 的機率門檻,所需時間則較晚,約為預期時間的 2.303 倍。無論算力或期間多大,都不會產生字面意義上 100% 的機率。
一般公式為:
P(至少找到一個區塊) = 1 − e^(−λ)
P(零區塊) = e^(−λ)
真正描述「零獎勵風險」(zero-reward risk) 的,是這兩項輸出結果——而非單獨的預期時間數字——亦即單人礦工在選定期間內完全沒有獲得任何區塊獎勵的機率。
計算選定的時間範圍
以下實例計算採用一個示意性的比特幣網絡難度數值:132.72 T(即 132.72 × 10^12)。由於難度大約每兩週調整一次,將其視為固定值的計算僅屬情境模擬,而非長期預測。讀者可在自行計算前,查閱目前比特幣挖礦難度與手續費數據。
假設單台 ASIC 礦機標稱算力為 200 TH/s(2.00 × 10^14 次雜湊/秒),持續不間斷運作,且為方便說明而將難度視為固定值。
| 輸出項目 | 結果 |
|---|---|
| 找到一個區塊的預期時間 | ≈32,988 天(約 90.3 年) |
| 每日預期區塊數 | ≈0.00003031 |
| P(24小時內至少找到一個區塊) | ≈0.003031%(約 1/32,988) |
| P(365.25天內至少找到一個區塊) | ≈1.1011% |
| P(365.25天內零區塊) | ≈98.8989% |
實務上的解讀是:在此難度下,以 200 TH/s 運作,計算機可能顯示大約 90 年的預期等待時間。這個數字並不代表挖礦 90 年後一定會找到一個區塊。它的意思是,若將眾多相同的 200 TH/s 挖礦過程平均計算,找到第一個區塊所需的平均時間約為 90 年。而在此算力下的任何一個單一年度期間內,完全找不到任何區塊的機率仍接近 98.9%。這正是單人挖礦中「零獎勵風險」的核心意涵:礦工即使在條件不變的情況下運作了相當長的一段時間,仍可能完全沒有獲得任何區塊獎勵。
預期區塊數 λ 與算力呈線性關係,因此算力提高一倍,預期等待時間就會減半。在本例所示的低機率範圍內,算力提高一倍也大約會使一年內至少找到一個區塊的機率翻倍,但在此難度水平下,一年內零區塊的機率仍維持在 97% 以上。下表在相同難度假設下說明此一關係。
| 算力 | 找到一個區塊的預期時間 | P(1年內≥1個區塊) | P(1年內0個區塊) |
|---|---|---|---|
| 100 TH/s | ≈180.6 年 | ≈0.552% | ≈99.448% |
| 200 TH/s | ≈90.3 年 | ≈1.101% | ≈98.899% |
| 500 TH/s | ≈36.1 年 | ≈2.730% | ≈97.270% |
| 1 PH/s | ≈18.1 年 | ≈5.386% | ≈94.614% |
這些數字使用相同的基於難度的公式,並假設在所述算力下連續不間斷運作一年(365.25 天);未針對停機時間作出調整,此部分將於下文另行討論。
計入停機時間
上述所有結果均假設連續運作。但實際上,礦工在任何一年內的實際運作時間,都會因維護保養、電力中斷、韌體更新及其他停機因素而減少。由於 λ 與運作時間呈線性關係,停機時間會按正比降低預期區塊數。找到至少一個區塊的機率則必須根據調整後的期望值重新計算;它並不會與正常運作時間比例(uptime)呈直接線性關係。
若 u 為日曆週期內實際進行挖礦的時間比例,而 λ 假設為在該運作算力下連續不間斷運作所得,則:
λ_adjusted = u × λ
P(至少找到一個區塊) = 1 − e^(−λ_adjusted)
P(零區塊) = e^(−λ_調整後)
舉例來說,若上表中那台 200 TH/s 的礦機全年運作時間不是 100%,而是 95% 的正常運行時間(uptime),則一年內至少找到一個區塊的機率會從約 1.1011% 降至約 1.0464%,而零區塊的機率則會上升至約 98.9536%。將原本的機率直接乘以 0.95 之所以能得出接近的近似值,僅僅是因為此處的機率本身很小。
要將停機時間納入考量,應該將曆法期間乘以正常運行時間比例,或將運作算力乘以正常運行時間比例——但兩者不能同時使用。若計算機採用額定算力與完整曆法期間、卻未對正常運行時間進行調整,在有停機情況時便會高估機率。
在使用實測算力時,應檢查其測量區間。若平均值僅在機器運作期間測得,則應搭配正常運行時間調整使用。若平均值涵蓋整個曆法期間、且已包含停機時間,則不應再重複進行相同的折減。本地設備顯示值與礦池回報的估算值可能採用不同的方法與時間區間,因此應選擇具代表性的數值,並明確說明其所測量的內容。
比較礦池收益
獨立挖礦(solo mining)機率計算器與礦池收益計算器所回答的是不同的問題,不應合併為單一結果輸出。獨立挖礦計算器所得出的是在指定期間內找到一個有效區塊的機率,以及相應的統計期望等待時間。相對地,礦池計算器則是根據特定支付方式,利用算力、網路難度、區塊獎勵與礦池費用等輸入值,估算每日或週期性的挖礦收益。BTC 價格只是將估算出的 BTC 收益換算成法幣價值;BTC 價格上升本身並不會增加實際挖出的 BTC 數量。
ViaBTC 的收益計算器(Profit Calculator)屬於礦池收益工具,而非獨立挖礦機率工具。它接受 BTC 價格、難度、有效算力與 PPS 費率等輸入值,並依據其公開說明的 PPS+ 計算方法,產生每日預估收益數字,詳情請參閱ViaBTC 如何計算挖礦收益。在 PPS+ 模式下,礦工獎勵中的區塊補貼(block subsidy)部分依照 Pay-Per-Share(PPS)方式計算,而交易手續費部分則依照 PPLNS 方式分配;這是兩個計算邏輯不同的獨立組成部分,而非單一的混合費率。ViaBTC 於 2026 年 5 月 18 日發布的官方公告指出,SOLO 支付方式已於 2026 年 5 月 20 日(UTC+8)起在其所有幣種礦池中停用,因此收益計算器不應被解讀為模擬獨立挖礦支付模式的工具。
對於正在考量應採用哪種方式的讀者而言,實際上的關鍵區別在於波動性(variance),而非在簡化假設下的期望值。獨立挖礦會將礦工獲得獎勵的全部機率集中於離散且不頻繁發生的事件上——如上文所示,單台機器可能數年都找不到一個區塊。相對地,在諸如 PPS+ 這類機制下,礦池挖礦會將礦工所貢獻算力的份額,轉換為較小額但較頻繁的收款,從而平滑掉獨立礦工原本須獨自承受的波動性。然而,這並不會消除電費、託管費用、礦池手續費或 BTC 價格波動暴露等基本挖礦經濟因素;它改變的是收款的時間點與波動性,而非改變全部的財務考量因素。在將任何礦池估算結果與獨立挖礦機率結果進行比較之前,想評估哪種方式更適合自身算力與風險承受能力的讀者,可先參考 ViaBTC 目前的礦池費用,以及關於為何礦池顯示算力可能與 ASIC 算力不同的說明。
常見問題
使用一般 ASIC 進行比特幣獨立挖礦的機率是多少?
機率完全取決於算力相對於當前網路難度的比例。在難度為 132.72 T 的情況下,以 200 TH/s 計算,一年內至少找到一個區塊的機率約為 1.1%,意味著找不到任何區塊的機率約為 98.9%。在這類低機率情況下,算力的變化會使找到區塊的機會產生大致成比例的變化;但實際結果仍應以機率公式為準。
獨立挖礦計算器能否預測我何時能收到獎勵?
不能。它所計算的是期望(平均)等待時間以及機率分佈。即使到了期望等待時間那一刻,已經找到區塊的機率也僅約為 63.2%,並非保證。
為什麼計算器需要同時輸入算力與難度?
預期區塊數是由「所執行的總算力工作量」與「在當前難度下找到一個區塊所需的統計工作量」之間的比例推導而得。若缺少其中任一輸入值,機率計算便不完整。
比特幣獨立挖礦計算器是否等同於礦池收益計算器?
不是。獨立挖礦計算器估算的是找到區塊的機率以及相應的零收益風險。而礦池收益計算器(例如 ViaBTC 的收益計算器)則是依據指定的礦池支付方式估算預期收益,並不對獨立挖礦機率進行建模。
停機時間是否會影響計算出的機率?
會。預期區塊數與正常運行時間(uptime)呈直接線性關係,但機率本身並非如此。若 λ 為連續運作下的預期區塊數,u 為正常運行時間比例,則調整後的機率為 1 − e^(−uλ)。若算力輸入值本身已是涵蓋整個曆法期間、已將停機時間平均在內的數值,則不應再額外進行一次正常運行時間的折減。
參考資料
- 比特幣開發者指南——挖礦:https://developer.bitcoin.org/devguide/mining.html
- Mempool.space 挖礦儀表板:https://mempool.space/mining
- Rosenfeld,《比特幣礦池挖礦獎勵系統分析》,arXiv:https://arxiv.org/abs/1112.4980
- ViaBTC 幫助中心——收益如何計算:https://support.viabtc.com/hc/en-us/articles/7207397084047-How-are-profits-calculated
- ViaBTC 幫助中心——礦池算力與礦機算力的差異:https://support.viabtc.com/hc/en-us/articles/7574354263183-Why-is-the-Hashrate-Shown-in-the-Mining-Pool-Lower-than-that-of-the-Mining-Machine
- ViaBTC 幫助中心——關於全部幣種停止 SOLO 支付方式的公告:https://support.viabtc.com/hc/en-us/articles/16155896619151-Announcement-on-the-Discontinuation-of-SOLO-Payment-Method-for-All-Coins


