Mining-Theory

為什麼 SHA3 不利於 ASIC?

  • August 28, 2017

比特幣使用 SHA-256 加密,乙太坊使用 SHA3 加密。為什麼 SHA-256 加密的礦工可以猜測 TH/s 的雜湊,而 SHA3 加密的礦工只能在 MH/s 中散列?算法更複雜嗎?

我不是專家,但我擅長探勘學術文獻,這就是我發現的與 FPGA 和 ASICS 相關的 SHA3(與 SHA2 相比)。


請注意,這篇論文的歷史可以追溯到 2011 年,由於 NIST 在 2015 年才發布了 SHA3 標準,因此 SHA3 的獲勝者尚未確定。看看這篇論文中的 Keccak 結果。ASIC 領域,至少是具有特定雜湊目的的 ASIC,在過去 6 年中發生了很大變化,而且這些數字可能不是最新的。

這些圖表(和相應的表格)表明,對於所有考慮的 FPGA 系列和兩個散列函式變體(具有 256 位和 512 位輸出),Keccak 是唯一始終優於 SHA-2 的候選者。


一篇也很老的論文可以追溯到 2010 年,有跡象表明 Keccak (SHA3) 比 SHA-256 更快。

圖 5 說明了架構差異如何影響性能結果。一些曲線,如 Keccak 和 Luffa 的曲線,非常陡峭。這意味著面積的小幅增加會產生顯著的性能改進。


另外,我不知道乙太坊有任何 ASIC,它們目前正在使用 GPU 進行探勘。您可能已經知道:GPU 的速度比 ASIC 慢很多,因此處於 MH/s 範圍內也就不足為奇了。

你的前提是有缺陷的。我認為對 ASIC 有利是 Keccak 獲勝的原因之一:在 ASIC 參考實現的決賽入圍者中,它既是最快的,又具有最佳的性能/面積比。

順便說一句,如果您認為它只使用簡單的和/xor/rot/not 操作,就很容易理解為什麼在硬體中流水線更容易,從而消除了 SHA-2 中討厭的 32 位加法器。

雖然 SHA-3 在軟體中確實較慢,但我們不要忘記它的設計目的是不易受到長度擴展攻擊,因此可以使用單個 SHA-3 代替比特幣的雙 SHA-2。

參考:

  • <http://csrc.nist.gov/groups/ST/hash/sha-3/Round2/Aug2010/documents/papers/SCHAUMONT_SHA3.pdf>
  • <https://keccak.team/keccak.noekeon.org/is_sha3_slow.html>

順便問一下,ASIC 阻力有什麼意義?“礦池阻力”更重要,這可以通過設計散列(而不是散列!)以一種不會向礦工隱瞞任何資訊的方式來實現,也許就像讓整個塊成為散列的主題一樣容易而不僅僅是頭部。

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