平台介绍

FISCO BCOS是由国内企业主导研发、对外开源、安全可控的企业级金融联盟链底层平台,由金链盟开源工作组协作打造,并于2017年正式对外开源。

社区以开源链接多方,截止2020年5月,汇聚了超1000家企业及机构、逾万名社区成员参与共建共治,发展成为最大最活跃的国产开源联盟链生态圈。底层平台可用性经广泛应用实践检验,数百个应用项目基于FISCO BCOS底层平台研发,超80个已在生产环境中稳定运行,覆盖文化版权、司法服务、政务服务、物联网、金融、智慧社区等领域。

.. note::
    FISCO BCOS以联盟链的实际需求为出发点,兼顾性能、安全、可运维性、易用性、可扩展性,支持多种SDK,并提供了可视化的中间件工具,大幅缩短建链、开发、部署应用的时间。此外,FISCO BCOS通过信通院可信区块链评测功能、性能两项评测,单链TPS可达两万。

关键特性

整体架构
架构模型 一体两翼多引擎
群组架构 支持链内动态扩展多群组
分布式存储 支持海量数据存储
并行计算 支持块内交易并行执行
节点类型 共识节点、观察节点
计算模型 排序-执行-验证
系统性能
峰值TPS 2万+ TPS(PBFT)
交易确认时延 秒级
硬件推荐配置
CPU 2.4GHz * 8核
内存 8GB
存储 4TB
网络带宽 10Mb
账本模型
数据结构 链式结构,区块通过哈希链相连
是否分叉 不分叉
记账类型 账户模型(非UTXO)
共识算法
共识框架 可插拔设计
共识算法 PBFT、Raft、rPBFT
存储引擎
存储设计 支持KV和SQL
引擎类型 支持leveldb、rocksdb、mysql
CRUD接口 提供CRUD接口访问链上数据
网络协议
节点间通信 P2P协议
客户端与节点通信 JsonRPC,Channel协议
消息订阅服务 AMOP协议
智能合约
合约引擎 支持Solidity和预编译合约
引擎特点 图灵完备,沙盒运行
版本控制 基于CNS支持多版本合约
灰度升级 支持多版本合约共存、灰度升级
生命周期管理 支持合约和账户的冻结、解冻
密码算法和协议
国密算法 支持
国密SSL 支持
哈希算法 Keccak256、SM3
对称加密算法 AES、SM4
非对称加密算法 ECDSA、SM2
非对称加密椭圆曲线 secp256k1、sm2p256v1
安全控制
存储安全 支持落盘数据加密存储
通信安全 支持全流程SSL
准入安全 基于PKI身份认证体系
证书管理 支持证书颁发、撤销、更新
权限控制 支持细粒度权限控制
隐私保护
物理隔离 群组间数据隔离
隐私保护协议 支持群签名、环签名、同态加密
场景化隐私保护机制 基于WeDPR支持隐匿支付、匿名投票、匿名竞拍、选择性披露等场景
跨链协议
SPV 提供获取SPV证明的接口
跨链协议 基于WeCross支持同构、异构跨链
开发支持
合约开发工具 WeBASE-IDEChainIDE
开发建链工具 提供一键搭链脚本工具
合约部署与测试工具 基于Java SDK的console, 交互式控制台基于Web3SDK的console
SDK语言 Javanodejsgopython
快速开发组件 提供Spring-boot-starter
压测工具 SDK内嵌压测工具,支持Caliper
运维支持
运维建链工具 提供企业级联盟链部署工具
可视化数据展现 区块链浏览器
可视化节点管理 基于WeBASE,提供节点管理器
动态管理节点 支持动态新增、剔除、变更节点
动态更改配置 支持动态变更系统配置
数据备份与恢复 提供数据导出与恢复服务组件
监控统计 输出统计日志,提供监控工具
监管审计 基于WeBASE,提供监管审计入口

架构

FISCO BCOS 在2.0中,创新性提出“一体两翼多引擎”架构,实现系统吞吐能力的横向扩展,大幅提升性能,在安全性、可运维性、易用性、可扩展性上,均具备行业领先优势。

一体指代群组架构,支持快速组建联盟和建链,让企业建链像建聊天群一样便利。根据业务场景和业务关系,企业可选择不同群组,形成多个不同账本的数据共享和共识,从而快速丰富业务场景、扩大业务规模,且大幅简化链的部署和运维成本。

两翼指的是支持并行计算模型和分布式存储,二者为群组架构带来更好的扩展性。前者改变了区块中按交易顺序串行执行的做法,基于DAG(有向无环图)并行执行交易,大幅提升性能;后者支持企业(节点)将数据存储在远端分布式系统中,克服了本地化数据存储的诸多限制。

多引擎是一系列功能特性的总括,比如预编译合约能够突破EVM的性能瓶颈,实现高性能合约;控制台可以让用户快速掌握区块链使用技巧等。

上述功能特性均聚焦解决技术和体验的痛点,为开发、运维、治理和监管提供更多的工具支持,让系统处理更快、容量更高,使应用运行环境更安全、更稳定。

核心模块

FISCO BCOS采用高通量可扩展的多群组架构,可以动态管理多链、多群组,满足多业务场景的扩展需求和隔离需求,核心模块包括:

性能

为提升系统性能,FISCO BCOS从提升交易执行效率和并发两个方面优化了交易执行,使得交易处理性能达到万级以上。

安全性

考虑到联盟链的高安全性需求,除了节点之间、节点与客户端之间通信采用TLS安全协议外,FISCO BCOS还实现了一整套安全解决方案:

可运维性

联盟链系统中,区块链的运维至关重要,FISCO BCOS提供了一整套运维部署工具,并引入了合约命名服务数据归档和迁移合约生命周期管理等工具来提升运维效率。

易用性

FISCO BCOS引入开发部署工具、交互式控制台、区块链浏览器等工具来提升系统的易用性,大幅缩短建链、部署应用的时间。

为了便于不同语言开发者快速开发应用,FISCO BCOS同时支持Java SDKNode.js SDKPython SDKGo SDK

社区开发工具

依托庞大的开源生态,社区内众伙伴秉承“来自开发者,用于开发者”的共建理念,在FISCO BCOS底层平台之上,自主研发多个趁手开发工具并回馈给社区,从不同业务层面需求上降低区块链应用开发难度和成本。以下作部分列举,欢迎更多机构或开发者向社区反馈更多好用的工具。