与比特币核心( Bitcoin Core )竞争

摘要:我们研究了 “比特币核心” 软件项目的能量和动态,并且我们分析了可以与该项目竞争的各种不同方式。我们说明了一般对于比特币核心软件存储库具有改变或阻止改变比特币共识规则的独特能力的误解。我们还讨论了其他常见的误解,并解释如果比特币核心存储库被恶意行为者入侵或删除,比特币应该基本上不受影响。

 

维恩图说明了与比特币核心“竞争”的各种方式

(资料来源: Bitcoin ABC , Bitcoin UASF , BTCGPU , Bitcoin XT , BTC1 , Bitcoin Classic , Bitcoin Cash Cobra , Bitcoin SV , Bitcoin Unlimited , BitcoinX , Bitprim , Bcoin, Parity Bitcoin , BTCD , Libbitcoin , Caesure , Bits of Proof , Bitcoinj , Ufasoft Coin , Bitcrust , Picocoin , Bitcoin Addrinex , Bitcoin Knots , Bitcoin-RBF , 比特币 BitMEX 研究)

 

三种竞争形式

可以将比特币核心的竞争软件项目分为三个不同的组别:

竞争形式 解释
链条之间的竞争 这是指竞争软件项目故意对用户当前运行的网络实行一组不同的共识规则,这包括硬分叉和软分叉。在某些情况下运行这样的软件可能被认为是有风险的,因为它可能将代币分拆成两条链条。

 

因此,这种竞争是在不同的代币/链条之间,而不仅仅是与比特币的不同应用竞争。事实上,如果有人使用比特币核心的软件进行软分叉并改变共识规则,大多数代码仍然是由同一个开发团队编写出来的,因此它并不真正意义上的 “竞争”,而是推出一个新的代币,而该代码还是由同一个团队写的。

独立应用方面的竞争 这种形式的竞争是出现在当比特币不使用比特币核心代码的情况下,通常这时候会使用新的编码语言;试图尝试使用其他语言带来一些其他优势。

 

与上述竞争形式一样,许多人认为这种形式的竞争存在风险,因为不同的共识规则可能会意外增加链条分裂的可能性。替代客户端需要匹配当前运行的软件用户的共识行为,甚至匹配大多数客户端中的错误或意外行为。

其他软件项目带来的竞争(既不会改变共识规则也不会重新更改代码库) 不尝试改变共识规则或不编写新的独立代码库,我们依然可以与比特币核心竞争。我们可以通过造成项目软分叉,然后仅进行非共识更改来实现此目的。

 

该竞争模式并不具有上述提到的许多风险。

 

关于共识规则竞争的争论

这个话题已在比特币社区广泛讨论,主要是在 2015 年夏天到 2017 年 11 月的“区块大小争论”的背景下。我们不会在本报告中重复所有这些论点,我们将集中阐明竞争类型的不同之处。

赞成竞争 反对竞争
应该鼓励共识规则的相互竞争,因为这可以确保代币具有灵活性并能够适应竞争。规则现状总是普遍存在的模式意味着规则可能永远不会改变,就算在新的规则是非常吸引的情况下也是如此。因为在这个有争议的环境中,少数人总是会反对任何改变。

 

与许多人的想法相反,其实规则间的竞争不太可能对系统造成重大破坏。实际上,大型企业和社区将迅速统一支持一枚代币,并改变他们客户的运行模式,以遵循经济导向或哈希值多数。

最好尽量避免共识规则间的竞争,因为这样做会带来风险并损害代币的稳定性。如果发生争议,应以现有的共识规则为准,这使得代币保留原有的规则(例如 2,100 万上限)并成为比特币的关键独特属性。因此,在没有广泛同意的情况下改变共识规则可能导致的破坏是比特币一个特征。

 

因此,更改共识规则只应该适用于以下两种方式:

  1. 得到整个社区及代币用户和技术专家广泛同意。还必须为用户升级其客户端留出足够的时间。
  2. 如果程序员不确定是否有足够数量的用户升级到新规则,这可能会导致推出新代币。在这种情况下,可能需要各种安全措施,如强大的双向重放保护和链条擦除保护(用于完全验证客户和轻客户),以降低用户失去资金的风险

 

(如果规则的变化是一个软分叉(而不是硬分叉),如果大多数矿工升级,可能会阻止链条分割)

 

关于独立应用方面竞争的争论

如上所述,这也是一个非常有争议的话题,但我们仍然认为,这与蓄意改变共识规则的竞争是一个根本不同的问题。

赞成竞争 反对竞争
虽然一个主导的应用软件可以保护网络免于意外的共识错误,但它可能使代币暴露在某些类型的关键错误,例如导致客户端崩溃或允许意外代币通胀发生的错误。最近的一个例子是 CVE-2018-17144 ,这是一个在 2018 年 9 月才被发现的关键通胀漏洞。

 

例如,如果有十个独立的应用,每个具有 10% 的市场份额,那就算其中一个应用崩溃或引起错误通胀,仍然有 90% 的网络正常运作。因此,网络将变得更有弹性。所以客户用户运行的多样性是关键优势。

这种形式的竞争最强烈的反对者可能是中本聪,他/她曾经说过:

我不相信比特币的兼容应用是一个好主意。这么多的设计取决于所有节点在锁步中获得完全相同的结果,以至于第二种实现会对网络造成威胁。 MIT 许可证与所有其他许可证和商业用途兼容,因此无需从许可的角度重写它。

第二个版本对我来说会带来巨大的开发和维护麻烦。在没有第二个版本锁定的情况下升级网络时保持向后兼容性是很困难的。如果第二个版本搞砸了,用户体验会对两者都产生严重影响,尽管它至少会强化用户保留正式版本的重要性。如果有人准备分叉第二个版本,我将不得不提出许多关于使用少数人使用的版本的风险的免责声明。这是一个少数人服从多数人的设计,如果存在任何分歧,大多数人会获胜,对于少数人的版本来说的伤害这可能相当大,我宁愿不碰它,只要只有一个版本,我就没有需要第二个版本的必要。 (资料来源: Bitcointalk

虽然十个流行的应用可能是好的,但问题是如何从一个主导实现到多样化的过渡,同时避免没有系统出现危机,例如两个流行的独立应用,各具有 50% 的市场份额,这使网络易受共识错误的影响。因此,更好的计划可能是拥有一个受到高度审查的主导实施,以将共识错误降至最低。这样,网络对于所有用户来说都是可靠的,即便 10% 的少数链条的问题留给 10% 用户承担 。

 

其他竞争客户

即使一个人真的喜欢有一个强有力的规则集,反对共识规则的竞争,另一个人虔诚地遵循中本聪对竞争的负面看法,这并不意味着我们不能拥有竞争的软件项目。竞争可以简单地出现在上面维恩图中的圆圈之外的白色区域。这种形式的竞争既不会引发对共识规则的蓄意改变,也不会重新实施代码,这种竞争形式是不会引发争议的。

因此,从理论上讲,比特币永远不需要纠结在谁控制 Github 中特定软件存储库的或者谁拥有对存储库的访问权限的争论。在我们看来,许多这些明显的问题都是基于一种误解,这种误解是由那些欣赏竞争软件项目的某些风险但却无法在不同类型的竞争中进行适当区分的人所产生的。因此,许多人似乎高估了比特币核心软件存储库的功能,认为任何竞争都有风险或某种程度上不可接受。

 

比特币核心的起源

在 2013 年之前,没有名为比特币核心的软件项目。 中本聪客户端有时被称为参考应用或比特币-QT / Bitcoind 。然后在 2013 年 2 月,着名的比特币程序员加文安德烈森( Gavin Andresen )向比特币基金会论坛发帖询问:

今天在 IRC 中有一些关于重命名比特币-Qt 和参考应用的讨论;我认为你们中的一些人可能想到更好的名称。

另一个程序员回应道:

也该是时候更名了,这个名称使我恼火了很久。从今以后叫它“比特币核心”如何?

(资料来源:比特币基金会议论坛

 


从此许多人开始将软件项目称为 “比特币核心”,但实际项目内容上没有任何改变。然后,比特币核心慢慢发展成一个强大的品牌,代表了谨慎和稳定,或者正如加文( Gavin )在当时所说,“[它]就像一块石头一样坚硬”。

 

“区块大小争论” 所带来的冲击

在区块大小的争论期间,许多人将辩论定性为比特币核心与矿工或大型企业之间的战争,比特币核心方面反对硬分叉并反对加大区块大小。在我们看来,该表述不太正确。然而,相信该的人随后得出了结论,他们认为比特币核心获胜了,因为没有发生硬分叉。因此,我们认为这些人高估了比特币核心的力量。

 


比特币核心并不像许多人想象的那么强大

比特币核心软件存储库不能制定比特币共识规则。规则是由当前运行的具有经济意义的用户来制定的。这些通常是比特币核心之前发布的版本。在我们看来,比特币核心软件项目无法改变用户运行的软件,用户比许多人想象的更加独立。即使比特币核心已经实行硬分叉,然后增加了区块大小,但我们不清楚用户会否更新。因此,对比特币核心软件存储库的删除,黑客攻击或被入侵的担忧应该远远不如许多人想象的那么严重。如果发生这种情况,它不会影响客户端用户的运行,如果需要进一步升级或改进,我们可以简单地将其切换到不同的存储库或许多不同的存储库,而不必担心任何兼容问题或其他风险。

 

实际上,在 2017 年夏天,在某些方面,与比特币核心竞争的比特币 UASF 客户端推翻了比特币核心并故意改变了网络共识规则。因此,由区块大小的争论得出比特币核心是最强大的这种结论是有问题的。

 

BitMEX 研究正在推出一个与比特币核心竞争的新客户端(仅用于说明目的)


今天假设 BitMEX 研究宣布一个新的客户端与比特币核心竞争 – 比特币 BitMEX 研究。由于它是比特币核心的软分叉,因此它不会像中本聪所担心的那样无法兼容程序错误的风险。 BitMEX 研究客户端也不会改变比特币的共识规则,因此对有争议性的区块链分叉的担忧不适用。因此,如果比特币核心存储库被劫持或删除,代码库仍然可以使用比特币 BitMEX 研究客户端或任何其他客户端进行改进。

 

结论

在区块大小的争论解决之后,人们过分强调比特币核心软件库的强大功能。现在常见的问题是 “谁控制着存储库?”,“如果他们删除比特币核心 GitHub 怎么办?”。在我们看来,这些问题可能说明了他们缺少了对比特币的了解。


人们倾向于寻找控制比特币协议规则的人。在区块大小的争变之前和期间,许多人认为是矿工,大企业或加文安德烈森( Gavin Andresen )控制着比特币规则。这场争辩所带来的一个意想不到的负面后果是,许多人似乎改变了他们的观点,认为比特币核心有控制权,而这是一种不正确观点。事实是,尽管很难理解,最终还是由用户最终控制着比特币。

 

当然,这可能是不现实的,实际上, ASIC 制造商,大型采矿场,程序员,大型托管方,大型交易所甚至个人软件库都具有很大的影响力。用户最终具有控制权的想法, 可能比较理想主义。然而,“用户控制着他们的钱”又代表了什么?如果我们不认为用户控制着比特币,那么比特币又有什么意义呢?

 

 

 

欢迎转载,请注明文章来自

BitMEX (www.bitmex.com)