最近BaaS这个词汇比较火,最初看到这个词汇是微软区块链服务(baas),2016年8月,基于Azure云平台的微软区块链服务正式开放,作为一个“沙盒”服务,简单高效的搭建区块链虚拟化开发测试环境,该平台支持26种不同形势的区块链实现(该数据是2016年底,目前暂时没有找到具体支持的数据)//blogs.msdn.microsoft.com/uk_faculty_connection/2016/08/01/getting-started-with-blockchain-as-a-service-using-microsoft-azure-dev-test-labs/所谓BAAS(blockchain as a service)链接是微软区块链服务说明文档,有兴趣可以看看。
现在区块链不光是各个IT巨头,金融机构,咨询公司等也都参与其中,创业型区块链公司也存在不少,随着技术的不断发展,竞争也相当激烈。Hyperledger之前也发布了fabric1.0正式版,改进了架构更适合应用落地。区块链是一个分布式的应用,去中心化多节点,即使有spv认证模式,还是要求有一部分节点下载完整的数据记录,以比特币为例,目前几百G的数据,随着数据量的不断增长,对本地计算资源和存储资源都是一种挑战,之前有人这样说过:本地资源永远是有限的,只有云资源可以不断扩展,理解云资源可以不断扩展。先不论这种说法的正确性,区块链结合云计算存储平台必然是一种发展趋势。云平台目前最为广泛的就是iaas、paas、saas,那么区块链结合云平台我们称为BaaS,理解区块链即服务。
那么区块链切入云平台,根据这个BaaS中的“B”,blockchain,应该怎么理解。或者应该区分BaaS和btaas,BaaS和btaas根据网络上一些说法baas是指区块链即服务btaas是指区块链技术即服务。各种观念的提出都有自己的理论基础,这里不做定义,只是对两个理解做一个笔者自己的简单理解,如有不对希望及时指正。
上图很好的说明的这两种概念定义。
区块链服务:广义理解,把区块链的应用,比如比特币、以太坊等这类型公链,节点直接部署在云平台,节点提供查询,交易、区块生成等操作,底层使用云计算资源和云存储空间,这种简单理解为区块链服务,当然上图也说到了公链的延伸应用-存证型-Factom,数字身份型-uPort等,云平台的容错、网络的多链路负载、计算资源的动态调整,其实针对区块链中的节点能够更好的实现他的服务,从一定角度来讲也节省了节点的运行成本,提高了整个系统之间交互的效率。当然从区块链服务这个词汇来理解就是云平台上搭建区块应用,业务直接访问在云平台之上的区块链应用平台,结合图上,区块链浏览器、数字货币交易平台以及一些现有的区块链系统提供开放的服务。
区块链技术服务:区块链技术,这个词汇包含的东西比较多,通俗来说区块链技术就是:加密技术、共识机制、P2P的网络、分布式系统等一些技术的结合,那么在云平台的区块链技术多指这些技术的结合后区块链架构框架或者区块链操作系统,主要是HyperLedger,multichain,以太坊私有链等多个框架,使用这些框架去结合应用业务需求,开发出适合业务的应用,甚至这些应用要求优于现有的互联网技术,这种方式称为区块链技术服务。
在网上查资料的时候看到有位大神对这两个区块链服务/技术服务概念提出了一个很好的比喻:www. 8btc.com/talk-about-baas(有兴趣看看,笔者也是看了这个想到这概念的)。阿里云提供云服务,他提供的是云资源的实例,阿里不会告诉你如何去搭建云,他提供是云的服务,付费即可享受服务。上面讨论的BaaS可以认为是提供公链的实例服务,btaas提供的是区块链架构框架,你需要开发部署你的区块链应用服务。
区块链和云技术的结合,之前笔者有一个区块链和现在技术结合的文章,做过简单的分析说明,区块链的本质:去中心化、分布式系统、共识机制、加密技术、智能合约。结合云技术的分布式计算、并行计算、网络分布式存储、虚拟化、负载均衡、资源动态调配等。在根据分类:公有链、联盟链、私有链。云平台:公有云、私有云、混合云。两种技术特性十分相似和契合。通过云平台的部署,大大降低了部署成本,云平台的容错、负载均衡、资源调配更好的为区块链提供底层服务。
目前各大IT巨头也针对baas有相应的产品:
上文开头提到的微软的Azure的baas服务
IBM在2016年2月宣布推出区块链服务平台,使用IBM在Bluemix上可用的新的区块链服务,开发人员就可以访问完全集成的开发运维工具,用于在IBM云上创建、部署、运行和监控区块链应用程序。
亚马逊在2016年5月宣布与Digital Currency Group 合作,后者是区块链领域的最大投资者之一。向DCG投资的公司提供区块链即服务,保证他们能在一种安全的环境下与客户打交道,这些客户包括金融机构、保险公司和企业技术公司。
大致介绍了BAAS的概念,相信随着区块链技术的发展,BAAS必然会更多被实现,架构也会有更好的改进契合云计算平台。