Sha256

中本聰是否打算允許中間狀態計算來加速散列?

  • March 27, 2015

比特幣的設計允許電腦使用 SHA256 壓縮函式的 2 次迭代而不是 3 次迭代來計算雜湊值,但每 2^32 次嘗試中只有 1 次。

當中本聰為比特幣選擇 SHA256d 時,他是否打算允許這樣做?

我認為 Satoshi 在他第一次創建比特幣時並沒有意識到可以通過使用中間狀態來優化散列程序。

如果你看這裡,你會看到在礦工中內置了中間狀態優化的第一個比特幣版本是 0.3.5 版(文章中說 0.3.6,但你可以看到有人引用他的文章首先閱讀 0.3.5)。他還說它是由一個叫做 tcatm 的人實現的。

同樣在 0.3.6 中,更快的散列:

  • 得益於 tcatm 的中間狀態記憶體優化

中本聰在這裡再次提到 tcatm ,試圖通過告訴人們他們將獲得更好的雜湊率來鼓勵他們升級到 0.3.8。

有可能他知道這是可能的,只是沒有時間實施它,我想我們可能永遠無法確定。但是 Gavin Andresen 就中本聰不知道的事情發表了演講,他推測中本聰不是一個非常先進的密碼學家,基於比特幣做出的一些決定。因此,他可能不知道他選擇的雜湊函式的內部工作原理,而只是認為 SHA256d 被認為是一種安全的雜湊函式。


編輯:這可能是 tcatm 提出中間狀態散列優化的原始文章:https ://bitcointalk.org/index.php?topic=648.0 。

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