2009 年 1 月 3 日,中本聰(Satoshi Nakamoto)用一台普通的桌面 CPU 挖出了比特幣創世區塊。當時網路難度為 1——相當於全網僅需約 7 MH/s 的算力。在接下來的一年半裡,只要有免費電力,任何擁有個人電腦的人都能以划算的速率挖到新比特幣。

到了 2011 年 6 月,網路難度已達到 1,000,000——百萬倍的增長。那台 2009 年每天能挖幾十枚比特幣的桌面 CPU,此時已完全挖不到任何東西。挖礦硬體軍備競賽已將比特幣從愛好者的玩物轉變為工業級計算事業。

這就是那段轉型的歷史:從 CPU 到 GPU 再到 FPGA 的三階段演化,壓縮在 36 個月內無情加速的技術升級。

I. CPU 時代:2009 年 1 月 – 2010 年 7 月

在比特幣誕生的頭一年半裡,挖礦完全依靠 CPU。原始比特幣客戶端(bitcoind)使用基於哈希的工作量證明演算法,任何標準處理器都能執行。

2009 年典型的桌面 CPU——Intel Core 2 Duo 或 AMD Athlon——大約能產生 1-10 MH/s。中本聰在早期無競爭的情況下,每十分鐘就能挖到 50 BTC 區塊獎勵,每天超過 7,200 BTC。

日期事件意義
2009 年 1 月 3 日創世區塊被挖出難度 1,CPU 時代開始
2009 年 12 月 30 日第一次難度調整小幅調整,仍為 CPU 時代
2010 年 5 月 10 日Laszlo 在 Bitcointalk 發布 OpenCL 原型首次有記錄的 GPU 挖礦概念
2010 年 7 月 17 日Bitcoin v0.3 發布重大協定改進

2010 年 5 月 10 日,Bitcointalk 用戶 Laszlo(後來因 10,000 BTC 買披薩而聞名)發布了首個 GPU 挖礦探索。他的 Intel Core 2 Duo E8600(4.1 GHz)使用兩個執行緒達到約 1.8 MH/s。但 Laszlo 的關鍵洞見是:GPU 向量處理器——專為大規模平行圖形渲染設計——可能比通用 CPU 更適合 SHA-256 哈希計算。

此時全網算力僅約 5-10 MH/s——比一臺現代 ASIC 礦機在十億分之一秒內產生的算力還少。

II. GPU 革命的開始:ArtForz 與秘密礦場

GPU 時代並非始於公開軟體發布。它始於秘密之中。

2010 年 7 月 18 日,化名礦工 ArtForz 使用自建的私密 OpenCL GPU 礦機挖出了他的第一個區塊。ArtForz 自行編寫了運行在 ATI Radeon GPU 上的 OpenCL 實現——比任何公開 GPU 礦機的發布早了數月。他的礦場據報由 6-8 張 ATI Radeon 顯示卡組成,使他對仍然全是 CPU 礦工的網路擁有巨大且隱密的優勢。

ArtForz 的成就是 Bitcoin Wiki 記載的第一個經確認的 GPU 生成區塊案例。保密是其策略核心:只要 ArtForz 是唯一的 GPU 礦工,他就能獨佔那些原本需要一小批 CPU 礦工才能取得的區塊。

但這個優勢不可能持久。GPU 挖礦潛力的消息在 Bitcointalk 論壇上迅速傳播,打造首個公開 GPU 礦機的競賽開始了。

III. 懸賞與 CUDA 發布:puddinpop 的 GPU 礦機

2010 年 9 月 14 日,比特幣開發者 Jeff Garzik 在 Bitcointalk 上發布了一則不尋常的懸賞:10,000 BTC(當時約值 $600-650),獎勵給願意開源 GPU 挖礦軟體的人。

目標是一位名為 puddinpop 的開發者,他建立了一款閉源的 CUDA GPU 礦機,運行在 NVIDIA 顯示卡上。數週以來,puddinpop 憑藉顯著的算力優勢秘密挖礦。Garzik 的懸賞加上社群壓力,最終說服 puddinpop 在 2010 年 9 月 15 日至 18 日期間以 MIT 授權發布了原始碼。

這是第一個公開可用的比特幣 GPU 礦機。使用 NVIDIA 的 CUDA 框架在一張 8800 GTS 上,該礦機達到約 3.3-3.8 MH/s——約為當時 CPU 效能的兩倍。

但 CUDA 礦機有一個致命限制:它只能運行在 NVIDIA 硬體上,而比特幣礦工的電腦中 NVIDIA 只佔少數。真正重塑挖礦格局的突破,在兩週後到來。

IV. OpenCL 革命:m0mchil 將 GPU 挖礦推向大眾

2010 年 10 月 1 日 UTC 時間 06:21:59,Bitcointalk 用戶 m0mchil 發布了「python OpenCL bitcoin miner」——比特幣史上第一個公開的 OpenCL 礦機。

這個發布是截至當時比特幣挖礦史上最重要的軟體事件。OpenCL(開放運算語言)是一個開放的跨平台框架,既能運行在 NVIDIA 也能運行在 ATI/AMD 顯示卡上。與 NVIDIA 專有的 CUDA 不同,OpenCL 將 GPU 挖礦普及到所有硬體平台。

影響是立竿見影的。ATI Radeon 顯示卡——特別是 HD 5000 系列——在 SHA-256 哈希計算上的效能大幅超越 NVIDIA 同級產品。原因是架構性的:ATI 的流處理器專為平行整數運算設計,而 SHA-256 正是此類運算;NVIDIA 的 CUDA 核心則針對浮點圖形工作負載進行了最佳化。

V. ATI 的霸權:為何 Radeon 碾壓 GeForce

ATI 與 NVIDIA GPU 在比特幣挖礦上的效能差距是驚人的:

GPU 型號典型算力 (MH/s)功耗 (W)能效 (MH/s/W)
NVIDIA 8800 GTS (G80)3.3-3.8~1400.024-0.027
ATI Radeon HD 5770146-195~1081.35-1.81
ATI Radeon HD 5830328-335~1751.87-1.91
ATI Radeon HD 5850354-432~1512.34-2.86
ATI Radeon HD 5870313-481~1881.66-2.56
ATI Radeon HD 5970 (雙 GPU)530-755~3071.73-2.46

資料來源:Bitcoin Wiki 非專業硬體對比

ATI Radeon HD 5870 在挖礦上比 NVIDIA 的 8800 GTS 快約 100 倍。HD 5970——一張售價約 $700 的雙 GPU 顯示卡——最高可達 755 MH/s,比首個公開 CUDA 礦機 快 200 倍以上

這個效能差異創造了持續多年的硬體鴻溝:比特幣挖礦成為 ATI 主導的產業,二手 Radeon 顯示卡——特別是 HD 5800 系列——形成了由挖礦需求驅動的獨立定價體系。

VI. 難度爆炸:從 1 到 1,000,000

隨著 GPU 礦工大規模加入網路,比特幣的難度調整機制以無情的向上壓力做出回應。難度每 2016 個區塊(約兩週)重新計算一次。在 CPU 時代,難度調整只是個小插曲——單位數的微調。GPU 革命改變了一切。

日期難度創世倍數經過時間
2009 年 1 月 3 日11x0
2009 年 12 月 30 日首次增加~1.2x~12 個月
2010 年 12 月 9 日10,00010,000x~23 個月
2011 年 4 月 30 日100,000100,000x~28 個月
2011 年 6 月 24 日1,000,0001,000,000x~30 個月

資料來源:Bitcoin Wiki 難度

到了 2011 年 6 月 24 日,用 CPU 挖出一個區塊在數學上已不可能——桌面處理器需要數年才能找到一個有效哈希。全網算力從 2010 年初估計的 5-10 MH/s,增長到 2011 年 3 月「神秘礦工」事件期間約 900 GH/s(900,000 MH/s),當時一個未知實體短暫貢獻了全網大部分算力。

一台在 2009 年 1 月每天能挖 50 BTC 的 CPU 礦機,到了 2011 年中,每一百年也挖不到任何東西。GPU 時代不僅是改良——而是徹底取代。

VII. 礦池的出現與個人挖礦的終結

GPU 帶來的難度暴漲產生了第二層效應,從根本上改變了比特幣的社會結構:個人挖礦在經濟上已不可行

2010 年底使用單張 Radeon HD 5870(約 400 MH/s)對抗約 10,000 MH/s 的全網算力,平均每 25 天才能找到一個區塊(賺取 50 BTC)。但方差極大:有些礦工數月無收,而另一些則一週找到兩個區塊。

2010 年 11 月 27 日,Marek Palatinus(Slush)宣布了全球第一個挖礦礦池。2010 年 12 月 16 日,Slush Pool 找到了它的第一個區塊(區塊 #97834)。按貢獻算力比例分配獎勵的聯合挖礦模式解決了方差問題,也標誌著個人挖礦時代的終結。

到了 2011 年初,礦池挖礦已成為比特幣挖礦的主要模式。從個人到集體挖礦的轉變不是選擇——而是 GPU 軍備競賽施加的數學必然。

VIII. FPGA 過渡期:2011–2012

2011 年底,一位新玩家進入了硬體競賽:現場可程式化閘陣列(FPGA)

FPGA 是可程式化邏輯晶片,能以遠優於通用 GPU 的能效執行特定計算——本例中即 SHA-256 哈希。Butterfly Labs 和 ZTEX 的典型 FPGA 礦機提供約 400-800 MH/s 的算力,功耗僅 15-30 瓦。

能效提升是巨大的:

技術典型算力典型功耗能效
CPU (2009)1-10 MH/s~95W0.01-0.11 MH/s/W
GPU (2010)300-750 MH/s~200W1.5-3.8 MH/s/W
FPGA (2011)400-800 MH/s15-30W13-53 MH/s/W

資料來源:Bitcoin Wiki FPGA 硬體對比

FPGA 時代代表了相較 GPU 的 10-15 倍能效提升。這是第一款專用挖礦硬體——專為 SHA-256 打造——並預示了 2013 年 1 月 ASIC 革命的到來。

但 FPGA 過渡期很短暫。首批 ASIC 礦機——來自 Avalon、Butterfly Labs 和 Canaan(Avalon 第一批於 2013 年 1 月出貨)——提供 50-400 GH/s 的算力,能效以 GH/s/W 而非 MH/s/W 計量。FPGA 幾乎和到來時一樣迅速地被淘汰。

IX. 結論:定義一個產業的軍備競賽

從 CPU 到 GPU 再到 FPGA 的 36 個月旅程,將一場技術革命壓縮在不到一個大學學位的時間內。在此期間:

  • 比特幣挖礦硬體效能提升了約 10,000 倍(從每台 CPU 的 1-10 MH/s 到 FPGA 的 ~800 MH/s)
  • 網路難度增加了 1,000,000 倍(從創世時的 1 到 2011 年 6 月的 1,000,000)
  • 挖礦從個人走向集體——從單一 CPU 礦工到礦池化 GPU 運營
  • ATI/AMD GPU 架構建立了挖礦硬體壟斷,NVIDIA 多年無法挑戰

這場軍備競賽的每個階段都產生了自己的老幣分層。CPU 時代(2009-2010)挖出的幣如今已是考古文物,以其獨特的交易模式和 UTXO 年齡為特徵。GPU 時代(2010 年中至 2011 年中)的幣構成中層——數量遠多但仍比 99% 的比特幣更老。而 FPGA 時代(2011 年底至 2012 年)的幣則標誌著從愛好者挖礦到工業級計算的轉折點。

硬體軍備競賽還產生了一個至今仍具影響力的意外後果:時間戳分層。2010 年 7 月 18 日在那個首個 GPU 區塊上挖出的幣,與 CPU 挖出的幣的唯一區別僅在於它們出現的區塊高度——但它們代表的是比特幣歷史上一個完全不同的時代。創造一枚幣所用的挖礦硬體在區塊鏈上不可見,但它對難度——進而對新供應時機和分布——施加的壓力,塑造了後來每一個老幣分層。

——加密典藏局 · coinage-history.com