FISCO BCOS群组特性

FISCO BCOS群组特性

    • 一丶概念辨析
    • 二丶开发中常见的网络构建案例
    • 三丶群组架构对应的场景需求
    • 四丶实现原理

一丶概念辨析

一体:群组架构,建链像聊天群一样便利

  • 在多节点组成的区块链内,部分节点通过配置,组成独立的账本
  • 账本内的节点进行独立的共识,存储独立的状态
  • 只需要修改配置就能组建账本,无需额外运营资源
    服务器,节点,机构,群组的关系
  • 机构,可以映射为现实中的机构(A,B,C)
  • 一个公司可以有很多个服务器共有一个区块链网络,一个服务器(可以在公有云或私有云)可以部署任意个节点,只要性能满足
  • 节点是区块链的基本组成单元,以节点为单元可以组成各种各样的群组
    服务器,节点,机构,群组与(证书)
  • 管理委员会:根私钥ca.key 根证书ca.crt
  • 机构A-a公司:机构私钥:agency.key 机构证书agency.crt
  • 服务器(节点): 节点私钥node.key=sdk.key 节点证书:node.crt=sdk.crt

二丶开发中常见的网络构建案例

单机1机构1群组4节点
命令:bash build_chain.sh -l 127.0.0.1:4 -p 30300,20200,8545
含义:安装一个本地(127.0.0.1)访问的区块链网络,网络中有4个节点,第一个节点的p2p_port,channel_port,jsonrpc_port分别是30300,20200,8545后续节点依次增加
场景:理解共识机制的情况下

** 单机1机构1群组1节点**
命令:bash build_chain.sh -l 127.0.0.1:1 -p 30300,20200,8545
含义:安装一个本地(127.0.0.1)访问的区块链网络,网络中有1个节点,p2p_port,channel_port,jsonrpc_port分别是30300,20200,8545
场景:单纯进行区块开发,不关心共识

单机2机构2群组2节点
方法:
1.在build_chain.sh 同一个目录下创建ipconf:
.# 空格分隔的参数分别表示如下含义:
.# ip:num 物理机ip以及物理机上的节点数目
.# agency_name:机构名称
.# group_list: 节点所属的群组列表,不同群组以逗号分隔
127.0.0.1 webank 1,2
127.0.0.1 leeduckgo 1

2.根据配置文件建链
bash build_chain.sh -f ipconf -p 30300,20200,8545
含义: 根据本地配置文件建立区块链网络,起始节点的p2p_port,channel.port,jsonrpc_port分别为30300,20200,8545
场景: 在完整版WeIdentity之上进行开发

2机2机构1群组2节点
方法:通过generator企业级运维部署工具进行部署
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/articles/7_community/group_deploy_case.html
场景: 生产环境运维实操
前置知识点: linux命令 ,ssh命令

三丶群组架构对应的场景需求

群组架构现实场景需求:安全需求
海纳社区:社区的业委会,物业,腾讯海纳,银行以及监管部门共同组建社区联盟链
安全需求:在社区联盟链中,社区与社区间的链上数据需要相互隔离
群组架构实现场景需求:性能需求
多个银行共同搭建区块链进行准实时的对账
性能需求:
每次对账只涉及有资金来往的两方。在大量对账流水发生时,两两间可以互相对账不阻塞其他方的对账操作,可以独立进行
群组架构现实场景需求:运维需求
银行,存证和仲裁机构共同搭建仲裁链
运维需求:同一个存证,仲裁机构与有多家银行搭建仲裁链的需求。若与每家银行都搭建一条链,则每次都需要申请一套端口,部署一套相同的程序,运维操作及其重
链内可灵活的搭建各种群组拓扑结构

  • 嵌套结构:腾讯海纳智慧社区
  • 成对架构:结构间对账平台
  • 星型结构:仲裁链

四丶实现原理

传统架构
FISCO BCOS群组特性_第1张图片

多群组架构-节点内部
同一端口,网络引擎

多群组架构-节点之间
基于同一根证书

目录及配置文件

conf:节点配置目录
共有:

  • 根证书(ca.crt)
  • 节点证书(node.crt)
  • 节点私钥(node.key)
  • nodeid文件
    每群组:
  • 群组创世快文件(group.x.genesis)
  • 群组配置文件(group.x.ini)
    data:节点数据目录:
    每群组:groupx/

SDK向指定群组发交易

节点间相同群组通信

你可能感兴趣的:(区块链底层架构师,区块链,底层架构,联盟链,FISCO-BCOS)