Synchronization

從系統中刪除 .ethash 文件夾及其內容是否安全?

  • October 13, 2016

作為第一次嘗試乙太坊,我開始從https://www.ethereum.org/下載適用於 OSX 的乙太坊錢包。當我意識到下載區塊鏈需要多長時間時,我終止了下載並刪除了應用程序。環顧我的 Mac,我看到我有一個目錄~/.ethash,並且它有一個名為full-R23-0000000000000000. This file is about 1GB.

我是否認為這是區塊鏈(或至少是我下載的部分)?如果我不想在這台機器上使用乙太坊錢包,我可以安全地刪除它嗎?

該文件是乙太坊挖礦計算的一部分,可以安全地從您的機器中刪除。它不是區塊鏈的一部分,而只是區塊鏈的副產品。

如果您確實想再次在您的機器上執行乙太坊錢包,乙太坊軟體將在需要時生成此文件。

是的,您可以刪除該文件。

1. 什麼是.ethash

Ethash是乙太坊的工作證明雜湊算法。該算法是 GPU 記憶體密集型的,以阻止 CPU 探勘和 ASIC 的未來發展。

2. 意圖。

**IO 飽和:**該算法應該消耗幾乎所有可用的記憶體訪問頻寬(這是一種實現 ASIC 阻力的策略,理由是商品 RAM,尤其是在 GPU 中,比商品計算能力更接近理論最優值)

**GPU 友好性:**我們嘗試讓使用 GPU 進行挖礦變得盡可能簡單。以 CPU 為目標幾乎肯定是不可能的,因為潛在的專業化收益太大,並且確實存在對 CPU 友好算法的批評,即它們容易受到殭屍網路的攻擊,因此我們將 GPU 作為一種折衷方案。

**輕客戶端可驗證性:**輕客戶端應該能夠在 C 桌面上在 0.01 秒內驗證一輪挖礦,在 Python 或 Javascript 中在 0.1 秒內驗證一輪挖礦,最多 1 MB 記憶體(但呈指數增長)

輕客戶端減速:使用輕客戶端執行算法的過程應該比使用完整客戶端的過程慢得多,以至於輕客戶端算法不是實現挖礦的經濟可行途徑,包括通過專用硬體. 輕客戶端快速啟動:輕客戶端應該能夠完全執行並能夠在 40 秒內用 Javascript 驗證塊。

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

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

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