协议演进 / BIP/比特币改进提案 / BIP-15

BIP-15 别名

为难记的比特币地址设计好记的别名系统,逐一比较 FirstBits、DNS 记录、服务器查询、HTTPS 服务与 Namecoin 等方案的可用性与安全性;最终未定成标准。本 BIP 目前处于已关闭状态。

一、档案卡

档案卡
编号BIP-15
标题Aliases
作者Amir Taaki <[email protected]>
指定日期2011-12-10
层级Applications(应用)
类型Specification(规范类)
状态Closed(已关闭)
阅读版https://bips.dev/15
官方原文https://github.com/bitcoin/bips/blob/master/bip-0015.mediawiki

二、放在哪一族

收款标识易用性这一族:管的是付款方在掏钱之前,怎么把“付给谁”表达出来。它与 BIP-13 那类地址格式文档分工不同——地址格式解决机器编码,别名解决人记不住的问题。

原文在文档开头就自注了后继方向:BIP-70(支付协议)可被视为 Aliases 的替代方案。本页的价值在于它对各候选方案的逐项利弊分析,而不是任何一套被定下来的格式。

三、它要解决什么

用原版比特币付款,必须有一串形如 1Hd44nkJfNAcPJeZyrGC5sKJS1TzgmCTjjZ 的地址。问题是地址不好记——原文的类比是:若没有域名,上网就得逐个输入网站的 IP 地址。

于是目标是设计一个比特币别名系统:用好记的名字解析出收款地址。原文开宗明义地提醒:这是一次不易回头、影响深远的协议级改动,必须稳健、安全,最好一次做对——因此文档用大篇幅“仔细论证”,比较多套方案的性质,而没有草率选定一套格式。

四、规则本身

本 BIP 的主体是对五套候选方案的逐项评估。以下按原文顺序提炼。

4.1 FirstBits:拿区块链当地址簿

原理:地址一旦收到过付款就记录在链上,即可证明它存在过。把地址转成小写,取其前几个唯一字符作为别名。原文示例:布拉格 brmlab 黑客空间的地址 1BRMLAB7nryYgFGrG8x9SYaokb8r2ZwAsX,别名即 1brmlab;配合 Vanitygen(靓号生成器)还能刻意生成有意义的地址。给钱时只需给出别名,省去手敲全址、扫码或上网复制。

原文结论是拒绝,理由有三:

4.2 DNS TXT 记录

把别名到地址的映射放进域名的 TXT 记录(具体格式不在本文范围)。问题:

4.3 服务器服务

用域名查主机、再连固定端口取地址:付款给 [email protected] 时,客户端先用 DNS 找到 bar.net 的 IP,再连其 4567 端口询问用户 foo 的地址,服务器返回地址或错误码后断开。映射的存储与修改由服务方自理,可配网页前端。

优点是灵活性与扩展性都好,增改别名容易、跑服务便宜。缺点是仍依赖 DNS、同样可被伪造,因此同样需要 DNSSEC。

4.4 HTTPS Web 服务

在服务器方案上用 HTTPS 加密连接,并借证书机构(CA)体系解决伪造问题:有人在本地网络冒充域名时会报错。

流程:把 [email protected] 在最后一个 @ 处拆成用户名与域名,客户端构造查询:

https://foo.org/bitcoin-alias/?handle=genjix

服务器返回收款地址。每次查询返回新地址还是从地址池取、映射如何开通与管理,都留给各站点的运营政策,本文故意不作规定。原文评价:网站式服务搭建简单、成本低、现成的免费服务商很多,任何人用一个可编辑的脚本就能给自己开别名;要做命名服务也可接各种数据库后端扩展。原文还附了一份朴素实现的示例代码(用 curl 完成句柄拆分与 GET 查询,并演示如何在发送 RPC 中先判断输入是否含 @、是别名则先解析再付款)。

4.5 两条附带线索

五、谁必须动

普通持币人/付款方:受益方——只需输入 name@domain 形式的别名;但也承担解析环节被欺骗的风险,因此解析走哪条路、是否加密校验,直接关系其资金安全。

钱包客户端开发者:实现别名解析(识别 @、拆分句柄与域名、发起查询、校验返回),并决定在各方案之间如何取舍。

别名服务运营者/域名持有者:维护别名到地址的映射、提供查询服务;用 DNS 路线者还须处理好 DNSSEC 等安全配置。

共识层与节点:无变化。别名是链下的名字解析,不碰地址与交易的共识规则。

六、现在算不算数,以及一个常见误读

状态为 Closed:这份文档逐一论证了多套方案,却没有把任何一套定成全网标准,别名系统也就没有按 BIP-15 落地。原文在页首已注记 BIP-70 支付协议可视为其替代方向——后来比特币处理“如何向对方正确收款”的主流路径,走的是支付请求而不是给地址起别名。它留下的分析框架(可扩展性、可信第三方依赖、伪造与中间人风险)至今仍是评估任何命名/收款标识方案的清单。

常见误读:

“别名就是另一种地址,输别名和输地址一样安全。”

不对。原文通篇在比的正是解析环节引入的新风险:地址是自包含的,抄对即付对;别名必须经过一次查询才能变成地址,查询若走不安全的 DNS,就可能被同网络者伪造、把钱引向别处——这正是它逐案比较加密与校验手段、且对多数方案持保留态度的原因。

七、延伸

本页内容整理自 bitcoin/bips 仓库与 bips.dev,事实已与仓库核对;解读仅供学习参考。