BaaS是一种帮助用户创建、管理和维护企业级区块链网络及应用的服务平台。它具有降低开发及使用成本,兼顾快速部署、方便易用、高安全可靠等特性,是为区块链应用开发者提供区块链服务能力的平台。BaaS通过把计算资源、通讯资源、存储资源,以及上层的区块链记账能力、区块链应用开发能力、区块链配套设施能力转化为可编程接口,让应用开发过程和应用部署过程简单而高效,同时通过标准化的能力建设,保障区块链应用的安全可靠,对区块链业务的运营提供支撑,解决弹性、安全性、性能等运营难题,让开发者专注开发。
BaaS是加速区块链在各行业落地,特别是与实体经济深度融合的重要服务形态。目 前BaaS最流行的模式是区块链云服务,狭义上也把BaaS称作区块链云服务。如图2所 示, IaaS是把计算资源作为服务,PaaS是把软件研发的平台作为服务,SaaS是把软件作为一种服务。BaaS作为一种云服务,是区块链设施的云端租用平台,其多租户特性让计算资源、平台资源、软件资源得到了最大程度的共享。BaaS提供节点租用、链租用以及工具租用的能力,其中工具包括开发工具、部署工具、监控工具等,并通过大容量的资源池,保障租户的业务规模可灵活弹性伸缩,租用设施可共享和独享,安全可靠运行,此外还提供必要的技术支持服务。BaaS的具体能力包括区块链节点及整链搭建的能力、区块链应用开发的能力、区块应用部署的能力、区块链运行监控的能力。
bass总体架构
在BaaS设计原则的指导下,为解决区块链在企业级场景下的一些突出问题,包括系统性能、功能完备性、系统扩展性、易用性等,区块链服务可采用分层架构设计、云链结合、优化共识算法、容器、微服务架构、可伸缩的分布式云存储技术等创新技术方案,通过分层架构设计为企业提供全方位的区块链服务,帮助企业快速简单地落地区块链场景。区块链服务 BaaS 的架构如图 3 所示,包括管理平台和运行态两个部分。管理平台分为:底层资源的管理,比如云资源管理、云资源适配器管理等;针对区块链组件的管理配置,比如区块链的部署配置、智能合约管理、动态联盟管理、区块浏览器以及链码和链上应用的监控等;平台管理主要是对使用区块链系统的用户提供更为广义和通用的管理服务如账户管理、日志管理、安全防护、计费管理、系统资源监控等。
区块链服务的运行态包括四个层面:自底向上为底层资源层、区块链基础层、业务层和应用层。资源层包括计算资源、通讯资源、存储资源等IaaS服务,为区块链系统提供无限扩展的存储、高速的网络、按需购买弹性伸缩和故障自动恢复的节点等区块链资源。区块链基础层可在开源的 (如 Hyperleger Fabric,Corda,EEA 等) 或闭源的 (如TrustSql, 蚂蚁区块链等) 区块链框架上构建,为上层应用低成本、快速地提供高安全、高可靠、高性能的企业级区块链系统。该层需要解决提供的核心技术包括可插拔的分布式共识机制、多类型的分布式账本存储机制、安全多语言支持的智能合约引擎、跨链和链上链下的数据交互、安全隐私保护以及分布式身份管理等。业务层提供标准智能合约接口和用于个人资产管理如通证 (token) 的轻钱包,用户可以根据不同应用场景构建不同的智能合约,为用户打造特定场景通用的智能合约库如供应链管理和溯源、供应链金融、数字资产、公益慈善和互联网保险等,企业可以在此基础上快速构建区块链应用。应用层为最终用户提供可信、安全、快捷的区块链应用,用户可以使用其提供的各种解决方案 (供应链金融解决方案、电商行业解决方案、游戏行业解决方案、零售行业解决方案、新能源行业解决方案等等),结合合约层快速搭建区块链应用。
区块链即服务平台的高阶特性
跨云部署区块链服务
云部署模式主要分为三类,即云上部署、云上云下混合部署以及跨云部署。针对云上部署模式,区块链所有节点部署在公有云上;针对云上云下混合部署,区块链的部分节点部署在公有云上,部分节点部署在客户私有数据中心或者私有云内;针对跨云部署,区块链的节点可以分散部署到不同的公有云平台上。组建联盟链的各用户基于传统业务的使用习惯或者合作关系,可能对区块链节点所在的云平台具有各自的偏好。如果区块链服务能够支持跨云部署,将有利于促成这些用户更方便地组建联盟链。区块链服务平台一般应该通过适配层来屏蔽底层公有云的差异性,为用户提供一致的云上区块链管理体验。同时因为区块链跨云部署时,节点一般走公网互联互通,所以系统设计时需要充分考虑较长的网络时延和不稳定的网络带宽带来的种种影响。
跨链交互
在区块链所面临的诸多问题中,链与链之间的互通性缺失很大程度限制了区块链的应用空间。跨链主要包括信息跨链和价值跨链两种应用场景。跨链互操作协议的严谨描述、规范实现和普遍应用将成为实现“价值互联网”的关键。区块链跨链互操作技术提供了同构和异构区块链之间的信息交互和价值流转服务,可以满足区块链应用的业务扩展性需求。
基于预言机的链上链下访问
作为真实世界信息进入区块链的通道,预言机为区块链提供了可信的外部数据接入服务。通过预言机服务,可以实现链下信息触发链上动作,打破区块链与现实世界的信息壁垒。预言机服务可以帮助用户的链上平台对接可靠第三方信息平台的Web API,满足其业务需求。区块链预言机模块通过引入验证机构约束上链服务提供方,在密码学方法的辅助下,以不影响正常网络通信为前提,确保上链服务被约束为能且只能发送可信数据源提供的数据上链,且该约束过程可被验证。同时,上链服务运行在 SGX (Software Guard Extension) 创建的可信执行环境 (Trusted Execution Environment, TEE) 中,确保服务不受到恶意软件的攻击。每次提供上链服务的同时,也会生成证明文件,任何第三方都可以通过该文件,验证整个服务提供过程和结果的有效性。
如图10所示,链上智能合约通过调用预言机合约,获得可信的链外信息。预言机合约获得的上链信息及审计信息,由审计服务和上链服务两个模块共同提供。两个模块共同与可信数据源进行交互,一方负责数据获取,一方负责监督获取过程。
分布式的身份管理
数字身份管理是未来数字经济、数字中国、数字城市的基础,也是区块链应用大规模应用的必要条件。身份管理是信息系统中不可缺少的功能。在联盟链的区块链系统中,身份管理通常包括两种层面的含义:一是对区块链节点的身份管理 (节点身份管理),二是对区块链上业务系统用户的身份管理 (用户身份管理)。
参考:可信区块链推进计划:bass白皮书