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