作者:币圈大猫
发布时间:2019年2月13日
网络来源:新浪微博-比特吴社区(ID:bitewu555)
近期最近微博大V江卓尔就在微博上声称,core开发组的下一个目标是增发比特币,修改2100万总量上限,停止减半。
Core开发组真的有那么大的权力,能够修改2100万的硬顶吗?
作为一个社区化的项目,一直以来core开发组在软件的迭代上都起到了非常重要的作用,本篇文章将向你详细的介绍core开发组在比特币社区的地位和作用,以及他们的运作机制。
在讨论上面这个问题之前,我们需要了解比特币软件的迭代历史,以及core开发组的运作模式。
社区的人几乎都知道比特币是开源的,但它开源的方式和平台经过了三轮迭代。
2009 年初,比特币项目的源代码只是一个 rar 压缩包,存在 SourceForge 服务器上。早期的开发者会用电邮跟中本聪交换代码补丁。
2009 年 10 月 30 日,Sirius (真名 Martti Malmi)在 SourceForge 网站上创建了一个 subversion 代码仓库。
2011 年,比特币项目从 SourceForge 迁移到 GitHub。2014 年,比特币项目更名“Bitcoin Core”( 比特币核心)
现在来看,作为一个在Github上开源的软件,是不是意味着Github的员工有权限向比特币的代码库提交代码?答案是否定的!
Bitcoin Core没有将代码的完整性建立在GitHub帐户之外,而是具有一个连续的集成系统,它执行对可信PGP密钥的检查,每个合并提交都必须要有签名。
也就是说比特币代码的每一次提交和修改都需要经过维护者的密钥去签名验证,目前掌控密钥的是以下五个人:
1、Wladimir J. van der Laan
2、Pieter Wuille
3、Jonas Schnelli
4、Marco Falke
5、Samuel Dobson
显而易见的是如果以上五个人中任何一人的密钥泄露就会对整个系统构成安全隐患,开发人员当然也考虑到了这一点。
代码的安全性当然不能仅仅依靠几个密钥,它还存在其它方面的安全检查以提供深度防御,至于是哪些方面,脱离了我们今天的主题,在此便不详细说明。
那么核心开发者就是以上的五个人吗?
很多人都认为core是一个统一的团队,类似于传统的项目团队一样,而实际上核心开发者之间也常常有分歧产生(详见后文)。
某个补丁是否会被采纳,有一个统一的最低标准,是否符合标准由维护人员去衡量。
任何开发人员都有机会成为比特币的维护人员。
条件是现有的维护人员团体认为某个贡献者已经在某特定领域展示了能力、可靠性、动机,有资格当上维护人员,就会把“提交的访问权”授予这位贡献者的 GitHub 账户。
所以,维护人员的作用是起到了监督和协调代码发布的作用。
维护人员也有一个最高的头头,比特币诞生这十年以来,维护人员的领袖更换了三次,他们分别是:
1、中本聪:2009/1/3-2011/2/23/
2、嘉文安德森:2011/2/23-2014/4/7
3、Wladimir van der Laan:2014/4/7-现在
所以比特币核心是有层级结构的,但是项目本身不受参与者控制,甚至不受那些对 GitHub 代码库有高级特权的人控制。
比特币的核心维护人员确实有很大的权力,但并不是对每一个方案的实施都有决定权,方案的实施取决于集体共识。
实际上每一个方案都是需要社区绝大多数人的意见统一之后才能实现的,BIP比特币改进协议就是集体共识的体现。
Core开发组中拥有高级权限的人的确有可能做一些违背集体共识的事情,甚至还拥有比特币的冠名权,但是结果就是core开发组将不再受到认可,开发出来的软件绝大多数人都不会去执行。
那些不同意维护人员的开发者,可以直接将代码分叉,把自己的方案换到另一个代码库,这样比特币核心维护人员就没有管理权限了。
比如此前针对网络拥堵问题,有隔离见证+闪电网络和扩大区块容量这两种方式作为解决方案,core开发组的原则是:对于争论性的提案,他们会采取偏保守的方案。
尽管得到不到核心开发者的支持,但是扩大区块容量这一方式还是执行了,这也就是比特现金的诞生。
在另一方面,核心开发者也不是抱作一团的,核心开发者之间也会存在意见的不一致而发布不同的版本,最典型的例子就是Amaury Sechet 曾经让比特币核心分叉,在功能上除掉了“隔离见证”,创造了 Bitcoin ABC。
比特币本身就存在多个客户端,core开发出来的只是其中的一个版本而已,除此之外还有Bitcoin classic、Bitcoin XT、Bitcoin Unlimited等。
追根溯源,Core开发组的第一任领袖是比特币的创始人中本聪,且目前core开发组版本的比特币节点也是所有节点中最多的,全网占比96%。
至于修改比特币2100万总量上限,core有能力这么做,但这纯属傻X操作,无疑是搬起石头自己的脚,我也相信社区绝大多数人不会赞成这个提案。