Wallet

流行錢包客戶端常用的錢包“詞種”是什麼,有什麼作用?

  • March 19, 2022

我一直在使用非常舊的 Multibit 經典版本,最近決定升級。我試用了 Multibit HD 和 Electrum,發現它們都讓我設置了一個帶有“單詞種子”的錢包。它只是一串隨機單詞,顯然在算法中使用。問題是,它究竟做了什麼?有人告訴我它會為你生成私鑰,而你只需要那個詞種子,你就可以恢復/生成你所有的私鑰。這究竟是如何工作的?在種子上使用什麼算法來生成密鑰?

正如Multibit 在其網站上警告的那樣,這些詞顯然非常重要:

要恢復你的錢包並恢復你的比特幣,你必須有你的錢包的話。

用你的錢包的話,你可以恢復你的比特幣。你必須保證你錢包裡的單詞安全,因為任何知道你錢包裡的單詞的人都可以竊取你的比特幣。

根據 Multibit 對它們的評價,種子詞似乎是私鑰的替代品。我個人非常喜歡擁有我的私鑰的想法,那麼我為什麼要滿足於這個詞種子呢?有些人顯然認為它足夠安全:12 字的助記詞足夠安全嗎?,但它足夠有用嗎?

這些問題:包含多個地址的錢包是否有一個私鑰?為什麼相同的12 個單詞會在 Electrum 錢封包件中產生不同的種子?提示這裡發生的事情,但缺乏細節。看起來這個片語是“分層確定性”錢包,因此是“Multibit HD”中的“HD”。

這個問題準確地表達了我的擔憂:對私鑰進行未加密備份重要嗎?

使用HD 錢包,單個密鑰可用於生成整個密鑰對。這個單一的鍵作為樹的“根”。種子一詞只是表示用作根的密鑰的一種更易於人類閱讀的方式,因為它可以通過算法轉換為根私鑰。這些單詞,按照這個順序,總是會生成完全相同的密鑰。

該單一密鑰不會替換所有其他私鑰,而是用於生成它們。您所有的地址仍然有不同的私鑰……但它們都可以通過一個密鑰恢復。

將此與非確定性錢包進行比較。在非確定性錢包中,每個密鑰都是自行隨機生成的,它們不是從公共密鑰中播種的。因此,錢包的任何備份都必須儲存用作地址的每一個私鑰……以及 100 個左右的未來密鑰的緩衝區,這些密鑰可能已經作為地址發出但尚未收到付款。

分層確定性錢包不需要備份這麼多數據。給定根密鑰,可以重新計算它曾經給出的每個地址的私鑰。反過來,可以通過輸入單詞種子來重新計算該根鍵。

相關BIPS:

<https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki> <https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki>

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