区块链近来越来越火,出了不计其数区块链概念相关的公司、股票和产品。甚至还出了一款区块链手机。
据预测,到2024年,全球区块链技术市场将达到77.4亿美元,金融服务业将占未来市场增长的大部分。根据总部位于旧金山的市场研究和预测公司Grand View Research的报告,“区块链技术是信息技术领域最有前途的技术趋势之一”。报告预测,美国和加拿大市场(40.9%的市场)将持续增长。同时,随着金融行业采用区块链技术,中国和印度未来8年的复合增长率将达到37.6%。
昨日晚间,深交所发布公告,称将密切关注涉及区块链概念的上市公司信息披露和二级市场交易情况,对于利用区块链概念进行炒作和误导投资者的违规行为,将及时采取纪律处分措施。
是时候理性看待区块链了。
2个月前的去年11月,德勤发布报告《区块链技术变革:来自GitHub平台的见解》(Evolution of Blockchain Technology: Insights from the GitHub Platform),首次使用全球软件协作平台GitHub上提供的元数据,对区块链技术和项目演变进行了深入实证分析。
根据德勤的这份报告,2016和2017年两年,GitHub上创建了超过50,000个与区块链相关的项目。相比之下,2015年创造的数据不到15,000个。
这项研究通过开源数据,追溯了最早从2009年开始的各种实现(包括比特币),描绘区块链技术的发展历程。
报告发现的要点包括:
- 区块链在开源世界中蓬勃发展,在当前区块链技术的演进阶段,开发者的兴趣更多在于对开源区块链解决方案的开发
- 区块链人才主要住在北美或欧洲,旧金山是最集中的,其次是伦敦和纽约。北京和上海由于比特币项目的活跃,入选Top5
- 区块链开发最受欢迎的编程语言:C++排第一,Go排第二
- Github上拥有近9万个区块链项目,但仅有8%有人维护,被fork的项目存活率仅有5%
- 调查还列出了Github区块链TOP 20榜单,其中机构玩家占据主导地位
用GitHub研究区块链:确定项目开发者、人才去向和组织方式
我们无法预测区块链技术的确切运行轨迹和影响。但是,我们也不应该忽视其早期发展,成功和失败案例。跟踪这个新兴技术,可能会最大限度地发挥它的潜力。
弄清楚互联网或移动手机等基础技术如何发展并不容易。新技术经常吸引各种各样的开发者。他们人数众多,他们试图解决的问题类型也太多,这一切都使得预测新技术变得极为困难。
但也许区块链开发有所不同,它在很大程度上是在开源环境下进行的。比特币是原始区块链系统,它是以开放源代码生成的。
因此,为了更好地了解区块链及其生态系统的发展,我们在开源环境中对区块链项目进行了广泛的数据分析。我们的研究是首次使用GitHub上提供的元数据理解区块链演变的实证研究。
我们之所以选择GitHub,是因为它是世界上最大的软件协作平台,拥有超过6800万个项目和2400万参与者。GitHub也承担了区块链社区最重要的项目。通过GitHub,可以确定区块链开发的背后是谁,支持什么类型的编程,人才的去向,项目和开发人员的组织方式,以及将资源投入库的风险因素。
金融服务公司在区块链适用性方面处于领先地位,他们目前拥有的区块链商业用例在市面上最多。根据区块链生态系统的演变情况,本研究结果可以帮助企业提高识别成功项目和机会的能力。
除非另有引用,本文中关于GitHub上区块链活动的所有数据和统计数据,都来自我们对GH Torrent项目和GitHub API分析的结果。
区块链在开源世界中蓬勃发展
虽然在公共论坛上共享软件代码可以追溯到20世纪50年代,但在过去的30年里,开源平台才成为软件开发的中心。互联网是一个重要推动因素。此前,源代码活动主要在学术界流行,但互联网使得小白和专家都能参与其中。曾经,获得许可证和专利的商业实体给软件代码设置了很多的限制。然而,颠覆性创新助长了不断增长的共享经济,使软件开发重新回到了开源平台。
开放源代码可能是个理想的培养皿,吸引了大量人才致力于区块链,它们可以加速生态系统的通用标准。它还可以降低企业的成本。在“Intranet”区块链学习平台中开发概念证明,并不像学习在“互联网”区块链上开发业务解决方案那样高效。在当前区块链技术的演进阶段,开发者的兴趣更多在于对开源区块链解决方案的开发。区块链能通过开放源代码协作,更快速地实现严格的协议和标准化。
我们在GitHub上分析的主要单位是库(repository)。一个库包含项目背后的相关代码和文件,其中程序的实际协议和实施包含在内。在整个报告中,我们可以互换地使用术语“repository”和“project”。我们还将看到两种类型的项目作者:用户(与机构没有任何联系的个人);组织(与金融服务公司,初创公司,研究中心或软件基金会相关)。
在接下来的三部分中,我们会分析repository:作者,存活机会,以及它们如何融入社区和社区网络;流行哪些编程语言和原因;人才去向。
区块链人才都在哪?北京、上海入选Top 5
金融机构面临的一个重要问题是雇用必要的人才来开发、部署和维护新技术,因此了解GitHub上顶级区块链人才分布也十分必要。大多数GitHub项目所有者——开发库的开发人员——住在北美或欧洲,旧金山是最集中的。其次是伦敦和纽约,这也是寻找项目业主的两个传统金融服务中心
不过,更令我们注意的,是紧随其后的北京和上海。
我们发现来自旧金山的项目十分多样,包括交换解决方案,加密货币钱包,不同区块链(例如Ripple,Hyperledger和Ethereum)的接口,以及加密货币的支付工具等等。伦敦的生态系统也各不相同,但是与Ethereum社区相关的项目更多,这也意味着更多的项目围绕伴随的技术,比如数字身份、智能合约和开放式API。纽约则似乎专注于面向传统金融服务的项目。
值得注意的是,在中国,特别是上海和北京,区块链的活动水平很高。在这两个城市中,大部分项目都涉及加密货币和加密货币交易,重点在于可扩展性。
Github上拥有近9万个区块链项目,但存活下来的仅有8%
支持比特币的核心代码于2009年4月发布。此后,GitHub与区块链相关的项目数量大幅增长,平均每年新增8600多个项目。仅在2016年,就有近27,000个新项目。
现在,Github上共有86,034个区块链项目。
但与此同时,也需要注意,仅有8%的项目有人维护,5%被 fork的项目存活下来。项目平均寿命仅为1.22年。
项目数量的增长与用于开发区块链技术的内容快速增长相匹配。
Github区块链TOP 20榜单,机构玩家占据主导地位
在分析区块链库及其内容时,我们注意到越来越多的机构加入其中。在2010年,机构开发的项目不到百分之一。到2017年,他们的区块链项目占11%(组织目前占GitHub上软件开发项目总数的7%)。最近关于商业机构通过开源获得区块链计划成功率的数据看起来很有希望;一些备受瞩目的大型商业实体已经在这样做。
特别重要的是,一些组织开发的项目已经产生了新平台,如以太坊,Corda和Quorum。一些开发人员用来构建应用程序。组织拥有的项目往往比用户开发的项目更新频率更快,被复制的可能性要高出五倍。
当一个项目被复制了,所有内容都可以被复制项目的账户使用,从而成为一个事实上的知识转移机制。这个过程通常被称为引用网络,其中最常被复制的项目在项目网络中占据更主要的地位,我们称之为项目中心。一些最核心的项目是由组织开发和维护的:比特币核心,以太坊的C ++和Go实施,Ethereum的Python客户,以及比特币改进建议。
在研究上述图表时,请记住,以太坊和比特币的初始项目是由组织(基金会)维护的,GitHub中的大量区块链项目和应用程序实际上建立在这两个项目之上。总之,组织主导的项目是成千上万个其他项目的骨干代码。区块链中的最重要20个项目中,有18个是由组织创建和维护的。
下面是根据关注度列出的Github上排名前20的区块链项目,第一是bitcoin,其次是go-ethereum,第三是bitcoinjs-lib。
组织机构开放源码的承诺主导了区块链的核心发展,因为它最有可能比个人参与发展更具要求和更有目的性。相对于个人来说,一旦组织投入资源,推动项目成功的动机更大。鉴于组织参与者彼此紧密联系在一起,通常对彼此负有更大的责任,这也推动了区块链的持续发展。
区块链开发最受欢迎的编程语言:C++排第一,Go排第二
对于潜在的开发者来说,首先经常出现的问题是“我们该如何开始?”为了帮助回答这个问题,找出现有项目的语言就很重要。
我们发现,C++在生态系统的中央数据库中的应用最多,虽然用区块链库的数量来衡量,这种语言并不是最流行的。这并不奇怪,因为C++已经在金融服务行业得到广泛应用,开发需要高效内存管理、速度和可靠性的应用程序。对于加密货币项目(包括比特币)背后的重负,C++仍然是最受青睐的语言。对于GitHub上最核心的版本库,C ++几乎占了所有内容的一半。
不过,我们也发现,谷歌在2009年开发的编程语言Go似乎越来越受到关注。Go现在是用于区块链相关项目的第二大语言。Go似乎已经从边缘语言迅速演变为GitHub区块链生态系统的核心之一。在2015年,在Go开发的区块链项目中,所有项目的内容都不到2%。程序员把Go的崛起归因于其简单性和扩展能力。
尽管据说金融服务公司依赖于C++的内存管理,速度和可靠性,但对于金融服务公司来说,可扩展性似乎也是一个非常高的优先级。这似乎也在Ethereum和Hyperledger项目中得到印证,这两个项目都涉及将其他技术整合到区块链中,以扩大其在加密货币之外的使用。
金融服务公司密切关注GitHub区块链项目,有些甚至参与开发
德勤的数据科学家了解到,金融服务公司也参与了GitHub的区块链开发。在GitHub上大致有两种类型的参与者:提交者和观察者。提交者对代码进行提交或贡献,而观察者在不做出代码贡献的情况下,跟踪项目的开发。到目前为止,金融服务公司似乎主要充当GitHub项目的观察者,很少有金融服务公司的雇员是代表公司进行项目的提交者。然而,也有一些知名的金融服务公司不仅从旁观察,实际上也有自己的项目,在其品牌下运行,承担重大的责任。
最后,研究人员介绍了这份报告的调查方法,他们使用网络分析领域常用的几个度量标准,如连接数(degree),中心性(PageRank评分)和聚类(社区检测)。在分析中定义了三种类型的网络连接:
-
协作衡量项目对彼此的贡献。为了建立这个网络,我们确定了在区块链项目中彼此合作的库,而不是整个GitHub集合。
-
引文是衡量另一个项目对项目内容的使用。被高度引用的项目往往具有很高的中心性分数。
-
追随者衡量一个项目在其他项目中的受欢迎程度。