使用助记词恢复钱包时,极小概率会输入错误的单词(不是在备份中,而是在助记词数据库中),但仍然可以使用区块链钱包恢复。
以下是这种极不可能发生的情况的一些示例和解释。
首先,我们要先了解助记词的构造过程,才能理解为什么助记词输入错误还能使用。
创建助记词:
使用 BIP-39 中概述的标准化程序,钱包自动生成助记词。钱包从熵源开始,然后在将随机数映射到单词列表之前添加校验和: 1. 创建 128 至 256 位随机数。 2. 使用该随机数的校验和作为 SHA256 哈希值的前几位(前四位取自 12 位辅助位)。 3、在随机序列的末尾添加校验和。 4. 将序列分成 11 位的两半。 5、每个带有11位分量的数字对应一个已经有2048个单词的字典。 6. 助记符是音节的合成序列。
而当输入错误的单词时,如下例所示(仅第一个位置输入错误)。
钱包生成的助记词为:丝带语音框黑色对立星系划分任一管最大累明显
SHA256 哈希:00101011 11111111
人为错误输入的助记符是:肋骨音框黑色对立星系划分任一管最大累明显
SHA256 哈希值:00101011 11101010
每个 SHA256 对的前四位都是相同的,表明校验和同样相同。
由于两对助记词均符合BIP39,因此都可以使用区块链钱包进行恢复。
如果我们从概率上做一个基本的解释:首先随机选取一个单词作为最后一个助记词,然后随机选取其他11个助记词,当助记词为12位时,我们可以找到一组正确的单词16次,而24位助记词则为256次。
因此,“输入错误的单词并收到有效的助记词”是典型的情况,但这并不意味着助记词安全性不准确。
助记词有时会被误认为是“脑钱包”,尽管它们不是同一回事。
主要区别在于,脑钱包由用户选择的单词组成,而助记词是随机生成并呈现给用户的。
两者最显着的区别在于助记词更安全的方面;毕竟,人类生成随机数的能力有限。
这意味着,仅仅因为符合BIP39标准的助记词经过了人工测试,并不意味着使用钱包生成的助记词是不安全的;两种助记词在安全性方面有所不同;钱包生成的助记词更随机(即更安全),而脑钱包(助记词错误)不太可能随机生成和使用。
钱包使用加密安全的方法(例如硬件TRNG)生成真正的随机数,因此用户通常选择的助记词无法保证随机性的质量。


