区块链代码不开源=假项目?

原创
2177 天前
14677

不管是互联网还是区块链,作为一项技术进入大众的视野,开源与否都饱含争议,曾经Java的非完全开源产生了很多非议,而今区块链的出现,让开源与否这个话题再次进入公众视野。

什么是开源?

大家经常听到的项目开源,实际上是指项目遵循开源协议,将源代码公开,任何人都可以进行查看。计算机发展早期阶段,软件几乎都是开放的,任何人都可以查看软件的源代码,但是微软的出现打破了这种局面,他们在分发软件的时候也不再附带源代码。从此,专有软件的时代到来了。但是随着区块链技术的出现,以代码开源为特点,凭借在极客圈获得的巨大认同,开始重登历史舞台,现在大部分的项目选择在Github上面开源。

Github是谁?

gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。

gitHub于2008年4月10日正式上线,除了git代码仓库托管及基本的 Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前全球拥有数千万的开发者用户,仅在中国就有接近百万的开发者使用Github。

区块链项目为何要开源?

简单来说,区块链技术就是一个大的账本,可以供很多人查看使用,这个大的账本需要多方参与合作。但是在合作过程中,如何迅速的建立互信?如何让合作企业将业务直接建立在陌生平台上?最好的办法或许就是开源。项目方选择开源,意味着将获得:

更少的项目漏洞

一个项目选择开源,意味着将要承受更大的公众压力,接受公众的检查,项目方在写代码和做测试时,会更加注重代码质量,这和政府将资金公开类似。

更低的开发成本

对于项目来说,随着开源社区的逐渐成熟,有些工作可能社区成员就能替代完成,比如项目漏洞的检查、代码书写。整体开发成本将会越来越低。

更强的创新能力

因为社区的多元化,技术人才有新的想法后可以直接自己动手创建分支。开源给予了更多选择,就如同一家公司无论有多么优秀,它还是需要更多的优秀人才。

面对如此多的优势,NEO创始人达鸿飞更是放出狠话:不开源的区块链都是耍流氓。

同时大众心理对于不开源的项目也都持怀疑态度。既然项目是基于区块链的,为何不直接开源,直接告诉别人项目确实是怎么工作的。再从区块链要解决的问题入手。区块链的出现,就是专门针对信任问题。彻底颠覆了大众的传统认知,将传统的单点信任和对某一中心化机构的信任问题,转化为直接点对点交流。而如果项目选择不开源,那仍将会是一个中心化的机构,与区块链的精神背离。国际上很多知名区块链公司都是开源的,比如Hyperledger,Corda等

区块链项目就必须开源么?

有意思的是,据有关数据显示,比特币从2009年将代码开源后,每年大约有8000多个区块链项目加入GitHub(一个面向开源及私有软件项目的托管平台),至今已经有超过3W多个区块链项目,其中92%的项目处于不活跃状态,已经半死不活,仅有8%左右的处于活跃状态(在过去半年至少更新过一次)。

作为目前最主流的开源平台,GitHub网站上有关区块链项目的现实情况是,大部分项目已经停工。想要单纯依靠社区力量来发展,显然效果并不是很理想,很容易陷入死亡的命运。

那么问题来了,开源项目大批量死亡,背后的原因到底是为何?或者换一种说法,开源的缺点在哪里?

当项目完全开源后,源代码是对所有人公示的,这其中就包括一些心怀鬼胎的人。黑客对于区块链的攻击一直在发生,在看到源代码后,项目方也更容易被乘虚而入,这样的例子在币圈发生较为频繁。

当某个项目拥有超过同行业的技术水平时,代码公开无异于直接将核心技术拱手让人。随意的Ctrl+C即可直接将项目复制,这对于劳动者来说非常不公平。上面提到92%的开源项目都已经濒临死亡,然而统计发现,拥有高复制比的项目反而存活率较高。因为直接用别人的代码,显然要比自己研发省事许多,也就有更多的资金干其他的事情。

 最典型的例子就是V神怒怼孙晨宇的波场抄袭,直言TRX复制粘贴白皮书效率远高于原创。

显然,单纯的从开不开源就评判一个项目好坏,是很不理智的,尤其是对一些踏实干事、技术领先的团队很不公平。

究竟该如何选择?

有关开不开源的讨论,或许我们可以参考另外一个话题——去中心化交易所or中心化交易所。绝对的去中心化在效率上不尽人意,体验感很差;绝对的中心化在安全问题上又让人担心。因此衍生出了一种新的平衡,既保持一定的去中心化的特征,比如说公开、透明、公平,又保持一些中心化的特征,比如说更有效率,决策更快,做迭代更有帮助。

在项目发展初期,需要依靠技术手段不断升级来获得用户流量,这个时候可以选择将部分代码开源,即一些非核心部分进行开源,对外部进行公示,赢得合作伙伴信任。当项目发展达到行业领先水平,系统上已经构建起丰富的应用后,可以将代码陆续开源,此时即便出现复制应用,也无法撼动其行业地位,就像比特币永远都是比特币,因为它第一个出现,已经在大众心目中形成共识。

笔者认为,只要敢于开源的项目都属于对自己的技术水平有一定的自信,或者已经经过大范围的测试的项目,毕竟是把自己的一切公布到网上,供所有人检阅。  

从山寨币的归零开始,笔者就不在关注任何华丽的包装,而是去真正的研究其技术的实现路径,若是理论上都无法讲通的逻辑,哪怕是再天花乱坠都不会去耗费时间关注,若是白皮书中几乎统一的商业思维而没有技术逻辑,社群再活跃也不过就是虚假的繁荣。

对此,AtoXChain的技术人员表示,技术的存在是为了解决传统互联网无法解决的问题,而不是强硬的结合,原本用互联网就可以简单解决的问题,就不需要用区块链来解决,这简直就是多此一举。