• 全部
  • 产业
  • Web 3.0
  • DAO
  • DeFi
  • 符文
  • 空投再质押
  • 以太坊
  • Meme
  • 比特币L2
  • 以太坊L2
  • 研报
  • 头条
  • 投资

免责声明:内容不构成买卖依据,投资有风险,入市需谨慎!

在另一厂商钱包上恢复种子:BIP39的保证与局限

2026-08-22 03:22:34
收藏

自行保管加密资产的人通常需要从某家公司购买设备来实现。这家公司可能犯错、丢失客户数据、停止某款型号的生产,甚至某一天不复存在。由此引出一个不容回避的现实问题:你对资产的控制权是否依赖于那家公司?

答案不在厂商的营销宣传中,而在于三项公开十多年的技术规范:BIP39、BIP32 和 BIP44。任何理解这些规范内容的人,都可以不依赖广告承诺,自行判断厂商问题。同时,了解这些标准局限性的人,也明白为什么在另一家厂商的硬件上恢复时仍然经常出问题。本文将对这两点进行说明:标准能保证你什么,以及哪些地方需要你自行负责。文末有一项测试,你可以在一个安静的夜晚自行完成,它为你提供的是确凿答案,而非假设。

硬件钱包供应商锁定:实际依赖于制造商的是什么

硬件钱包是一台小型计算机,只有一项任务:生成随机数,将其安全保护,并用它签署交易,且永不泄露该数。依赖于厂商的是固件、电脑上的配套软件以及客户支持。密钥本身是否依赖厂商,取决于设备是否偏离了开放标准。这一区别是整个问题的核心。固件、配套软件和支持都是可替换的。而以专有格式存在的密钥则无法替换。这正是为什么在将资金转入设备之前,值得先阅读规范。

BIP39:128 至 256 位随机数如何变成 12 至 24 个单词

BIP39 描述了如何将随机种子值转换为便于记忆的单词序列。规范规定初始熵值必须是 32 的倍数,且介于 128 到 256 位之间。从该熵值中取其 SHA256 哈希的前 ENT/32 位作为校验和附加到末尾。结果被分割成 11 位一组,每组作为一个 0 到 2047 之间的数字,指向一个包含 2048 个单词的列表中的某个条目。规范的文本是公开的,且篇幅短小,足以在一晚读完。

这就产生了常见的长度:128 位熵值加 4 位校验和得到 12 个单词;256 位加 8 位校验和得到 24 个单词。介于两者之间的还有 15、18 和 21 个单词的变体,但较为罕见。因此,24 个单词的序列与 12 个单词的序列使用相同的技术,只是初始随机性更大。

接下来是决定厂商问题的关键表述。实际种子值是通过 PBKDF2 函数从单词序列计算得出的:以单词序列作为密码,以字符串 "mnemonic" 加上可选密码短语作为盐,迭代 2048 次,底层函数为 HMAC-SHA512,结果长度为 512 位。该过程完全确定,且在任何环节都不包含设备、固件或厂商的标识符。将相同的单词输入到另一个实现相同标准的设备中,你会得到相同的 512 位值。这就是问题的核心保障,且本质上是数学层面的。

校验和能捕获输入错误,但无法纠正

校验和很短,规范本身也说明了后果:大约每 256 次随机错误中就有一次无法被检测到,且该过程不提供任何纠错功能。在实践中,这意味着一个转录错误的单词通常会产生错误提示,但并非总是如此。在不幸的情况下,设备会接受输入并生成一个完全不同的空钱包。这正是为什么每次备份都需要进行一次检查,实际逐词读取一次。

单词列表是过程的一部分

由于计算是从单词序列本身出发,而非原始熵值,因此使用另一种语言单词列表中的相同数字序列会产生完全不同的种子值。规范明确指出了这一点,并因此推荐使用英语列表。任何使用法语或日语单词列表创建备份的人,日后都需要一个明确知道该列表的设备。使用英语列表时,该问题几乎不会出现,因为所有严肃的实现都支持它。

密码短语是一个不出现在任何备份中的单词

可选的密码短语作为盐的一部分参与计算。因此,每个密码短语都会将相同的单词序列变成其独立且完全有效的钱包。密码短语中的输入错误不会产生错误提示,而是产生一个不同的空钱包,因为该过程根本无法区分“错误”和“不同”。

在另一家厂商的硬件上恢复时,这是最常见的陷阱之一。新设备接受单词序列,显示一个空钱包,看起来像是证明了可移植性实际上失效。实际上,只缺少了一个组件——用户自行设置且未在任何地方记录下来的密码短语。如何在不将密码短语与单词存放在一起的情况下合理保存它,我们已在关于安全存储种子短语的文章中描述过。

BIP32 与派生路径:为什么相同的种子会产生不同的地址

512 位的种子值还不是一个地址。BIP32 描述了如何从该种子值层级派生任意数量的密钥对,而 BIP44 则赋予该派生一个固定的顺序,共五层:用途、币种、账户、变更标志和地址索引。它被写成由斜杠分隔的数字串,称为派生路径。

BIP44 路径的五层结构

一个典型的路径是 44'/0'/0'/0/0,表示经典地址格式中第一个比特币账户的第一个地址。撇号标记“硬化”层级,从该层级无法在没有种子值的情况下计算出下级密钥。第一个数字表示地址格式:44 为经典格式,49 为嵌套隔离见证变体,84 为原生隔离见证。更改这个数字,其下的所有地址都会改变。

这是本文中最具实际意义的一点。两台设备可以完全正确地处理相同的种子,但仍然显示完全不同的地址,因为它们预设了不同的路径。种子始终是正确的。余额只有在它实际所在的路径上才会可见。

派生路径是看似空钱包的最常见原因

实践与标准相差多远,一家制造商在其开发者文档中坦率地进行了说明。该文档指出,并非所有钱包都遵循 BIP44,许多钱包直接要求用户输入路径,并且随着时间的推移,已经内置了大量例外来处理这些偏差。对于以太坊,软件会在路径 44'/60'/0'/x 下扫描地址,并一直计数到连续十个空账户后才停止搜索。

同一份文档中包含了一句决定实际后果的话:任何陷入异常路径的用户,如果想使用该软件,就必须使用原始工具将余额转移到常规路径。这描述的并非某一家厂商的失误,而是整个行业都面临的情况,因为惯例是在最初实现之后才逐渐确立的。

由此为你得出一个简单规则:派生路径应与备份一同保存。仅有单词序列,而没有记录使用了哪台设备以及哪种地址格式,仍然是可恢复的,但在紧急情况下会花费你搜索时间。哪些设备预设了哪些路径,以及各自的配套软件对路径的处理有多开放,可以在购买前查阅硬件钱包对比。

SLIP-0044 为每条链分配了路径中的独立编号

路径的第二层是币种类型。哪个编号对应哪条链,由一份名为 SLIP-0044 的公开列表规定。比特币在那里编号为 0,莱特币为 2,狗狗币为 3,以太坊为 60,比特币现金为 145,索拉纳为 501,BNB 链为 714。该列表现在已有数千个条目,并且随着每条新链的出现而增长。

在实践中,这意味着两件事。不同链上的资产位于从同一种子派生出的不同分支中,因此一台不了解某条链的设备也无法显示其余额。此外,一些链在其历史过程中更改过币种类型,或同时维护着多个编号。在更换设备后如果发现余额缺失,在假设为损失之前,应该先了解该列表。

缺口限制解释了为什么软件会忽略存在的余额

即使在正确的路径内,也存在一个陷阱。钱包软件按顺序扫描账户和地址,一旦连续一定数量的地址没有显示任何收款,就会停止搜索。这个截止点称为缺口限制。BIP44 明确规定了这种行为,否则搜索将永无止境。

后果令人不快。如果过去手动使用了列表中靠后的地址,符合标准的软件可能会忽略它,并显示一个空账户。余额仍然在链上,通过任何区块链浏览器都可以看到;只是搜索逻辑没有覆盖到那么远。解决方法是使用一个可以调高缺口限制或手动输入路径的应用程序。任何有过这种经历的人都能理解,为什么有经验的用户不会随意从列表中间挑选地址。

标准的边界:沙米尔共享、多重签名和专有格式

并非所有备份都是 BIP39 单词序列,即使乍一看像。有三种情况你需要区分,因为它们对可移植性的限制程度不同。

第一种是 SLIP-0039 下的沙米尔过程,其中秘密被分割成多个份额,只需达到最低数量的份额即可恢复。这些份额看起来像单词序列,但遵循不同的过程,并且只能在精确支持该过程的设备上工作。第二种情况是多重签名设置,其中多个密钥共同签名:此时,除了单词之外,还需要包含所有公钥和签名规则的钱包描述符。没有该文件,仅凭单词无法访问余额,而且经验表明,该描述符丢失的频率比单词本身更高。第三种情况是设备将密钥仅以专有格式存储,且从不以可读的单词序列形式输出。

在购买之前,一个问题就能决定:该设备是否输出一个 BIP39 单词序列,并且可以读入另一家厂商的硬件?如果手册只给出了一个专有术语来描述备份,而没有任何对开放标准的引用,那么就有理由仔细观察。

厂商故障在实践中的含义,以及它不是的含义

本新闻室近几周的报道中,包含多个供应商让客户失望的案例。我们报道过固件漏洞导致生成的种子可被计算,以及服务提供商的数据泄露导致钱包制造商的客户姓名和家庭住址曝光。在交易平台的托管方面,问题更为尖锐,因为那里除了技术问题之外还有破产法;托管中的代币何时能从资产中分离出来,我们已单独说明。

对于自行保管,可以从中得出一个冷静的平衡。数据泄露影响你的隐私,并增加通过邮件、电话或电子邮件进行针对性欺诈的风险,但不触及你的密钥。制造商破产会终止固件维护和支持,但不会影响符合标准的种子;设备成为停产型号,但余额不会。只有在第三种情况——随机数生成存在缺陷——时才会变得严重。对此,任何标准都无济于事。唯一的办法是转移到新生成的种子,并且要迅速。

因此,常见的说法“代币在区块链上,不在设备上”既是正确的,也是不完整的。它成立的前提是种子被干净地生成,并且遵循了开放标准。这两点都可以检查,而且不需要专业知识。

恢复测试:如何今天就验证你的备份能否用于未来

从未被读入过的备份只是一种假设。以下测试将其转化为事实。它大约需要二十分钟,除了最小一笔转账的网络费用外,无需任何成本。

使用空账户进行测试

首先,在一台你之后会重置的设备上,获取第二个开源钱包应用程序,并在那里输入你的单词序列和密码短语。在该软件中选择与你的主设备相同的派生路径。然后比较第一个收款地址与主设备在相同位置显示的地址。如果两个字符串匹配,则可移植性就得到了证明:你的余额取决于单词序列和路径,而不依赖任何公司。

如果你想要更严格,可以发送一笔极小金额到仅从备份派生的地址,然后再从那里转回。这也会测试签名,而不仅仅是地址显示。之后重置测试设备并删除该软件。

最后,在单词旁边记录两个细节:完整的派生路径和单词数量。密码短语应放在别处,否则会破坏其目的。任何已经计划好在紧急情况下如何处理访问权限的人,都应该将此记录直接添加到遗产文件中。

检查种子恢复:要记住的要点

在需要之前运行恢复测试。将你的单词序列读入第二个独立应用程序,并比较第一个收款地址与主设备的地址。哪些程序是开源的并允许自定义派生路径,已在软件钱包对比中列出。将派生路径与备份一同记录。仅凭单词在技术上是足够的,但路径能在紧急情况下为你节省数小时。下次购买设备时,检查厂商是否预设了常规路径并输出 BIP39 单词序列;硬件钱包对比中的型号在此方面差异显著。将交易持仓与托管持仓分开。你打算长期自行保管的资产不应永久放在交易账户上,因为这里描述的任何标准都不对你有利。哪些交易平台受到监管以及它们的提现路径如何,已在加密货币交易所对比中显示。

免责声明:

本网站、超链接、相关应用程序、论坛、博客等媒体账户以及其他平台和用户发布的所有内容均来源于第三方平台及平台用户。百亿财经对于网站及其内容不作任何类型的保证,网站所有区块链相关数据以及其他内容资料仅供用户学习及研究之用,不构成任何投资、法律等其他领域的建议和依据。百亿财经用户以及其他第三方平台在本网站发布的任何内容均由其个人负责,与百亿财经无关。百亿财经不对任何因使用本网站信息而导致的任何损失负责。您需谨慎使用相关数据及内容,并自行承担所带来的一切风险。强烈建议您独自对内容进行研究、审查、分析和验证。

展开阅读全文
更多新闻
自选
我的自选
查看全部
市值 价格 24h%