FISCO BCOS是完全开源的联盟区块链底层技术平台,由金融区块链合作联盟(深圳)(简称金链盟)成立开源工作组通力打造。开源工作组成员包括博彦科技、华为、深证通、神州数码、四方精创、腾讯、微众银行、亦笔科技和越秀金科等金链盟成员机构。
FISCO BCOS 在2019年3月20日春分的时间节点上,迎来了一次版本大更新,是的,FISCO BCOS 2.0来了!我们已将FISCO BCOS 2.0的源代码上传至Github,链接中的帮助文档有助于你快速部署↓↓↓
代码github仓库:
https://github.com/FISCO-BCOS/FISCO-BCOS
2.0文档:
https://fisco-bcos-documentation.readthedocs.io/zh_CN/release-2.0/
万物更新,旧疾当愈。FISCO BCOS 2.0 新增了很多特性,统称为“一体两翼多引擎”,借以表述技术进步产生燃动力,助推联盟链应用落地。
我们认为,FISCO BCOS 2.0并不是FISCO BCOS 1.0的简单升级,它在扩展性、易用性、隐私隔离等方面开辟了不少新思路。比如,一体指代的群组架构,使得企业间建立多方协作的商业关系像拉群聊天一样灵活轻松,有助于企业快速地丰富业务场景和扩大业务规模,而系统的运维复杂度和管理成本也线性下降。
FISCO BCOS 2.0的新特性
一体两翼多引擎全貌:
群组架构
群组架构是FISCO BCOS 2.0众多新特性中的主线,创造灵感来源于人人都熟悉的群聊模式——群的建立非常灵活,几个人就可以快速拉个主题群进行交流。同一个人可以参与到自己感兴趣的多个群里,并行地收发信息。现有的群也可以继续增加成员。
采用群组架构的网络中,根据业务场景的不同,可存在多个不同的账本,区块链节点可以根据业务关系选择群组加入,参与到对应账本的数据共享和共识过程中。该架构的特点是:
-
各群组独立执行共识流程,由群组内参与者决定如何进行共识,一个群组内的共识不受其他群组影响,各群组拥有独立的账本,维护自己的交易事务和数据,使得各群组之间解除耦合独立运作,可以达成更好的隐私隔离;
-
机构的节点只需部署一次,通过群组设置即可参与到不同的多方协作业务中,或将一个业务按用户、时间等维度分到各群组,群组架构可快速地平行扩展,在扩大了业务规模同时,极大简化了运维复杂度,降低管理成本。
支持分布式存储
FISCO BCOS 2.0新增了对分布式数据存储的支持,节点可将数据存储在远端分布式系统中,克服了本地化数据存储的诸多限制。该方案有以下优点:
-
支持多种存储引擎,选用高可用的分布式存储系统,可以支持数据简便快速地扩容;
-
将计算和数据隔离,节点故障不会导致数据异常;
-
数据在远端存储,数据可以在更安全的隔离区存储,这在很多场景中非常有意义;
-
分布式存储不仅支持Key-Value形式,还支持SQL方式,使得业务开发更为简便;
-
世界状态的存储从原来的MPT存储结构转为分布式存储,避免了世界状态急剧膨胀导致性能下降的问题;
-
优化了数据存储的结构,更节约存储空间。
并行计算模型
过去将交易打包成一个区块,在一个区块中交易顺序串行执行的做法,在FISCO BCOS 2.0中,会通过一套并行交易处理模型实现自定义交易互斥变量。 区块执行过程中,系统将会根据交易互斥变量自动构建交易依赖关系图——DAG,基于DAG并行执行交易,最好情况下性能可提升数倍(取决于CPU核数)。
预编译合约
FISCO BCOS 2.0提供预编译合约框架,支持采用C++编写合约,其优势是合约调用响应更快,运行速度更高,消耗资源更少,更易于并行计算,极大提升整个系统的效率。FISCO BCOS内置了多个系统级的合约,提供准入控制、权限管理、系统配置、CRUD式的数据存取等功能,这些功能天然集成在底层平台里,无需手动部署。
FISCO BCOS提供标准化接口和示例,帮助用户进行二次开发,便于用户编写高性能的业务合约,并方便地部署到FISCO BCOS里运行。预编译合约框架兼容EVM引擎,形成了“双引擎”架构,熟悉EVM引擎的用户可以选择将Solidity合约和预编译合约结合,在满足业务逻辑的同时获得巨大的效率提升。
CRUD合约
FISCO BCOS 2.0新增符合CRUD接口的合约接口规范,简化了将主流的面向SQL设计的商业应用迁移到区块链上的成本。其好处显而易见:
-
与传统业务开发模式类似,降低了合约开发学习成本;
-
合约只需关心核心逻辑,存储与计算分离,方便合约升级;
-
CRUD底层逻辑基于预编译合约实现,数据存储采用分布式存储,效率更高。
控制台
FISCO BCOS 2.0新增控制台,作为FISCO BCOS 2.0的交互式客户端工具。
控制台安装简单便捷,简单配置后即可和链节点进行通信,拥有丰富的命令和良好的交互体验,用户可以通过控制台查询区块链状态、读取和修改配置、管理区块链节点、部署并调用合约。控制台给用户管理、开发、运维区块链带来了巨大的便利,降低了操作繁琐性和使用门槛。
虚拟机
FISCO BCOS 2.0引入了最新的以太坊虚拟机版本,支持Solidity 0.5版本。同时,引入了EVMC扩展框架,支持扩展不同虚拟机引擎。底层内部集成支持interpreter虚拟机,未来可扩展支持WASM/JIT等虚拟机。
其他特性
除上述所列之外,FISCO BCOS 2.0持续在网络传输模型、计算存储流程等方面进行优化,对性能提升提供巨大帮助。在架构方面,从存储、网络、计算三个角度,围绕高可用性和高易用性进行持续升级,并基于模块化、分层、可插拔等设计原则,持续对核心模块进行重塑升级,保证系统健壮性。
FISCO BCOS 的下一步
FISCO BCOS未来将持续优化系统架构,提升平台性能,增强用户体验:
-
架构方面,将会实现群组架构实现动态管理,实现跨群组通信协议,分离网络、存储、计算服务,实现微服务化的可扩展架构;
-
性能方面,将持续进行并行化、流水线化的升级处理,重点解决存储、签名验签等方面的瓶颈,引入硬件加速等方式进行提速;
-
体验方面,将实现简便的群组管理、数据管理、密钥管理等功能,提供平台化的区块链管理方案;
-
安全和隐私保护方面,将会提供增强型虚拟机、MPC套件等功能,以支持各种复杂的商业落地场景。
我们鼓励机构成员、开发者等社区伙伴参与开源共建事业,有你在一起,会更了不起。多样参与方式:
1 进入微信社群,随时随地与圈内最活跃、最顶尖的团队畅聊技术话题(进群请添加小助手微信,微信ID:fiscobcosfan);
2 订阅我们的公众号:“FISCO BCOS开源社区”,我们为你准备了开发资料库、最新FISCO BCOS动态、活动、大赛等信息;
3 来Meetup与开发团队面对面交流,FISCO BCOS正在全国举办巡回Meetup,深圳、北京、上海、成都……欢迎您公众号在菜单栏【找活动】中找到附近的Meetup,前往结识技术大咖,畅聊硬核技术;
4 参与代码贡献,您可以在Github提交Issue进行问题交流,欢迎向FISCO BCOS提交Pull Request,包括但不限于文档修改、修复发现的bug、提交新的功能特性。
代码贡献指引:
https://github.com/FISCO-BCOS/FISCO-BCOS/blob/master/docs/CONTRIBUTING_CN.md
了解更多干货内容,请关注FISCO BCOS开源社区公众号,访问FISCO BCOS代码仓库可下载项目所有源代码:https://github.com/FISCO-BCOS/FISCO-BCOS,欢迎点击页面右上角star收藏,获取最新版本。