工作量證明

(重定向自Proof-of-work system

工作量證明(Proof-of-Work,PoW)是一種對應服務與資源濫用、或是阻斷服務攻擊的經濟對策。

一般要求使用者進行一些耗時適當的複雜運算,並且答案能被服務方快速驗算,以此耗用的時間、設備與能源做為擔保成本,以確保服務與資源是被真正的需求所使用。此概念最早由Cynthia Dwork英语Cynthia DworkMoni Naor英语Moni Naor於1993年的學術論文提出[1],而工作量證明一詞則是在1999年由Markus Jakobsson英语Markus Jakobsson與Ari Juels.[2]所發表。現時此技術成為了加密貨幣的主流共識機制之一,如比特幣所採用的技術。

技術原理

工作量證明最常用的技術原理是雜湊函數。由於輸入雜湊函數 的任意值 ,會對應到一個 結果,而 只要變動一個位元,就會引起雪崩效應,所以幾乎無法從 反推回 ,因此藉由指定尋找 的特徵,讓使用者進行大量的窮舉運算,就可以達成工作量證明。

我們若指定 16進位值的前四值,求 ,這樣統計上平均約要運行216 雜湊運算,才會得到答案,但驗算只要進行一次就可以了。如果想要增加難度,那就增加指定的位數即可。以SHA256函數舉例,假設我們要處理資料Hello World,並找出 前四值為0000的 ,如果從Hello World0開始加上一個十進位ASCII進行窮舉猜測,到Hello World107105時才會得到符合條件的 

0000BFE6AF4232F78B0C8EBA37A6BA6C17B9B8671473B0B82305880BE077EDD9

驗算時只要將Hello World107105代入SHA256函式一次即可。

加密貨幣的應用

由於加密貨幣多由區塊鏈所建構,而區塊鏈本來就要依賴雜湊函數來做為資料正確無誤的擔保,所以在加密貨幣上使用工作量證明,是非常簡明的設計。由分散在各處的計算機,競賽誰能最早找出,搭配原本要打包的資料的窮舉猜測值(nonce),誰就等同獲得該區塊的打包權(記帳權)。此猜測值被找出後,與資料、雜湊值一起打包成塊後廣播,經多數節點確認與承認,打包者就能獲得打包該區塊所提供的獎勵。[3]一般採用工作量證明的加密貨幣,好比比特幣,會設定成隨著參與競賽的算力增減,而調整找尋猜測值的難度,以維持合理的運作速度。

  • 優點
    • 架構簡明扼要、有效可靠。
    • 由於要獲得多數節點承認,那攻擊者必須投入超過總體一半的運算量(51%攻擊),才能保證篡改結果。這使得攻擊成功的成本變得非常高昂,難以實現。
    • 某種程度上是公平的,你投入越多的算力,你獲得打包權的機率也等比增加。
  • 缺點
    • 非常浪費能源。投入在一種加密貨幣上的能源,可能會超過一個小型國家的總使用量。[4]
    • 由於加密貨幣在世界上已成為一種投資標的,所以技术人员開發出了由ASIC組成的特製計算设备(矿机),壟斷算力。這與加密貨幣的去中心化思想背道而馳。
      • 也因此,後期開發的加密貨幣有針對抗ASIC的演算法設計,例如以太坊採用的Ethash(Dagger-Hashimoto)算法。
      • 後期開發的加密貨幣陸續使用了POS機制(例如以太坊)或DPOS機制(例如比特股﹑EOS)。

目前使用 PoW 機制的虛擬貨幣,市值排名前十的為[5]

  1. BTC 比特幣
  2. DOGE 狗狗幣
  3. LTC 萊特幣
  4. XMR 門羅幣
  5. ETC 以太坊經典
  6. BCH 比特幣現金
  7. CFX
  8. BSV
  9. ZEC
  10. RVN

參考

  1. ^ 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). 
  2. ^ 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). 
  3. ^ 揭秘比特币和区块链(二):什么是工作量证明?. [2017-09-22]. (原始内容存档于2018-11-07). 
  4. ^ 全球瘋挖礦,挖幣總耗電量竟與一個國家用電量一樣高!. [2017-09-22]. (原始内容存档于2020-10-01). 
  5. ^ PoW 工作量證明是什麼意思?和 PoS 比較如何?PoW 已經過時了嗎?. CoinDada. 2023-07-30 [2023-08-15]. (原始内容存档于2023-08-15). 

參閱

外部連結