主页 > imtoken.im > 几乎无法维持2100万总量:谁该为比特币漏洞负责

几乎无法维持2100万总量:谁该为比特币漏洞负责

imtoken.im 2023-02-06 05:58:42

自上周发现并修复比特币最严重的漏洞以来,比特币社区普遍存在震惊情绪。

报告表明,此错误可用于关闭部分比特币网络。 另据悉,该漏洞为拒绝服务漏洞。 如果它被利用,攻击者可以使用它来攻击节点。 在最坏的情况下,它可能会暂时导致比特币网络崩溃。 有些矿工运行挖矿硬件并处理比特币网络交易,甚至可能通过双花交易利用此漏洞。

更夸张的是,随着事件的发展,这个漏洞甚至可以被利用创造出更高的区块,这意味着比特币将超过2100万枚。 一旦实现,它将导致比特币供应膨胀和贬值。

目前,由于该漏洞影响广泛,开发者决定对漏洞修复细节完全保密。

然而,随着社区成员将这个漏洞隐瞒了两年,甚至可能导致比特币“2100万供过于求”的漏洞修复,开发者开始思考:有没有办法避免这样严重的漏洞再次发生?

这个问题在发现 bug 后的几天里还没有任何正式的提案。 这并不是说该事件没有引发讨论比特币漏洞,即:比特币如何运作,以及未来如何识别和解决比特币核心中的类似错误。

这是一个关键问题——如果恶意行为者首先发现了这个漏洞怎么办? 如果现在代码中还有其他隐藏的错误怎么办? 还有什么可能是灾难性的?

马斯克叫停比特币买车 比特币跳水_比特币漏洞_比特币分叉影响比特币总量

此时,subreddit 版主“Theymos”敦促社区不要忘记这个问题。

在一篇广为流传的帖子中,他称这个错误是“公认的重大失败”,并补充道:

“如果比特币核心的所有规则和做法都保持不变,类似的失败最终不可避免地会再次发生,我们可能不会那么幸运地再次看到今天的结果。”

有一种观点认为,在全球参与者的开放网络的推动下,Bitcoin Core 现在拥有历史上最强大的代码审查流程。

现在有比以往更多的开发人员参与此实现,测试人员占其中很大一部分; 据估计,测试约占代码库的 20%。

社区失灵

不过,开发人员认为需要做更多的工作才能确保数字货币顺利运行。

马斯克叫停比特币买车 比特币跳水_比特币分叉影响比特币总量_比特币漏洞

根据 Theymos 的说法,一种方法是构建“更复杂”的测试,专门针对严重但难以发现的错误,例如上周测试的地方。 “也许社区应该希望向比特币核心派遣更多技术测试人员,”他继续说道,并补充道:

“许多社区目前对核心开发没有任何贡献。”

Bitcoin Core 贡献者 James Hilliard 也强调了这一点,他认为开发人员可以提高测试的“数量”和“质量”。 然而比特币漏洞,这说起来容易做起来难。 比特币核心贡献者 Greg Maxwell 在他们的帖子中同意测试很重要,但测试的质量和细节更为重要。

“将更多精力投入测试对我们来说是一项长期挑战,部分原因是测试并不比系统工程容易。 测试涉及并非每个人都具备的技能和能力。”

这样的专业人士很难找到。

“比特币的发展在很大程度上受到代码审查的限制,而且能够做到这一点的人并不多,”希利亚德说。

然而,许多人认为责任不应完全落在开发人员身上。 一个普遍的观点是,作为一个没有领导者的去中心化项目,让比特币成为正确的人是共同的责任。

马斯克叫停比特币买车 比特币跳水_比特币漏洞_比特币分叉影响比特币总量

“我的主要问题是很多人指责特定的开发者。整个项目是开放的,没有'会员制',用户负责审查代码,就像开发者积极贡献代码一样。” 比特币爱好者 Shinobimonkey 快递。

比特币核心维护者 Wladimir van der Laan 回应了同样的观点,发推文说:“错误的代码被合并了。是的,我们搞砸了,但搞砸的‘我们’的范围很广。漏洞是由整个社区造成的,而不是彻底审查协商一致的变化。

工程师 John Newberry 同意了。 尽管他没有编写代码错误,但他辩称,作为比特币世界的开发人员,他是错误的一部分,因为他没有仔细检查代码。

他甚至说他认为有些代码看起来很荒谬。 不过,他感觉别人查过了。

“与其自己去验证,我更相信比我聪明、聪明的人有他们自己的答案,我想当然地认为别人已经检查过了。”

责任分散

所谓“责任分散效应”,是指如果让一个人独自完成任务,他会产生强烈的责任感,会积极响应; 但如果需要一个团队共同完成任务,那么团队中每个人的责任感就会很强。 虚弱的。

比特币分叉影响比特币总量_马斯克叫停比特币买车 比特币跳水_比特币漏洞

之所以会出现上述情况,是因为前者需要独立承担责任,而后者则期望他人承担更多的责任。 简单来说就是:太多人不负责任,责任没有尽到。

比特币代码由世界各地的开发者共同维护。 虽然聚集了无数比特币爱好者,但这种去中心化管理容易出现另一种情况:大家会认为“一段看似有问题的代码,用的人可能比我还多”。 好人都查过了,我何必自寻烦恼呢?”这就造成了“集体冷漠”的现象。

在著名的“安全、效率、去中心化”铁三角中,比特币社区该何去何从?

多个比特币核心

如何防止此类漏洞再次发生,引发了社区的热烈讨论。

Blockstream 首席运营官 Samson Mow 在推特上说:“比特币以前有过漏洞,未来还会有漏洞。它是软件,没有什么大惊小怪的。”

承接上述观点,还有另一种主流观点。

比特币漏洞_比特币分叉影响比特币总量_马斯克叫停比特币买车 比特币跳水

今天比特币的主要软件,Bitcoin Core,由 95% 的比特币节点运行。 (这是基于统计数据 - 有趣的是,没有办法看到每个比特币节点,因为出于隐私原因,一些节点不会向网络的其余部分宣布它们的存在)

所以我们的想法是创建更多的“核心”来运行比特币软件。 那样的话,如果一个实现有一个破坏性的错误导致网络崩溃,其他实现仍然可以运行,保持比特币作为一个整体运行。

在某种程度上,这种做法已经存在。 目前有一些鲜为人知的比特币实现,例如 Bitcoin Knots 和 Btcd。 这种做法也正在成为其他加密货币的规范。 例如,以太坊有两个主要实现,geth 和 parity,每个运行该软件的人都可以使用。

尽管如此,许多比特币开发者仍然担心添加多个实现可能会带来比上周的漏洞更严重的问题。

“很多人没有意识到,让人们运行不同的实现会让攻击者更容易分割网络,”Bitcoin Core 贡献者 Andrew Chow 在一次概述利弊的谈话中说。

当然,开发商在这个问题上并不同意。

当他说:

“我不知道如何防止这种情况再次发生,但我认为社区如果仅仅因为它没有造成危机就忽视这个错误是错误的。”