区块链/等级 III · 网络/3.3 共识与治理/课程 4
BIP流程
无法约束任何人的文档,以及能改变一切的流程
材料GitHub 仓库 github.com/bitcoin/bips用于复制和比较 BIP 头部的文本编辑器
好奇
- 如果 BIP 只是一份文档,它又如何能改变数百万台计算机的运行方式呢?
- 为什么编辑们会给提案编号,却从不对其价值进行投票评估?
- 是什么阻止了单个开发者强制对整个网络进行规则更改?
探索
- 2011年8月,Amir Taaki仿照Python的PEP提出了比特币改进提案(BIP)。BIP1为记录协议变更和一般信息建立了框架。2016年,Luke Dashjr以BIP2对其进行了修订;2025年,由Mark Erhardt撰写的BIP3“更新的BIP流程”取代了BIP2。BIP最初托管在维基上,如今存放在GitHub上的版本控制仓库中,因此每一项变更都可追踪、可审查。
- 在BIP3下共有三种类型。规范型BIP描述对协议或可互操作软件的变更,例如新的交易规则、钱包标准或网络消息。信息型BIP提供指导或背景,不强制要求任何事情。流程型BIP描述开发工作本身如何运作,包括BIP流程。较早的BIP保留其撰写时的“标准轨道”标签,对应如今的规范型。
- 每项提案都由其作者推动:他们撰写提案,在邮件列表和评审中为其辩护,并根据批评进行修改。作者身份并不具备强制他人采纳的权力。在节点或钱包软件实现某个BIP、且人们选择运行这些软件之前,它始终只是一份文档。这里没有投票;只有当足够多的网络参与者升级时,共识变更才会发生。
- 关于比特币开发的讨论在 bitcoin-dev 邮件列表、代码审查的 pull request 以及各类会议上进行。不存在正式的决策机构或具有约束力的投票机制。编辑们负责为提案编号并检查格式,但无权决定其是否被采纳。根据 BIP3 的规定,提案的状态首先为“草稿”阶段;当提案作者认为其已完成时,状态变为“完成”;一旦该提案被实际使用,状态则为“已部署”;而被放弃或被替代的提案则标记为“已关闭”。代码仓库中的状态字段反映了这一生命周期。
- 一些著名的BIP展示了这一流程的影响。BIP16于2012年引入了Pay-to-Script-Hash(P2SH)。BIP32定义了分层确定性钱包,BIP39则将用于恢复的助记词标准化。BIP141启用了隔离见证(SegWit),后者于2017年8月在第481,824个区块激活。BIP340至342引入了Schnorr签名和Taproot,于2021年11月激活。每一项都需要开发者、矿工和用户之间的谨慎协调,以确保向后兼容或实现干净的分叉。
- 在GitHub上打开BIP仓库。找到三个BIP:一个标准轨道类(如BIP141),一个信息类(如BIP50),一个流程类(如BIP3)。查看每个BIP的状态字段,记录其创建时间以及状态的变化过程。这项练习表明,仅凭技术优势是不够的;社会共识和经济利益的一致才是比特币演进的真正把关者。
关键事实
- 2011年8月,Amir Taaki仿照Python的PEP提出了BIP。
- BIP3(2025)取代了BIP2,定义了三种类型:规范型、信息型和流程型。
- 编辑负责分配编号和检查格式,但不决定是否采纳。
- BIP39将用于钱包恢复的助记词标准化。
- SegWit(BIP141)于2017年8月,在第481,824个区块时被启用。
- Taproot(BIPs 340-342)于2021年11月启用。
练习 九、六、三、一
9收集从仓库中列出9个BIP。注明它们的类型(标准轨道类、信息类、流程类)以及当前状态。
6归类根据对节点行为的影响,将这9个BIP分为6类:协议变更、仅供参考、流程变更,或根据需要设定的其他类别。
3提炼将原本的6个原因简化为3个,说明为何某个BIP会多年仍处于“草稿”或“提议”状态。
1凝结用一句话说明BIP与现行共识规则的区别。
事实核查
日期、数字及数据均依据下方列出的已发表资料进行核实。