当前位置:网站首页 > 专栏 > 正文

比特币的BIP治理结构及运作方式

作者: 新财经 2019-04-19 17:08:55 1881 0

比特币是一种分布式开源软件,这意味着没有官方的团队来维护软件升级,并且任何人都可以自由地使用、修改并且更新相关代码,这并不意味着比特币没有自己的治理方式


相反,比特币遵循着一套开源软件协作治理模式BIPs,这种协作方案借鉴了ARPANET在1969年创建的Request for Comments文件标准。


现在比特币即代表了区块链技术也是一种数字货币系统。虽然比特币交易会永久保留在区块链上并且不可更改,但软件世界需要不断迭代,所以比特币的基础协议仍在不断改进和升级


正是BIPs标准在执行对比特币协议的升级。BIP为参与者根据标准化的流程,为协议提出新想法,对其进行测试并对其进行同行评审


在本文中,我们将详细介绍用于升级比特币协议的BIP流程,并展示以协议来治理比特币软件的运作流程



为什么需要BIP


比特币代码最初完全由中本聪(Satoshi Nakamoto)本人编写,并且当时所有人认为比特币只是一个验证去中心化数字货币可行性的实验方案。在经历了一系列事件后,如今比特币已经证明了数字货币的可行性


在比特币开发的早期阶段,并没有相关的协议开发标准。Satoshi 自己撰写了大部分原始代码,之后随着软件不断更新以及技术改进。


他开始在一个密码学家云集的论坛Cryptography Mailing List向相关专家征求改进意见。在收到大量反馈后,最终Satoshi创建了BitcoinTalk论坛,这个论坛主要致力于讨论比特币的技术迭代。


起初协议采用的决定权仍在Satoshi手中。当有人向Satoshi报告比特币代码库中的错误,这一漏洞可能会使任何人都可以花费其他人的比特币时,Satoshi就会推动比特币协议的迭代更新,并告诉网络上的每个人升级他们的客户端。


但是为了增加比特币生态的生命力,Satoshi认为需要使比特币减少对个人的依赖程度,比特币的迭代应该依赖于整个开发者社区。由此产生了比特币的BIPs方案,最终Satoshi从比特币项目离开时社区的稳定运营也证实了BIPs的有效性。


在比特币项目开发初期,Satoshi获得了很多积极参与社区活动的开发者的帮助,比如Gavin Andresen。


当Satoshi宣布他将于2011年离开该项目时,他将项目的决定权交给了Andresen。但Andresen不想独自把控着比特币代码的权力,毕竟这违背了去中心化的原则,因此他邀请了另四位开发人员参与比特币项目的决策,包括Pieter Wuille,Wladimir van der Laan,Gregory Maxwell和Jeff Garzik。


这些开发人员被便是我们当前所熟知的“比特币核心开发者”,因为他们将负责管理比特币核心客户端的升级过程与迭代方案。


比特币核心开发人员不仅负责比特币协议的大部分开发任务,他们也维护比特币的代码库,是唯一能够将最新代码集成到比特币核心客户端的团队。


虽然这些年来有数百人为比特币贡献了代码,但只有十几个人曾经拥有对代码库的访问权限。


虽然这导致人们认为比特币核心开发人员对比特币协议的开发具有专制的影响力,但事实并非如此,核心开发人员只是参与共识生成的过程,并执行最终的升级方案。

比特币核心的贡献者Jameson Lopp 指出:

虽然维护人员在技术上有可能劫持GitHub代码库,审查不同意见的开发人员,甚至维持“比特币核心”的品牌名称,但结果将是比特币核心将不再是开发焦点。不同意比特币升级路线的开发人员只需将代码分叉并将其工作转移到不同的存储库,而比特币核心维护者没有对新代码的管理员权限


随着比特币网络多年来的发展,比特币也确实发生了多次技术分歧,由于产生了关于技术改进的辩论,有开发者认为比特币核心团队对协议的绝对控制会导致比特币走向失败。


由此诞生了比特币改进提案流程(BIPs),它方便了开发者围绕比特币的开发过程展开讨论,并让更多社区成员更容易理解技术的升级方案,并使开发人员的开发流程正式化


BIP的剖析


比特币改进提案是一项提议改进比特币协议的标准,由Amir Taaki于2011年在BIP 0001中提出,并由Luke Dash Jr.在BIP 0002中进行了扩展。


BIP过程严重依赖于Python增强提议(PEP 0001),甚至直接复制了一些文本。它还提到了一个名为“在IETF中达成共识”的文件,这是一套来自互联网工程任务组的开源协作原则。


BIP流程的目标是允许任何人提出改进比特币协议,但在实施可能威胁网络稳定性的任何代码之前,还要彻底审查安全性和可行性


BIP赋予了社区提出对比特币软件改进想法的权力,也使社区可以进行同行评审。BIP对于像比特币这样没有领导者的分散协议的发展至关重要。自BIP流程建立以来,Github已有形成了191个BIP文件标准。


有三种不同类型的BIP:

标准跟踪BIP提议对比特币进行更改,包括更改网络协议,阻止或交易有效性规则,或影响使用比特币的应用程序的互操作性的任何更改。


信息BIP描述协议中的设计问题或向社区提供信息,他们不建议为协议实现新功能。


流程BIP:提出围绕开发比特币的流程,或建议对流程进行更改。它们不直接影响比特币的代码库,但它们可能包括新程序,开发决策的变化,或者用于开发比特币的工具的变化。


每个BIP必须经过几个不同的阶段才能实施。这是BIP 001中描述的工作流程:


 

要实施BIP必须从草案阶段,提议阶段,到最终阶段。

  • 草案:BIP作为草案提交给比特币开发邮件列表和BIP Github存储库。

  • 建议:BIP包括一个工作实施,其中包含部署BIP的计划。

  • 最终:BIP符合现实世界的采用标准。


此过程中,BIP可以被社区拒绝,撤回或替换:

  • 延期:BIP的作者可以在没有取得进展的情况下将其状态更改为延期。

  • 撤回: BIP的作者也可以选择完全撤回BIP。

  • 被拒绝:如果三年内没有取得任何进展,任何人都可以请求将BIP拒绝。

  • 替换:如果先前的最终BIP变得无关紧要,则将其标记为已替换。例如,如果在软叉中实施的BIP在三个月之后被硬叉翻转,就会发生这种情况。


分布式网络中共识的达成机制


比特币运行在由节点,用户,开发人员和矿工提供支持的分布式网络上,没有中心化的团体控制协议的升级迭代方向。虽然不可能改变比特币区块链上的交易数据,但为协议提供支持的基础技术正在不断改进。


通过工作量证明机制来达成关于升级方案的共识,随着时间的推移,协议更新要求不同类型的社会成员达到共识。BIP流程是开发人员就如何以分散和开放的方式协作和贡献比特币代码的关键机制。


原文:https://blog.sfox.com/bitcoin-governance-what-are-bips-and-how-do-they-work-276cbaebb068


本文暂时没有评论,来添加一个吧(●'◡'●)

发表评论:

  • 评分:
  • 回到顶部