Ethash
Ethash是以太坊上的加密貨幣的共識算法,使用工作量証明。[1] Ethash也使用Keccak,一種已標準化為SHA-3的散列函数。 但Ethash與SHA-3並不相同,不應將兩者混淆。
由版本1.0開始,Ethash已被設計為抵制ASIC,主要方法為藉著極大量的隨機查表,加重記憶體的負載,ASIC無法再利用專用線路而加速。[2]
Ethash是從Dagger-Hashimoto算法改動而成的。[3][4][5]Ethash使用一個初始值為1GB的DAGdataset及一個初始值為16MB的假亂數表cache,它們的內容每30000個區塊就會重新計算,這個30000區塊的間隔稱為epoch。每個epoch所產生的內容都會增大,因此1GB與16MB都只是初始值。
礦工會存儲整個dataset和cache,而輕客户端只需要存儲cache。礦工挖礦時將找到的nonce填入區塊頭,並需要以SHA-3形式不斷查表尋求MIX值以計算該區塊的解。[1]
抵制ASIC的原因
由於工作量証明的核心是Hash運算,運算得愈快的礦工將愈大機會挖掘到新的區塊而獲得更多貨幣收益。礦工的挖礦設備亦由CPU演變為GPU,再由GPU演變為ASIC。礦機門檻的提升導致了礦工人數下降,大多數的收益集中於少部份礦工,這種節點的集中與區塊鏈的原意去中心化是相違背的。因此,Ethash的計算過程中增加了對內存的要求而抵抗ASIC礦機的優勢。
参考文献
- . 8 February 2018 [8 February 2018]. (原始内容存档于2019-03-28).
- Rudlang, Marit. (PDF). Norway: NTNU: Norwegian University of Science and Technology. Jun 2017: 52–53 [29 September 2018]. (原始内容存档 (PDF)于2018-01-23).
- Dryja, Thaddeus. (PDF). Semantic Scholar. [2019-01-30]. (原始内容存档 (PDF)于2017-08-10).
- Tikhomirov, Sergei. (PDF). International Symposium on Foundations and Practice of Security. 17 Feb 2018, (FPS 2017): 206–221 [29 September 2018]. (原始内容 (PDF)存档于2018-01-23).
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.