Bitcoin Cash(BCH)採用 ASERT 演算法,在每個區塊都重新計算挖礦目標值,目標是將平均出塊間隔維持在 10 分鐘。相較之下,比特幣(BTC)則是每 2,016 個區塊才重新調整一次難度。兩個網絡均共用 SHA-256 工作量證明演算法,因此同一款 ASIC 硬件可以同時挖掘這兩個網絡,但由於其調整機制不同,會影響礦工該如何解讀難度、出塊時間與短期產出。
BCH 難度調整的運作方式
自 2020 年 11 月 15 日的網絡升級以來,BCH 一直採用 ASERT(aserti3-2d)作為其難度調整演算法。該演算法透過比較已耗用的區塊頭時間與區塊高度,相對於從固定錨點(anchor)量測出的理想排程,計算出下一個區塊的目標值。在 BCH 主網上,有兩個常數定義了這項計算:600 秒的理想出塊時間,以及 172,800 秒(兩天)的半衰期(half-life)。半衰期控制的是排程偏差如何影響目標值的變化,而並非一個滾動的兩天平均值(Bitcoin Cash DAA 文件)。
BCH 先前的難度演算法採用滾動視窗(rolling window)計算方式,容易出現難度與算力的週期性震盪。採用 ASERT 的目的正是為了解決這種震盪問題,使平均出塊間隔能夠貼近 10 分鐘的目標(ASERT 規範文件)。
截至 2026 年 10 月 14 日,ASERT 仍是 BCH 目前採用的難度調整機制。由 Bitcoin Cash Node v29.0.0 支援的 2026 年 5 月 15 日網絡升級,引入了腳本與虛擬機方面的變更,但其公布的版本說明中並未列出任何取代 ASERT 的方案(BCHN v29.0.0 版本說明)。
BCH 與 BTC 比較:調整頻率與時間點
BTC 每 2,016 個區塊(約每兩週)重新調整一次難度,作法是比較已耗用的區塊頭時間與兩週的目標時間。每次調整的幅度上下限制為四倍。在兩次難度調整之間,BTC 主網的目標值是固定不變的,不論算力如何變動。
BCH 的 ASERT 則是利用相對於錨點排程的累積偏差,在每個新區塊都重新計算一次目標值。每個新區塊都會更新此偏差值。一般情況下,偏快或偏慢的區塊通常只會造成較小的影響,而異常長的出塊間隔則可能導致較明顯的調整。該演算法並不需要累積最少數量的區塊才會作出反應(ASERT 規範文件)。
這裡的重要區別在於:「一次調整」與「持續趨勢的證據」是兩回事。單一個出塊緩慢的區塊,可能會影響下一個目標值,但這並不能證明網絡算力已經下降。出塊本身是機率性的事件,因此礦工在將短期變化解讀為持續性轉變之前,應先檢視更長的觀察窗口。
對於在 BTC 與 BCH 之間作選擇的礦工而言,BCH 的目標值可以逐個區塊變動,而 BTC 的目標值則在兩次調整之間維持固定。無論哪種機制,都無法保證短期收益的可預測性。
如何解讀難度、目標值與出塊時間
目標值與難度的變動方向是相反的。數值較高的目標值較容易被滿足,對應的是較低的難度;數值較低的目標值較難被滿足,對應的是較高的難度。難度的表示方式,是以一個參考目標值除以目前區塊的目標值所得出(Bitcoin Cash 工作量證明文件)。
礦池份額(share)則採用另一套獨立的門檻,用來衡量礦工所提交的工作量。一般礦池份額的目標值,數值上通常高於網絡區塊目標值,因此找到一個份額要比找到一個有效的網絡區塊來得容易。換句話說,份額的難度較低,而不是份額的數值目標值較低。
ASERT 的計算方式,概念上可以概括如下:
next_target = anchor_target × 2^(
(time_delta − ideal_block_time × (height_delta + 1)) / halflife
)
其中,anchor_target 是錨點區塊所編碼的目標值;time_delta 是從錨點區塊的父區塊到評估區塊之間所耗用的區塊頭時間;ideal_block_time 為 600 秒;height_delta 是評估區塊的高度減去錨點高度;halflife 則為 172,800 秒。
此表達式說明了排程偏差與下一個目標值之間的關係。實際的共識計算採用的是規定的定點整數運算(fixed-point integer arithmetic)、三次多項式近似(cubic polynomial approximation)以及目標值上下限;直接以浮點運算計算指數式,並非精確的共識實作方式。這個公式所決定的是挖礦目標值,而非 BTC 或 BCH 的收益金額(Bitcoin Cash DAA 文件)。
網絡算力估算值、短視窗平均出塊時間,以及根據難度與假設算力所計算出的預期出塊時間,三者所描述的是不同的概念,不應被當作可互換的量度指標。尤其是僅以 10 個區塊計算的平均值,可能會圍繞 10 分鐘的目標出現相當大幅度的波動,因為出塊本身是機率性的。在將不同指標互相比較之前,應先確認每項指標所採用的計算方法與觀察窗口。
建立固定算力產出模型
礦工可以透過假設算力與網絡難度維持不變,估算該期間內可歸因於該算力的預期出塊數量,再乘以區塊補貼加上估計的交易手續費,藉此估算在特定期間內的預期 BCH 產出。這只是一個在固定難度假設下的規劃模型,並非保證:BCH 的難度仍會持續依照 ASERT 進行調整。"}
算力輸入應與估算目的相符。ASIC 的本地算力可支援理論產量模型,而未到達礦池或未被礦池接受的在線時間及工作量則應另行計算。礦池基於已接受份額、在足夠長的時間窗口內所作的估算,有助於評估有效貢獻工作量,不過當中存在統計上的變異。應註明資料來源及量測期間,並避免在所選輸入已反映被拒絕工作量損失的情況下,再次扣減該損失。
區塊獎勵毛額──即區塊補貼加上交易手續費──同樣有別於礦工實際獲得的支付款項。支付款項取決於礦池的支付方式、手續費結構,以及礦工的有效貢獻度。固定算力模型應明確說明其所估算的具體數值,以及如何處理上述各項差異。
在 BTC 與 BCH 之間切換前應檢查的事項
由於 BCH 與 BTC 共用 SHA-256 硬件,部分挖礦業務會根據相對盈利能力重新分配算力。切換前,應使用一致的量測期間及快照時間點,比較以下各項:
- 當前 BCH 與 BTC 的網絡難度,以及較長時間窗口內近期區塊出塊時間的表現,而非僅依賴單一區塊或 10 個區塊的樣本。
- 各鏈的區塊補貼與估算交易手續費,連同輸出估算所使用的難度數值。
- 同一時間點的 BTC 與 BCH 交易所價格,以便將兩者的輸出估算換算為共同單位(例如美元)。幣量產出、收入與扣除營運成本後的利潤屬於不同的衡量指標。
- ASIC 的實際耗電量(wall power draw)及適用電價,因為這些成本不論挖掘哪條鏈均會產生。
- 各鏈礦池的支付方式、手續費結構及結算規則,因為這些會獨立於網絡難度之外影響實際支付款項。
- 礦工在線時間,以及按原因分類的被拒絕份額,並須計入算力估算中已反映的任何損失。
礦池支付方式屬於與網絡難度不同的獨立層面,值得單獨檢視。ViaBTC 公佈的收費文件記載了 BCH 的兩種支付方式:PPS+ 與 PPLNS。在 PPS+ 模式下,區塊獎勵部分按 PPS 方式結算支付,而交易手續費部分則另按 PPLNS 方式分配。收費表列明:按 PPS 支付的區塊獎勵部分收取 4% 手續費,而按 PPLNS 分配的交易手續費部分則另收取 2% 手續費。這是針對不同獎勵組成部分的不同收費項目,並非單一綜合固定費率。在 PPLNS 模式下,兩個組成部分均根據礦工在礦池過去五個難度輪次(trailing five difficulty rounds)中所提交工作量的佔比進行分配,並於六次確認後發放(ViaBTC 收費與支付方式,查核日期為 2026 年 10 月 14 日)。
兩種支付方式均不會改變 BCH 網絡難度。它們決定的是礦池如何核算及分配獎勵:PPS 部分按已提交的有效份額支付,而 PPLNS 分配則取決於礦池所發現的區塊。
對於已經通過 ViaBTC 挖礦的業務而言,其一鍵切換地址是 Stratum 挖礦端點,並非提款錢包地址。ViaBTC 指示礦工設定該端點後,再於挖礦設置中選擇支付幣種;文件說明該變更將於 10 分鐘內生效。設定該服務時,應將挖礦連接、支付幣種設置與提款地址三者分開處理(ViaBTC 一鍵切換說明,查核日期為 2026 年 10 月 14 日)。
結論
ASERT 並不能令 BCH 挖礦收益變得可預測,也無法消除區塊發現過程中固有的變異性。對 SHA-256 礦工而言,其實際意義在於 BCH 會逐區塊地根據與固定時間表的偏差重新計算目標值。因此,難度應被視為與特定快照時間點相關聯的變動輸入值,而非每日固定不變的數字。
在比較 BTC 與 BCH 的挖礦經濟效益時,應將網絡難度、礦池份額核算及支付規則分開處理。應使用一致的資料期間,將預期幣量產出換算為共同的估值單位,並在得出盈利結論前先計入營運成本。
常見問題
BCH 難度是否每個區塊都會調整?
ASERT 會根據區塊頭經過的時間,以及相對於固定錨定時間表的區塊高度偏差,為每個下一區塊重新計算目標值。每個新區塊都會對該累積偏差有所貢獻;該計算並非僅以前一個區塊間隔作為參考依據。
對於持有固定算力的礦工而言,BCH 難度上升是否一定不利?
難度上升意味著數值目標更低,亦即每次哈希運算找到有效區塊的機率更低。在算力及所模擬期間維持不變的情況下,預期區塊產出會下降。但這本身並不能決定盈利能力:區塊獎勵、BCH 價格、礦池手續費及營運成本同樣是重要因素。
在 BTC 與 BCH 之間切換礦機,是否會改變 BCH 難度的計算方式?
不會。切換並不會改變共識公式。算力流入或流出 BCH 可能影響出塊時間,而這進而會影響其後的 ASERT 計算。ViaBTC 的挖礦端點及支付幣種設置與該網絡規則無關;而更改提款錢包地址則屬於另一項完全不同的操作。
單一異常快或異常慢的 BCH 區塊,能否顯示出持續性的難度趨勢?
單一區塊並不足以作為持續性趨勢的證據。其時間戳可能影響下一個目標值,而異常長的區塊間隔亦可能導致明顯的調整,但礦工需要較長的觀察窗口,才能區分持續性變化與隨機變異。


