
2.2 区块链与云计算
云计算是基于互联网的计算方式,实现软/硬件资源和信息的共享,并根据需求为各种终端和其他设备提供计算能力。云计算是从客户机/服务器(Client/Server,C/S)模式发展而来的,是基于互联网相关服务的增加、使用和交付模式。美国国家标准与技术研究院(NIST)给出的定义是:云计算是一种能够通过网络,以便利的、按需付费的方式获取计算资源(包括网络、服务器、存储、应用和服务等)并提高其可用性的模式,这些资源来自一个共享的、可配置的资源池,并能够以最省力和无人干预的方式获取和释放[1,2]。现阶段云计算不仅是一种分布式计算,还包括效用计算、负载均衡、并行计算、网络存储、热备份冗杂和虚拟化等计算机技术,是以上技术融合演进的结果。
当前云计算技术的产业发展中仍存在一些问题:其一,云计算市场极度中心化,少数几家互联网科技巨头依靠自身高度集中化的服务器资源垄断了整个云计算市场;其二,云计算过度集中导致算力服务价格居高不下,算力成为稀缺资源,极大地限制了企业上云的发展需求。
云计算是一种按使用量付费的模式,而区块链则是一个分布式账本数据库,是一个信任体制。从定义上看,两者似乎没有直接关联,但是区块链作为一种资源存在,具有按需供给的需求,也是云计算的组成部分之一,两者之间的技术可以相互融合。
区块链与云计算融合主要有以下两种方式。
其一,Blockchain for Cloud,主要依托区块链实现分布式云计算的架构,基于区块链的分布式云计算,允许按需、安全和低成本地访问最具竞争力的计算能力。分布式应用(DApp)可通过分布式云计算平台自动检索、查找、提供、使用、释放所需的所有计算资源,同时使数据供应商和消费者等能够更易获得所需计算资源。用区块链的智能合约来描述计算资源的特征,可以实现按需调度。基于区块链的分布式云计算可能成为未来云计算的发展方向,但当前尚处于理论研究阶段。
其二,Cloud for Blockchain,主要凸显云计算与区块链技术的融合,而云平台成为区块链服务的承载体,这是当前区块链与云计算结合最快的方向。众所周知,区块链技术开发、测试、信用证明(Proof of Credit,PoC)等涉及多个系统,单机模式成本昂贵将极大地制约区块链技术的推广。因此目前全球近乎所有的云厂商都依托自己的云平台推出区块链服务,将云计算与区块链两项技术融合催生出一个新的云服务市场“区块链即服务”(Blockchain as a Service,BaaS),既加速了区块链技术在多领域的应用拓展,又对云服务市场带来了变革发展。区块链与云计算的紧密结合,促进BaaS成为公共信任基础设施,形成将区块链技术框架嵌入云计算平台的融合发展趋势。其中,以联盟链为代表的面向企业(To Business)的区块链企业平台需要利用云设施完善区块链生态环境;以公有链为代表的面向用户(To Client)的区块链需要为去中心化应用提供稳定、可靠的云计算平台。区块链与云计算的融合,可以满足各行业、各领域区块链技术快速部署的需求,降低部署的时间和成本,同时借助云平台的安全性可对区块链的安全性进行加固。
BaaS 可以说是一种新型云服务,旨在为移动和 Web 应用提供后端云服务,包括云端数据/文件存储、账户管理、消息推送、社交媒体整合等。BaaS 是垂直领域的云服务,随着移动互联网的持续火热,BaaS 也受到越来越多开发者的青睐。它作为应用开发的新模型,可以降低开发者成本,让开发者只需专注于具体的开发工作。
BaaS介于平台即服务(Platform as a Service,PaaS)和软件即服务(Software as a Service,SaaS)之间。BaaS简化了应用开发流程,而PaaS简化了应用部署流程。PaaS是一个执行代码及管理应用运行环境的开发平台,用户通过版本控制系统SVN(Subversion的缩写)或分布式版本控制系统Git之类的代码版本管理工具与平台交互。简而言之,PaaS就像一个容器,其输入是代码和配置文件,输出是一个可访问应用的链接。而BaaS平台将用户需求进行了抽象,如用户管理,开发者希望创建用户数据库表(模型)后,客户端就可以通过Restful接口直接操作对应的模型,所有的操作都可以被抽象为CRUD[创建(Create)、读取(Retrieve)、更新(Update)和删除(Delete)]。同时,BaaS通过智能合约来约定SaaS应用的执行规则,界定SaaS的自动执行程序的流程。因此,BaaS是介于PaaS与SaaS之间的,偏向于应用,而非仅是一个业务中间件。
BaaS服务已经受到全球各大企业的重视,2013年4月,Facebook收购了Parse;2014年6月,苹果发布了CloudKit;2014年10月,Google收购了Firebase。Parse、CloudKit、Filrebase都是国外知名的BaaS类产品,利用Google Ventures参与区块链项目和公司的投资,并结合收购的技术开发自己的BaaS平台。IBM通过贡献Hyperledger开源联盟,借助其BlueMix平台提供区块链服务,并通过区块链将原有的产业从金融向医疗、制造等行业延伸。微软通过 Azure 提供其自己的区块链服务,借助Intel的SGX TEE构筑基于硬件的区块链能力。而国内云平台厂商,如华为、蚂蚁金服、腾讯、浪潮、京东等厂商都已经具备了提供BaaS平台的能力,形成了自己的区块链平台服务,构建了一云一服务的模式。区块链+云计算框架如图2-2所示。

图2-2 区块链+云计算框架