乐趣区

关于fisco-bcos:专访-支撑区块链大规模商用揭秘FISCO-BCOS-v30的那些黑科技

在 2021 年度金链盟生态大会上,全新的 FISCO BCOS v3.0 正式公布。该版本从架构、算法以及平安可控和隐衷计算协同等方向进行了全面降级,满足数字经济时代对区块链零碎可承载更大规模、更多场景、更宽泛参加的产业利用需要。

此前,FISCO BCOS 开源社区公布了 FISCO BCOS v3.0 2022 年技术倒退路线,这也是继 2021 年 12 月 v3.0 正式公布后,首次揭示将来的技术倒退打算。

那么,FISCO BCOS v3.0 有哪些重要个性?如何冲破区块链性能瓶颈,晋升链上效率,满足数字经济时代的新需要?带着这些疑难,CSDN 专访了微众银行区块链底层平台负责人、FISCO BCOS 高级架构师李辉忠,以下为专访实录。

(微众银行区块链底层平台负责人、FISCO BCOS 高级架构师李辉忠)

三个版本,满足多种业务需要

CSDN:“产业数字化”、“数据新基建”、“数据因素”等策略,都跟区块链有着十分严密的关系。在你看来,区块链回升到国家策略技术后,整个产业利用倒退有哪些显著变动?

李辉忠 :区块链作为一门防篡改、多中心化、平安可控的技术,回升为国家策略技术后,迎来了疾速倒退阶段,更宽泛地利用于产业数字化,助力实体经济倒退。

技术层面,区块链与多种前沿技术和翻新场景愈发严密地交融,为数字经济时代提供数据的平安存储、可信传输、协同生产等一系列数字化基础设施。

利用层面,越来越多不同畛域的业务(如政务、跨境数据验证、金融、公益、医疗、教育等),开始引入区块链技术来构建信赖关系,以晋升多方合作效率,升高合作老本。区块链与产业互联网、物联网、数字经济等畛域的交融也曾经成为一种趋势。

产业层面,国家和政府加大对区块链技术人才倒退的投入,区块链尤其是联盟链相干的开源社区蓬勃发展。在各地政府的反对下,涌现了大量区块链相干的产业园区、实验室、孵化器……

CSDN:这些变动曾经或者将会给区块链技术带来哪些新的挑战和要求?目前支流的区块链平台是否可能满足这些要求?

李辉忠 :蓬勃发展的产业数字化过程对区块链提出新的需要:技术须要承载更大规模利用、更多业务场景和更宽泛行业参加。这也意味着区块链底层须要更易治理、更平安、更灵便可扩大、更高效好用、更凋谢的技术体系。

此外,随着区块链和产业互联网、物联网、数字经济等更进一步的交融,对区块链底层平台的性能、存储容量、可监管性、可运维性等也提出了更高的要求,因而从网络、计算、存储等各个维度,晋升区块链零碎的横向可扩展性,使其可撑持海量服务场景成为亟待解决的问题。

基于上述思考,FISCO BCOS 从各个维度从新设计并开发了 FISCO BCOS v3.0,旨在突破区块链底层平台的性能、存储瓶颈,构建一个可撑持海量服务的区块链零碎。例如采纳全新的微服务架构设计,实现模块化分层治理与平行扩大;创新性地提出了「确定性多合约并行算法 DMC」(Deterministic Multi-Contract),实现流水线共识机制和混合调度,大幅晋升零碎整体的吞吐量,同时升高时延。

CSDN:本次降级推出了三个不同版本:Air 版、Pro 版和 Max 版,三个版本面向的群体是否有所不同?能够解决哪些场景下的哪些问题?

李辉忠 :FISCO BCOS 开源社区通过 4 年的倒退,生态内的产业角色逐步丰盛,这几年咱们也遇到几类典型用户:

  1. 落地利用的机构用户,他们基于 FISCO BCOS 投产落地泛滥利用,而且利用的业务量越来越大;
  2. 经营平台的机构用户,他们基于 FISCO BCOS 构建了 BaaS 平台对外提供服务;
  3. 以集体开发者为代表的学习型用户。

这几类用户诉求存在比拟大的差别:有大业务体量上链的机构须要区块链撑持海量计算和存储,能够承当较简单零碎的运维;BaaS 平台的用户须要更好的区块链接入、隔离、计费机制等;而学习型用户则最须要简略易用、可疾速上手的区块链工具。

对于不同用户的诉求,咱们尝试在 FISCO BCOS v3.0 中提供灵便可扩大的开发框架,让不同用户依据不同场景和需要进行定制。所以咱们打造了“轻便 Air 版”、“业余 Pro 版”和“大容量 Max 版”。

Air 版采纳 all-in-one 的封装模式,将所有模块编译成一个二进制(过程),一个过程即为一个区块链节点,包含网络、共识、接入等所有功能模块,采纳本地 RocksDB 存储,实用于初学者入门、性能验证、POC 产品等。

Pro 版包含 RPC、Gateway 两个接入层的服务和多个区块链节点服务组成,存储采纳本地 RocksDB,所有区块链节点服务共用接入层服务,接入层的两个服务可平行扩大,实用于容量可控(T 级以内)的生产环境,可能反对多群组扩大。

Max 版本将执行、共识、存储、Gateway、RPC 拆分为独立的微服务,每个微服务均可独立部署、扩容和容错,实用于海量交易上链的场景。

CSDN:咱们晓得这次 v3.0 的研发,不少社区搭档都非常关注,甚至参加其中。从 v1.0 到 v3.0,FISCO BCOS 的生态倒退呈现出了哪些不同的特点?

李辉忠 :从 FISCO BCOS v1.0 到 FISCO BCOS v3.0,不管从技术层面,还是开源社区经营层面,FISCO BCOS 的生态都越来越成熟、越来越沉闷。2015 年,开发者想找一款金融级的区块链底层平台作为技术底座开发利用很难,FISCO BCOS v1.0 在此场景下应运而生,但彼时区块链利用场景无限,区块链平台性能个性也不齐备。

2019 年,中央政治局第十八次个体学习时强调,把区块链作为核心技术自主翻新的重要突破口,放慢推动区块链技术和产业翻新倒退。越来越多的产业开始与区块链技术联合。FISCO BCOS v2.0 数百个产业数字化利用实际,证实了开源区块链技术“能用”,且越来越“好用”。

而当初,相比于 FISCO BCOS v1.0 和 FISCO BCOS v2.0,FISCO BCOS v3.0 一方面重视区块链零碎组件化,晋升区块链底层平台自身的开发效率;另一方面更关注区块链零碎的横向扩展性,构建一个能够撑持海量服务的区块链底层平台。

现在,FISCO BCOS 开源生态圈已汇聚了超 3000 家机构与企业、70000 名集体开发者,积淀了 200 余个产业数字化标杆利用,对产业区块链的倒退起到无足轻重的推动作用。

沉闷的开源生态也为技术的演进带来更多可能,在 v3.0 研发过程中,开源社区自发构建了多个专项兴趣小组,涵盖了每个要害模块,社区开发者积极参与各研发环节的探讨。也正是有社区的参加与共建,v3.0 能力更好地解决开发痛点、贴近产业需要。

突破大规模商用枷锁

CSDN:业内始终流传着一个说法,区块链技术目前还无奈反对大规模商用,很大水平是受制于区块链性能。FISCO BCOS v3.0 如何解决性能掣肘,应答海量数据上链的问题?

李辉忠 :为了晋升零碎性能,应答海量数据上链,在零碎架构上,FISCO BCOS v3.0 将区块链零碎划分为网络、计算、存储、调度等微服务模块。每个微服务可独立部署、扩容和容错,利用可通过调整微服务物理资源来满足业务的网络和性能需求,实现了区块链零碎的横向扩大。

在零碎设计上,FISCO BCOS v3.0 一方面设计并实现了两阶段并行拜占庭共识,将区块链共识算法划分成区块批量并行排序共识、区块执行后果流水线共识两个阶段(两个阶段可并行),晋升了系统资源利用效率,实现了区块链零碎的纵向可扩展性;另一方面提出确定性多合约并行计划(简称 DMC),可主动将多个交易并行调度到不同执行器中,并保障并行交易执行后果的确定性,因为执行器可动静扩容,打消了机器资源对执行性能的限度,晋升了区块链零碎横向可扩展性。

此外,为了应答海量数据存储场景,FISCO BCOS v3.0 引入业余分布式数据库(如 TiKV)作为后端存储引擎,打消本地磁盘空间对区块链存储限度的同时,可实现海量的分布式数据管理。

CSDN:FISCO BCOS v3.0 的总架构采纳了 5 层设计,这一设计的思路和理念是怎么的?相比于之前或其余的区块链平台架构有哪些劣势?

李辉忠 :FISCO BCOS v3.0 遵循最大化零碎横向可扩展性的准则,将区块链零碎划分成了接入层、调度层、计算层、存储层和管理层,每层均是一个可独立部署、扩容和容错的微服务,实现了零碎网络、存储、计算横向可扩展性的同时,晋升了零碎的健壮性、可运维性。

FISCO BCOS v3.0 秉承组件化的设计思路,将区块链零碎的各个模块、个性形象为独立的组件。开发者基于这些组件能够按需疾速开发及组装新的区块链底层零碎,晋升区块链底层平台的开发效率。

CSDN:请简略介绍下 DMC 工作原理,它是如何实现“拉链式”通行的机制的?

李辉忠 :DMC(Deterministic Multi-Contract,确定性多合约并行计划)的外围思路是保障并行交易执行过程中的互斥资源确定性拜访,其包含三个指标。

易用:区块链底层主动启用并行,无需使用者关注并行逻辑、事后提供抵触字段;

高效:区块内的交易不反复执行,没有预执行、预剖析或重试的流程;

兼容:无论 EVM、WASM、Precompiled 或其它合约,应用任意的共识机制,都能应用此计划。

DMC 计划首先要求区块链的智能合约间没有共享数据,每个合约都有独立的存储空间,其它合约无奈读取和写入。执行交易时,DMC 会将区块内所有交易调用的不同智能合约代码块拆分为多个代码段,多个不同智能合约的代码块交织执行,拆分的边界是跨合约调用与互斥资源拜访。

DMC 能让调用不同合约的多个交易并行执行,因为智能合约间没有共享的数据,因而, 不同合约间的并行执行总是能够保障最终后果的一致性。当任意智能合约产生跨合约调用, 或是拜访曾经锁定的互斥资源时,DMC 会暂停该交易的执行,并期待以后阶段中其它所有交易都执行实现, 或是因为发动跨合约调用和拜访已锁定的互斥资源而暂停,这个期待过程称为全局同步。

每次全局同步,DMC 会依照固定规定调配交易的跨合约调用和互斥资源拜访,保障同一个合约和互斥资源不会被并行拜访。最终在实现并行的同时,保障执行后果的一致性。

相较于其余并行执行机制,DMC 实现了一种高效、主动的并行交易调度策略,最大化交易执行性能的同时,升高了并行合约的开发门槛。

CSDN:流水线共识和混合调度是如何实现的?与其余共识机制相比,这一共识的底层逻辑有何不同?又有哪些长处?

李辉忠 :为了保障区块链零碎的安全性和性能,以后联盟区块链零碎个别采纳拜占庭共识算法。

但因为链式区块链零碎的每个区块头必须蕴含父区块的哈希和以后区块的执行后果,一方面导致了区块共识必须串行进行(即对第 N 个区块的共识必须在开始共识第 N + 1 个区块之前实现)。另一方面导致区块链共识与区块执行、提交严密耦合(即整个区块共识流程中必须蕴含区块执行和区块提交的步骤)。同时,区块打包、播送共识音讯包等低 CPU 占用的过程中,无奈并行进行区块执行,重大升高了系统资源利用效率,升高了区块链零碎性能。

为了解决以后区块链零碎串行共识的性能问题,FISCO BCOS v3.0 提出了一种两阶段并行拜占庭共识算法,该算法将区块链零碎的共识划分成区块批量并行排序共识和区块执行后果流水线共识两个阶段,且两阶段可并行进行。区块批量并行排序共识和区块执行后果流水线共识均反对对多个区块进行并行共识,从而晋升了区块链吞吐量。

CSDN:请介绍下后续 v3.0 还有哪些研发打算?

李辉忠 :FISCO BCOS v3.0 目前已公布三个 rc 版本,预计在公布四个 rc 版本后,将公布正式的 LTS 版本。

在每个版本中,咱们都会有一些重点关注的新个性。比方已公布的 rc2版本,降级了组件化仓库治理;rc3版本,将 Solidity 反对并行,能够主动进行合约解析、并行执行、并行跑、并行验证;行将公布的 rc4 版本,能够更好反对大规模上链;将来将公布正式的 LTS 版本,根本实现 v3.0 最后布局的所有性能个性。

往年下半年, FISCO BCOS v3.0 将在云原生落地、跨群组(链)通信、隐衷计算联合等畛域进行更多摸索,也会推动从技术实现到项目管理的全面国产化。比方更好地反对云原生落地;将陆羽跨链协定的相干能力集成到 v3.0 中,实现更便捷的跨链;隐衷计算联合方面,打算将微众区块链的隐衷计算能力赋予到 v3.0 底层里,让 v3.0 能够更好地反对跟隐衷计算场景相干的利用落地。

全链路国产化反对保障数据安全可控

**CSDN:2021 年《个人信息保护法》实施,业内更关注隐衷数据的平安,对于数据安全,v3.0 有什么核心技术劣势?这些劣势是如何实现的呢?
**

李辉忠 :区块链与隐衷计算联合,能够使原始数据在无需出域与归集的状况下,实现多节点间的协同计算和数据隐衷爱护。同时可能解决大数据模式下存在的数据适度采集、数据隐衷爱护,以及数据存储单点透露等问题。

FISCO BCOS v3.0 在计算层能够很不便地以链外预言机的模式引入隐衷计算平台,进而与隐衷计算相结合,通过区块链确保计算过程和数据可信,通过隐衷计算实现数据可用不可见,从而实现更宽泛的数据协同。

CSDN:v3.0 提供了国密根底组件的封装接口,这一降级对开发者能够带来哪些影响?

李辉忠 :应用 FISCO BCOS v3.0 提供的国密根底组件,开发者能够疾速应用国密算法、国密通信协议。

对于程序员来说始终有一个痛点,为了适配国密和国产化,须要在不同平台、不同操作系统、不同编程语言逐个适配开发,工作量微小,而且每一次外围逻辑更改须要兼容更改各个平台、各个系统、各个语言,苦不堪言。

FISCO BCOS 自研发之初,始终器重国密接入和国产化反对。为了更好地在多语言、多终端、全链路实现国密接入,FISCO BCOS v3.0 构建了通用国密根底组件,将国密算法、国密通信协议、以及国产密码机接入协定封装成通用根底组件。在此基础上,FISCO BCOS v3.0 将区块链相干的网络、群组、账本、事件等逻辑用 C ++ 语言实现成一个独立共享库,并封装提供 C 语言接口。

基于这套底层 C 接口,开发者能够疾速对接开发不同语言、不同平台和零碎的 SDK,且这些多语言 SDK 无需关怀底层逻辑,系统升级只需更新底层共享库,大大晋升研发管理效率,保障了全平台的国产平安可控。

CSDN:往年来,国产技术逐步崛起,而 FISCO BCOS 开源之初就布局国产化,从国密版到全链路国产化反对,这一步步的布局是出于何种考量?将来在国产化上有哪些打算?

李辉忠 :FISCO BCOS 作为平安可控的国产金融级区块链底层平台,一开始就秉持国产化理念,已从国密算法、操作系统、芯片架构到服务器平台实现残缺的国产化反对。

将来会在更多维度进行国产化反对,如适配国产数据库、反对国产加密硬件、反对更多的国产芯片架构和操作系统平台等,此外,也会更加关注国密区块链的性能。

理解更多干货内容,请关注 FISCO BCOS 开源社区公众号,拜访 FISCO BCOS 代码仓库可下载我的项目所有源代码:https://github.com/FISCO-BCOS/FISCO-BCOS, 欢送点击页面右上角 star 珍藏,获取最新版本。

退出移动版