今日,FISCO BCOS开源社区正式对外发布FISCO BCOS的2.0版,该版本在可扩展性、性能、易用性、隐私隔离等方面均取得突破性进展,其新增的群组架构方案,可以让企业间像拉微信群一样快速组链,大大降低维护难度和管理成本。

据悉,FISCO BCOS是金融区块链合作联盟(深圳)(简称金链盟)成立开源工作组,由腾讯、华为、微众银行、博彦科技、深证通、神州数码、四方精创、亦笔科技、越秀金科九家成员机构牵头,为金融行业定制、开源的区块链底层技术平台。1.0版本于2017年发布。

FISCO BCOS 2.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套件等功能,以支持各种复杂的商业落地场景。

链接

代码github仓库:https://github.com/FISCO-BCOS/FISCO-BCOS
文档链接:https://fisco-bcos-documentation.readthedocs.io/zh_CN/release-2.0/
贡献方式:https://github.com/FISCO-BCOS/FISCO-BCOS/blob/master/docs/CONTRIBUTING_CN.m

FISCO BCOS 2.0发布:新增群组架构克服吞吐瓶颈相关推荐

  1. FISCO BCOS 2.0 发布:新增群组架构克服吞吐瓶颈

    开发四年只会写业务代码,分布式高并发都不会还做程序员? >>>   3月20日,FISCO BCOS开源社区正式对外发布FISCO BCOS的2.0版,该版本在可扩展性.性能.易用性 ...

  2. FISCO BCOS 2.0原理解析: 分布式存储架构设计

    FISCO BCOS 2.0新增对分布式数据存储的支持,克服了本地化数据存储的诸多限制. 在FISCO BCOS 1.0中,节点采用MPT数据结构,通过LevelDB将数据存储于本地,这种模式受限于本 ...

  3. 开源进展 | WeBASE v3.0发布,支持适配FISCO BCOS v3.0稳定版

    WeBASE(WeBank Blockchain Application Software Extension) 是在区块链应用和FISCO BCOS底层之间搭建的一套通用组件,围绕交易.合约.密钥管 ...

  4. 公告 | 联盟链FISCO BCOS v2.0.0-rc3 发布

    FISCO BCOS是完全开源的联盟区块链底层技术平台,由金融区块链合作联盟(深圳)(简称金链盟)成立开源工作组通力打造.开源工作组成员包括博彦科技.华为.深证通.神州数码.四方精创.腾讯.微众银行. ...

  5. 公告 | FISCO BCOS v3.0-rc4发布,新增Max版,可支撑海量交易上链

    作为一个稳定.高效.安全的区块链底层平台,FISCO BCOS一方面致力于保障系统稳定性.兼容性.鲁棒性.易用性,另一方面专注于提升区块链底层平台的性能.可扩展性. 自FISCO BCOS v3.0开 ...

  6. 支撑区块链大规模商用,FISCO BCOS v3.0的那些“黑科技”

    文章转载自CSDN公众号 在2021年度金链盟生态大会上,全新的FISCO BCOS v3.0正式发布.该版本从架构.算法以及安全可控和隐私计算协同等方向进行了全面升级,满足数字经济时代对区块链系统可 ...

  7. Meetup回顾 | FISCO BCOS v3.0 常见问题解答

    近期,社区组织了专场线上Meetup,分享了v3.0在2022年的研发路线及开发部署方式.直播间讨论十分热烈,我们把一些开发者们比较关心的问题进行了梳理,整理成这一篇关于v3.0的常见问题和解答,供大 ...

  8. 萤石云好友分享的监控怎么看_助力开学季丨萤石云APP新增群组分享功能、扩容优惠套餐!...

    开学季 萤石云新功能上线 又是一年忙碌充实的开学季,小小少年们又回到了学校,萤石幼儿园校长却多了份幸福的烦恼:宝爸宝妈们都想看自家孩子的上课录像,可每次只能跨过班主任直接向校长申请:小班的同学座位升到 ...

  9. NCC CAP 6.0 发布 —— 新增支持 OpenTelemetry

    前言 今天,我们很高兴宣布 CAP 发布 6.0 版本正式版,在这个版本中,我们主要致力于对 OpenTelemetry 提供支持,以及更好的适配 .NET 6. 那么,接下来我们具体看一下吧. 总览 ...

最新文章

  1. CentOS源码安装GitLab汉化版第3版
  2. 这个 MySQL bug 让我大开眼界
  3. PHP怎么修改链接,phpcms导航链接怎么修改
  4. tab菜单的点击的动态效果和内容页面的关联显示jQuery
  5. webservice xml java_java访问WebService接口返回xml
  6. 常用计算机二级函数,计算机二级MS office常用函数
  7. linux make
  8. maven学习二(dependencies)
  9. 局域网桌面监控软件_如何促进局域网监控软件在企业中的普及
  10. MSP430学习笔记1——msp430概述
  11. InputBox函数用法小结
  12. Windows 10家庭版也能共享打印机(中)解除Guest账户网络登录限制,实现局域网共享
  13. 详解后端工程师必看学习路线图(含初、中、高阶)
  14. Mybatis-Plus如何使用
  15. vertica MySQL_Vertica数据库 安装 | 学步园
  16. 新年快乐——我的星星
  17. 大数据Apache Druid(四):使用Imply进行Druid集群搭建
  18. 北风网课程开放下载第一季
  19. CSS3新特性——新增选择器,2D/3D转换,动画
  20. APP下载二维码微信扫一扫无法打开解决方案

热门文章

  1. Shell遍历hadoop目录的批量操作
  2. 我为什么重新开始学习数学?
  3. .net core发布 正在发现数据上下文_使用EF Core实现数据库读写分离
  4. hive相对于oracle的优点,【Hive】Hive面试题
  5. css 识别变量中的换行符_Python编程 第二章——变量和简单数据类型
  6. 怎么向easyui grid里面插入空数据_浅谈数据结算(三)
  7. c语言入口及出口参数说明,麻烦帮忙指出一下这个函数的入口参数和出口参数呀!...
  8. linux安装virtualbox命令,在Linux中从命令行查找Virtualbox Version的方法
  9. python输出日志文件_python将print输出的信息保留到日志文件中
  10. php global global,PHP中global全局变量的作用范围