助记词相同,地址不同
从助记词到地址中间隔着一条派生路径:一串从根节点往下走的索引,形如 m 斜杠若干段。同一句助记词,走 m 四点四十四号路线还是八十四号路线,长出的地址完全不同。社区为不同脚本类型定了 44、49、84、86 等常见路线,但各家钱包在细节上各有各的脾气——账户号从几开始、外部链内部链怎么排、收款地址扫到多少个不重用。早年还专门有人建了 walletsrecovery.org 这类网站,用自定义写法登记”某钱包用哪条路”。BIP-88 在 2020 年 6 月把这件事规范化:既然描述是刚需,就定一门能被人读、也能被机器解析的语言。
模板记法怎么读
模板是一串带约束的路径。定值段照写数字;花括号列举可选值,比如 {44,49,84} 表示这一段允许三者之一;花括号里的连字符表示区间,{0-1}、{0-50000} 各自约束上下界;星号代表任意非硬化索引,*h 代表任意硬化索引;开头省略 m 前缀的写法是部分模板,用来描述路径的一段而不是整条。
把例子串起来读:m/{44,49,84}'/0'/0'/{0-1}/{0-50000} 说的是”三种主流路线、零号币种、零号账户、外部或内部链、地址索引不超过五万”这整个集合。一条路径要么落进模板,要么落不进——这种二值判断正是硬件设备最需要的东西。解析后它在程序里就是一层层的取值区间表,逐段比对即可。
为什么这值得写成标准
模板解决的第一层是搬家问题:你换钱包、恢复备份、导进签名器时,软件可以拿模板逐条试扫,而不是把常见路径硬编码进固件。第二层是安全边界:如果交易找零被派到发送方不认识的路径上,找零就进了对方知道、自己找不回的位置,等于白送。让设备声明”我只接受这些模板内的路径为我签名”,把无限种可能压成可审计的集合,是比”内置几条知名路径”更灵活的方案——后者牺牲兼容性,前者用一套语言同时保住兼容和约束。
对普通用户的实际含义:钱包导出备份时若能附上路径模板,恢复成功率明显高于只给助记词;反过来,一个只肯给你助记词、对路径含糊其辞的工具,是在把搬家成本留给你未来自己付。这句话值得写进选购清单。
别和路线标准混为一谈
BIP-88 是信息类文档,只管表示法,不规定谁该用哪条路。规定路线的是 44、49、84、86 这些各自的标准;模板只是把它们(以及厂商自定义路线)写进同一句话里。所以”某钱包支持 BIP-88”的正确理解是”它能读路径模板”,而不是”它支持某种地址类型”。工具之间对模板的支持程度参差:硬件签名器逐步在用类似语法限制可签路径范围,钱包软件导出侧的普及仍不均衡。
模板之外还剩什么
模板管住了”路径怎么写”,管不住”路径之外的元数据”。一份能完整重建钱包的备份至少还要三样东西:助记词或种子本身、加密派生用的口令(passphrase,缺失时每句助记词对应无数个钱包)、以及各账户的用途标签(哪条路是收款、哪条路是找零)。有些工具把这些打包成另一种可导入格式,另一些只导出助记词再加一句”请自行记录派生路径”——同样是备份,可恢复性天差地别。另外注意版本号:m/84'/0'/0' 里的”84”是路线编号,不是标准年份,别把两套编号混进同一份笔记。
自查两问
第一问:我的备份里除了助记词,有没有说明”从哪条路拿的地址”?没有的话,趁现在把路径抄一份。第二问:恢复演练时,如果扫出来的地址一个都不认识,先怀疑模板而不是怀疑丢币——路径错位和密钥错误在界面上长得一模一样。本文只讨论协议机制,不构成任何投资建议。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。