Accounts
為什麼不直接使用公鑰作為賬戶地址?
我知道地址是公鑰的雜湊值。但為什麼?這個設計決定背後的理由是什麼?
為什麼是 160 位?為什麼不直接使用雜湊?未來是否保證 160 位足以滿足兼容性和安全性?
乙太坊在建構“未來”時考慮到了彈性。對於地址生成(即公私鑰對),使用橢圓曲線密碼(ECC),除其他原因外,其性能遠優於其他現有算法(例如,基於RSA)。
儘管在乙太坊中使用的橢圓曲線算法中沒有發現任何缺陷,但創始設計者希望在檢測到算法中的缺陷/漏洞時保持系統彈性,這樣就沒有人可以從公鑰逆向工程私鑰. 因為雜湊算法已經被證明對逆向工程免疫,所以在上面添加它意味著沒有人可以從地址返回私鑰(即使 ECC 算法是可利用的)。
地址的大小比公鑰小,它們可以從其他加密貨幣的地址中辨識出來,像比特幣這樣的一些地址內置了校驗和,而乙太坊地址是有效的 IBAN 帳號。