Go-Ethereum

為什麼 geth 使用 scrypt 進行密鑰派生?

  • October 25, 2017

據我了解scrypt,設計為計算密集型,因此計算需要相對較長的時間。geth需要這個乾什麼?以及為什麼它不使用,例如,SHA-256

使用 scrypt 的全部意義在於使暴力攻擊變得昂貴。

對於普通使用者打開加密錢包來說,scrypt 和 sha2 之間沒有太大區別,兩者都低於 1 秒。

但是如果你想破解一個加密的錢包,那就大不相同了。例如,假設每次嘗試使用 scrypt 錢包將花費 100 毫秒,而對於 sha2 將花費不到 1 毫秒。這要容易兩個數量級。

按照這個例子,使用 scrypt 攻擊需要 100 年才能成功,但對 sha2 的攻擊只需 1 年就可以成功。

引用自:https://ethereum.stackexchange.com/questions/29070