【大文观链】区块链社区文化遭遇资产安全担忧,是否还要坚守开源?

大文
大文

Dec 12, 2018

摘要: 在区块链的世界里,面向社区开发(即“开源”)是区块链技术从诞生起就拥有的特性。如今在资产安全考量中,是否遇到了挑战?

图/开源基金会

链得得注:【大文观链】,是链得得App新推出的区块链技术分析系列栏目。由链得得App独家作者马文佩,对区块链、数字货币市场中前端技术方案进行应用层讲解与热点事件的技术层分析。每个工作日与大家一同分享“链圈技术宅”的那些头脑日常。

“开源(open source)”这个词,指的是事物规划为可以公开访问的,因此人们可以修改并分享。这个词最初是起源于软件开发中,指的是一种开发软件的特殊形式。但到了今天,“开源”已经泛指一组概念——就是我们称之为的“开源的方式”。这些概念包括开源项目、产品,或是自发倡导并欢迎开放变化、协作参与、快速原型、公开透明、精英体制以及面向社区开发的原则。

“源代码(source code)”是软件中大部分计算机用户都没见过的部分,程序员可以修改代码来改变一个软件(“程序”或“应用”)工作的方式。程序员如果可以接触到计算机程序源代码,就可以通过添加功能或修复问题来改进这个软件。

有些软件只有创建它的人、团队、组织才能修改,并且控制维护工作。人们称这种软件是“专有(proprietary)”或“闭源(closed source)”软件。专有软件只有原作者可以合法地复制、审查,以及修改这个软件。为了使用专有软件,计算机用户必须同意(通常是在软件第一次运行的时候签署一份显示的许可)他们不会对软件做软件作者没有表态允许的事情。微软 Office 和 Adobe Photoshop 就是专有软件的例子。开源软件不一样。它的作者让源代码对其他人提供,需要的人都可以查看、复制、学习、修改或分享代码。

在区块链的世界里,面向社区开发是区块链技术从诞生起就拥有的特性。比特币本身就是开源的,任何开发者都可以为这个项目做出贡献。开发者只需要阅读并遵照README中描述的开发流程,提供高质量的代码,并遵循所有的开发准则,就可以将自己的代码提交到论坛中供社区中所有用户投票。对于区块链系统来说,开源是一种实现去中心化的手段。

在比特币之后,众多的区块链项目,尤其是公有链项目也遵循了这个传统,利用开源实现去中心化和社区共治。以太坊、IBM主导的Hyperledger Fabric、微软主导的Coco Framework等等项目都是开源的。

除了赋予项目去中心化的特性之外,开源也有很多其他优点,例如:

开源代码相对可控:基于开源的特性,每个人都能看到软件的源代码,这意味着心怀叵测的开发者无法将恶意代码藏在软件当中。用户也可以通过检查代码来保证软件正在按照他们希望的方式运行。

开源代码可用于学习。一个开源的软件可以让学习者成为更好的开发者。可以公开访问的特性使得学生可以从公开的软件当中轻松地学习他们的开发技巧,也可以将他们自身的成果分享给别人获得评价。同样一个优秀的开源项目也可以孵化出更多的项目,就像比特币和以太坊一样。

开源代码更加安全。开源软件往往要比专有软件更加安全和稳定。因为任何人都可以查看和修改开源软件,就会有更多的人发现原作者的遗漏和疏忽。

但相对的,开源软件同样存在着问题:因为任何人都可以看到源代码,一旦代码包含了可以被利用的漏洞,恶意攻击者可能会利用这些漏洞。如果没有专门的供应商来发布更新,修补程序可能会比较慢。

北京链安安全专家Hardman告诉链得得App,开源软件就像是一个刚刚出生的幼儿,如果要让他进入一个更加复杂的开放世界当中,首先需要的就是打好预防针。尤其是对于和资产有着强相关性的项目来说,开源之前进行安全审计是非常有必要的。

他认为,区块链行业乱象丛生,最终导致解决信任问题的区块链反倒不被人信任了。开源是一种很好的解决信任问题的方式。但随着行业逐渐成熟,涉及资产托管、安全服务的项目会逐渐减少开源,甚至直接成为专有软件。

Cobo钱包CEO神鱼则认为,区块链行业中涉及资产安全的项目是不应该开源的,安全问题应当通过第三方机构进行审计来解决,面向社会开源也相当于面向黑客开源,会暴露出大量自身的安全隐患,造成财产损失。

开源软件的精神来自于90年代的自由软件运动。这个运动的理念在于计算机的使用不应该阻碍人际合作。更直接地说,这个运动代表着拒绝专有软件并推广自由软件。运动的发起者试图创造一个用户可以互相帮助并拥有自己对于计算机控制权的社会。这个运动直接推动了一大批在当今社会中影响深远的软件诞生,例如操作系统Linux、安卓,编程语言PHP、Python等。这些例子生动的证明了开源软件的创造力和竞争力。但同样,安全问题依然伴随着这些开源项目:与安卓相比,iOS的安全性就令人称道。在区块链的世界里,开源暴露出安全隐患导致的恶意攻击也常常出现。最终,是否开源依然是一个见仁见智的问题。

链得得仅提供相关信息展示,不构成任何投资建议
本文系链得得原创,未经授权不得使用,如需获取转载授权,请点击这里

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

分享到:

相关推荐

    评论(0

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信