主页 > imtoken下载正版 > 一篇文章了解比特币改进提案BIP的运行过程

一篇文章了解比特币改进提案BIP的运行过程

imtoken下载正版 2023-08-07 05:19:53

比特币是去中心化和开源的,这意味着没有中央集权机构决定协议升级。 因此,任何人都可以参与其代码修改、变更议程。 本文介绍了什么是 BIP(Bitcoin Improvement Proposals,比特币改进提案),并详细展示了 BIP 协议的治理是如何运作的?

为什么需要 BIP?

在比特币发展初期,没有一个系统可以让社区成员一起讨论,提出有效的建议,并得到认可和实施。

比特币的维护和迭代更新落在核心开发者身上。 中本聪在初期写下了比特币的基本框架,但系统可能出现的运行问题和适应实际需要的升级也在所难免。 早期出现这些情况时,中本聪往往自己处理。 中本聪退出后,维护和迭代更新的任务就落到了原来的比特币核心开发者身上。

随着社区的扩大,社区讨论将导致技术分歧。 当时比特币核心开发者只是一个小团体,需要修改直接在内部讨论发布,但当社区壮大后,这种方式很可能会导致技术上的分歧。 协议控制太多,这将是比特币失败的最终原因。 因此,BIP(Bitcoin Improvement Proposal)被提出。

BIP 的两个版本

BIP0001于2011年8月19日生效。BIP(Bitcoin Improvement Proposals,比特币改进提案),这一概念于2011年8月19日由Amir Taaki首次提出,该提案成为第一个BIP。 BIP0001定义了BIP的基本流程。

Luke Dashjr于2016年2月3日提出BIP0002,BIP0001基本满足了当时社区对开发流程形式化的需求,但由于很多细节描述不详细,部分规范已经过时,BIP0002被迭代在此基础上,最终实现并替换了BIP0001作为当前使用的BIP规范。

提交 BIP 之前应该做什么?

当你对比特币有具体的新想法,确认你的想法适用于BIP,一些小的更新或bug修复,直接提交问题到具体的项目开发,并不足以成为BIP。

首先,在相关论坛上公开验证想法以节省时间。 在写 BIP 之前,把想法发表在合适的地方,可以是比特币邮件列表(bitcoindev@lists.linuxfoundation.org)或者 Bitcoindev IRC 或相关的技术论坛,让大家发表评论。 这样做的好处是可以节省你潜在的时间,在大量工作之前找出你的想法是否有问题。

另外,询问这个想法是否是以前没有人想过的。 很多人提出过很多关于比特币的想法,但最后都因为各种原因被否决了。 所以你的想法可能以前有人提出过但没能实现。 如果是这种情况,请找出未实施的原因,如果您无法修复它,那么就不要在注定要被拒绝的事情上花费太多时间。

同时,确保你的想法适用于整个社区。 有时候这个想法本身看起来不错,但并不适用于比特币社区的大多数人,这个想法最终会被否决。

BIP格式要求

当你在社区发表了idea,觉得有被接受的可能,就可以开始写BIP草稿了。 但是BIP有严格的格式要求,如果不按照格式写,会直接返回。

一份合格的 BIP 草案需要包括以下内容:

Preamble:包含BIP基础数据的preamble,需要写成特定的格式

摘要:对要解决的技术问题的简短描述(约200字)

版权所有:需要根据特定版权条款获得明确许可

动机:清楚地解释为什么现有的协议不足以解决这个 BIP 试图解决的问题

规范:技术规范应该足够详细地描述任何新功能的语法和语义。

基本原理:描述设计的动机以及为什么做出这个特定的设计决定来补充规范

向后兼容性:所有引入向后不兼容性的 BIP 必须包含一个部分来描述这些不兼容性及其严重性。 BIP 必须说明作者建议如何处理这些不兼容性。 如果没有足够的向后兼容性讨论,BIP 提交可能会被彻底拒绝。

参考实现:参考实现必须在被赋予“最终”状态之前完成,但不需要在 BIP 被接受之前完成。

一份合格的BIP稿也需要注意格式

序言格式需要注意:

BIP: //BIP编号,如果是在草案阶段,填“?”

* Layer: //记录BIP作用于哪一层,BIP123中有不同层次的定义

title: //BIP的标题,最多44个字符

作者://作者姓名和电子邮件地址

* Discussions-To: // 讨论BIP的邮件列表地址

* Comments-Summary: //BIP获取的评论汇总

Comments-URI: //查看BIP评论的wiki地址

地位:

撤回 | 决赛 | 已替换 | Obsolete> //表示当前BIP处于什么状态

Type: //表示BIP的类型

Created: //为BIP分配标签的日期

license: //使用的license证书

* 许可证代码://许可证代码

* Post-History: //发布时间(发布到比特币邮件列表)

* Requires: //取决于BIP号

* Replaces: //替换的BIP号

* Superseded-By: //哪个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 具有两个属性:完整和健全。 也就是说,草案内容完整,符合规范,没有漏洞,经得起推敲。

检查标题是否准确描述了内容

检查是否有预先发布到 bitcoin-dev 邮件列表以进行公开讨论

检查是否充分描述了动机并解决了向后兼容性问题

检查序言中的 Layer 标签是否根据规范正确分配

检查license是否在指定范围内

如果BIP编辑认为你的BIP还没有准备好,他会解释原因并发回给你。 您可以重新编辑修改BIP编辑器给出的说明,重新发送。

完善后,您可以向 BIPs git 存储库提交拉取请求。 收到拉取请求时,BIP 编辑器将执行以下操作:

为您的BIP分配一个BIP编号,您的BIP正式诞生!

标记您的 BIP 类型(标准跟踪、信息、过程)

合并您的拉取请求,并将 BIP 添加到 BIP 存储库

在README.mediawiki中列出你的BIP,大家可以方便的查看动态

此时,您的 BIP 将再次公开,以获得进一步的社区反馈。

BIP 分为三种类型:

Standards Track BIP:描述影响大多数或所有比特币实施的任何变化,例如网络协议的变化、块或交易有效性规则的变化,或影响使用比特币的应用程序的互操作性的任何变化或添加。

Informational BIPs:描述比特币设计问题,或向比特币社区提供一般指导或信息,但不提出新功能。 信息性 BIP 不一定代表比特币社区的共识或建议,因此用户和实施者可以自由地忽略信息性 BIP 或遵循他们的建议。

Process BIP:描述围绕比特币的流程,或提议对流程(或其中的事件)进行更改。 Process BIPs 类似于“Standards Tracking BIPs”,但作用于比特币协议本身之外的区域。 流程 BIP 可能会建议实现,但它们不会特定于比特币代码库; 他们通常还需要社区共识; 与信息性 BIP 不同,它们不仅仅是建议,用户通常不能随意忽略它们。 程序、指南、决策过程的变化,以及比特币开发中使用的工具或环境的变化都是过程 BIP。

BIP的最终实施过程

在您的BIP通过审核并纳入BIP仓库后,抓紧时间推广您的BIP。 毕竟,实现自己的想法并为社区付诸行动,会给你带来很大的成就感。

流程BIP和信息BIP将讨论一个多月,如无异议,即生效。 所以如果是流程BIP或者信息BIP,只要在邮件列表上经过一个多月的讨论没有未解决的异议,我们就可以确定BIP已经达成了多数共识,状态是BIP将改为“Activation”在比特币社区真正起作用。

标准的跟踪BIP会更加复杂和谨慎。 您的目标是将 BIP 状态从“草案”更改为“最终实施”。

在BIP123中,标准的BIP分为四层五类:

共识层

软分叉

硬分叉

对等服务层

API/RPC层

应用层

不同类别的BIPs达到“最终实现”状态所需的条件不一致。

软分叉 BIP 严格要求多数矿工投票。 考虑到矿池的存在,一般需要95%的多数票。

硬分叉BIP更为严格,需要整个比特币社区成员的采用,尤其是那些使用比特币买卖商品、存储和交易比特币的人。 基本上,硬分叉只有在比特币社区所有成员的同意下才能实现。 达成这样的共识是极其困难的,所以比特币的历史上从来没有真正的硬分叉升级过。

点对点服务BIP需要监控至少1%的公听节点在一个月内采用BIP

API/RPC和应用层BIP至少由两个独立兼容的软件实现。

以上过程非常复杂冗长,往往是多方博弈的结果。 作为BIP的拥有者,现阶段要做的就是不断宣传自己的BIP,接触更多的社区成员比特币程序,尝试推广自己的设计理念,说明自己的BIP将如何对社区产生积极的影响。比特币社区。 争取更多的社区成员成为您的 BIP 的拥护者比特币程序,并逐步实现您的 BIP。

将BIP的状态更改为“最终实施”,将是对您最大的回报。

比特币分叉会影响比特币价格吗_比特币程序_比特币价值比特币最新

(扫描二维码加入群交流)