1. 可信区块链BaaS平台基本简介
可信区块链BaaS平台是一种帮助用户创建,管理和维护,为企业提供安全信任机制,降低开发成本,提高信任机制的平台。它利用自身高性能、稳定性、可靠性和信任隐私保护等特性使得企业之间建立良好的,可靠的合作,降低安全风险,为多企业之间合作提供机遇,提高企业效益。利用降低开发和使用成本、兼顾快速部署、方便使用等特性提高企业开发者工作效率。利用跨网络及多用户等特性让计算资源,平台资源,软件资源得到了最大程度的共享。可信区块链BaaS平台把底层的区块链共识机制,不可篡改的记账能力及实施能力转化为可编程,可插拔的标准化接口,让应用系统开发及部署简单而高效;同时,利用可视化的底层监控系统,对区块链业务的运营提供支撑,解决弹性、安全性、性能等运营难题,从而提高工作效率,解决安全忧虑。
可信区块链BaaS平台致力于提供企业级区块链基础技术平台。其具体包括区块链节点及整链搭建的能力,区块链应用开发能力,区块应用部署能力,区块链运行监控的能力。利用其区块链节点及底层链搭建的能力,部署能力,监控能力,加速区块链在各行业落地。
为了搭建高安全、低成本、高效率、高可靠、灵活可扩展的区块链解决方案和应用,可信区块链Baas平台设计原则应遵循四大原则:安全可靠、简单易用、灵活扩展及可视化运维。
安全可靠:可信区块链BaaS平台具有有效的防篡改机制,安全可靠的数据隔离机制,利用加密、共识机制等提供完善的用户、密钥,权限管理、隔离及可靠的安全防护能力。
简单易用:部署企业级分布式区块链需要专业的区块链知识及各种复杂设计和配置,容易操作失误。可信区块链BaaS平台帮助企业级用户实现自动化配置部署及应用,通过界面化操作来使得用户更容易使用区块链。
灵活扩展:可信区块链BaaS平台遵循源于开源,优于开源,回馈开源的原则,设计采用抽象和可插拔模块,积极开发和拓展区块链系统。
可视化运维:可信区块链BaaS平台应该为链代码和链上应用提供可视化的资源监控能力,便于提高运维安全管理和工作效率。
2. 可信区块链BaaS平台系统架构
可信区块链BaaS平台是为企业级用户提供高效率、高可靠性、安全性的平台。我们本着简单易用、安全可靠、可视化运维的设计原则,将可信区块链BaaS平台技术架构一共分为六层,分别为应用层、接口层、区块链BaaS核心层、区块链网络层和存储层。关键技术包括基于区块链的身份认证与访问控制技术、密码算法与安全管理技术、安全审计预警技术、区块链核心引擎技术和主/侧链多级部署技术等。
(1)可信区块链BaaS平台区块链应用层
可信区块链BaaS平台应用层包括物联网应用,互联网应用,供应链金融应用,数字版权应用,智慧城市应用和智能医疗应用等业务应用。可信区块链BaaS平台为各种应用场景提供服务,包括账户安全管理、智能合约安全检测、创世块智能配置、智能合约可视化配置、共识算法管理、智能合约智能化部署、区块链节点自动安装、区块链浏览器等功能。
(2)可信区块链BaaS平台区块链接口层
可信区块链BaaS平台接口层则除了实现区块链安全管理的接口外,还为业务平台提供数据上链、密钥管理、创建用户、创建通道、数据加密、数据解密、连通性测试、数据报表等功能。
(3)可信区块链BaaS平台区块链核心层
可信区块链BaaS平台区块链核心层则为业务平台提供区块链层面上的核心功能,主要包括成员管理,如成员的认证、注册、授权、监控、账户管理、密钥验证、日志和审计等功能; 区块管理,如区块打包、区块校验、区块同步、区块存储等功能; 交易管理,如交易请求、交易验证、交易入块等功能; 共识管理,如排序服务、背书服务、可拔插共识等,本平台设计支持Kafla、PBFT、DPoS等多种不同共识机制,以适应于不同的应用场景; 智能合约的管理,如容器支持、合约容器、队列管理、链码管理、键码创建等功能。
可信区块链BaaS平台区块链技术网络层本质上就是一个P2P的网络,网络上的资源和服务都分散在各个节点上,信息传递和服务实现都是直接在节点之间进行,不需要中间环节和服务器的介入。网络层涉及到的技术主要包括构建网络、传播机制、同步机制、验证机制以及其它一些高级功能。
(5)可信区块链BaaS平台区块链存储层
可信区块链BaaS平台区块链技术数据存储层则为平台提供区块链核心系统运行所需的资源支撑和管理,包括计算资源、存储资源、网络资源等,以及虚拟管理、负载均衡、资源监控、公有云、私有云和容器云等。
3. 可信区块链BaaS平台管理端功能
可信区块链BaaS平台是一种模块化的区块链架构,是分布式记账技术(DLT)的一种独特的实现,它提供了可供企业运用的网络,具备安全、可伸缩、加密和可执行等特性。可信区块链BaaS平台管理端主要由四个层次组成,分别为应用层、接口层、区块链核心层、基础设施层。可信区块链BaaS平台管理端核心功能架构如图1所示。
(1)应用层:包括区块链AVA接口、区块链Python接口、区块链Node.js接口、区块链Go接口四部分。应用层为最终用户提供可信、快捷、安全的区块链应用,用户可以使用平台提供的资产链及应用链,结合智能合约快速搭建区块链应用。
(2)接口层:提供区块链节点配置、区块链合约管理、区块链共识配置、区块链算法管理、编程接口API、区块链监控管理功能。
(3) 核心层:主要分为六个层次,区块层的功能包括账本管理、区块数据管理、交易数据管理、区块链浏览器;合约层主要是进行合约的创建、启动、挂起、销毁和合约状态查询;共识层主要使用了RAFT、PBFT、SOLO、KAFKA共识;算法层包括SHA256、SHA3、Secp256k1、ZKP/Ring和SM2/SM3/SM4;网络层的主要功能为网络管理、P2P网络、DHT、节点发现、心跳服务;数据层使用了MangoDB、LevelDB等进行账本管理。
(4)基础设施层:包括网络节点支持、存储支撑、负载均衡、安全管理、容错管理及资源管理等,为区块链系统提供可扩展的存储、按需可购买弹性伸缩和故障自动恢复的节点等环境,确保区块链系统安全稳定的运行。
4. 可信区块链BaaS平台用户端功能架构
我们基于区块链技术设计与研发了可信区块链BaaS平台,提供一套区块链部署、合约开发、实时监控等企业级区块链服务解决方案,通过低成本的快速构建区块链基础设施,共同推动区块链应用场景的落地,推动可信互联网的发展可信区块链BaaS平台用户端系统架构分为五个层面:应用层、核心层、区块链层和区块链网络层、数据层。可信区块链BaaS平台用户端系统架构如图2所示。
(1)应用层:参与的应用有物联网、供应链金融、数字版权、智能医疗和智慧城市。
(2)核心层:提供跨链融合、多链并存、闪电网络、隔离见证、监控管理、国密算法支持、智能合约管理、安全检测等接口,通过标准化的接口建设,为企业级应用提供安全保障。
(3)区块链层:提供BaaS API1,BaaS API2及BaaS API3。其中,BaaS API1底层链主要提供智能合约、账户管理、地址生成、共识机制(PoW)、P2P网络、区块数据管理、密码算法、EVM虚拟机、脚本引擎、网络管理、队列管理、节点管理、状态管理等。BaaS API2底层链主要提供链码管理、账户管理、证书管理、共识机制(PBFT) 、通道管理、区块校验、密码算法、交易管理、数据安全、排序服务、Docker容器、节点管理及事件管理等。BaaS API3底层链主要提供智能合约、账户管理、区块管理、共识机制(DPo'S)、WASM沙盒、BP管理、密码算法、TOKEN模型、资源管理、账本管理、节点管理、跨链通信及Pool管理等。
(4) 数据层:包括虚拟化层和物理层。虚拟化层提供虚拟管理、负载均衡、资源载控;物理层提供公有云、私有云、容器云等。
5. 可信区块链BaaS平台部署架构
可信区块链BaaS平台网络部署架构一共分为六层,从底层到顶层分别为用户层、接入层、主链网络层、侧链网络层、信息服务层和数据存储层。通过六层的网络部署架构,本项目将可信区块链BaaS平台业务与区块链的主侧链网络相结合,实现了多用户、多节点接入平台。可信区块链BaaS平台网络部署架构图如图3所示。
(1)可信区块链BaaS平台区块链用户层
可信区块链BaaS平台部署架构应用层包括:物联网,互联网,供应链金融,数字版权,智慧城市,智能医疗等。
(2)可信区块链BaaS平台区块链接口层
可信区块链BaaS平台部署架构接入层包括身份认证、安全策略、角色管理、访问控制、安全监控和可视化配置六大模块,实现用户与业务信息资源的访问交互,也保证了B aaS平台业务信息资源的安全和用户操作的可追踪性和授权管理。
可信区块链BaaS平台支持不同的链来保存不同的业务数据,保证每条链的数据尽量比较简单,同时还要考虑多个链之间如何按照标准的协议能够以安全的方式进行通信,以及进行多个链关联数据查询。实现侧链与现有主链进行融合,支持主链管理与创建子链。通过子链的方式,可以快速创建孵化区块链网络。
可信区块链BaaS平台主/侧链主要制定 3个核心的合约,所有的跨链交易都会被广播到路由节点网络,路由节点会从主链查询交易的合法性判断是否转发:
数据存储层是可信区块链BaaS平台网络的最后一层,负责对业务信息资源进行分布式安全存储,并提供上层可以调用的接口,以便用户对数据的访问。
6. 可信区块链BaaS平台典型应用界面