145 / 736BIP85

BIP85

一份主备份,派生多个钱包

BIP85 可以从主钱包派生出其他钱包,每个钱包都有自己的恢复词。这样便于区分用途,但这些钱包仍依赖共同基础的安全。

BIP85 是一种从主钱包的秘密反复生成其他钱包秘密的方法。例如,手机可以使用自己的 Seed Phrase,也就是恢复词,而不必接触保护主要积蓄的那组词。相同的初始秘密与相同设置总会得到相同结果,这就叫确定性派生。BIP85 不会转移比特币,不会把备份拆成份额,也不能代替丢失的主备份。

安娜妥善保存着主备份,想另外建立一个用于小额支付的钱包。钱包是接收和发送比特币的应用程序或设备。BIP85 能生成另一组恢复词,她只需把这组词导入手机。私钥是钱包用来生成数字签名、授权花费资金的秘密数值。技术上,起点是 BIP 32 扩展私有根,即密钥树的起点。它可能来自 BIP 39 恢复词:这些词与可选的 passphrase 先生成 seed,也就是计算根所需的秘密输入。这些名称代表不同阶段,不能混为一谈。BIP85 从根计算出新的秘密数据;它不能倒过来找回原来的恢复词。 [1] [2] [3] [5]

安娜还需要记录派生时选择的参数。Derivation Path 是这些步骤的精确表示。例子 m/83696968'/39'/0'/12'/0' 依次选择 BIP85、BIP 39 应用、英语词表、12 个词和索引 0。这里的应用是指规定好的结果处理方式,并不是某款手机 App。索引 1 会生成另一个子项,也就是另一组派生恢复词;它不是手机钱包内部支付地址的编号。捷克语词表的代码是 8',与本页使用什么语言无关。更换词表或词数会改变路径和结果,并不是把同一组恢复词翻译成另一种语言。 [1]

中间数据被称为熵:在这里,它是从秘密基础计算出的数据,不知道基础的人不应能够预测它。生成 12 个词时取结果的前 128 位;生成 24 个词时取前 256 位。BIP 39 加入校验和,帮助发现某些抄写错误,再把数据转换为词。这些词随后用于生成新钱包的 seed 和密钥。BIP85 本身并不规定地址类型、地址路径或查找旧付款的方式。结果更长也救不了容易被猜到的初始秘密:派生不会为它增加新的独立随机性。 [1] [3]

Passphrase 是与 BIP 39 恢复词一起使用的可选额外秘密。它既不是设备 PIN,也不是打开应用的密码。如果安娜曾给主恢复词使用 passphrase,恢复 BIP85 的同一个输入根时也必须提供它。不同的父级 passphrase 会产生不同子项。另一种独立的 passphrase 可以在手机里与派生恢复词一起使用。它改变的是目标钱包的 seed,而不是已经生成的词。BIP85 不会备份这个目标 passphrase。因此,只恢复词而没有它,并不等于恢复了原来的钱包。 [3] [4]

在构造正确、初始秘密足够强的前提下,从一组派生恢复词计算出主根或其他派生钱包的秘密数据,在实践中不可行。因此,手机里的词泄露,并不会单独暴露主备份。但反方向是可行的:拿到主私有根和必要参数的人可以重新生成子项。如果另有目标 passphrase,它仍是独立秘密。丢失主基础也会危及没有自己可用备份的子项。因此,BIP85 把一部分责任集中在同一个地方。它无法修复已泄露的主根;导出子项也不会使中毒的手机变安全。 [1] [4]

所有派生步骤都是 hardened,意味着必须使用父密钥的私有部分。只有 xpub,即用于派生公钥的扩展公钥,并不够。得到的私钥 k 长度为 32 字节。BIP85 再用 HMAC-SHA512 处理它,这种密码学计算接受消息和密钥两个输入。这里的消息是 k,密钥则是固定文本 bip-entropy-from-k;输出为 64 字节。保密性来自私有输入 k,而不是这段公开文本。转换将结果材料与派生密钥分离,并不是建议同时拿这个中间密钥签署付款。 [1] [2]

XPRV 应用能生成一个新的扩展私钥。在 m/83696968'/32'/0' 这个例子中,前 32 字节是 chain code,也就是继续派生所需的附加数据;后 32 字节才是私钥。这与通常生成 BIP 32 根时的顺序相反。如果得到的数值不是合法密钥,程序必须报错,用户需要选择下一个索引,不能悄悄把它当作可用密钥。HEX 用十六进制字符表示数据,WIF 是私钥的一种格式,其他应用还可以生成密码。各自的规则不同。字符串看起来相像,并不证明内容相同或能够兼容。 [1] [2]

COLDCARD 文档介绍了 BIP 39、WIF、XPRV 和 HEX 的派生与导出。支持 BIP85 不代表设备的每个版本都支持它的所有应用。应记录格式、词表、长度、索引,以及从哪个主钱包开始派生;可选的 passphrase 要作为独立秘密保护。在依赖这一方法之前,确认能重新生成同一组派生恢复词和目标钱包对应的地址。公开测试向量是已知输入及其预期结果,可以帮助检查软件,但不能检查你的私人备份。BIP85 可以简化管理,不过,只有理解自己的恢复流程,额外的复杂性才有意义。 [4] [1]

要获得更完整的理解,请将本词条与以下词条结合阅读: HD Wallet, BIP 39, BIP39 passphrase, Derivation Path, Hardware Wallet, Seed Phrase. 反向关联还来自: Duress Wallet.

DOC · 001BIP 85 — Deterministic Entropy From BIP32 Keychains规范 DOC · 002BIP 32 — Hierarchical Deterministic Wallets规范 DOC · 003BIP 39 — Mnemonic code for generating deterministic keys规范 DOC · 004COLDCARD — Export Deterministic Entropy (BIP-85)文档 DOC · 005Bitcoin Developer Guide — Wallets文档
修订日期: 来源优先 · 非投资建议