Hash
一個不斷改變 10 個雜湊函式順序的算法是否會受到 ASIC 的保護?
讓我們想像一個基於 10 個雜湊函式的雜湊函式。對於每個輸入,它都會改變 10 個雜湊函式的順序。因此,例如:
Hello, World! -> md5 -> sha256 -> sha512 -> sha3_256 ... -> resulted hash -> sha256 (additionally)
Hello, World? -> shake_256 -> md5 -> sha256 -> sha3_256 ... -> resulted hash -> sha256 (additionally)
為這樣的算法創建一個ASIC是不可能的嗎?如果是的話,什麼對蠻力有效?
為這樣的算法創建ASIC是不可能的嗎?
不,實際上這很容易。
然後,您設計單個蠻力核心的方式是為使用的每個散列函式配備一個散列引擎、一個輸入生成器、一個散列驗證器和一個智能互連。
然後,當您想強制呼叫排序 1 時,輸入生成器會輸出猜測以及互連的路由/排序資訊,然後以適當的順序將其發送到適當的引擎。由於您一次只針對一個訂單,您甚至可以將其設為互連的狀態寄存器。然後,一旦第一個引擎處理完第一條數據,互連接收回它,檢查其排序寄存器並將其發送到下一個引擎,同時接受來自輸入生成器的對該排序的下一個猜測,該猜測被迅速發送到第一個引擎。
為這樣的算法創建ASIC是不可能的嗎?
正如您在上面所看到的那樣,對於 ASIC,沒有一種算法真的很難暴力破解。最好的希望是最佳ASIC 配置將(接近)現代 CPU 的配置,但即便如此,該算法也有可能不會使用 CPU 的特定部分,例如專用 ASIC 可以使用的 FP 核心降低。