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

2019 年 3 月 20 日

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

今日,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


2019 年 3 月 20 日 08:003986

评论

发布
暂无评论
发现更多内容

我的 2020 iOS BAT面试心得:Bigo、字节、快手、伴鱼、百度、微博等

iOSer

ios 面试 面试题 大厂面试 面试经历

Golang框架探索(一)

余歌

Web框架 Go web

收藏手册:Docker安装RabbitMQ,只需3步

互联网应用架构

Docker RabbitMQ

Java开发连Redis都不会还想跳槽涨薪?先把Redis的知识点吃透再说

Java架构之路

Java redis 编程 程序员 面试

深入理解JVM垃圾回收算法 - 标记清理算法

NORTH

GC算法 标记清理 位图标记 懒惰标记

java安全编码指南之:输入校验

程序那些事

java安全编码 安全编码规范 java安全编码指南

拆分链表、图解HTTPS、Zookeeper原理、如何成为技术专家、架构师三板斧 John 易筋 ARTS 打卡 Week 18

John(易筋)

ARTS 打卡计划 图解https ZooKeeper原理 架构师三板斧 拆分链表

使用递增计数器的线程同步工具 —— 信号量,它的原理是什么样子的?

程序员小航

Java 源码 源码阅读 JUC Semaphore

高难度对话读书笔记

wo是一棵草

rpc探路(一)

余歌

90%的开发都没搞懂的CI和CD!

华为云开发者社区

DevOps 持续集成 CD

大作业2

雪涛公子

Apache Doris 在 WeLab实时大数据平台的应用实践

DorisDB

数据库 数据仓库 OLAP 实时数据分析 实时大数据平台

Golang 反射性能优化

余歌

go 性能优化

Java新特性:数据类型可以扔掉了?

云流

Java 编程 架构师

Java新特性:数据类型可以扔掉了?

王磊

Java 新特性 Java新特性 var 局部类型推导

腾讯PCG数据中台专场介绍&招聘报名

腾讯PCG招聘

数据中台 腾讯 招聘

超全面分布式缓存高可用方案:哨兵机制

flyer0126

redis哨兵模式

高效程序员的45个习惯:敏捷开发修炼之道(8)

石云升

敏捷开发 技术分享 轮换制

架构设计:微服务架构如何划分?这6个标准原则让你一目了然

互联网应用架构

微服务 微服务架构 微服务冶理 架构设计 微服务划分

springboot2.3手册:多租户及自动创建数据,这样做

互联网应用架构

springboot mybaitsplus 多租户 自动填充基础信息

站在巨人的肩膀上学习:五位阿里大牛联手撰写的《深入浅出Java多线程》

Java架构之路

Java 编程 面试 并发编程 多线程

程序员为什么热衷于造轮子,升职加薪吗?

小傅哥

Java 小傅哥 代码质量 编程开发 编程经验

科大讯飞再握一国产核心技术,可高精细拾取30分贝超小音量

Talk A.I.

Java ConcurrentHashMap 高并发安全实现原理解析

vivo互联网技术

Java hashmap 多线程 高并发

JavaScript原型机制

Clloz

Java 原型

信任环:口碑传播的关键环节

boshi

用户增长 运营创新

智能商业时代的思考(三)数据驱动

刘旭东

大数据 数据驱动 智能商业

RDS、DDS和GaussDB理不清?看这一篇足够了!

华为云开发者社区

数据库 华为云 RDS

收藏手册:该不该用Lombok?15个常用注解全解析

互联网应用架构

lombok

从linux源码看socket的阻塞和非阻塞

无毁的湖光

Linux TCP socket Linux Kenel

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