关于比特币的开源

本文首次发表于克雷格·怀特博士(Dr. Craig Wright)的博客,https://craigwright.net/

CSW483x290

我们对开源软件的真实需求被一些利益集团的宣传(政治作秀)所左右。我把比特币作为一个开源的软件来创造,并非因为我认为软件应当是免费的。相反,作为眼下最有资质的、最顶级的安全专家之一,我非常了解开放式算法中加密的基本规则。我创造比特币的方式是为了让它更安全。

从1883年的奥古斯特·柯克霍夫(Auguste Kerckhoffs)开始,在通信协议的编码分析和保密领域就形成了一套开放式分析的原则。柯克霍夫原则(Kerckhoffs’ law)指出,一套设计良好的加密系统,应当只有密钥是需要保密的,而加密系统的算法部分可以不需要保密。与之相反的,则包括那些受所有权保护,或是通过隐晦方式确保加密的软件。说得通俗一点,这些都是无用的偏方。由于缺少公开的评估,这些软件产品的安全漏洞使攻击者能够对系统造成损害。

不幸的是,许多政治作秀颠覆了公众对开源软件的需求的认知,让人们觉得开源只跟免费的软件有关。对于软件来说,免费和开源有一个很大的不同。开源意味着任何人都可以分析软件的源代码,确保在接下来数年中该软件系统的完好性。那些参与政治作秀的人用一种极权的方式,在该系统的各类著作权或所有权受到攻击时,颠覆了这一本质。(译者注:这些人称,代码公开容易导致被侵权,所以开源并不好,而实际上开源不代表免费,而是会使代码更安全)

如果软件的作者决定自由地发布软件,那么把它作为免费软件,这么做仍是软件作者的权利。但是很重要的一点在于,通过这种公开的方式,软件可以经过更多的分析,漏洞也将更快被发现。我曾经为好几家公司工作过,其中不乏一些反病毒公司。这些公司雇佣我,对自解压安装包和恶意代码做逆向工程。源代码本身不可能被完全隐藏。因此,在不开放源代码时,不仅自己的开发效率会变低,也并不会组织他人对系统漏洞的分析,反而这会更加激励攻击者。当代码公开可读时,用正当手段对代码漏洞来进行分析才是最有效的。

当代码作为专有系统的一部分来发布时,由于人们看不到源代码,这个系统就将会是脆弱且易受攻击的。并且,开发者需要对更多的东西进行保密,才能确保系统的安全。比特币则是一个开放的协议。基础的系统需要具备开放性,这是为了使它能经受广泛的分析,并让人们在其之上构建更多的内容。开放并不意味着它是非商业性的。相反,它允许商业组织参与构造应用。

柯克霍夫的原则并不局限于开源软件,因为它在软件得以被实现之前就出现了。相反,它要求算法是公开的,并且它可以被分析。话虽如此,为了使安全性独立于密钥的保密性,我们需要允许同行审查。密码学很难。比特币本身也很难。几乎每一个被创建的密码系统都是不安全的,并且会有漏洞。为了解决这个难题,我们需要密码学社区来分析系统,并发现漏洞。如果无法轻松地获取并审计代码,我们只会碰上那些受到激励来恶意攻击我们代码的人。移除源代码并不能阻止这类个人和组织,它只会让使用正当手段的分析师更难保护系统。一个系统拥有的秘密越少,它就越安全。

比特币设计的初衷不是为了成为免费软件,而是成为一种开放的协议,任何组织都可以在此基础上,构建和创造商业应用。它的设计遵循开源软件的使用方式。比特币绝不是反资本主义的。比特币与法律一并运作,并且不允许反政府和无政府主义者眼中的崩塌社会的存在。

202024日的“创世”协议升级是比特币历史上的一大里程碑,将见证BSV最大程度地回归到中本聪原先设想的协议。请访问“创世”硬分叉页面以了解更多信息。

要直接在您的收件箱接获CoinGeek.com最新消息,CoinGeek会议特别优惠以及其他内部信息,请加入我们的邮件列表