FISCO BCOS整体架构---群组架构
一、概述
整体架构上,FISCO BCOS划分成基础层、核心层、管理层和接口层:
1.基础层:
提供区块链的基础数据结构和算法库
2.核心层:
实现了区块链的核心逻辑,核心层分为两大部分:
(1) 链核心层: 实现区块链的链式数据结构、交易执行引擎和存储驱动
(2) 互联核心层: 实现区块链的基础P2P网络通信、共识机制和区块同步机制
3.管理层:
实现区块链的管理功能,包括参数配置、账本管理和AMOP
4.接口层:
面向区块链用户,提供多种协议的RPC接口、SDK和交互式控制台
5.整体架构图:
二、群组架构(bcos 2.0 版本新增了群组架构)
1.群组的特点
(1)群组架构允许网络存在多个账本,每个账本是一个独立的小组。
解决的问题:系统吞吐能力能够横向扩展
(2)各群组独立执行共识流程
解决的问题:解决了多群组同一个共识模块导致的性能瓶颈问题。按群组的粒度划分,由群组内参与者决定如何进行共识,一个群组内的共识不受其他群组影响,群组内维护自己的交易事务和数据,使得各群组之间解除耦合,独立运作,也便于进行横向扩展。
(3)一个组相当于一条链,
解决的问题:实现了传统多链的扩展目的,同时一个节点可以参与到多条链,能够极大地简化运维复杂度,降低管理成本
2.举例子:
机构A、B、C所有节点构成一个区块链网络,运行业务1;一段时间后,机构A、B启动业务2,且不希望该业务相关数据、交易处理被机构C感知,有何解?
FISCO BCOS 1.3 :机构A和机构B重新搭一条链运行业务2;运维管理员需要运维两条链,维护两套端口
FISCO BCOS 2.0 :机构A和机构B新建一个群组运行业务2;运维管理员仅需维护一条链
显然在达到相同隐私保护需求基础上,FISCO BCOS 2.0具有更好的扩展性、可运维性和灵活性。
3.多群组架构的网络消息隔离和数据隔离
(1)网络消息隔离:
通过网络准入和账本白名单实现各账本间网络消息隔离。
(2)数据隔离:
每个群组独立运行各自的不同或者相同的共识算法。
每个账本模块自底向上主要包括核心层,接口层和调度层三层,三层相互协作,共同保证FISCO BCOS单个群组独立健壮地运行。
4.账本模块三层
(1)核心层
负责将群组的区块数据、区块信息、系统表以及区块执行结果写入底层数据库。
(2)接口层
包括交易池(TxPool)、区块链(BlockChain)和区块执行器(BlockVerifier)三个模块。
(3)调度层
包括共识模块(Consensus)和同步模块(Sync)。
三、参考资料
FISCO BCOS 官方文档: https://fisco-bcos-documentation.readthedocs.io/zh_CN/release-2.0/docs/design/architecture/index.html