解决方案

● 可信区块链BaaS平台


1. 可信区块链BaaS平台基本简介

可信区块链BaaS平台是一种帮助用户创建,管理和维护,为企业提供安全信任机制,降低开发成本,提高信任机制的平台。它利用自身高性能、稳定性、可靠性和信任隐私保护等特性使得企业之间建立良好的,可靠的合作,降低安全风险,为多企业之间合作提供机遇,提高企业效益。利用降低开发和使用成本、兼顾快速部署、方便使用等特性提高企业开发者工作效率。利用跨网络及多用户等特性让计算资源,平台资源,软件资源得到了最大程度的共享。可信区块链BaaS平台把底层的区块链共识机制,不可篡改的记账能力及实施能力转化为可编程,可插拔的标准化接口,让应用系统开发及部署简单而高效;同时,利用可视化的底层监控系统,对区块链业务的运营提供支撑,解决弹性、安全性、性能等运营难题,从而提高工作效率,解决安全忧虑。

可信区块链BaaS平台致力于提供企业级区块链基础技术平台。其具体包括区块链节点及整链搭建的能力,区块链应用开发能力,区块应用部署能力,区块链运行监控的能力。利用其区块链节点及底层链搭建的能力,部署能力,监控能力,加速区块链在各行业落地。

为了搭建高安全、低成本、高效率、高可靠、灵活可扩展的区块链解决方案和应用,可信区块链Baas平台设计原则应遵循四大原则:安全可靠、简单易用、灵活扩展及可视化运维。

安全可靠:可信区块链BaaS平台具有有效的防篡改机制,安全可靠的数据隔离机制,利用加密、共识机制等提供完善的用户、密钥,权限管理、隔离及可靠的安全防护能力。

简单易用:部署企业级分布式区块链需要专业的区块链知识及各种复杂设计和配置,容易操作失误。可信区块链BaaS平台帮助企业级用户实现自动化配置部署及应用,通过界面化操作来使得用户更容易使用区块链。

灵活扩展:可信区块链BaaS平台遵循源于开源,优于开源,回馈开源的原则,设计采用抽象和可插拔模块,积极开发和拓展区块链系统。

可视化运维:可信区块链BaaS平台应该为链代码和链上应用提供可视化的资源监控能力,便于提高运维安全管理和工作效率。

2. 可信区块链BaaS平台系统架构

可信区块链BaaS平台是为企业级用户提供高效率、高可靠性、安全性的平台。我们本着简单易用、安全可靠、可视化运维的设计原则,将可信区块链BaaS平台系统架构分为四个层面:SaaS层、BaaS管理层、区块链层和IaaS层,可信区块链BaaS平台系统架构如图2-1所示。

图2-1 可信区块链BaaS平台系统架构

SaaS层:对外提供账户安全管理系统、创世块智能配置系统、智能合约安全检测系统、智能合约可视化配置系统、共识算法管理系统、区块链智能化部署系统、区块链节点自动化安装系统、安全监控系统等。

BaaS管理层:提供跨链融合、多链并存、闪电网络、隔离见证、监控管理、国密算法支持、智能合约管理、安全检测等接口,通过标准化的接口建设,为企业级应用提供安全保障。

区块链层:提供BaaS API1,BaaS API2及BaaS API3。其中,BaaS API1底层链主要提供智能合约、账户管理、地址生成、共识机制(PoW)、P2P网络、区块数据管理、密码算法、EVM虚拟机、脚本引擎、网络管理、队列管理、节点管理、状态管理等。BaaS API2底层链主要提供链码管理、账户管理、证书管理、共识机制(PBFT) 、通道管理、区块校验、密码算法、交易管理、数据安全、排序服务、Docker容器、节点管理及事件管理等。BaaS API3底层链主要提供智能合约、账户管理、区块管理、共识机制(DPo'S)、WASM沙盒、BP管理、密码算法、TOKEN模型、资源管理、账本管理、节点管理、跨链通信及Pool管理等。

IaaS层:包括虚拟化层和物理层。虚拟化层提供虚拟管理、负载均衡、资源载控;物理层提供公有云、私有云、容器云等。

区块链BaaS平台通过共识机制、可插拔模块、密码算法、排序服务等为企业级用户提供高安全性、可靠性的区块链平台,通过分布式设计、虚拟管理、云服务等为区块链提供无限扩展的存储与高速网。

3. 可信区块链BaaS平台系统功能

我们基于区块链技术设计与研发了可信区块链BaaS平台,提供一套区块链部署、合约开发、实时监控等企业级区块链服务解决方案,通过低成本的快速构建区块链基础设施,共同推动区块链应用场景的落地,推动可信互联网的发展。可信区块链BaaS平台功能架构分为应用层、适配层、区块链核心层及基础设施层,如图3-1所示。


图2-1 可信区块链BaaS平台功能架构

应用层为最终用户提供可信、快捷、安全的区块链应用,用户可以使用平台提供的资产链及应用链,结合智能合约快速搭建区块链应用。

适配层主要是将账户管理、动态加密、共识服务、合约管理、交易管理、数据分析、监控管理、平台管理等功能转化为可编程,可插拔的标准化接口与应用层无缝结合,让应用系统开发及部署简单而高效。通过动态可插拔加密算法,动态可插拔共识机制,保证数据安全可靠、不可篡改,提高企业安全防护能力。通过多层面的监控及日志审计、灵活的可视化配置、多方式的实时告警等,对区块链业务的运营提供支撑,解决弹性、安全性、性能等运营难题,从而提高工作效率,解决安全忧虑。

区块链核心层主要提供的核心技术包括分布式身份管理、可插拔分布式共识机制、安全智能合约引擎、安全隐私保护、跨链融合数据交互及分布式账本存储机制等,可在开源的区块链架构上搭建,为上层应用低成本、快速地提供高可靠、高安全、高性能的企业级区块链系统。

基础设施层包括网络节点支持、存储支撑、负载均衡、安全管理、容错管理及资源管理等,为区块链系统提供可扩展的存储、按需可购买弹性伸缩和故障自动恢复的节点等环境,确保区块链系统安全稳定的运行。

4. 可信区块链BaaS平台系统部署

4.1网络配置

(1)编辑/etc/hosts文件:编辑orderer.example.com,peer0.org1.example.com,peer1.org1.example.com,peer0.org2.example.com,peer1,org2.example.com对应实际物理机器ip地址。如图4-1主机hosts文件图所示:

图4-1 主机hosts文件图

(2)orderer节点需要开启7050端口,peer节点都需要开启7051、7052、7053端口。

4.2镜像下载

(1)给镜像脚本赋予执行条件:执行命令sudo chmod  +x bootstrap-1.1.0-preview.sh。

(2)拉取镜像:执行命令bash bootstrap-1.1.0-preview.sh。完成后可以看到图4-2 镜像列表图所示容器镜像文件。

图4-2 镜像列表图

4.3配置docker compose file

(1)修改docker compose file中extra_hosts参数中的ip地址,如图4-3修改extra_hosts图所示:

图4-3 修改extra_hosts图

4.4启动节点

(1)登录到orderer节点,切换到fabric文件夹,在orderer节点中执行命令docker-compose -f docker-compose-orderer.yaml up -d,使用docker logs orderer.example.

com显示如图4-4 Orderer Start Log图所示。显示Beginning to serve requests表明orderer节点正常启动。

图4-4 Orderer Start Log图

(2)登录到peer0节点切换到fabric文件夹,在peer0节点中执行命令docker-compose -f  docker-compose-peer0.yaml up –d,使用docker logs peer0.org1.example.

com可以看到如图4-5Peer Start Log图,表明peer0节点正常启动。同理启动peer1、peer2、peer3节点。

图4-5 Peer Start Log图

4.5执行启动脚本

(1)登录到peer0的节点,在命令行中执行docker exec –it cli bash进入cli容器。执行./scripts/scripts.sh命令。运行scripts.sh得到如图4-5运行scripts结果图所示结果。


图4-6 运行scripts结果图

(2)执行命令:exit退出容器。执行命令:docker ps –a查询所有容器。可以看到链码容器在运行。如图4-6 Peer Chaincode容器运行图所示:

图4-7 Peer Chaincode容器运行图

4.6启动CA证书节点

(1)在orderer节点内进入fabric文件夹执行docker-compose -f docker-compose-ca1.yaml up -d启动org1证书节点,执行docker logs ca1_peerOrg1看到如图4-7执行docker logs ca1_peerOrg1所示信息。同理启动org2证书节点。

图4-8 执行docker logs ca1_peerOrg图

5. 可信区块链BaaS平台REST API部署

(1)修改network-config.json文件

进入到apiclient文件内的app文件夹,按照实际的Orderer、Peer节点IP地址进行修改。分别修改orderer的url属性,以及requests和events属性,如图5-1所示。

图5-1 网络配置图

(2)启动API服务

在apiclient文件夹内执行npm start启动API服务端,得到如图5-2启动API服务所示信息表明启动成功。

图5-2 启动API服务图

6. 可信区块链BaaS平台典型应用

6.1数字多媒体版权区块链平台

(1)经典视频列表


(2)书画作品列表


(3)版权数据上链


(4)已上链数据详情

(5)版权链证书申请

(6)播放视频需要消耗DRM币

6.2传媒区块链平台

(1)传媒链待存任务列表

(2)传媒链区块信息列表

(3)区块数据详情