大多数派生路径提案在解决”同一种钱怎么分出多个账户”,比如 BIP-44钱包派生路径怎么读? 讲的 BIP-44 用一串固定层数管多币种多账户,三个合伙人怎么共用一条派生路径:BIP-45 给多签钱包排的门牌号 讲的 BIP-45 给多方多签排门牌。BIP-80 关心的是一件更窄也更具体的事:一个替很多人保管资金的”投票池”多签钱包,怎么安排派生路径,好让绝大部分存款能长期躺在冷钱包里、只把很小一部分放在联网机器上待提。它是 2014 年 8 月由 Justus Ranvier 和 Jimmy Song 起草的信息性提案,最终状态是 Closed。
什么叫投票池与先进先出冷存储
投票池是一种保管模型:许多人把钱存进一个多签地址,提取时需要按某种规则表决。痛点在于热冷平衡——如果所有存入的私钥都必须随时在线,联网机器一旦被攻破,全部家当都暴露在风险里。BIP-80 想解决的正是这个:它要一种能把”存入”分流到不同批次的路径结构,让先存进来的钱先被提出,从而把大部分批次的私钥一直留离线,只有最靠前的那一小批需要偶尔上线处理提取。这就叫先进先出的冷存储。
四层路径各管什么
BIP-80 定义了 BIP-32 派生树上的四层结构:m / 目的号' / 币种号' / 批次号' / 地址序号。撇号表示该层用硬化派生。目的号是一个固定常数,按 BIP44/49/84/86:派生路径第一段目的号决定地址长相 讲过的 BIP-43 目的号约定,取字符串 “80” 的 ASCII 值再把最高位置起来表示硬化,也就是 0x80000050——它等于在说”这棵子树按 BIP-80 的规则用”。币种号和 BIP-44 一样,为每种币开一棵独立子树,避免同一地址跨币复用带来的隐私问题,取值沿用 BIP-44 的币种号表。批次号是这份提案的核心新增层:投票池用它把不同的存入分到不同批次,硬化派生。最末的地址序号从 0 开始顺序编号,这一层用公开派生,其公钥按成员间事先约定的一种带外规则拼成多签存入脚本。
为什么这份提案没能部署
原因不在路径设计本身,而在它服务的那类系统没能标准化下来。投票池、先进先出冷存储是很垂直的需求,主流钱包很少真按这套四层走,参考实现也只点名了一个面向投票池的钱包(btcwallet);生态里更通用的是 BIP-44、一笔密钥分四种角色?SLIP-0048 与 Graphene 系链的角色派生路径 讲的按角色分线的 SLIP-0048 这些方案,它们覆盖面更广,自然吸走了实现精力。于是 BIP-80 停在 Closed,成了一份把”冷存储批次”这个想法写清楚、却没等来广泛采用的历史文档。它今天读来仍有价值:当你自己给机构多签设计冷热线时,BIP-80 那层”批次号”提醒了一个常被忽略的维度——与其把整棵树的私钥同等对待,不如在派生层就把”先存的先提”编码进去,让热机器只碰得到最该被碰的那一小批。
三层硬化、一层公开:这套冷热边界的机关
把这条路径重读一遍,会发现它的硬冷分界线画得很精确:前三层全部硬化、只有末层公开。这正是先进先出冷存储的软件形态。批次层以上决定”这笔存入属于哪一批、要不要上线”,改动任何一层,整棵子树的地址全部作废,所以必须硬化锁死;末层是同一批内逐个递增的收款序号,联网的记账机只握着这一层的扩展公钥,就能持续生成新存款地址给前端用,而永远碰不到需要签名上线的那批私钥。热机器被攻破,损失面被限定在”最前面那一个批次”,不会波及尚未上线的历史批次——这就是把批次号写进派生层、而不是写进数据库表里的意义:路径结构本身就是访问控制,不需要外部系统再兜一层。
风险提示:本文描述派生路径机制与提案历史,不构成投资建议;派生方案一旦用于真实资金,路径约定须完整备份且不可随意变更,否则恢复时地址会整体对不上。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。