“近似散列”可以在工作量證明環境中工作嗎?
這是一篇聲稱很快將出現在同行評審會議上的文章草稿:Matthew Vilim、Uenry Duwe、Rakesh Kumar、Approximate Bitcoin Mining。
建議以某種方式簡化 SHA-256 引擎(用於工作證明上下文),但代價是始終獲得正確的結果;並得出結論,節省的 ASIC 區域允許在同一區域上實現更多(或/和更快或/和更節能)的 SHA-256 引擎,並有可能增加所展示的預期工作量(轉化為比特幣挖礦獲得的利潤使用該設計的齒輪總體減少了 30%)。
越來越多的工作表明,產生正確 SHA-256 的比率至少增加了同樣多(在比特幣環境中:兩倍,因為在表徵有效比特幣的兩個鍊式 SHA-256 中不正確的 SHA-256 將使其被拒絕壓倒性的確定性,不會產生任何利潤;並且 SHA-256 輸入產生不正確結果的機率將在很大程度上獨立於它是否涉及有效的比特幣)。
但是,我很難相信,當我們移除任何可勝任的 ASIC 設計計算 SHA-256 以進行工作量證明的任何部分(包括進位)時,獲得正確 SHA-256 的比率不會急劇下降-被認為是面積減少目標的前瞻邏輯)。
任何消息靈通的意見+解釋?
我確實很欣賞觀察的有效性和獨創性,即使某些 SHA-256 引擎由於它使用的加法器並不總是產生正確的結果而產生一些錯誤,它仍然可能可用於工作證明應用程序,例如比特幣探勘,如果錯誤率保持足夠低;並且可以想像,這可能是有益的,因為它允許在相同的矽面積或成本下塞入更多的 SHA-256 引擎,和/或更快地執行該東西,和/或使其消耗更少的功率。
但是,當我根據文章自己的數字將使用近似加法器的解決方案與不使用這些的可比解決方案進行比較時,我與文章草稿的摘要相去甚遠:
我們的結果表明,近似有可能將採礦利潤增加 $ 30% $ .
通過表 2 中的數字,使用 KSA 16加法器的 SHA-256 實現的延遲-面積乘積僅為 $ 1-82744/90769\approx8.8% $ 低於加法器不會出錯的下一個最佳解決方案 KSA 32。當我們與該基線進行比較時,這是正確的做法,從延遲·面積的角度來看,沒有任何可用的解決方案能夠獲得更多收益(公認 KSA 8幾乎從未給出正確的 SHA-256 結果)。
更新:此外,當我們考慮到使用 KSA 16的整個電路比使用 KSA 32的電路消耗更多的功率以更高的速度執行時(如表 2 所示),考慮到功率成本的執行優勢必須是略低於僅根據延遲·面積估計的值。
然後,這種潛在的節省的缺點是某些雜湊是錯誤的,因此(在大多數 PoW 環境中,包括比特幣),任何涉及這些的東西都是毫無價值的。
據說(上面等式4)
$$ obvious correction mine $$
靈敏度來自每次迭代的三個 CPA 模 32 位加法,因此將有 $ 64\cdot3=192 $ 在單輪SHA-256 中添加”。
一個明顯的問題是有超過 $ 192 $ 在單個 SHA-256 中添加兩個 32 位操作數。看著“算法2”的虛擬碼,我數了數 $ 48\cdot3 $ 在第 7 行; $ 64\cdot4 $ 在第 10 行; $ 64 $ 在第 11 行; $ 64 $ 在第 13 行; $ 64 $ 在第 15 行; $ 8 $ 在第 17 至 20 行;總共 $ 600 $ 每個 SHA-256 添加兩個 32 位操作數。
由加法器 KSA 16(根據上述分析唯一可以節省的)執行 SHA-256 中的所有 32 位加法,規定錯誤率為 $ 4.6\times10^{-5} $ (取自表 1)因此使得 $ 1-(1-4.6\times10^{-5})^{600}\approx2.7% $ SHA-256 計算無效;因此在比特幣環境中 $ 5.4% $ 的發現毫無價值。因此,整體潛在收益將從大約 $ 8.8% $ 大概 $ 6.1% $ 對於 SHA-256,或 $ 3.4% $ 用於比特幣挖礦。
更新:再想一想,如果他們只優化時序關鍵路徑中的這幾個加法器,作者將錯誤率計入循環循環中涉及的 10 個加法器中只有 3 個是正確的,這很有意義. 加法器的有限部分的這種變化將獲得較小的尺寸優勢,但仍然允許整個電路的速度更快。這在質量上與表 1 和表 2 中的延遲和麵積數字相匹配,我們從中看到,與 KSA 32相比,使用 KSA 16的大部分好處是它允許更快的時鐘週期(以消耗功率為代價)。
我的結論是,本文研究了在比特幣等 PoW 系統中執行 SHA-256 的 ASIC 的各種加法器設計;正確地觀察到,通過將一些基本的紋波進位加法器替換為更合適的(更大但更快)仍能給出準確結果的一些基本紋波進位加法器,可以顯著改進現有設計;使用近似加法器的另一種實現報告了一些邊際額外改進(主要是由於進一步加速);但除了這個軼事證據之外,不要給出任何強有力的論據來證明近似加法器可以在基於散列的 PoW 系統中提供相當大的整體收益。
在論文中,以下評論可能是最重要的:
例如,觀察圖 4 的頻率誤差特性,對應於兩個近似加法器的雜湊核, $ \operatorname{GDA}{(1,4)} $ 和 $ \operatorname{KSA}{16} $ ,在標稱頻率下的錯誤率可以忽略不計。此外,它們的標稱工作頻率高於非近似對應物, $ \operatorname{CLA} $ 和 $ \operatorname{KSA}_{32} $ 分別。
還有人說 $ \operatorname{KSA}_8 $ 不起作用,因為錯誤率非常高,以至於 SHA-256 雜湊(幾乎)100% 肯定是錯誤的。
所以很明顯,雙 SHA-256 雜湊仍然有很大的成功率,準確地說“核心雜湊函式”的錯誤率是 $ 7.27 × 10^{−3} $ 為了 $ \operatorname{GDA}{(1,4)} $ 和 $ 8.79 × 10^{−2} $ 為了 $ \operatorname{KSA}{16} $ . 顯然,與(估計/計算的)增加的速度和減小的晶片尺寸相比,錯誤率足夠小。這並不奇怪,您應該能夠乘以雙重雜湊的成功率 $ (1-\varepsilon)^2 $ 隨著速度的增加。
請注意,不正確的陽性結果在比特幣中並不是什麼大問題;如果你找到一個散列,你可以很容易地驗證結果(目前每 10 分鐘找到一個正確的散列,並且近似的散列不太可能改變該頻率)。
顯然,失去的正確雜湊也存在問題。這意味著 - 除了更高速的探勘之外 - 還有少量應該包含比特幣的區塊失去。然而,這應該無關緊要;事先不知道一個區塊是否包含硬幣,並且錯過的區塊數量將是最小的。