FISCO BCOS 区块链¶
标签:FISCO BCOS介绍
关键特性
开发工具
FISCO BCOS是由深圳市金融区块链发展促进会(以下简称“金链盟”)开源工作组牵头研发的金融级、国产安全可控的区块链底层平台。作为最早开源的国产联盟链底层平台之一,FISCO BCOS于2017年面向全球开源。
开源六周年至今,FISCO BCOS开源社区在技术创新、应用产业以及开源生态均取得了非凡成绩。
FISCO BCOS持续攻关核心关键技术,单链性能突破10万TPS。首创DMC算法大幅度提升性能、推出三种架构形态灵活适配业务需求;全链路国产化,采用国密算法与软硬件体系,支持国产OS,适配国产芯片和服务器,支持多语言多终端国密接入。拥有覆盖底层+中间件+应用组件的丰富周边组件。
底层平台可用性已经广泛应用实践检验,支撑政务、金融、医疗、双碳、跨境数据流通等关乎国计民生的重点领域落地超过400个标杆应用,在助力实体经济发展、促进公平与可持续等方面贡献力量。
社区以开源链接多方,截止2023年12月,围绕FISCO BCOS构建的国产开源联盟链生态圈已汇聚了超过5000家机构、超10万名个人成员,以及50家认证合作伙伴、500余名核心贡献者。社区认证了63位FISCO BCOS MVP, 发展了12个专项兴趣小组SIG,此外与上百所知名院校开展人才共育合作,培育区块链产业人才超8万人次,已发展成为最大最活跃的国产开源联盟链生态圈之一。
注解
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-IDE,ChainIDE |
开发建链工具 | 提供一键搭链脚本工具 |
合约部署与测试工具 | 交互式控制台 基于Java SDK的控制台 |
SDK语言 | Java、nodejs、go、python |
快速开发组件 | 提供Spring-boot-starter |
压测工具 | SDK内嵌压测工具,支持Caliper |
运维支持 | |
运维建链工具 | 提供企业级联盟链部署工具 |
可视化数据展现 | 区块链浏览器 |
可视化节点管理 | 基于WeBASE,提供节点管理器 |
动态管理节点 | 支持动态新增、剔除、变更节点 |
动态更改配置 | 支持动态变更系统配置 |
数据备份与恢复 | 提供数据导出与恢复服务组件 |
监控统计 | 输出统计日志,提供监控工具 |
监管审计 | 基于WeBASE,提供监管审计入口 |
架构¶
FISCO BCOS 在2.0中,创新性提出“一体两翼多引擎”架构,实现系统吞吐能力的横向扩展,大幅提升性能,在安全性、可运维性、易用性、可扩展性上,均具备行业领先优势。
一体指代群组架构,支持快速组建联盟和建链,让企业建链像建聊天群一样便利。根据业务场景和业务关系,企业可选择不同群组,形成多个不同账本的数据共享和共识,从而快速丰富业务场景、扩大业务规模,且大幅简化链的部署和运维成本。
两翼指的是支持并行计算模型和分布式存储,二者为群组架构带来更好的扩展性。前者改变了区块中按交易顺序串行执行的做法,基于DAG(有向无环图)并行执行交易,大幅提升性能;后者支持企业(节点)将数据存储在远端分布式系统中,克服了本地化数据存储的诸多限制。
多引擎是一系列功能特性的总括,比如预编译合约能够突破EVM的性能瓶颈,实现高性能合约;控制台可以让用户快速掌握区块链使用技巧等。
上述功能特性均聚焦解决技术和体验的痛点,为开发、运维、治理和监管提供更多的工具支持,让系统处理更快、容量更高,使应用运行环境更安全、更稳定。
性能¶
为提升系统性能,FISCO BCOS从提升交易执行效率和并发两个方面优化了交易执行,使得交易处理性能达到万级以上。
基于C++的Precompiled合约:区块链底层内置C++语言编写的Precompiled合约,执行效率更高。
交易并行执行:基于DAG算法根据交易间互斥关系构建区块内交易执行流,最大化并行执行区块内的交易。
交易生命周期的异步并行处理:共识、同步、落盘等各个环节的异步化以及并行处理。
安全性¶
考虑到联盟链的高安全性需求,除了节点之间、节点与客户端之间通信采用TLS安全协议外,FISCO BCOS还实现了一整套安全解决方案:
可运维性¶
联盟链系统中,区块链的运维至关重要,FISCO BCOS提供了一整套运维部署工具,并引入了合约命名服务、数据归档和迁移、合约生命周期管理等工具来提升运维效率。
易用性¶
FISCO BCOS引入开发部署工具、交互式控制台、区块链浏览器等工具来提升系统的易用性,大幅缩短建链、部署应用的时间。
为了便于不同语言开发者快速开发应用,FISCO BCOS同时支持Java SDK、Node.js SDK、Python SDK和Go SDK
社区开发工具¶
依托庞大的开源生态,社区内众伙伴秉承“来自开发者,用于开发者”的共建理念,在FISCO BCOS底层平台之上,自主研发多个趁手开发工具并回馈给社区,从不同业务层面需求上降低区块链应用开发难度和成本。以下作部分列举,欢迎更多机构或开发者向社区反馈更多好用的工具。
区块链中间件平台WeBASE:面向多种对象,如开发者、运营者,并根据不同的场景,包括开发、调试、部署、审计等,打造丰富的功能组件和实用工具,提供友好的、可视化的操作环境。
分布式身份解决方案WeIdentity:基于区块链的分布式多中心的技术解决方案,提供分布式实体身份标识及管理、可信数据交换协议等一系列的基础层与应用接口,可实现实体对象(人或物)数据的安全授权与交换。
分布式事件驱动架构WeEvent:实现了可信、可靠、高效的跨机构、跨平台事件通知机制。在不改变已有商业系统的开发语言、接入协议的情况下,实现跨机构、跨平台的事件通知与处理。
跨链协作方案WeCross:支持跨链事务交易,满足跨链交易的原子性,对跨链进行治理,可支持多方协作管理,避免单点风险。
场景式隐私保护解决方案WeDPR:针对隐匿支付、匿名投票、匿名竞拍和选择性披露等应用方案,提供即时可用场景式隐私保护高效解决方案,助力各行业合法合规地探索数据相关业务。
区块链数据治理组件解决方案:稳定、高效、安全的区块链数据治理组件解决方案,分别从底层数据存储层、智能合约数据解析层和应用层三个方面,提供了区块链数据挖掘、裁剪、扩容、可信存储、抽取、分析、审计、对账、监管等数据治理方面的关键能力。
区块链多方协作治理组件解决方案:可无缝适配FISCO BCOS的区块链治理组件解决方案。首批开源的四个组件分别从私钥丢失重置、合约权限细粒度管控、私钥和证书的全生命周期管控等方面着手,提供了可部署的智能合约代码、易于使用的SDK和可参考的落地实践Demo等交付物。
区块链应用开发组件解决方案:一套开放、轻量的开发组件集,覆盖智能合约的开发、调试、应用开发等环节,包含了Solidity智能合约开发工具库、 智能合约Gradle编译插件、应用开发脚手架。
ChainIDE:提供智能合约云端开发工具,帮助开发者节约边际成本,加速推送区块链应用落地。
FISCO BCOS区块链工具箱:与WeBase/Remix/VSCode/ChainIDE等IDE协同工作,提升开发体验与开发效率。
Ansible for FISCO BCOS 自动化生成企业级部署文件:本项目由为区块链开源项目 FISCO-BCOS 提供了自动化生成企业级配置文件的 ansible playbook。2 群组 3 机构 6 节点的环境,可以在 30 秒内(除下载时间)生成配置,极大简化了部署难度,避免了手工配置容易发生的错误。