FISCO BCOS 是一个稳定、高效、安全的区块链底层平台,由微众银行牵头的金链盟主导研发,其可用性经广泛应用实践检验。至今已涌现300+产业数字化标杆应用,覆盖金融、医疗、教育、文化、社会治理等领域,如珠三角征信链、区块链服务网络BSN、人民链、国家健康医疗大数据科创平台等。
社区以开源链接多方,截止2020年5月,汇聚了超1000家企业及机构、逾万名社区成员参与共建共治,发展成为最大最活跃的国产开源联盟链生态圈。
底层平台可用性经广泛应用实践检验,数百个应用项目基于FISCO BCOS底层平台研发,超80个已在生产环境中稳定运行,覆盖文化版权、司法服务、政务服务、物联网、金融、智慧社区等领域。
FISCO BCOS以联盟链的实际需求为出发点,兼顾性能、安全、可运维性、易用性、可扩展性,支持多种SDK,并提供了可视化的中间件工具,大幅缩短建链、开发、部署应用的时间。
单链配置下,性能TPS可达10万+。全面支持国密算法、国产操作系统与国产CPU架构。包含区块流水线、可拔插共识机制、全方位并行计算、区块链文件系统、权限治理框架、分布式存储等特性。
一、FISCO BCOS的特色及优势
FISCO BCOS 采用联盟链的技术架构,以满足分布式商业场景中合法合规地进行多方对等协作为目标,兼顾金融创新与金融稳定,融汇吸收了分布式架构、分布式存储、点对点网络协议、加密算法、共识算法、智能合约以及虚拟机等多类技术。具备高性能、安全可控、功能丰富等优势,为开展区块链应用提供可靠的基础设施。
FISCO BCOS 平台基于价值联盟、安全可信、业务可行、自主可控、高效可用、智能监管、灵活配置七大理念进行设计。针对联盟链商业级生产面临的 “高安全性、高性能、高可用性、业务落地、合法合规” 五座大山提供以下解决方案:
在安全性方面:除了节点与节点之间、节点与客户端之间采用 TLS 安全协议通信外,FISCO BCOS 实现了一整套安全解决方案,包括网络准入机制、黑白名单机制、权限管理机制、落盘加密机制、密钥管理机制等。同时,FISCO BCOS 支持完整国密算法体系,支持同态加密、群环签名算法等先进技术。从国密算法、操作系统、芯片架构到服务器平台,FISCO BCOS 实现全链路国产化支持,达成全方位安全可控。
在性能优化方面:FISCO BCOS 从提升交易执行效率和并发度两个方面出发,创新性提出基于 C++ 语言高效的 Precompiled 合约框架和基于 DAG 的交易并行执行框架。从交易生命周期处理的各个环节出发,并行处理以及异步化区块共识、区块同步、区块落盘等环节,大大提升了交易处理性能,使得交易处理性能达到两万以上。
在扩展性方面:FISCO BCOS 引入了新型共识算法 rPBFT,消除了节点数目对共识算法的影响,扩展了联盟区块链系统可支撑的节点数目。为提升区块链系统横向扩展能力,FISCO BCOS 引入微众银行自主研发并开源的跨链协作平台 WeCross,打通区块链系统互通壁垒。
在业务落地方面:FISCO BCOS 提供各种开发接口,方便程序员编写和调用智能合约。
在监管方面:FISCO BCOS 支持监管和审计机构作为观察节点加入联盟链,获取实时数据进行监管审计。
二、FISCO BCOS 技术架构
FISCO BCOS 分层架构设计如下图所示:

基础层:提供基础工具和算法库。
核心层:实现区块链内核逻辑以及网络共识算法等关键模块,包括链核心层与互联核心层。
链核心层:实现区块链的链式数据结构、交易执行引擎和存储驱动。
互联核心层:实现区块链的基础 P2P 网络通信、共识机制和区块同步机制。
管理层:实现区块链的管理功能,包括参数配置、账本管理和 AMOP 等。
接口层:面向区块链用户,提供多种协议的 RPC 接口、SDK 和交互式控制台。
三、FISCO BCOS基础资源链服务
3.1版本信息
- 稳定版本(生产环境使用):v3.2.1,版本内容可参考《FISCO-BCOS v3.2.1版本说明》
- 最新版本(用户体验新特性):v3.3.0,版本内容可参考 《FISCO-BCOS v3.3.0版本说明》
3.2系统概述
FISCO BCOS系统架构包括基础层、核心层、服务层、用户层和接入层提供稳定、安全的区块链底层服务。中间件层通过可视化界面,简化了用户管理区块链系统的流程。右侧配套相关开发、运维、安全控制的组件,辅助应用落地过程中不同角色的需要;同时,提供隐私保护和跨链相关的技术组件,满足不同场景的应用诉求。

3.3关键特性
- Pipelined:区块流水线,连续且紧凑地生成区块
- 可插拔的共识机制: 设计可插拔共识框架,灵活可选
- 全方位并行计算:多群组,块内分片,DMC,DAG等并行机制,实现强大处理性能。
- 区块链文件系统: 所见即所得的合约数据管理
- 权限治理框架:内置权限治理框架,多方投票治理区块链
- 分布式存储 TiKV:分布式事务性提交,支撑海量存储
- SDK基础库:多语言SDK,更方便的全平台国密接入
3.4组件服务
- 隐私保护:场景式即使可用隐私保护解决方案WeDPR
- 跨链协作:支持多链互通的跨链协作平台WeCross
- 区块链管理:可视化的区块链管理平台WeBASE
3.5开发维护工具
- 搭链工具:一键建链脚本,自动化部署区块链
- 可视化工具:提供可视化管理工具,减少操作流程
- 监控告警工具:监控区块链系统运行状态,实时告警
- 数据归档工具:冷数据归档,支持RocksDB和TiKV,释放存储压力
3.6技术文档
《FISCO BCOS官方技术文档》提供建链开发指引、工具介绍以及设计原理解析,用户可通过阅读官方技术文档快速了解、使用FISCO BCOS。
若需查阅FISCO BCOS 2.x版本相关信息,可参考 《FISCO BCOS 2.x 技术文档》
四、FISCO BCOS跨链服务
致力于FISCO BCOS和其它异构链实现互联互通的跨链协作平台WeCross,近期发布新版本WeCross v1.2.0。
区块链作为构建未来价值互联网的重要基础设施,深度融合分布式存储、点对点通信、分布式架构、共识机制、密码学等前沿技术,正在成为技术创新的前沿阵地。全球主要国家都在加快布局区块链技术,用以推动技术革新和产业变革。经过行业参与者十年砥砺前行,目前区块链在底层技术方案上已趋于完整和成熟,国内外均出现可用于生产环境的区块链解决方案。其所面向的创新应用场景覆盖广泛,已在对账与清结算、跨境支付、供应链金融、司法仲裁、政务服务、物联网、智慧城市等众多领域落地企业级应用。
在广泛的场景应用背后,来自于性能、安全、成本、扩展等方面的技术挑战也愈发严峻。目前不同区块链应用之间互操作性不足,无法有效进行可信数据流通和价值交换,各个区块链俨然成为一座座信任孤岛,很大程度阻碍了区块链应用生态的融合发展。未来,区块链想要跨越到真正的价值互联网,承担传递信任的使命,开启万链互联时代,需要一种通用、高效、安全的区块链跨链协作机制,实现跨场景、跨地域不同区块链应用之间的互联互通,以服务数量更多、地域更广的公众群体。
作为一家具有互联网基因的高科技、创新型银行,微众银行自成立之初即高度重视新兴技术的研究和探索,在区块链领域积极开展技术积累和应用实践,不断致力于运用区块链技术提升多机构间的协作效率和降低协作成本,支持国家推进关键技术安全可控战略和推动社会普惠金融发展。微众银行区块链团队基于一揽子自主研发并开源的区块链技术方案,针对不同服务形态、不同区块链平台之间无法进行可信连接与交互的行业痛点,研发区块链跨链协作平台——WeCross,以促进跨行业、机构和地域的跨区块链信任传递和商业合作。
WeCross 着眼应对区块链行业现存挑战,不局限于满足同构区块链平行扩展后的可信数据交换需求,还进一步探索异构区块链之间因底层架构、数据结构、接口协议、安全机制等多维异构性导致无法互联互通问题的有效解决方案。作为未来区块链互联的基础设施,WeCross 秉承多方参与、共享资源、智能协同和价值整合的理念,面向公众完全开源,欢迎广大企业及技术爱好者踊跃参与项目共建。
- 跨链路由(WeCross Router)
- 与链对接,对链上的资源进行抽象
- 向外暴露统一的接口
- 将调用请求路由至对应的区块链
- 账户服务(WeCross Account Manager)
- 管理跨链账户
- Router连接所属机构的Account Manager
- 用户在Router上登录,以跨链账户的身份发交易
- 控制台(WeCross Console)
- 命令行式的交互
- 查询跨链信息,发送调用请求,操作跨链事务
- 网页管理平台
- 可视化操作界面
- 查询跨链信息,发送调用请求,操作跨链事务
- 跨链 SDK(WeCross Java SDK)
- WeCross开发工具包,供开发者调用WeCross
- 集成于各种跨链APP中,提供统一的调用接口
- 与跨链路由建立连接,调用跨链路由
- 跨链资源(Resource)
- 各种区块链上内容的抽象
- 包括:合约、资产、信道、数据表
- 跨链适配器(Stub)
- 跨链路由中对接入的区块链的抽象
- 跨链路由通过配置Stub与相应的区块链对接
- FISCO BCOS需配置FISCO BCOS Stub、Fabric需配置Fabric Stub
- IPath(Interchain Path)
- 跨链资源的唯一标识
- 跨链路由根据IPath将请求路由至相应区块链上
- 在代码和文档中将IPath简称为path
- 跨链分区
- 多条链通过跨链路由相连,形成跨链分区
- 跨链分区有唯一标识,即IPath中的第一项(payment.stub3.resource-d的payment)

具体见:《WeCross v1.2.0技术文档》。