近日,2021年度金链盟生态大会在深圳成功举办,会上,微众银行区块链底层平台研发负责人、FISCO BCOS高级架构师李辉忠发布了FISCO BCOS v3.0,并介绍了新版本的核心技术特性。
FISCO BCOS v3.0从架构、算法、产品以及安全可控和隐私计算协同等多方位进行全面升级,满足数字经济时代对区块链系统可承载更大规模、更多场景、更广泛参与的产业应用需求。
v3.0 Github地址:
https://github.com/FISCO-BCOS/FISCO-BCOS/releases/tag/v3.0.0-rc1
v3.0 文档地址:
https://fisco-bcos-doc.readthedocs.io/zh_CN/latest/
大家好,我是FISCO BCOS架构师李辉忠,来自微众银行,很荣幸站在这里,代表社区一众开发者,向大家介绍全新一代的FISCO BCOS。
去年的大会,我们向大家汇报了下一代FISCO BCOS的构想与技术路线,坚定地认为区块链要承担起为数据新基建构筑坚实互信底座的使命,这是我们一直以来的初心。
在数据新基建大背景下,推动数字产业化和产业数字化升级成为全行业共识。而区块链以其分布式、多中心、传递信任等特性,成为数据新基建不可或缺的基础组件。面对蓬勃发展的数字产业化和产业数字化进程,技术需要承载更大规模应用、更多业务场景和更广泛行业参与。这些需求的背后,对区块链底层技术提出了更高的要求:全新一代的区块链底层平台,需要更易治理、更安全、更灵活可扩展、更高效好用、更开放的技术体系。
全新发布的FISCO BCOS v3.0历经社区近一年的通力打磨,在架构、安全、扩展性、易用性以及开放协议等各个方面进行了全面升级,下面我将为大家介绍3.0的核心特性。
v3.0采用全新的微服务架构设计,实现模块化分层治理与平行扩展。
总体架构分为5个层次,接入层负责网络,调度层是区块链内核,计算层负责交易验证,存储层负责数据存储,管理层则对整个系统提供发布、配置、控制等管理服务。通过微服务架构,v3.0实现了网络、调度、计算、存储、管理分层治理,每层可独立扩展,从而更好地支撑大规模商用场景。
在应对海量交易上链方面,关键技术难点是加大区块链底层系统的吞吐量和降低交易处理时延。我们打个比方,区块链好比一条公路,交易就是路上跑的车辆。这条公路是单行通道还是多行道,是国道还是高速路,其所能承载的通行量大有区别。
v3.0对共识和调度进行了升级,实现流水线共识机制和混合调度,大幅提升系统整体的吞吐量,同时降低时延。流水线机制,将区块链系统最关键的交易处理流程拆分为打包、计算、提交三个阶段,每个阶段内部并行执行,阶段之间流水线衔接,充分使用CPU和IO资源利用率。
在计算阶段,我们提出业界首创的确定性多合约并行算法DMC(Deterministic Multi-Contract),可将交易验证扩展到多机并行,每台机器内还可再用DAG并行,这种混合调度机制可以实现集群化的交易验证。
大家可能好奇什么是DMC?延续刚才的比方,传统区块链就像一条单行道公路,交易处理就好比车辆从这公路上通行,只能排队逐一通过,效率极低。如果将道路扩建成多行道,就可以有效提升效率,而多行道上也需要合理调度才能避免造成拥堵,例如在出入口交汇处引入“拉链式”通行策略,可以快速有效地缓解堵塞。
确定性多合约并行就是一种类似“拉链式”通行的机制,内置在v3.0底层系统中,智能调度多种合约高效并行处理,且有序处理交汇冲突,从而大幅提升处理效率。
支持全平台国密接入
在安全方面,FISCO BCOS一直重视国密接入和国产化支持。但是对程序员来说一直有个痛点,为了适配国密和国产化,需要在不同平台、不同操作系统、不同编程语言间逐一适配开发,工作量巨大,而且每次核心逻辑更改都需要兼容各平台/系统/语言,头发掉一大把,苦不堪言。
为了更好地在多语言、多终端、全链路实现国密接入,v3.0构建了通用国密基础组件,将国密算法、国密通信协议、以及国产密码机接入协议封装成通用基础组件。在此基础上将区块链相关的网络、群组、账本、事件等逻辑用C++语言实现成一个独立共享库,并封装提供C语言接口。
基于这套底层C接口,可以快速对接开发不同语言、不同平台和系统的SDK,且这些多语言SDK无需关心底层逻辑,系统升级只需更新底层共享库,大大提升研发管理效率,保证了全平台的国产安全可控。
刚才提到我们需要满足多样化场景诉求,这方面我们深有感触。FISCO BCOS开源社区经过4年发展,生态内的产业角色逐渐丰富,这几年我们也遇到几类典型用户:一类是落地应用的机构用户,他们基于FISCO BCOS投产落地众多应用,而且应用的业务量越来越大;一类是运营平台的机构用户,他们基于FISCO BCOS构建了BaaS平台对外提供服务;还有一类是以个人开发者为代表的学习型用户。
这几类用户诉求存在比较大的差异:有大业务体量上链的机构需要区块链支撑海量计算和存储,可以承担较复杂系统的运维;BaaS平台的用户需要更好地区块链接入、隔离、计费机制等;而学习型用户则最需要简单易用、可快速上手的区块链工具。
对于不同用户的诉求,v3.0采用灵活可扩展的开发框架,根据不同场景用户需求专业定制。我们将发布3款不同类型的版本,分别是“轻便Air版”、“专业Pro版”和“大容量Max版”。
Air版:沿用FISCO BCOS v2.0的all-in-one设计,区块链底层所有能力打包成一个服务,可供学习型用户,在入门、开发、测试、POC验证等场景中快速上手使用。
Pro版:将接入层单独剥离,区块链核心能力通过多群组方式扩展,适用于常规生产业务,特别适合BaaS平台构建基于群组的区块链底层基础能力。
Max版:采用前面提到分层扩展微服务模式,适用大容量场景。
在v3.0研发过程中,开源社区自发构建了多个专项兴趣小组,涵盖了每个关键模块,积极参与各环节研发的讨论,感谢大家的参与与共建。
值得一提的是,FISCO BCOS v3.0的开源协议全面改为Apache 2.0。和许多软件一样,在开源之初,FISCO BCOS从无到有的构建过程中,复用了一些优秀、流行的开源组件,最初采用GPL开源协议也是遵循部分复用组件的开源协议,是对开源社区规则的尊重和恪守。
FISCO BCOS不断迭代演进,为满足产业需求,此次v3.0已更新为更宽松的开源许可证Apache 2.0,鼓励社区更开放自由地协作起来。我们会坚持开源道路持续迭代,方便大家基于FISCO BCOS进行更多的技术研究和应用探索,欢迎大家踊跃参与到FISCO BCOS开源社区共建中,聚众力让FISCO BCOS更高质量地发展。
以上就是3.0核心特性,开源四年,我们的使命也在随着国家政策和社会需求的不断变化进行迭代,而作为数据新基建的互信底座,区块链核心使命是要助力数据要素流通,释放数据生产力。
我们都知道经典的三个哲学问题:“你是谁?”、“你从哪里来?”、“你要去哪里?”,数据要素流通也需要回答三个问题,也就是:“数据属于谁?”、“数据从哪里来?”、“数据要去哪里/做什么?”。这也就是涉及到数据确权、可信流转、数据计算的问题。
我们设想,在不久的将来,通过区块链构造信任网、隐私计算构筑计算网、分布式身份提供接入网,可以实现三网一体,为数据要素流通提供一种行之有效的解决方案。而在这个过程中,基于FISCO BCOS的区块链技术体系、WeIdentity分布式身份解决方案、DDTP分布式数据传输协议、WeDPR-PPC隐私计算解决方案等都是关键技术。
未来,我们将持续打造FISCO BCOS技术硬实力,同时联合生态众多力量,共同推动区块链技术不断进步,推动产业创新持续发展。谢谢大家!
了解更多干货内容,请关注FISCO BCOS开源社区公众号,访问FISCO BCOS代码仓库可下载项目所有源代码:https://github.com/FISCO-BCOS/FISCO-BCOS,欢迎点击页面右上角star收藏,获取最新版本。