区块链的开源之路

6月21日,第十二届开源中国开源世界高峰论坛于北京隆重举行,论坛以“开源,创新,新经济”为主题,旨在宏扬开源文化,交流开源开发应用成果,探讨开源与创新和新经济的关系。中国科学院院士、工信部信息化和软件服务业司领导、Apache、Linux、OpenStack等多个开源项目领导者及国内外多家著名开源企业贡献者齐聚一堂,交流开源的经验与成果。

软件行业的开源技术经过多年的发展,形成了开源社区、企业、院校、科研机构、用户相互之间的良性沟通、共享与协作氛围,并逐渐延伸至其他行业,成为互联网经济、开源经济、分享经济、智能制造经济、数字经济等新经济的技术基石。

开源精神与开源意义

随着互联网、云计算、大数据、人工智能、区块链等前沿技术的陆续诞生,开源软件也在全球蓬勃发展,开源社区使全球信息技术领域发生了全局性的、持续的重大变化,并在社会基础设施建设方面发挥着愈加重要的作用。

开源社区一般由拥有共同兴趣爱好的人所组成,根据相应的开源软件许可证协议公布软件源代码,由于开放源码主要被散布在全世界的编程者所开发,开源社区就成了他们沟通交流的必要途径。以Github社区为例,大批周边扩展服务被建立起来,构成了一个极具活力的生态圈,开发技术人员不仅可在Github上参与开源项目,更可建立社交圈子,促成开放的分布式协作模式。

开源社区的最主要特征是:团队协作、个体平等、主动贡献,这也是开源精神的主要内涵。开源社区具备很强的利他主义(Altruism)精神,参与到开源软件开发并把源代码开放给大家共享的开源社区成员,一般称之为贡献者(Contributor)。贡献者通过参与开源社区的开发,一方面得到了锻炼成长的机会,也有助于解决自身工作中遇到的技术问题,另一方面开源项目也有机会产生较大的商业价值,而商业化进程中就又需要这些贡献者担任顾问以推进技术落地。

开源的本质是共享技术,而“技术”是生产资料的组成部分(拥有技术的科学家、工程师们可以看成是技术的载体),因此开源的社会意义实际上是实现了生产资料的共享。开源的商业意义则在于,通过共享技术、推广技术标准从而打造了一个多方利益共同体,利益相关者的数量对商业生态系统的形成至关重要,体系内部的分工环节越多越细,说明系统内部的利益主体就越多,从而这套生态系统的市场占有率可能就越大,在与其他闭源的技术竞争的时候就越有力量。

从安全的角度,开源技术也丝毫并不逊于闭源技术,甚至更有优势。开源软件的代码可以被任何人阅读,也有可能被黑客关注,分析可能存在的漏洞并进行利用,但在软件行业的经验教训中,开源软件的漏洞远远少于闭源软件,因开源软件的代码可以被全行业审计,被不同的开发者修订和安全加固,在安全方面的风险会大大降低。举例而言,闭源的Windows系统与开源的Linux系统相比,公认都是Linux系统更胜一筹,正是因为Linux系统的源代码公开、有源源不断的开发者加入对其优化,才使它的漏洞尽早被发现,避免遭受攻击。此外,开源软件本身一般不包括业务逻辑,不会影响到业务合规、资金安全和用户数据隐私等问题。

开源精神的二次涅槃:分布式商业与区块链技术的崛起

如果技术的共享开源可以称作是开源精神的诞生,那么商业模式的共享开源则可算得上是开源精神的二次涅槃。

近年来,以多方参与、共享资源、智能协同、价值整合、模式透明等为主要特征的“分布式商业”模式开始崛起,典型的应用场景有:以产业机构为合作主体的分布式能源、分布式电商、共享汽车等;以金融机构为合作主体的银银、银证、银保、证保合作业务等;以个人为合作主体的共享租房、共享租车、任务众包等。

分布式商业提倡“专业分工”和“价值连接”,通过预先设定透明的价值交换或合作规则,使得分工及集群后的新商业模式产生强大力量,与传统单一中心化实体主导的商业模式相比有显著优越性。相对应的,为了实现分布式商业的共享与透明规则,以开源为主要特征的分布式技术也得以发挥最大优势,多参与者对等合作与共同发展的商业模式,呼唤多中心、去中介的思维模式与技术架构。

在此背景下,区块链技术、分布式账本技术及其相关的分布式一致性算法等成为了前沿科技的核心代表。区块链和分布式账本技术是一种在对等网络环境下,通过透明和可信规则,构建不可伪造、不可篡改和可追溯的块链式数据结构,从而实现和管理可信数据的产生、存取和使用的技术。与基于单一信用背书实体的传统信任机制不同,区块链的信任机制是多个参与方对透明和可信规则的共同信任、对客观信息技术的信任。为了增加信任与充分透明,减少甚至完全剔除人的干预,大部分的区块链技术平台皆以开源社区的形式存在。

根据所支持商业场景的不同,区块链的治理模式分为公有链、私有链、联盟链三种。以最先发掘出区块链技术价值的金融行业为例,因金融机构注重多层次的对等合作,且业务往往涉及大量的资金流动,有强监管、严合规、高安全的行业特殊要求,无论是仅由单个实体控制的私有链,抑或是任意节点均可接入的公有链,都难以满足要求,因此金融业往往将通用的分布式技术与身份认证、权限管理、隐私保护、反洗钱反欺诈支持、监管审计支持等模块相结合,并通过组建联盟的形式探索联盟链的技术路线。

在2016-2017两年中,各类区块链联盟纷纷组建成立,各类区块链技术开源社区也如春笋般快速涌现。

国内外典型区块链开源社区纵览

由于区块链技术的特性,从一诞生开始,区块链技术就是以开源社区的形式浮现。

最早的区块链开源社区就是比特币。比特币区块链的核心技术框架采用C++语言开发,共识算法采用POW算法,通过工作量(挖矿)证明获得记账权,容错率为50%,实现全网记账。其缺点也较明显,包括公网性能较低、耗费算力、难以在此之上构建应用等。

比特币的继任者是以太坊社区。以太坊是一个图灵完备的平台,可采用多种编程语言实现协议,基于以太坊平台之上的智能合约是以太坊得以出类拔萃的关键。智能合约方便用户搭建各种千变万化的DApp应用,使得区块链开发人员的门槛大大降低,以太坊生态系统也正在高速地成长着。

不过,以太坊比特币等公有链技术,最大的痛点是对算力要求极高,难以被大规模的商业模式采用。因此,IBM等机构建立了HyperLedger开源社区,探索以联盟链的形式将区块链技术在各行各业中落地,也让区块链技术演化成一种普适性的底层基础设施技术。该社区在2017年推出Fabric1.0区块链底层技术,部署方式可传统可docker化,共识算法实现插件化,支持用Go和JavaScript等开发智能合约,尤以企业级的安全机制和CA机制为特色。

国内方面,工信部下属的中国电子技术标准化研究院牵头发起成立了中国区块链技术和产业发展论坛,继发布《中国区块链技术和应用发展白皮书》及《区块链参考架构》标准后,其开源社区亦已低调上线。目前在社区内的区块链开源项目已达40多个。工信部电子工业标准化研究院软件工程与评估中心主任周平亦指出:“中国建区块链的开源社区是一种必然的趋势:第一,我们的技术储备到了一个阶段;第二,我们市场到了这个阶段;第三,我们的业务也到了这个阶段。我们应依据标准建立开源社区,在开始的时候就把标准和开源有效地结合。”

此外,据称,中国的两大区块链联盟(金链盟和ChinaLedger)亦正在紧密联合,并筹划构建一个共享透明的开源技术社区,以整合近百家成员单位的技术资源与商业力量,打造一个深度互信的多方合作共同体,进一步推动分布式商业生态系统的形成。

相信在可预见的将来,开源精神将与区块链技术和分布式商业模式触碰出更多的火花,掀起一场场技术与商业的变革浪潮。