了解什么是比特币改进提案以及它是如何运作的。 原文标题:《比特币改进提案的运作流程 | 观点》 比特币是去中心化的和开源的,这意味着没有集中的权限来决定协议升级。因此,任何人都可以参与到其代码修改,变更的议程中。本文介绍了什么是 BIP (Bitcoin Improvement Proposals,比特币改进提案),以及详细展示 BIP 协议的治理是如何运作的? 为什么需要 BIP?在比特币发展早期,并没有一个让社区成员共同讨论、提出有效建议并得到认可、实施的系统的存在。 比特币的维护与迭代更新落到了核心开发者的身上。中本聪在初始阶段为比特币写下了基础的框架,但系统可能出现的运行问题以及为了适应现实需求所要进行的升级却是无可避免。早期出现这些情况时,往往是中本聪自己进行处理,当中本聪退出后,维护与迭代更新的任务落到了当初的比特币核心开发者身上。 由于社区的扩展,社区讨论将会导致技术分歧。当时比特币核心开发者只是一个小团体,有要修改的地方就直接内部讨论并发布,但当社区发展壮大时,这种方式就容易引发技术分歧,有开发者认为比特币核心团队对比特币协议有过多的控制,这将会是导致比特币失败的最终原因。因此,提出了 BIP (比特币改进建议)。 BIP 的两个版本2011 年 8 月 19 号 BIP0001 开始实施。BIP (Bitcoin Improvement Proposals,比特币改进提案),这个概念最先由 Amir Taaki 在 2011 年 8 月 19 号提出,这个提案也就成为了第一个 BIP。BIP0001 定义了 BIP 的基本流程。 2016 年 2 月 3 日 Luke Dashjr 提出 BIP0002。BIP0001 基本满足当时社区对于开发流程正式化的需求,但由于其中很多的细节没有描述详细,且有部分的规范已经过时,而 BIP0002 在此基础上进行迭代,最后得到实施并替代了 BIP0001 成为目前在使用的 BIP 规范。 提交 BIP 前应该做什么?当你有了一个具体的针对比特币的新的想法后,确认你的想法适用于 BIP,一些小的更新或者漏洞修复,直接到特定的项目开发提交问题即可,并不足以成为一个 BIP。 首先,在各大相关论坛上公开验证想法,以节省时间。在编写 BIP 之前,先在适当的地方公开想法,可以是比特币邮箱列表(bitcoindev@lists.linuxfoundation.org)或 Bitocoindev IRC 或相关技术论坛,让大家提出意见。这样的好处在于可以节省自己的潜在时间,能在大量的工作之前发现自己的想法是否存在问题。 另外,需要询问的是这个想法是否是之前没有人提出过的。很多人都提出过很多关于比特币的想法,但最后都因为种种原因被否决了。所以你的想法可能之前就有人提过出类似的内容但没有成功被实现。如果存在这种情况,发掘出没有被实现的原因是什么,如果不能解决则不要花费太多时间在注定要被拒绝的事情上了。 同时,需要确保的是你的想法是适用于整个社区的。有些时候这个想法自己看起来不错,但是并不适用于比特币社区的大部分人,这种想法最终也是要被拒绝的。 BIP 的格式要求当你在社区发表了这个想法并觉得有被接受的可能性时,你就可以着手撰写 BIP 草案了。但是,BIP 有严格的格式要求,不根据格式撰写会被直接退回。 一个合格的 BIP 草案需要包含以下内容:
一个合格的 BIP 草案还需要注意格式 序言格式需要注意:
除带 *号的内容其他都是必需的 BIP 的附件格式需要注意。BIP 可能包括图表等附件,附件应包含在该 BIP 的子目录中,且必须命名为 BIP-XXXX-Y.ext,其中「 XXXX」是 BIP 编号,「 Y」是序列号(从 1 开始),「 ext」被实际的文件扩展名替换(例如「 png」 」)。 BIP 的审核流程BIP 草案撰写完毕后,就需要将完整的文档提交到比特币开发邮件列表,所有订阅了该邮件列表的人都能接收到你的提案。 在社区中将 BIP 草案公开,对完整提案再次进行讨论。此时你需要针对这个 BIP 草案再次在社区进行公开讨论。上次进行的公开讨论仅仅是一个想法,本次是针对完整的提案进行讨论。 对 BIP 草案进行再次修订,发送给编辑。尝试引导社区成员成为你的 BIP 的拥护者并积极听取社区成员的意见,然后对你的 BIP 进行再次修订。当你感觉准备好了,就可以把你的 BIP 发送给 BIP 编辑了。当前的 BIP 编辑是 Luke Dashjr,可以通过 luke_bipeditor@dashjr.org 联系到他。 BIP 编辑的职能当 BIP 编辑收到新的 BIP 草案之后,他会执行以下操作:
如果 BIP 编辑认为你的 BIP 还没有准备好,会说明原因并发回给你,你针对 BIP 编辑给的说明重新编辑修订后,再次发送即可。 经过完善后,你可以拉取请求提交到 BIPs git 仓库中。收到拉取请求后,BIP 编辑将会进行以下操作:
到此为止,你的 BIP 会再次公开,从而得到进一步的社区反馈。 BIP 的类型共有三种:
BIP 的最终实现流程当你的 BIP 通过审核并并入到 BIP 仓库后,抓紧时间推进你的 BIP,毕竟自己的想法得以实现并作用于社区会给你会带来很大的成就感。 流程 BIP 和信息 BIP 将会讨论月余时间,若无反对意见,就即可生效。那么就如果是流程 BIP、信息 BIP,只要在邮件列表上讨论超过一个月后,没有任何未解决的的反对意见,我们就可以判定这个 BIP 达成了大部分共识,这个 BIP 的状态将会更改为「激活」,真正作用于比特币社区了。 而标准追踪 BIP,则会更加复杂和谨慎。你的目标会是把 BIP 状态从「草案」变为「最终实现」。 在 BIP123 中把标准 BIP 分成了四层共五类:
不同分类的 BIP 达到「最终实现」状态所需要达到的条件不一致。
以上流程都是很复杂且漫长的,往往是多方的博弈的结果。作为 BIP 的拥有者,在这阶段你要做的就是不断推动你的 BIP,接触更多的社区人员,努力宣扬自己的设计理念,阐述你的 BIP 将会如何对比特币社区产生积极的影响,争取更多的社区人员成为你的 BIP 的拥护者,一步一步把你的 BIP 实现。 BIP 的状态改成「最终实现」将是对你最大的奖励。 (责任编辑:admin1) |