Ethereum-Classic
Ethash 是如何工作的?
我查看了 wiki 以搜尋有關 Ethash 算法的資訊,但我沒有找到答案。
我在哪裡可以找到有關它的詳細資訊,或者有人可以解釋一下嗎?
該算法採取的一般路線如下:
- 存在一個種子,可以通過掃描塊頭直到該點來為每個塊計算種子。
- 從種子中,可以計算出 16 MB 的偽隨機記憶體。輕客戶端儲存記憶體。
- 從記憶體中,我們可以生成一個 1 GB 的數據集,其屬性是數據集中的每個項目僅依賴於記憶體中的少量項目。完整的客戶端和礦工儲存數據集。數據集隨時間線性增長。
- 探勘涉及抓取數據集的隨機切片並將它們散列在一起。通過使用記憶體重新生成您需要的特定數據集片段,可以在記憶體不足的情況下進行驗證,因此您只需要儲存記憶體即可。
大型數據集每 30000 個塊更新一次,因此礦工的大部分工作將是讀取數據集,而不是對其進行更改。
有關此算法的設計原理注意事項,請參閱 Ethash-Design-Rationale 。
更多來源:
黃皮書第 15 頁。
Ethash在 github 上的 Ethereum wiki 中。