今天大多数钱包认得的 bitcoin: 收款链接,现行语法是一份叫 BIP321 的规范(见 bitcoin 链接是什么?比特币 URI 语法与 req 参数规则解读)。但”把收款信息装进一条链接”这件事的第一份正式提案比那早十多年:BIP-20,2011 年 1 月 10 日立项,作者 Luke Dashjr,正文自述基于 Nils Schneider 更早的一份文档。它现在的状态是 Closed,文档头里有一行 Proposed-Replacement: 21,明白写着由 BIP-21 接替。今天回读它,不是为了用,而是为了看懂支付链接这一层里哪些设计是活下来的、哪些是被明确放弃的。
最初的链接长什么样
BIP-20 给的语法骨架是 bitcoin:<地址>[;version=1.0][?参数]:地址后面可以先跟一个分号加版本号,再接问号挂查询参数,参数键包括 amount、label、message、send,也允许任意 键=值 的未知参数留作扩展。那个 ;version=1.0 字段是它和后世版本最大的外观差别——BIP-21 及之后的规范里已经没有这个位置。规范在”前向兼容”一节写得很直白:2011 年生成的链接要到 2036 年还能用,所以要做有根据的猜测、留出改进余地,但别把当下当成不可修改的定论。这个态度后来贯穿整条 URI 演进线。

一套已经不用的金额写法
BIP-20 的 amount 允许十进制和十六进制两种写法,后者用字母 x 打头。数字还可以跟一个 X 加位数表示乘数,X8 就是乘以一亿——十进制默认按 X8 解释,也就是常说的比特币单位;十六进制默认按 X4 解释,单位是当时提出的 TBC(一种以 2 的幂划分的记法),文档里还算了一笔换算:一 bTBC 约等于 42.94967296 BTC。示例链接里有 amount=20.3X8 要 20.3 个比特币、amount=x400X4 要 400 TBC、amount=5X2 要 5 微币。这套显式写乘数的做法今天看不到了:后来的规范直接把 amount 定为比特币单位的小数,不再要求尾巴上挂 X8。
send 参数:把私钥装进链接
BIP-20 里最有考古价值的参数是 send。它描述的不是”向某地址收款”,而是”把钱直接随链接送走”:先构造一对新密钥,用形如 <pubkey> OP_CHECKSIG 的脚本发布一笔带金额的输出,再把 base58 编码的私钥塞进链接尾部的 send= 字段。拿到链接的人在自己钱包里找到匹配的交易输出,签一笔认领交易把钱花走。规范还提醒了安全取舍:链接里躺着的是一枚明文私钥,可以根据金额大小和预期认领时间选择更短的迷你私钥格式或更长的完整私钥。这个思路后来没有进入主流支付链接——私钥暴露在传输、二维码和聊天记录里,风险面太大,但它显然启发了后来的”纸钱""口令红包”类玩法。
到今天仍然有效的一条总则
BIP-20 在正文最前面用 MUST NOT 立了一条规矩:客户端不得未经用户授权就对链接采取行动,应当让用户逐笔手动确认支付。同一份文档还建议图形钱包在系统没有既有处理程序时把自己注册成 bitcoin: 协议的默认处理器,如果已有别的处理器,可以在首次运行时问一次要不要换。这两条——“点链接不等于花钱”与”协议处理器是攻击面”——被后续规范原样继承,今天仍是排查扫码劫持、注册表篡改类问题的第一性原理(付款前该核对什么,另见 BIP70 支付协议兴衰史:比特币收款账单为什么没能标准化 的收款协议史)。
为什么它被 BIP-21 接替
BIP-20 自己的”理由”一节给出了线索:它主张链接代表的是”一次支付”而不是”一个人的身份”,所以每个交易最好用独立地址,链接不该夹带个人信息交换。这个定位后来由 BIP-21 以更简洁的语法落地:去掉 ;version= 字段、去掉十六进制金额和 send 私钥、参数集收敛到金额、标签、消息几项,并补上严格的百分号编码规则。 Closed 不等于”当初想错了”,更像第一版承担了探路成本:显式乘数、版本字段、私钥直送这些实验项在真实部署里被证明要么多余、要么危险,接替者把它们剪掉了。
普通人现在还要不要关心它
正常使用不需要认识 BIP-20,但两种场景里它有帮助。其一是读到老文档、老钱包导出里的 amount=50X8 或带 ;version=1.0 的链接时,知道那是历史语法而不是某种加密格式;其二是理解”未知参数可以忽略、必选要求要显式声明”这条演化逻辑——现行规范的 req- 前缀规则正是对早年”任意扩展参数”教训的修正。链接语法解决的是”怎么把意图交给钱包”,至于钱包收到之后付给谁、按什么协议协商,那是另一层故事。
风险提示:本文为比特币改进提案历史科普,不构成投资建议;旧提案的字段与单位写法仅存在于历史文档中,实际收款与付款请以现行规范和你所用钱包的当期行为为准。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。