群组架构

考虑到真实的业务场景需求,FISCO BCOS引入多群组架构,支持区块链节点启动多个群组,群组间交易处理、数据存储、区块共识相互隔离,保障区块链系统隐私性的同时,降低了系统的运维复杂度。

.. note::

    举个例子:

    机构A、B、C所有节点构成一个区块链网络,运行业务1;一段时间后,机构A、B启动业务2,且不希望该业务相关数据、交易处理被机构C感知,有何解?

    - **1.3系列FISCO BCOS系统** :机构A和机构B重新搭一条链运行业务2;运维管理员需要运维两条链,维护两套端口

    - **FISCO BCOS 2.0+** :机构A和机构B新建一个群组运行业务2;运维管理员仅需维护一条链

    显然在达到相同隐私保护需求基础上,FISCO BCOS 2.0+具有更好的扩展性、可运维性和灵活性。

多群组架构中,群组间共享网络,通过网络准入和账本白名单实现各账本间网络消息隔离。

群组间数据隔离,每个群组独立运行各自的共识算法,不同群组可使用不同的共识算法。每个账本模块自底向上主要包括核心层、接口层和调度层三层,这三层相互协作,FISCO BCOS可保证单个群组独立健壮地运行。

核心层

核心层负责将群组的区块数据、区块信息、系统表以及区块执行结果写入底层数据库。

存储分为世界状态(State)和分布式存储(AMDB)两部分,世界状态包括MPTState和StorageState,负责存储交易执行的状态信息,StorageState性能高于MPTState,但不存储区块历史信息;AMDB则向外暴露简单的查询(select)、提交(commit)和更新(update)接口,负责操作合约表、系统表和用户表,具有可插拔特性,后端可支持多种数据库类型,目前支持RocksDB数据库和MySQLstorage

接口层

接口层包括交易池(TxPool)、区块链(BlockChain)和区块执行器(BlockVerifier)三个模块。

调度层

调度层包括共识模块(Consensus)和同步模块(Sync)。