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

BIP-3 BIP 流程更新版

现行 BIP 流程:状态收束为 Draft、Complete、Deployed、Closed 四档,类型改称 Specification/Informational/Process,仓库只做出版与留档,不裁定采用。本 BIP 目前处于已部署状态。

一、档案卡

档案卡
编号BIP-3
标题Updated BIP Process
作者Murch <[email protected]>
指定日期2025-01-09
讨论日期2024-05-13
类型Process(流程类)
状态Deployed(已部署)
替代BIP-2
依赖BIP-123
阅读版https://bips.dev/3
官方原文https://github.com/bitcoin/bips/blob/master/bip-0003.md

二、放在哪一族

流程族的现行版本,第三代。链条是:BIP-1(2011,初版)→ BIP-2(2016,修订版,已 Closed)→ BIP-3(替代 BIP-2,状态 Deployed)。它依赖 BIP-123 的分层分类:文件头里的 Layer 取值仍按 BIP-123 定义。

今天往仓库提交新提案、判断一份旧 BIP 的状态是什么意思,都以 BIP-3 的定义为准。文件头标注版本 1.4.0,且流程类 BIP 被定义为“活文档”,可按粗略共识持续修订。

三、它要解决什么

BIP-2 写于 2016 年。原文列出的修订动机是:

一句话:精简。把没人用的机制撤掉,把状态与类型减到读者真正能用的程度。

四、规则本身

4.1 先说清三件事

所有权上,每份 BIP 主要归其作者,作者负责推进讨论、回应反馈与异议;随流程推进,它逐渐变为社区共有。作者可指定 Deputies(副手):未参与写作的代管人,在作者缺席时可代行作者职责,除非被作者推翻。

4.2 类型:Specification 取代 Standards Track

4.3 文件头与结构

每份 BIP 必须有 Preamble、Abstract、Copyright、Motivation 四部分,其余章节(Specification、Rationale、Backward Compatibility、Reference Implementation、Changelog 等)按需取舍,由作者与评审判断相关议题是否已讲透。

文件头顺序:BIP、Layer(可选)、Title(上限放宽到 50 字符)、Authors、Deputies(可选)、Status、Type、Assigned、License,可选 Discussion、Version、Requires、Replaces、Proposed-Replacement。相对 BIP-2 的改动包括:Created 改名为 Assigned(值本就是编号分配日期,旧名常引起混淆)、Post-History 改为 Discussion、Superseded-By 改为 Proposed-Replacement、删除 Comments-URI/Comments-Summary 与 License-Code、新增 Deputies 与 Version。辅助文件只能放进 bip-XXXX 子目录。

4.4 状态:只剩四档

Complete 之后的每次修改都要记进 Changelog 并递增 Version(按语义版本:不兼容改动升 MAJOR,后向兼容扩展升 MINOR,其余值得注意的修改升 PATCH;升 Complete 时为 1.0.0)。流程类是活文档,可无限期按同样的粗略共识标准修订。

4.5 许可与编辑

许可改用 SPDX 表达式写在 License 字段,并在 Copyright 一节给出相符说明;可接受清单收束为 BSD-2-Clause、BSD-3-Clause、CC0-1.0、FSFAP、CC-BY-4.0、MIT、MIT-0、Apache-2.0、BSL-1.0,名单之外不可用(旧 BIP 保留原许可,只改用 SPDX 写法表达)。测试向量建议额外以 CC0-1.0 或 FSFAP 提供,以免实现者抄用时受许可牵制。

编辑的职责仍是行政与编辑性的:检查想法是否先在邮件列表提出过、是否在题、标题是否准确、格式与许可是否合规、动机与向后兼容是否处理、Layer 与 Type 是否正确,然后编号、确保列入 README、合并。原文特意写明:编辑不评估提案是否可能被采用。

五、谁必须动

普通持币人:无直接变化。这是管文档的流程,不管协议。

BIP 作者:按新文件头写作,先到邮件列表公开探路,升 Complete 时备齐参考实现与测试向量,此后用 Changelog 与版本号记录每次修改;也可指定 Deputies 代管。

编辑:按清单做形式与就绪审查、编号、合并;不裁定提案好坏与采用前景,可单方面做不动原意的编辑性修改(值得注意的要记 Changelog)。

实现者与社区:采用与否自行判断;仓库不追踪采用情况,各项目被鼓励自公布其实现的 BIP 清单(如 Bitcoin Core 的 doc/bips.md)。

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

BIP-3 状态为 Deployed,是当前生效的 BIP 流程。本站索引与解读页里的状态中文(草案/已完成/已部署/已关闭等)、状态含义,都应以它的四档定义理解;看到旧文档里的 Final、Active、Proposed、Rejected 等字样,那是 BIP-1/BIP-2 年代的旧名,已按 BIP-3 的对应关系归并。

常见误读:

“进了 bitcoin/bips 仓库、拿到了编号,就是比特币官方认可了。”

不对。BIP-3 明说:入库标准是切题且满足编辑性要求,仓库既不是比特币开发的决策机构,也不追踪社区情绪与采用情况;编号只是方便分布式讨论的引用方式,连编号本身都要等提案先在社区激起一些兴趣之后编辑才会给。

七、延伸

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