Ethereum-Classic

Ethash 是如何工作的?

  • October 16, 2021

我查看了 wiki 以搜尋有關 Ethash 算法的資訊,但我沒有找到答案。

我在哪裡可以找到有關它的詳細資訊,或者有人可以解釋一下嗎?

該算法採取的一般路線如下:

  1. 存在一個種子,可以通過掃描塊頭直到該點來為每個塊計算種子。
  2. 從種子中,可以計算出 16 MB 的偽隨機記憶體。輕客戶端儲存記憶體。
  3. 從記憶體中,我們可以生成一個 1 GB 的數據集,其屬性是數據集中的每個項目僅依賴於記憶體中的少量項目。完整的客戶端和礦工儲存數據集。數據集隨時間線性增長。
  4. 探勘涉及抓取數據集的隨機切片並將它們散列在一起。通過使用記憶體重新生成您需要的特定數據集片段,可以在記憶體不足的情況下進行驗證,因此您只需要儲存記憶體即可。

大型數據集每 30000 個塊更新一次,因此礦工的大部分工作將是讀取數據集,而不是對其進行更改。

有關此算法的設計原理注意事項,請參閱 Ethash-Design-Rationale


更多來源:

黃皮書第 15 頁。

Ethash在 github 上的 Ethereum wiki 中。

引用自:https://ethereum.stackexchange.com/questions/39949