一文读懂FISCO BCOS的联盟链开源生态
FISCO BCOS介绍
FISCO BCOS平台是金融区块链合作联盟(深圳)(以下简称:金链盟)开源工作组以金融业务实践为参考样本,在BCOS开源平台基础上进行模块升级与功能重塑,深度定制的安全可控、适用于金融行业且完全开源的区块链底层平台。
金链盟开源工作组获得金链盟成员机构的广泛认可,并由专注于区块链底层技术研发的成员机构及开发者牵头开展工作。其中首批成员包括以下单位(排名不分先后):博彦科技、华为、深证通、神州数码、四方精创、腾讯、微众银行、越秀金科。
FISCO BCOS平台基于现有的BCOS开源项目进行开发,聚焦于金融行业的分布式商业需求,从业务适当性、性能、安全、正常、技术可行性、运维与治理、成本等多个维度进行综合考虑,打造金融版本的区块链解决方案。
基于FISCO BCOS的金融区块链底层平台,可以快速构建“区块链+金融"应用场景,对金融行业大有裨益:
对银行机构,可以降低清结算成本、提高中后台运营效率、提升流程自动化程度;
对非银金融机构,可以提升权益登记、信息存证的权威性、削减交易对手方风险、解决数据追踪与信息防伪问题、降低审核审计的操作成本等;
对金融监管机构,为监管机构提供了一致且易于审计的数据,通过对机构间区块链的数据分析,能够比传统审计流程更快更精确地监管金融业务,并极大加强反洗钱力度;
在跨境金融场景中,有助于实现跨境金融机构间的账本共享,降低合作银行间对账与清结算成本及争议摩擦成本,从而提高跨境业务处理速度及效率。
FISCO BCOS已于2017年正式对外开源。截止到2020年5月,汇聚了超1000家企业及机构、逾万名社区成员参与共建共治,发展成为最大最活跃的国产开源联盟链生态圈。
应用项目覆盖文化版权、司法服务、政务服务、物联网、金融、智慧社区等领域。如今,基于FISCO BCOS方便的全面的开发工具,已经成为一个更开放的开源生态。
FISCO BCOS设计思路
FISCO BCOS以联盟链的实际需求为出发点,兼顾性能、安全、可运维性、易用性、可扩展性,支持多种SDK,并提供了可视化的中间件工具,大幅缩短建链、开发、部署应用的时间。此外,FISCO BCOS通过信通院可信区块链评测功能、性能两项评测,单链TPS可达两万。
FISCO BCOS在2.0中,提出“一体两翼多引擎”架构,实现系统吞吐能力的横向扩展,大幅提升性能,在安全性、可运维性、易用性、可扩展性上具备行业领先优势。
一体指代群组架构,支持快速组建联盟和建链,让企业建链像建聊天群一样便利。根据业务场景和业务关系,企业可选择不同群组,形成多个不同账本的数据共享和共识,从而快速丰富业务场景、扩大业务规模,且大幅简化链的部署和运维成本。
两翼指的是支持并行计算模型和分布式存储,二者为群组架构带来更好的扩展性。前者改变了区块中按交易顺序串行执行的做法,基于DAG(有向无环图)并行执行交易,大幅提升性能;后者支持企业(节点)将数据存储在远端分布式系统中,克服了本地化数据存储的诸多限制。
多引擎是一系列功能特性的总括,比如预编译合约能够突破EVM的性能瓶颈,实现高性能合约;控制台可以让用户快速掌握区块链使用技巧等。
FISCO BCOS的核心部分
FISCO BCOS的核心模块包括以下部分:
共识机制:可插拔的共识机制,支持PBFT、Raft和rPBFT共识算法,交易确认时延低、吞吐量高,并具有最终一致性。其中PBFT和rPBFT可解决拜占庭问题,安全性更高。
存储:世界状态的存储从原来的MPT存储结构转为分布式存储,避免了世界状态急剧膨胀导致性能下降的问题;引入可插拔的存储引擎,支持LevelDB、RocksDB、MySQL等多种后端存储,支持数据简便快速扩容的同时,将计算与数据隔离,降低了节点故障对节点数据的影响。
网络:支持网络压缩功能,并基于负载均衡的思想实现了良好的分布式网络分发机制,最大化降低带宽开销。
性能提升策略
为提升系统性能,FISCO BCOS从提升交易执行效率和并发两个方面优化了交易执行,使得交易处理性能达到万级以上。
基于C++的Precompiled合约:区块链底层内置C++语言编写的Precompiled合约,执行效率更高。
交易并行执行:基于DAG算法根据交易间互斥关系构建区块内交易执行流,最大化并行执行区块内的交易。
交易生命周期的异步并行处理:共识、同步、落盘等各个环节的异步化以及并行处理。
FISCO BCOS安全解决方案
考虑到联盟链的高安全性需求,除了节点之间、节点与客户端之间通信采用TLS安全协议外,FISCO BCOS还实现了一整套安全解决方案:
网络准入机制:限制节点加入、退出联盟链,可将指定群组的作恶节点从群组中删除,保障了系统安全性。
黑白名单机制:每个群组仅可接收相应群组的消息,保证群组间网络通信的隔离性;CA黑名单机制可及时与作恶节点断开网络连接,保障了系统安全。
权限管理机制:基于分布式存储权限控制机制,灵活、细粒度地控制外部账户部署合约和创建、插入、删除和更新用户表的权限。
支持国密算法:支持国密加密、签名算法和国密通信协议。
落盘加密方案:支持加密节点落盘数据,保障链上数据的机密性。
密钥管理方案:在落盘加密方案的基础上,采用KeyManager服务管理节点密钥,安全性更强。
同态加密、群环签名:链上提供了同态加密、群环签名接口,用于满足更多的业务需求。
FISCO BCOS的开发部署和运维
开发部署工具
FISCO BCOS引入开发部署工具、交互式控制台、区块链浏览器等工具来提升系统的易用性,大幅缩短建链、部署应用的时间。
包含:
基于JavaSDK的交互式的命令行工具console
区块链浏览器
为了便于不同语言开发者快速开发应用,FISCO BCOS同时支持JavaSDK、Node.jsSDK、PythonSDK和GoSDK
运维工具
联盟链系统中,区块链的运维至关重要,FISCO BCOS提供了一整套运维部署工具,并引入了合约命名服务、数据归档和迁移、合约生命周期管理等工具来提升运维效率。
运维部署工具:部署、管理和监控多机构多群组联盟链的便捷工具,支持扩容节点、扩容新群组等多种操作。
合约命名服务:建立合约地址到合约名和合约版本的映射关系,方便调用者通过记忆简单的合约名来实现对链上合约的调用。
数据归档、迁移和导出功能:提供数据导出组件,支持链上数据归档、迁移和导出,增加了链上数据的可维护性,降低了运维复杂度。
合约生命周期管理:链上提供合约生命周期管理功能,便于链管理员对链上合约进行管理。
社区开源开发工具
依托庞大的开源生态,社区内众伙伴秉承“来自开发者,用于开发者”的共建理念,在FISCO BCOS底层平台之上,自主研发多个趁手开发工具并回馈给社区,从不同业务层面需求上降低区块链应用开发难度和成本。以下为部分列举:
区块链中间件平台WeBASE:面向多种对象,如开发者、运营者,并根据不同的场景,包括开发、调试、部署、审计等,打造丰富的功能组件和实用工具,提供友好的、可视化的操作环境。
分布式身份解决方案WeIdentity:基于区块链的分布式多中心的技术解决方案,提供分布式实体身份标识及管理、可信数据交换协议等一系列的基础层与应用接口,可实现实体对象(人或物)数据的安全授权与交换。
分布式事件驱动架构WeEvent:实现了可信、可靠、高效的跨机构、跨平台事件通知机制。在不改变已有商业系统的开发语言、接入协议的情况下,实现跨机构、跨平台的事件通知与处理。
跨链协作方案WeCross:支持跨链事务交易,满足跨链交易的原子性,对跨链进行治理,可支持多方协作管理,避免单点风险。
场景式隐私保护解决方案WeDPR:针对隐匿支付、匿名投票、匿名竞拍和选择性披露等应用方案,提供即时可用场景式隐私保护高效解决方案,助力各行业合法合规地探索数据相关业务。
区块链数据治理组件解决方案:稳定、高效、安全的区块链数据治理组件解决方案,分别从底层数据存储层、智能合约数据解析层和应用层三个方面,提供了区块链数据挖掘、裁剪、扩容、可信存储、抽取、分析、审计、对账、监管等数据治理方面的关键能力。具体组建包含WeBankBlockchain-Data数据治理通用组件:Data-Stash数据仓库组件、Data-Export数据导出组件、Data-Reconcile数据对账组件。
区块链多方协作治理组件解决方案:可无缝适配FISCO BCOS的区块链治理组件解决方案。首批开源的四个组件分别从私钥丢失重置、合约权限细粒度管控、私钥和证书的全生命周期管控等方面着手,提供了可部署的智能合约代码、易于使用的SDK和可参考的落地实践Demo等交付物。单独的治理组建名称为WeBankBlockchain-Governance多方治理协作组件:Governance-Account账户治理组件、Governance-Authority权限治理组件、Governance-Key私钥管理组件、Governance-Cert证书管理组件。
区块链应用开发组件解决方案:一套开放、轻量的开发组件集,覆盖智能合约的开发、调试、应用开发等环节,包含了Solidity智能合约开发工具库、智能合约Gradle编译插件、应用开发脚手架。具体包含WeBankBlockchain-SmartDev区块链应用开发工具:SmartDev-Contract智能合约库组件、SmartDev-SCGP合约编译插件、SmartDev-Scaffold应用开发脚手架。
ChainIDE:提供智能合约云端开发工具,帮助开发者节约边际成本,加速推送区块链应用落地。
FISCO BCOS区块链工具箱:与WeBase/Remix/VSCode/ChainIDE等IDE协同工作,提升开发体验与开发效率。
AnsibleforFISCO BCOS自动化生成企业级部署文件:本项目由为区块链开源项目FISCO-BCOS提供了自动化生成企业级配置文件的ansibleplaybook,可以在30秒内(除下载时间)生成配置,极大简化了部署难度,避免了手工配置容易发生的错误。
其他工具还包含Truora可信预言机服务、Liquid智能合约编程语言软件、WeEvent基于区块链的分布式事件驱动架构等。
本站提醒:投资有风险,入市须谨慎,本内容不作为投资理财建议。