工作量證明
工作量證明(Proof-of-Work,PoW)是一種對應服務與資源濫用、或是阻斷服務攻擊的經濟對策。一般要求使用者進行一些耗時適當的複雜運算,並且答案能被服務方快速驗算,以此耗用的時間、設備與能源做為擔保成本,以確保服務與資源是被真正的需求所使用。此概念最早由Cynthia Dwork和Moni Naor於1993年的學術論文提出[1],而工作量證明一詞則是在1999年由Markus Jakobsson與Ari Juels.[2]所發表。現時此技術成為了加密貨幣的主流共識機制之一,如比特幣所採用的技術。
工作量證明系統的核心特性在於其非對稱性:證明者需完成適度困難(但可行)的計算工作,而驗證者能極高效地驗證結果。Hal Finney於2004年透過「可重用工作量證明」(RPOW)概念將此機制應用於數位代幣,採用160位元SHA-1演算法[3]。
背景與發展
[编辑]工作量證明的早期應用是1997年英國密碼學家Adam Back開發的Hashcash系統,該系統要求電子郵件發送者執行少量計算任務,藉此抵禦垃圾郵件。其運作基於尋找符合特定特徵的雜湊值(如特定前導零數量),此過程需消耗計算資源,形成「證明」機制。
工作量證明演算法持續演進以應對新挑戰:
- 2009年比特幣採用SHA-256演算法,開創PoW於去中心化共識的應用,透過動態難度調整維持約10分鐘出塊時間。
- 2011年萊特幣引入Scrypt記憶體密集型演算法,旨在抵抗ASIC專業礦機,初期提升普通硬體參與度,後仍被專用ASIC突破。
- 抗ASIC演算法持續發展(如XMR的RandomX),透過增加記憶體依賴或隨機指令設計降低專業硬體優勢。
技術原理
[编辑]工作量證明最常用的技術原理是雜湊函數。由於輸入雜湊函數的任意值,會對應到一個結果,而只要變動一個位元,就會引起雪崩效應,所以幾乎無法從反推回,因此藉由指定尋找的特徵,讓使用者進行大量的窮舉運算,就可以達成工作量證明。
我們若指定的16進位值的前四值,求,這樣統計上平均約要運行216次雜湊運算,才會得到答案,但驗算只要進行一次就可以了。如果想要增加難度,那就增加指定的位數即可。以SHA256函數舉例,假設我們要處理資料Hello World,並找出前四值為0000的,如果從Hello World0開始加上一個十進位數ASCII進行窮舉猜測,到Hello World107105時才會得到符合條件的:
0000BFE6AF4232F78B0C8EBA37A6BA6C17B9B8671473B0B82305880BE077EDD9
驗算時只要將Hello World107105代入SHA256函式一次即可。
協議類型
[编辑]- 挑戰-響應協議:服務器動態生成挑戰,客戶端求解後返回響應。難度可即時調整,搜索空間通常有界。
- 解決方案-驗證協議:客戶端自主選擇問題並求解(如Hashcash),服務器驗證問題與解的有效性。多屬無界概率迭代過程。
加密貨幣的應用
[编辑]由於加密貨幣多由區塊鏈所建構,而區塊鏈本來就要依賴雜湊函數來做為資料正確無誤的擔保,所以在加密貨幣上使用工作量證明,是非常簡明的設計。由分散在各處的計算機,競賽誰能最早找出,搭配原本要打包的資料的窮舉猜測值(nonce),誰就等同獲得該區塊的打包權(記帳權)。此猜測值被找出後,與資料、雜湊值一起打包成塊後廣播,經多數節點確認與承認,打包者就能獲得打包該區塊所提供的獎勵。[4]一般採用工作量證明的加密貨幣,好比比特幣,會設定成隨著參與競賽的算力增減,而調整找尋猜測值的難度,以維持合理的運作速度。
截至 2025 年,使用PoW機制的虛擬貨幣,市值排名前十的為:[5][6]
- BTC 比特幣
- DOGE 狗狗幣
- LTC 萊特幣
- BCH 比特幣現金
- XMR 門羅幣
- ETC 以太坊經典
- KAS (Kaspa)
- BSV (Bitcoin SV)
- CFX (Conflux)
- ZEC (Zcash)
優點
[编辑]- 架構簡明扼要、有效可靠。
- 由於要獲得多數節點承認,那攻擊者必須投入超過總體一半的運算量(51%攻擊),才能保證篡改結果。這使得攻擊成功的成本變得非常高昂,難以實現。
- 某種程度上是公平的,投入越多的算力,獲得打包權的機率也等比增加。
缺點
[编辑]- 消耗大量能源。投入在一種加密貨幣上的能源,可能會超過一個小型國家的總使用量。[7]
- 由於加密貨幣在世界上已成為一種投資標的,所以技术人员開發出了由ASIC組成的特製計算设备(矿机),壟斷算力。這與加密貨幣的去中心化思想背道而馳。
工作量證明演算法類型
[编辑]- CPU限制型:運算速度取決於處理器性能,易受硬體代際差異影響。
- 記憶體限制型:運算速度受記憶體延遲或頻寬制約,對硬體演進敏感度較低。
- 有用工作量證明 (PoUW):2022年提出的Ofelimos協議將共識機制與優化問題求解結合,使計算資源產生實際價值[8]。
比特幣的實現與挑戰
[编辑]
環境爭議
[编辑]工作量證明機制因高能耗引發環境擔憂:
參閱
[编辑]参考文献
[编辑]- ^ Dwork, Cynthia; Naor, Moni. Pricing via Processing, Or, Combatting Junk Mail, Advances in Cryptology. CRYPTO’92: Lecture Notes in Computer Science No. 740 (Springer). 1993: 139–147 [2017-09-22]. (原始内容存档于2017-11-26).
- ^ Jakobsson, Markus; Juels, Ari. Proofs of Work and Bread Pudding Protocols. Communications and Multimedia Security (Kluwer Academic Publishers). 1999: 258–272 [2017-09-22]. (原始内容存档于2017-04-17).
- ^ RPOW - 可重用的工作量證明. nakamotoinstitute.org. [2024-01-17]. (原始内容存档于2023-06-19).
- ^ 揭秘比特币和区块链(二):什么是工作量证明?. [2017-09-22]. (原始内容存档于2018-11-07).
- ^ PoW 工作量證明是什麼意思?和 PoS 比較如何?PoW 已經過時了嗎?. CoinDada. 2023-07-30 [2023-08-15]. (原始内容存档于2023-08-15).
- ^ 按市值排名的工作量證明代幣. CoinMarketCap. [2025-02-05]. (原始内容存档于2025-04-09) (英语).
- ^ 全球瘋挖礦,挖幣總耗電量竟與一個國家用電量一樣高!. [2017-09-22]. (原始内容存档于2020-10-01).
- ^ Fitzi, Matthias. 組合優化的有用工作量證明 (PDF). IACR Crypto 2022會議. [2022-09-09]. (原始内容存档 (PDF)于2022-09-09).
- ^ 劍橋比特幣電力消耗指數 (CBECI). www.cbeci.org. [2020-02-20]. (原始内容存档于2020-03-02).
- ^ 劍橋比特幣電力消耗指數. 劍橋另類金融中心. [2020-09-30]. (原始内容存档于2020-09-29).
- ^ Vorick, David. 加密貨幣挖礦現狀. 2018-05-13 [2020-10-28]. (原始内容存档于2020-03-10).
- ^ Michael J. Casey; Paul Vigna. 遏止「51%攻擊」的短期方案. Money Beat (華爾街日報). 2014-06-16 [2014-06-30]. (原始内容存档于2020-08-15).
- ^ 比特幣交易費佔比. 手續費與獎勵比率. [2025-03-17].
- ^ Bateman, Tom. 歐盟監管機構要求禁止工作量證明挖礦以節約能源. euronews. 2022-01-19 [2022-01-22]. (原始内容存档于2022-04-19) (英语).
- ^ Sigalos, MacKenzie. 紐約州長簽署首個打擊比特幣挖礦法案. CNBC. 2022-11-23 [2022-12-04]. (原始内容存档于2022-12-03) (英语).
外部連結
[编辑]- Finney's system. [2019-04-10]. (原始内容存档于2007-12-22).
- bit gold Bit gold(页面存档备份,存于互联网档案馆). Describes a complete money system (including generation, storage, assay, and transfer) based on proof of work functions and the machine architecture problem raised by the use of these functions.
- 阿波羅11號電腦運算能力比較(說明不同設備的算力差異)