跳至主要內容

如何安全保管助記詞?

U
作者:UKey Wallet

使用助記詞恢復錢包時,有極小機率會輸入錯誤的單字(不在備份中,而是在助記詞庫中)並且仍然能夠使用 區塊鏈 錢包對其進行 恢復。

以下是這種極不可能發生的情況的一些例子和解釋。

首先,我們要先了解助記詞的構造過程,才能理解為什麼助記詞輸入錯誤還能使用。

創建助記詞:

使用 BIP-39 中概述的標準化程序,錢包自動產生助記詞。錢包從熵源開始,然後在將隨機數映射到單字列表之前添加校驗和:
1. 建立一個 128 至 256 位元隨機數。
2. 使用該隨機數的校驗和作為 SHA256 雜湊值的前幾位(前四位取自 12 位輔助位)。
3、在隨機序列的末端新增校驗和。
4. 將序列分成 11 位元的兩半。
5.每個帶有11位元分量的數字對應一個已經有2048個字的字典。
6. 助記符是音節的合成序列。

而當輸入錯誤的單字時,如下例所示(僅第一個位置輸入錯誤)。

皮夾生成的助記詞為:絲帶語音框黑色對立星系劃分任一管最大累明顯

SHA256 哈希:00101011 11111111

mceclip3.png

人為錯誤輸入的助記符是:肋骨音框黑色對立星系劃分任一管最大累明顯

SHA256 雜湊值:00101011 11101010

mceclip4.png

每個 SHA256 對的前四位都是相同的,表示校驗和同樣相同。

由於兩對助記詞均符合BIP39,因此都可以使用區塊鏈錢包來恢復。

如果我們從機率上做一個基本的解釋:先隨機選取一個單字當最後一個助記詞,然後隨機選取其他11個助記詞,當助記詞為12位時,我們可以找到一組正確的單字16次,而24位助記詞則為256次。

因此,「輸入錯誤的單字並收到有效的助記詞」是典型的情況,但這並不意味著助記詞安全性不準確。

助記詞有時會被誤認為是“腦錢包”,儘管它們不是同一回事。

主要區別在於,腦錢包由用戶選擇的單字組成,而助記詞是隨機生成並呈現給用戶的。

兩者最顯著的差異在於助記詞更安全的方面;畢竟,人類產生隨機數的能力有限。

這意味著,僅僅因為BIP39相容的助記詞經過了人工測試,並不意味著使用錢包生成的助記詞是不安全的;兩種助記詞在安全性方面有所不同;錢包生成的助記詞更隨機(即更安全),而腦錢包(助記詞錯誤)不太可能隨機生成和使用。

錢包使用加密安全的方法(例如硬體TRNG)產生真正的隨機數,因此用戶通常選擇的助記詞無法保證隨機性的品質。


是否回答了您的問題?