Go-Ethereum

為什麼 .ethash 文件夾中有兩個完整的 R23 文件(DAG 文件)?

  • April 26, 2017

我正在使用 Ubuntu 14.04 並在其中執行 go-ethereum。在 ~/.ethash/ 文件夾中,我看到挖礦開始時創建了兩個 DAG 文件。第一個是在挖礦開始後立即創建的,第二個是在一段時間後創建的。我有興趣知道它的原因。

每 30,000 個區塊(其中 30,000 個區塊稱為一個紀元)生成一個新的 DAG 文件。這種機制為 Ethash 算法提供了一些新鮮的工作。

在 30,000 個區塊結束時,客戶希望盡快從目前的 DAG 切換到下一個 DAG。為此,提前生成下一個DAG文件。

文件中:

Ethash PoW 難以記憶,因此基本上可以抵抗 ASIC。這基本上意味著計算 PoW 需要根據隨機數和塊頭選擇固定資源的子集。這種資源(幾千兆字節大小的數據)稱為 DAG。DAG 每 30000 個區塊(一個 100 小時的視窗,稱為一個 epoch)完全不同,並且需要一段時間才能生成。由於 DAG 僅取決於塊高度,因此可以預先生成,但如果不是,則客戶端需要等待此過程結束才能生成塊。

如果你想阻止預生成(我不明白你為什麼會這樣做,但這是你的網路……),那麼你可以在命令行上這樣做。

禁用 DAG 的自動預生成?

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