“导入助记词后余额为零”:派生路径详解

·阅读 5 分钟·作者:SSP Editorial Team
SSP Academy 封面:导入助记词后余额为零——派生路径详解

“导入助记词后余额为零”:派生路径详解

你把十二个或二十四个单词输入新钱包,导入成功,余额却显示为零。这一刻确实令人心慌,但在大多数情况下,什么都没有丢失。单词没有错,只是新钱包在另一个地方查找。

本指南将说明原因、如何找到你的币在哪里,以及为什么单独一个 SSP 助记词的表现会有所不同。

一个助记词,多个钱包

恢复短语本身并不包含地址。它生成一个主密钥,钱包再从这个主密钥出发,沿着一条派生路径(在密钥树中的一条路线)抵达每个地址。路线中任何一步发生变化,你都会到达另一组完全有效、但通常是空的地址。系统不会报错,因为本来就没有出错。

路径的形式如下:

m / purpose' / coin_type' / account' / change / index

purpose 选择标准,coin_type 选择链,account 区分账户,change 区分收款地址(0)和找零地址(1),index 则从 0 开始依次为地址编号。BIP-48 详解对这棵密钥树有更深入的介绍。

常见原因

导入后余额为零,几乎总是以下原因之一。

地址类型(比特币)。 同一个助记词可以生成四类不同的比特币地址:

  • BIP-44,m/44'/0'/0':传统地址,以 1 开头
  • BIP-49,m/49'/0'/0':嵌套 SegWit,以 3 开头
  • BIP-84,m/84'/0'/0':原生 SegWit,以 bc1q 开头
  • BIP-86,m/86'/0'/0':Taproot,以 bc1p 开头

如果旧钱包使用原生 SegWit,而新钱包默认使用传统地址,你就什么也看不到。查看一个旧收款地址的前缀,就能知道该选哪一种。

以太坊的不同派生方式。 大多数以太坊钱包使用 m/44'/60'/0'/0/i,每新增一个地址,最后一位数字加一。Ledger Live 则是递增账户层级:m/44'/60'/i'/0/0。两者的第一个地址完全相同,所以这种差异常常直到你去找第二个或第三个地址时才被发现。

密码短语。 BIP-39 密码短语(即“第 25 个词”)会把同一个助记词变成一个完全独立的钱包。漏掉它,或者输错一个字符,你就会打开另一个空钱包,而且没有任何提示。密码短语利弊指南解释了为什么这既是该功能的优势,也是它的风险所在。

账户索引。 如果你在旧钱包里用的是“账户 2”,那么资金位于 account' = 1 之下,而不是 0。许多钱包默认只恢复第一个账户,除非你手动添加更多账户。

间隔上限。 钱包不可能无限地检查每个索引,因此会按顺序扫描地址,在连续遇到一串未使用的地址后停止,惯例是 20 个。如果你曾经给出过第 35 号地址,而第 15 号到第 34 号都没有用过,标准扫描就会在到达它之前停下。如果钱包设置中提供了调高间隔上限的选项,调高后通常就能找到缺失的币。

如何冷静地排查

  1. 不要惊慌,也不要转移任何资产。 导入后余额为零,几乎总是路径问题,而不是被盗。
  2. 找到一个你确定曾有资金的地址,可以来自旧收据、交易所提现记录或你自己的笔记。在区块浏览器上查询它,确认币还在。
  3. 记下它的格式。 前缀(1、3、bc1q、bc1p、0x)会告诉你地址类型,然后在新钱包中选择对应的类型。
  4. 确认助记词最初由哪个钱包生成,它的文档会写明所用的路径。
  5. 逐一尝试账户索引、Ledger 的派生方式和间隔上限,并把生成的地址与你已知的地址进行比对。
  6. 绝不要把助记词输入任何声称能帮你“找回”资金的网站。 只使用信誉良好、可离线运行的钱包软件。

为什么单独一个 SSP 助记词只会显示空钱包

SSP 是一个 2/2 多签钱包,这让情况完全不同。浏览器中的 SSP Wallet 和手机上的 SSP Key 各自拥有自己的助记词。在代码中,两者都按照 BIP-48 派生密钥,路径为 m/48'/coin'/0'/script';对于比特币,脚本类型是原生 SegWit 多签(P2WSH),因此账户位于 m/48'/0'/0'/2'。随后,每个 SSP 地址都由两个公钥构建而成,双方各出一个,组合成一个 2/2 脚本。EVM 和 Solana 金库同样需要双方的密钥作为输入。

因此,如果你把 SSP Wallet 的助记词导入一个普通的单签钱包,它会派生出 SSP 从未使用过的单密钥地址。这些地址是空的,这完全在意料之中。你的币存放在多签地址上,任何单个助记词都无法重建这些地址:钱包需要另一方的公钥才能知道地址是什么,需要双方签名才能从中花费。

恢复 SSP 的正确方式,是在 SSP 中恢复两部分。先用助记词恢复 SSP Wallet,再将它与 SSP Key 同步,让钱包重新获得密钥端的公开数据。如果只是浏览器丢失了,SSP Key 无需助记词就能把它找回来,详见丢失浏览器后如何恢复 SSP。恢复入门介绍了每种情况分别需要什么。

关于地址扫描,还有一个 SSP 特有的细节:SSP Wallet 不使用间隔上限扫描。每条链保存你已添加的地址,每条链最多 20 个,从索引 0 开始按顺序创建。恢复之后,如果你以前用过的某个地址不见了,再次添加地址就会按相同顺序重新生成相同的地址。

实事求是的总结

助记词是一整棵密钥树的钥匙,而不是单一地址列表的钥匙。地址类型、币种路径、密码短语、账户索引和间隔上限,共同决定了钱包查看的是哪一根分支。导入后余额为零,通常意味着找错了分支,而不是币丢了。

对 SSP 而言,单个助记词永远不是完整的钱包。你的资金位于由 SSP Wallet 和 SSP Key 共同构建的 2/2 地址上,因此恢复意味着在 SSP 内恢复两部分,而不是把其中一个助记词导入别处。

分享本文

相关文章