如果有人给你这样的信息:“在全球最大的代码托管平台GitHub上,总计超过86000个区块链项目中,目前有超过90%的项目已经不再活跃,死于分叉的项目更是达到95%,项目平均寿命仅为1.22年”。你是否开始产生了具体的认知?
这些数字来自知名咨询机构德勤(Deloitte)近期根据全球最大的代码托管平台、开源代码平台GitHub上的数据出炉的一份统计报告。研究数据来源于代尔夫理工大学(Delft University of Technology)所记录的GitHub公开活动的数据库和GitHub的API。这份题为《区块链技术的发展——从GitHub平台的视角分析》的报告为区块链发展状态的研究提供了一个非常特殊的视角。
为何说是一个特殊的视角?因为区块链技术的核心是“去中心化”,“开源”的概念与“去中心化”不谋而合。实际上,包括区块链技术的最大规模应用——比特币在内,大多数有影响力的区块链项目都选择了开源。而GitHub便是这些项目的首选平台。
此外,区块链技术的应用也随时间在不断扩展,如何在最基础的区块链技术上打造出真正的应用这件事,需要很多人的共同努力,GitHub能帮助开发者降低开发成本。
于是,聚集了区块链技术人才的GitHub,自然成了反映整个区块链技术生态的最佳平台。
那么,究竟区块链项目在GitHub上面是什么状态?从中我们又可以看到目前区块链技术什么趋势?
就让雷锋网为您解析一番。在这份报告中,你可以了解到:
区块链项目和社区的变化
区块链的程序设计语言使用情况
区块链研究人才的地域分布
由于报告原文较长,雷锋网选取了报告的核心内容进行了编排。
报告原文获取,关注雷锋网微信公众号,回复关键词“GitHub区块链项目”。
下图显示了GitHub上每年项目的新增情况。蓝线表示的是个人项目,橙线表示组织机构的项目,绿线则表示整体情况。
下图则显示了仓库总数的变化情况(雷锋网注:德勤的研究主要针对GitHub的仓库数据进行,所谓仓库,就是存储项目所有相关的代码和文件的地方,在本报告中“仓库”和“项目”代表同一含义。)。在2012年之前,区块链项目仓库的数量增长缓慢,而到了2012年之后仓库数出现了明显增加,尤其是个人项目的代码仓库。
目前,GitHub上有关区块链的项目有86034个,每年平均增长8600个新项目。仅2016年就增加了约27000个新项目。但是只有8%的项目是活跃的,分叉之后的项目中,只有5%的项目继续生存。这些项目的平均延续时间只有1.22年。
GitHub上区块链项目的年度变化如下图所示,其中绿色部分为组织机构的项目,蓝色部分为个人项目。
可见,随着时间的推移,越来越多的组织机构参与到了区块链的技术发展中来。在2010年,只有不到1%的项目是由组织机构拥有的,而到了2017年,这一比例增加到了11%。这些组织机构的项目甚至扮演着更重要的角色,一些项目已经成为了真正的平台,例如以太坊,Ripple等。
在GitHub,一些经常被其他项目复制的项目被称为“中心项目”,许多中心项目都是有组织机构开发和维护的,例如比特币的核心代码、以太坊的C++和Go语言实现等。
总的说来,这些由组织机构开发和维护的项目是区块链项目的发展主力。
比起个人项目,组织机构公布的项目有着更明确的需求和目标,因而他们的项目就天然受到了更多的关注,从而主导了区块链技术的发展。此外,这些组织机构也往往不只拥有一个项目,多个项目的进行也推动了区块链技术的发展。
二)区块链的发展离不开“社区”
该研究观察了772个区块链社区,发现,每个社区,都是由项目之间的合作产生的新应用而形成的。例如,以太坊最初只是由比特币项目中的两个核心人物发展过来的。
在区块链的世界里,一个项目社区至少包含了25个项目,有一些大的社区则包含几百个项目。
一个专门的成熟社区将会产生特定的新项目。例如,一些开发支持Crowdsales和ICO的工具的项目通常是与某些大型的区块链子项目相关联的,如:智能合约的内容开发项目、记账账户的开发项目等。
即便是一些相关性并不是很大的项目也会相互联系,门罗币虽然在隐私保护水平、安全性上与比特币都有不同,但是,与门罗币有关的社区或项目却常常与比特币相关。
以下三张图显示了在引用、合作、和相互关注三个角度下,项目之间的联系。其中陈色的圆形代表组织机构的项目,而蓝色圆形代表个人项目。圆形越大,表示该项目影响力越高。
个人项目和组织机构项目之间的引用关系。
个人项目和组织机构项目合作的关系图。
个人项目和组织机构项目的相互关注关系图。
德勤认为,许多真正地让区块链系统丰富起来的的行业或应用项目,让整个区块链系统有了越来越紧密的联系。
三)区块链项目存活情况
存在与开源项目中一个残忍的事实是,大部分的项目最终难逃被丢弃或者永远无法达到目标的厄运。区块链项目也是如此,研究发现,只有8%的项目是活跃的(在过去的六个月中有更新),7%的个人项目是活跃的,15%的组织机构项目是活跃的。
在GitHub上,有90%的区块链项目都是闲置的,许多项目在项目开始不到6个月内就宣告“死亡”了。这中情况主要受以下三个因素影响:
个人开发的项目的“寿命”都较短,并且都是作为独立的区块链技术应用,并不是一个能够支持构建多种应用的基础的技术库。
单个成员进行的大中型项目“死亡率”都很高,因为他们难以集中精力在一个方向上。而团队执行的项目“存活率”相对较高,因为他们比较专注。
分叉得多的项目“存活率”高,分叉得少的项目“死”得快。而分叉出来的项目副本由于没有关注度,没有新的参与者加入并更新,也容易中断和“死亡”。
下图显示区块链技术刚开始兴起之时,Python、Ruby和JavaScript是最受欢迎的程序语言。
而到了2017年,JavaScript、Python、Go、C++则成为了最受欢迎的几种程序语言。
虽然C++不是最受欢迎的语言,但是,在GitHub的区块链核心项目中,C++是用得最多的语言。
另外,由谷歌于2009年开发的Go语言获得越来越高的影响力。在2015年,只有不到2%的项目代码是用Go语言完成的,现在,Go语言已经成为了GitHub区块链相关项目中第二大编程语言。
该报告还分析了区块链研究人才的分布情况。大部分的GitHub项目持有者分布在北美或者欧洲地区。从城市的角度上看,美国旧金山的相关人才最多,其次是两个传统金融中心:伦敦和纽约。北京排名第四,有567个个人项目和17个组织机构项目,紧接着是上海,有390个个人项目,12个组织机构项目。北京和上海两座城市的项目,主要是属于加密货币和货币兑换的。
以下三张图也展示了区块链技术的地域发展演变情况,一开始,GitHub上只有美国用户上传了区块链的项目相关代码和文件。
到了2011年,北美、欧洲、亚洲都有了越来越多的区块链相关项目。2015年,区块链技术渐渐向全球范围内扩展开来。到了2017年,世界上的大部分国家都有了区块链的项目。但主要还是集中在北美、欧洲和亚洲。
最后,在比特币的该报告提到了金融服务公司的一些表现,从公开的信息上看,在GitHub上,并没有许多的金融服务公司的员工对区块链的项目进行更新,但是有一些金融服务公司则以公司的品牌的名义在GitHub上托管区块链相关项目,并且有很高的活跃度。但具体有多少金融服务的公司是关注区块链技术发展的,则不得而知。
雷锋网总结:
区块链技术自诞生以来,就受到了研究者的关注,全球相关项目逐年增长,但是可惜,大量的项目最终都闲置了,尤其是个人项目,一些组织机构的项目成为了发展的主力。相关联项目组成的社区也在影响着新项目的出现,同时也让项目之间有了更多的联系。
随着时间的发展,区块链技术使用的程序语言也在发生变化。在地域上,北美是最早出现区块链技术的地区,欧洲和亚洲紧随其后,并最终集中在这几个地区。GitHub上的趋势,在一定程度上说明了全球区块链技术的发展趋势。