区块链技术演进简史:人才都去了哪儿?最受开发欢迎的编程语言是?

转载
2509 天前
9932
苏州同济研究院@链谷之声

在分析区块链库及其内容时,我们注意到越来越多的机构加入其中。在2010年,机构开发的项目不到百分之一。

到2017年,他们的区块链项目占11%(组织目前占GitHub上软件开发项目总数的7%)。最近关于商业机构通过开源获得区块链计划成功率的数据看起来很有希望;一些备受瞩目的大型商业实体已经在这样做。

特别重要的是,一些组织开发的项目已经产生了新平台,如以太坊,Corda和Quorum。一些开发人员用来构建应用程序。组织拥有的项目往往比用户开发的项目更新频率更快,被复制的可能性要高出五倍。

当一个项目被复制了,所有内容都可以被复制项目的账户使用,从而成为一个事实上的知识转移机制。这个过程通常被称为引用网络,其中最常被复制的项目在项目网络中占据更主要的地位,我们称之为项目中心。

一些最核心的项目是由组织开发和维护的:比特币核心,以太坊的C ++和Go实施,Ethereum的Python客户,以及比特币改进建议。






网络可视化


在研究上述图表时,请记住,以太坊和比特币的初始项目是由组织(基金会)维护的,GitHub中的大量区块链项目和应用程序实际上建立在这两个项目之上。

总之,组织主导的项目是成千上万个其他项目的骨干代码。区块链中的最重要20个项目中,有18个是由组织创建和维护的。

下面是根据关注度列出的Github上排名前20的区块链项目,第一是bitcoin,其次是go-ethereum,第三是bitcoinjs-lib。



Github上排名前20的区块链项目,第一是bitcoin,其次是go-ethereum,第三是bitcoinjs-lib


组织机构开放源码的承诺主导了区块链的核心发展,因为它最有可能比个人参与发展更具要求和更有目的性。

相对于个人来说,一旦组织投入资源,推动项目成功的动机更大。鉴于组织参与者彼此紧密联系在一起,通常对彼此负有更大的责任,这也推动了区块链的持续发展。

对于潜在的开发者来说,首先经常出现的问题是“我们该如何开始?”为了帮助回答这个问题,找出现有项目的语言就很重要。

我们发现,C++在生态系统的中央数据库中的应用最多,虽然用区块链库的数量来衡量,这种语言并不是最流行的。

这并不奇怪,因为C++已经在金融服务行业得到广泛应用,开发需要高效内存管理、速度和可靠性的应用程序。对于加密货币项目(包括比特币)背后的重负,C++仍然是最受青睐的语言。

对于GitHub上最核心的版本库,C ++几乎占了所有内容的一半。



最受开发欢迎的编程语言


不过,我们也发现,谷歌在2009年开发的编程语言Go似乎越来越受到关注。Go现在是用于区块链相关项目的第二大语言。

Go似乎已经从边缘语言迅速演变为GitHub区块链生态系统的核心之一。在2015年,在Go开发的区块链项目中,所有项目的内容都不到2%。程序员把Go的崛起归因于其简单性和扩展能力。

尽管据说金融服务公司依赖于C++的内存管理,速度和可靠性,但对于金融服务公司来说,可扩展性似乎也是一个非常高的优先级。

这似乎也在Ethereum和Hyperledger项目中得到印证,这两个项目都涉及将其他技术整合到区块链中,以扩大其在加密货币之外的使用。

此外,德勤的数据科学家了解到,金融服务公司也参与了GitHub的区块链开发。在GitHub上大致有两种类型的参与者:提交者和观察者。

提交者对代码进行提交或贡献,而观察者在不做出代码贡献的情况下,跟踪项目的开发。到目前为止,金融服务公司似乎主要充当GitHub项目的观察者,很少有金融服务公司的雇员是代表公司进行项目的提交者。

然而,也有一些知名的金融服务公司不仅从旁观察,实际上也有自己的项目,在其品牌下运行,承担重大的责任。

最后,研究人员介绍了这份报告的调查方法,他们使用网络分析领域常用的几个度量标准,如连接数(degree),中心性(PageRank评分)和聚类(社区检测)。在分析中定义了三种类型的网络连接:

协作衡量项目对彼此的贡献。为了建立这个网络,我们确定了在区块链项目中彼此合作的库,而不是整个GitHub集合。

引文是衡量另一个项目对项目内容的使用。被高度引用的项目往往具有很高的中心性分数。

追随者衡量一个项目在其他项目中的受欢迎程度。


(文章来源:苏州同济研究院@链谷之声)