公告 | FISCO BCOS v3.0稳定版来啦!支撑区块链大规模商用
共 4471字,需浏览 9分钟
·
2022-09-23 14:10
在开源社区的通力协作下,FISCO BCOS v3.0历经4个rc版本的打磨和沉淀,朝着既定设计目标不断前行。基于在架构、性能、易用性、开放性等方面取得的突破性进展,可支撑大规模商用落地的FISCO BCOS v3.0稳定版,正式跟大家见面啦。
v3.0稳定版更灵活、更高效、更好用、更开放。它通过三种系统架构形态,为不同的区块链部署环境提供更灵活的选择;通过Pipeline、DMC和 +TiKV等创新性设计方案,在性能上取得了大幅提升;新增区块链文件系统、SDK基础库、交易并行冲突分析工具等带来更流畅的开发体验;同时采用更宽松的Apache 2.0开源协许可证,使得更多机构和开发者可以深度参与到版本共建中。
欢迎大家积极体验并将开发心得和建议反馈给社区。
实现对大规模商用场景落地的支撑
为了支撑海量服务的需求,v3.0稳定版从系统架构、处理流程、执行、存储上进行了相应的设计,并推出3种不同形态满足不同区块链部署场景的差异化需求。
Air 、Pro、Max:可部署为三种架构形态
轻便Air版:拥有与 v2.0版本相同的形态,所有功能在一个区块链节点中(all-in-one)。该架构简单,可快速部署在任意环境中。你可以用它进行区块链入门、开发、测试、POC验证等工作。
专业Pro版:该架构通过将区块链节点的接入层模块独立为进程,在实现接入层与核心模块分区部署的同时,让区块链核心功模块以多群组方式扩展。该架构实现了分区隔离,可应对将来可能的业务拓展,适合有持续业务扩展的生产环境。
大容量Max版:该架构在Pro版的基础上提供链的核心模块主备切换的能力,并可通过多机部署交易执行器和接入分布式存储TiKV,实现计算与存储的平行拓展。该架构中的一个节点由一系列微服务组成,但它依赖较高的运维能力,适合需要海量计算和存储的场景。
Pipeline:区块流水线,连续且紧凑地生成区块
区块生成过程可拆分成四个阶段:打包、共识、执行、落盘。在过往设计中,系统需等待上一个区块完成四个阶段后才可进入下一个区块的生成。本版本采用流水线设计,让相邻区块的四个阶段前后交叠在一起,减少区块间的等待时间,提高连续出块速度。如:区块103在打包的同时,102在共识,101在执行,100在落盘。
DMC:实现交易处理性能的多机拓展
在传统设计中,交易执行只可单机进行。v3.0稳定版采用独创的确定性多合约并行方案(Deterministic Multi-Contract,简称DMC),能够在系统运行时自动进行交易冲突处理,并将多个交易调度到不同机器中并行执行,用户可通过拓展计算实例实现交易处理性能的平行拓展。
+TiKV:分布式事务性提交,支撑海量存储
v3.0稳定版集成TiKV存储引擎,并且在其基础上二次开发,支持分布式事务性提交,结合DMC多计算实例,充分发挥存储性能,支撑海量数据上链。同时,本版本引入KeyPage机制,参考内存页的缓存机制,将key-value组织成页的方式存取,解决了以往采用key-value的方式存储数据时,存储数据零散的问题,提升数据访问局部性,更适合大批量数据存取。
多个新功能带来更流畅的开发体验
v3.0稳定版新增区块链文件系统、WeBankBlockchain-Liquid(简称WBC-Liquid)智能合约编程语言和权限治理框架等功能,为用户带来更强大功能的同时,使用也更简便。
区块链文件系统:所见即所得的合约数据管理
支持通过区块链文件系统管理链上资源,可像操作文件系统一样管理链上的合约,并通过合约的路径进行调用,命令包括:pwd、cd、ls、tree、mkdir、ln。用户可以通过控制台体验该功能。
SDK基础库:更方便的全平台国密接入
v3.0稳定版构建了通用国密基础组件,将国密算法、国密通信协议、国产密码机接入协议与FISCO BCOS的区块链基础数据结构封装于其中,基于该基础组件可快速开发出不同平台、不同操作系统和不同编程语言的SDK,大大提升研发效率。
交易并行冲突分析工具:自动生成交易冲突变量
在v2.0版本中要实现并行交易,需要在写合约时手动指定交易冲突变量。本版本引入了交易并行冲突分析工具,写合约时无需手动指定交易冲突变量,只需关注自身代码实现,合约编译时工具自动生成交易冲突变量,相应的交易即可自动并行执行。
WBC-Liquid:用Rust写合约
除支持Soldity语言外,本版本也支持用Rust写合约。WBC-Liquid是微众区块链开发的基于Rust的智能合约编程语言,借助Rust语言特性,能够实现比Solidity语言更强大的编程功能。
权限治理框架:多方投票治理区块链
本版本内置权限治理框架,直接从区块链实现层提供有效的权限控制。开启权限治理功能后,对区块链的修改需进行多方投票的授权。基于该框架,区块链参与者们能够定制区块链上的治理策略并通过投票的方式不断迭代更新。
特性继承与升级
v3.0稳定版也继承了 v2.0版本的诸多重要特性并进行升级,包括:
PBFT共识算法:立即一致的共识算法,实现交易秒级确认
Solidity:支持至0.8.11版本
CRUD:采用表结构存储数据,本版本中封装了更易用的接口,对业务开发更友好
AMOP:链上信使协议,借助区块链的P2P网络实现信息传输,实现接入区块链的应用间数据通信
落盘加密:区块链节点的私钥和数据加密存储于物理硬盘中,物理硬件丢失也无法解密
密码算法:内置群环签名等密码算法,可支持各种安全多方计算场景
区块链监控:实现区块链状态的实时监控与数据上报
更开放的开源社区协作触发无限可能
众多机构与开发者深度参与版本共建
活跃的开源生态会为技术的演进带来更多可能。v3.0稳定版已将开源协议许可证调整为更宽松的Apache 2.0,使用该许可证下的代码进行二次开发时无需再次开源,可以让社区开发者及机构更开放自由地协作起来,目前已有科大讯飞、中山大学等生态伙伴及众多开发者深度参与到版本共建中。
科大讯飞为本版本实现了落盘加密、群环签名、区块链监控等重要的功能,在丰富链上隐私计算能力和保障数据安全性的同时,为区块链系统的稳定性提供了一层监控保障。中山大学InPlusLab团队联合微众区块链共同研发并贡献了交易并行冲突分析工具,极大简化并行合约的开发门槛,让应用开发更加智能丝滑。
同时,开源社区自发构建了多个专项兴趣小组(SIG),涵盖了每个关键模块,社区开发者积极参与各研发环节的讨论,这些SIG探讨成果为FISCO BCOS的研发方向提供了诸多有益参考。
持续探索身份、计算、治理与应用等方向
FISCO BCOS将和社区伙伴一道,对v3.0稳定版进行持续打磨和迭代。近期将实现轻节点、多级网关等功能;未来,FISCO BCOS将在身份、计算、治理与应用等方向进行更多探索。
在身份上,将结合现有的分布式身份方案,从区块链底层提供分布式身份的接口,为多方协作提供可能。在计算上,将在区块链节点中内置更多的隐私保护组件,以支撑上层的隐私保护计算场景。治理方面,将结合现有的跨链协作平台WeCross、预言机等,实现与更多可信源的连接与互认;同时结合分布式身份方案与隐私保护组件,实现透明治理。应用方面,将对身份、计算、治理等接口进行封装,实现一套基于区块链的应用框架,为区块链应用开发提供更多的便利。
欢迎参与共建
为了进一步积聚社区力量,方便更多开发者快速用上v3.0稳定版,更便捷地参与到版本共建中,社区为大家搭建了多种参与方式:
线上答疑会:“新版本怎么部署?”“我应该用哪个版本?……你关注的各类问题,社区将一次性说清楚,线上答疑会拟于9月下旬举行,敬请关注公众号资讯。
参与系列研学活动:社区将围绕v3.0稳定版组织系列研学活动,共同学习、深入探索版本特性,并组建专项兴趣小组,开展版本共建,输出开发教程、使用心得、版本新特性等,这个过程将会非常有趣,也会非常有挑战。如果希望参与系列研学活动,可扫码文末二维码报名。
加入技术群和老司机畅聊:如想和开发者们随时随地交流,可联系小助手(v:fiscobcosfan)加入社群讨论,群里的“老司机”很乐意为你提供解答和支持。
参与调研,提交反馈与建议:社区非常珍视每位伙伴的反馈与建议,如果你想向社区提出宝贵的建议或反馈,比如“希望版本未来能新增某个特性”或是“希望社区推出某个开发教程”等,也可以联系小助手或扫码下方二维码参与有奖调研告诉我们。
扫码参与有奖调研
FISCO BCOS代码仓库:
https://github.com/FISCO-BCOS/FISCO-BCOS
FISCO BCOS代码仓库国内镜像:
https://gitee.com/FISCO-BCOS/FISCO-BCOS
FISCO BCOS v3.x 技术文档:
https://fisco-bcos-doc.readthedocs.io/zh_CN/latest/
首次体验FISCO BCOS,可参考Air版FISCO BCOS搭建部署文档:
https://fisco-bcos-doc.readthedocs.io/zh_CN/latest/docs/quick_start/air_installation.html
Pro版本FISCO BCOS搭建文档:
https://fisco-bcos-doc.readthedocs.io/zh_CN/latest/docs/tutorial/pro/installation.html
Max版本FISCO BCOS搭建文档:
https://fisco-bcos-doc.readthedocs.io/zh_CN/latest/docs/tutorial/max/installation.html
如需升级已有版本,可参考FISCO BCOS的版本和兼容性:
https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/compatibility.html
向我们报告问题,欢迎提交issue:
https://github.com/FISCO-BCOS/FISCO-BCOS/issues
FISCO BCOS的代码完全开源且免费
下载地址↓↓↓
https://github.com/FISCO-BCOS/FISCO-BCOS