Cryptanalysis

記憶體硬性工作證明:它們是否抗 ASIC?

  • September 6, 2016

記憶體硬的工作量證明方案是否一定會抵抗定制 ASICS 的加速?

背景:比特幣使用基於 SHA256 雜湊的工作量證明方案。該方案受計算限制。最初,人們會在他們的 PC 或 GPU 上探勘解決方案。然而,最終人們注意到定制 ASIC(定制設計的硬體晶片)可以更快地計算 SHA256 雜湊,因此定制 ASIC 可以更高效、更快速地探勘,因此人們建構了可以更快地計算 SHA256 雜湊的定制 ASIC比任何通用 CPU。如今,ASIC 比在 PC 上挖礦具有 100 倍的優勢,因此基於 PC 的挖礦競爭力不強。

有些人建議通過設計一個記憶體硬的工作量證明方案來解決這個問題。記憶體硬方案是一種從根本上需要一些最小記憶體量(例如 1GB 的 RAM)來有效求解的方案,並且沒有有用的時間 - 記憶體權衡。這些很難設計,但假設我們能夠建構一個。例如,Cuckoo Cycle是對這種計劃的一種似是而非的嘗試。假設我們使用 Cuckoo Cycle,或者我們找到另一個方案。我看到有人認為這樣的方案將結束 ASIC 的壟斷,從而使採礦更加民主,因為 ASIC 可以加速計算受限的任務,但不能加速記憶體受限的任務。

這是我的問題。這個論點正確嗎?更具體地說,記憶體硬度是否足以確保 ASIC 不會比通用 CPU 有太多優勢?是什麼阻止了攻擊者建構定制 ASIC 併購買現成的 DRAM 晶片,以及建構將每個 ASIC 與 DRAM 晶片配對的系統?

是什麼阻止了攻擊者建構定制 ASIC 併購買現成的 DRAM 晶片,以及建構將每個 ASIC 與 DRAM 晶片配對的系統?

DRAM 記憶體已經針對每美元每秒的隨機記憶體訪問進行了相當優化。由於受記憶體限制的 PoW 等待記憶體的時間多於計算時間,因此使用 ASIC 來加速計算沒有什麼意義。瓶頸是 DRAM 延遲。ASIC 只是花費大量時間等待記憶體的一種非常昂貴的方式……


另請參閱reddit.com/r/Bitcoin/上的相關討論。出於參考目的(在不太可能的情況下,Reddit 會關門),這是我的文章的副本:

hashcash functions must be cheap to verify to achieve their purpose.

因此,記憶硬度只能通過超越 hashcash 工作量證明來實現,正如我在 cryptorias.io 上發表的“Beyond the Hashcash Proof-of-Work(探勘比雜湊更重要)”中所寫的那樣。

對高市值加密貨幣的記憶硬 PoW 的可取性是一個懸而未決的問題,沒有簡單的答案,值得更多研究。

我認為,如果它可以從根本上改變採礦經濟,達到採礦對任何人都無利可圖的程度,那將是可取的。這意味著即使是(假設的)最節能的具有定制記憶體技術的 ASIC,仍然不會有正的投資回報率,原因如下:

  1. 製造成本將遠高於用於商品計算設備的任何儲存技術,後者仍享有更大的規模經濟。
  2. 電力成本雖然低於商品儲存器,但不太可能降低一個數量級以上。

主要原因:

  1. 大量的人可能願意虧本開採,就像他們樂於玩彩票一樣。這需要非常低的進入門檻,比如一鍵在手機上安裝挖礦應用程序,充電時可以一夜之間挖礦。知道您的挖礦效率不比使用定制硬體差(大約)一個數量級會有所幫助。

當然,我並不是說這是一種可能的情況,但我認為它至少是可以想像的……

另一種考慮的可能性是有 2 個 PoW:一個計算邊界和一個記憶體邊界,在它們之間拆分塊。使用 ASIC 探勘計算受限的算法將(幾乎)有利可圖,而使用 ASIC 探勘記憶體受限的算法將無利可圖,但有助於去中心化。

儘管如此,無利可圖的挖礦絕不是使記憶體硬 PoW 成為可取的必要條件。

可以想像,為使 PoW 的記憶體訪問盡可能節能而開發的任何記憶體技術都將有利於許多其他類型的計算,尤其是在移動、太陽能和其他低功率環境中,因此不可避免地會導致商品化。

這個論點最適用於除了記憶體訪問之外做盡可能少的計算的 PoW,我相信這就是 Cuckoo Cycle 的邊緣修剪的亮點。

的,這個論點在很大程度上是正確的。如果圍繞像Argon2這樣的良好原語進行設計並進行適當的參數化,則良好的記憶體硬工作量證明方案可以相當抵制使用 ASIC 的加速;特別是,將大部分成本花在對足夠記憶體的不可記憶體訪問上,因此 DRAM 是唯一經濟的選擇。


這種策略的想法是,ASIC 破解器的(雜湊率)/(運營成本)比率可能會受到 DRAM 功率的限制,和/或其(雜湊率)/(建構成本)可能會受到 DRAM 成本的限制。從這兩個角度來看,基於 ASIC 的設計並不比基於 CPU 的設計好多少。我們可以找到關於 ASIC 可以做得更好的合理界限。

通過適當大的投資,使用當今的技術,一個理想的 ASIC 設計將把餅乾放在與 DRAM 相同的晶片上。這並不牽強:有設計工具和邏輯單元的供應商使用 DRAM 的特殊成本優化工藝。與使用商品 CPU 和 DRAM 的破解者相比,這完全節省了 CPU 和與 DRAM 的互連,以及大部分邏輯操作成本(從電源和建構的角度來看),並且可能將記憶體訪問所花費的時間減少 I由於較低的傳播和邏輯延遲以及對 DRAM 單元的優化選擇的組合,猜測最多 3 個二進制數量級(這些可能比主流 DRAM 中的快得多,但是每單元的矽面積和功率也增加了,晚上出東西)。

總而言之,我想說的是上述 ASIC 設計的成本效益不超過使用商品 CPU 和 DRAM 的定制板的 16 倍(無論是採購成本還是運營成本,忽略矽和能源採購的不確定性);對於投資能力有限的對手來說,這可能遠沒有吸引力,即使對於三字母機構來說,這實際上也是一個重要的考慮因素。這是針對記憶體硬熵拉伸函式參數化的,以使記憶體訪問(而不是邏輯操作)的成本成為限制因素,並且需要比經濟上適合 SRAM 的更多 DRAM(為了安全起見,至少 2 32位,或每個函式實例大約半 GB),並且對 DRAM 的訪問模式違反了任何記憶體策略(實現後者的一種方法是使用計算的、類似隨機的地址)。

注意:在上文中,我使用基於 DRAM 記憶體訪問的估計,因為(在我看來)與更多的 COTS 破解器設計相比,ASIC 可以希望實現的收益最嚴格。但這並不是建議在最先進的記憶硬熵拉伸函式的參數化中最大限度地減少邏輯運算的數量;相反,明智的做法是將與記憶體相關的參數泵送到可以承受成本的 2/3 的點(包括每個核心使用一些相當大的千兆字節),然後泵送計算 -相關參數,直到可以承受的範圍;這使得設計能夠跨越這兩個障礙的 ASIC 破解器的可能性降低。

引用自:https://crypto.stackexchange.com/questions/29890