Asic

是否可以通過簡單地根據前一個塊的散列和隨機數添加確定性排列來使算法具有 ASIC 抗性?

  • March 23, 2014

我正在考慮在散列之前對塊中的位進行置換,以便在保持 SHA-256 安全性的同時要求採礦硬體具有一定的適應性。

排列將取決於前一個塊的雜湊值,因此無法預期。它們還依賴於隨機數,因此每個散列必須執行一次置換步驟,從而防止單個外部 CPU 有效地預處理數據。

一個簡單的算法範例:

播種一個偽隨機數生成器,將前一個塊的散列附加到隨機數。在 1 和塊長度之間繪製 1000 對偽隨機數(以位為單位)。交換對應於這些對的位。使用 SHA-256 散列。

在我看來,這些排列以電子方式實施會特別麻煩,我認為這可能會提高 ASIC 實施的成本。

您的解決方案至少需要一年時間,直到動態可重新配置的 FPGA 出現在市場上。然後動態創建任何邏輯電路都是可能的,因此高效的 FPGA 將大大優於 CPU。

參見例如:http ://en.wikipedia.org/wiki/Partial_re-configuration

在創建新的加密貨幣時,必須對工作量證明算法做出妥協。選擇的算法應該是 CPU-only,還是相反?兩種選擇都有其優點和缺點。

如果創建者使用易於在 ASIC 或 GPU 上執行的算法,那麼潛在礦工的門檻就會提高 - 這意味著沒有蠕蟲會嘗試創建大量 0wned 電腦來探勘貨幣,但這也意味著人們只能用 CPU 挖礦不會有興趣在發佈時探勘它,因為他們知道他們很快就會被設置。

另一方面,如果他們有目的地選擇一個 CPU,那麼會有很多人參加發布會並開始探勘硬幣,但這也意味著殭屍網路也將開始探勘它,有些人將使用雲計算或共享 CPU (他們的或從他人那裡開采的)。

看一個實際的例子,看看 Primecoin 推出時發生了什麼:最終的純 CPU 代幣(存在一些實驗性 GPU 礦工,但可惜 - 它們的能力不如 CPU 礦工),一些蠕蟲很快開始傳播以招募機器把它們交給我的。

此外,很多人會在這些服務上使用他們的帳戶,這些服務會根據你使用的 CPU 數量向你收費,並開始使用他們的共享時間來探勘 Primecoin - 以至於這些伺服器提供商的一些伺服器崩潰了,而其他人則啟動了這些礦工違反服務條款。

引用自:https://bitcoin.stackexchange.com/questions/18633