美文网首页
在“重大”失败之后,比特币代码审查受到了严格审查

在“重大”失败之后,比特币代码审查受到了严格审查

作者: b4d0d93677ab | 来源:发表于2018-09-30 15:32 被阅读20次

    上周,比特币最严重的漏洞之一被发现并修补后,“震惊”可能是最能描述这种情绪的词。

    随着社区卷在代码中隐藏的弱点两年来,这可能是利用印刷更多的比特币2100万是硬编码的生产,开发人员想知道:有办法防止这样一个严重的bug添加到代码吗?

    在发现的几天后,还没有任何正式的提议。但这并不是说,这一事件并没有引发有关比特币如何运作的讨论,以及比特币最受欢迎的软件实现——比特币核心——的类似漏洞,在未来可以被识别和解决。

    这也是一个重要的问题——如果一个恶意的参与者首先发现了这个漏洞会怎样?如果代码中还有其他隐藏的bug呢?

    在这一点上,匿名的比特币reddit版主“他们”敦促社区不要忘记这个漏洞。

    他认为,在一篇广为流传的帖子中,这是“不可否认的重大失败”,并补充道:

    “如果所有比特币核心的政策和做法都保持不变,那么同样的失败将不可避免地再次发生,我们可能不会那么幸运,因为它是如何在那个时候发生的。”

    话虽如此,但有一种观点认为,比特币的核心是由一个开放的全球参与者网络驱动的,现在它的代码审查过程比技术历史上任何时候都要强大。

    现在,实现的开发人员比以往任何时候都要多,这是开源代码库的贡献。它的测试相当多;据估计,测试占了代码库的近20%。

    社区的“故障”

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

    他们认为,一种方法是建立“更复杂”的测试,以定位严重的,但很难找到bug,就像上周的那样。他继续说道:“也许所有大型比特币公司都应该被社区所期望的,把有技能的测试专家分配给核心。”他补充道:

    “目前,许多公司对核心开发没有任何贡献。”

    比特币的核心贡献者James Hilliard也强调了这一点,这表明开发者可以增加测试的“数量”和“质量”。然而,这可能是说比做容易。比特币的核心贡献者Greg Maxwell在他们的研究中同意测试是重要的,但是测试的质量和细节是很重要的。

    “将更多的精力投入到测试中对我们来说是一个长期的挑战,部分原因是测试的艺术和科学与系统工程的其他方面一样困难。测试涉及到特定的技能和能力,而不是每个人都有。”麦克斯韦说。

    这种专业技能很难找到。

    “比特币的发展在很大程度上受到了代码审查的影响,而且没有多少人能够做到这一点,”Hilliard表示。

    然而,许多人认为,责任不应该只落在开发人员身上。一种普遍的看法是,作为一个没有领导者的分散项目,让比特币不存在错误是一种共同的责任。

    “我面临的主要问题是,人们指责特定的开发人员推卸责任。整个项目都是开放的,没有“会员”,用户也有同样的责任去审计代码,就像开发者积极贡献的那样,“匿名的比特币爱好者Shinobimonkey说道

    比特币的核心维护人员w迪米尔范德拉恩分享了这样一种观点,他在推特上写道:“错误的代码被合并了,这是错误的。是的,我们搞砸了,但搞砸的“我们”是很宽的。整个社区都搞砸了,因为他们没有彻底审查共识的变化。”

    链码工程师约翰纽贝里同意了。尽管他没有写有bug的代码,但他认为,作为比特币领域的一名开发者,他也在这个错误中扮演了一个角色,因为他没有仔细观察。

    他甚至说,这个问题的代码对他来说很有趣。然而,他认为其他人已经检查过了。

    “我不去核实自己,而是相信比我更聪明、更聪明的人会被我所覆盖。”我想当然地认为其他人已经完成了这项工作,”他说。

    多个比特币核心

    尽管如此,一些人认为总会有漏洞的风险。

    “比特币曾经有过漏洞,而且会再次出现漏洞。这只是软件。这没什么神奇的,”Blockstream的首席运营官萨姆森说。

    沿着这条线,还有另一个流行的想法。

    今天在比特币上,有一个主要的比特币软件,比特币核心,由95%的比特币节点运行。(至少这是根据一项统计数字——有趣的是,没有办法看到每个比特币节点,因为有些节点需要更多的隐私,也不会向网络的其他部分宣传它们的存在。)

    那么,一个想法就是制造更多的比特币代码实现。这样,如果一个实现有一个灾难性的错误,它会导致网络崩溃,那么其他的实现仍然可以很好地保持比特币的运行。

    在某种程度上,这已经存在了。有一些不太为人所熟知的代码实现,比如比特币结和Btcd。在这个加密货币的世界里,这已经成为一种常态。例如,ethereum有两个主要的实现,geth和奇偶校验,每一个都可以被任何运行该软件的人使用。

    尽管如此,许多比特币开发者仍然担心,增加一个以上的实现可能会带来比上周更糟糕的问题。

    “许多人没有意识到的是,让人们运行不同的实现可以让攻击者更容易地划分网络,”比特币的核心贡献者Andrew Chow在一场概述利弊的对话中说。

    因此,开发人员并不一定就需要做什么达成一致。

    他们也许说得最好,他说:

    “我不知道如何才能避免这种情况再次发生,但我知道,如果这次的结果是无害的,那么社区就会犯错误,因为它最终基本上是无害的。”

    【链线简介】链线财经是基于Chainline主链的去中心化区块链和数字货币财经资讯平台,是集财经资讯、社交广告、交易钱包、理财功能、DAPP分发等一站式区块链产业服务平台,链线财经致力于打造真正自治、高效、透明的区块链世界,成为区块链时代标准入口级用户生态社区。

    官方网站:www.lianxian.pro

    官方订阅号:链线财经订阅号

    相关文章

      网友评论

          本文标题:在“重大”失败之后,比特币代码审查受到了严格审查

          本文链接:https://www.haomeiwen.com/subject/ffpwoftx.html