Ethash
維基百科,自由的 encyclopedia
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]