面向超级账本Fabric的多通道分片技术研究.pdf
《面向超级账本Fabric的多通道分片技术研究.pdf》由会员分享,可在线阅读,更多相关《面向超级账本Fabric的多通道分片技术研究.pdf(12页珍藏版)》请在咨信网上搜索。
1、第41卷 第4期2023年7月应用科学学报JOURNAL OF APPLIED SCIENCESElectronics and Information EngineeringVol.41 No.4Jul.2023DOI:10.3969/j.issn.0255-8297.2023.04.006面向超级账本 Fabric 的多通道分片技术研究刘洋1,2,林致远1,3,张玉玺1,3,蒋琳1,吴宇琳11.哈尔滨工业大学(深圳)计算机科学与技术学院,广东 深圳 5180552.鹏城实验室,广东 深圳 5180383.广东省安全智能新技术重点实验室,广东 深圳 518055摘摘摘要要要:区块链技术被广泛运
2、用在物联网、金融、供应链等领域。Hyperledger Fabric 是目前主流的企业级许可区块链系统,该系统允许事务并发的执行与验证。然而,在高并发场景下其吞吐量的限制却制约了该系统更大范围的应用。分片技术是现有解决区块链性能问题的方案之一,可同时满足低延迟和高吞吐量的目标,大多数现有分片方案只是针对非许可区块链加密货币的应用,而针对许可区块链的分片研究方案却很少。面向超级账本平台,本文提出了一种多通道交互的分片方案。首先根据客户端事务发送的速率,对当前交易通道进行动态复制,进行并行背书;然后将在排序节点对复制的通道所背书的事务进行合并,生成新的区块;最后并行地在多通道内将新区块分发给各个节
3、点,并整合在主账本内,确保节点之间账本的一致性,并更新世界状态。实验表明,提出的新方法能够在高并发的情况下显著提高事务吞吐量,相对原有的交易流程,吞吐量可提升 3 倍以上。关键词:超级账本;分片;吞吐量;多通道中图分类号:TN915.08文章编号:0255-8297(2023)04-0614-12Research on Multi-channel Sharding Technology forHyperledger FabricLIU Yang1,2,LIN Zhiyuan1,3,ZHANG Yuxi1,3,JIANG Lin1,WU Yulin11.School of Computer Sc
4、ience and Technology,Harbin Institute of Technology,Shenzhen,Shenzhen 518055,Guangdong,China2.Peng Cheng Laboratory,Shenzhen 518038,Guangdong,China3.Guangdong Provincial Key Laboratory of Novel Security Intelligence Technologies,Shenzhen 518055,Guangdong,ChinaAbstract:Blockchain is widely used in va
5、rious fields,including the Internet of thingsand finance.Hyperledger Fabric is the one of the mainstream enterprise-level licensedblockchain systems,but its throughput limitation in high concurrency scenarios hinderswider application.Sharding is a solution to this problem,which can meet the goals of
6、 lowlatency and high throughput simultaneously.However,most existing sharding schemes are收稿日期:2022-10-28基金项目:国家重点研发计划(No.2020YFB1005805);广东省安全智能新技术重点实验室(No.2022B1212010005);鹏城实验室重点攻关项目(No.PCL2021A02);深圳市高等院校稳定支持计划(No.GXWD2020123015-5427003-20200821160539001)资助通信作者:刘洋,助理教授,研究方向为数据安全与隐私计算。E-mail:第4期刘洋
7、,等:面向超级账本 Fabric 的多通道分片技术研究615designed for non-licensed blockchain confidential currency only.In this paper,we proposea multi-channel interactive sharding scheme for the Hyperledger Fabric blockchain plat-form.First,the current transaction channel is dynamically copied and endorsed in parallelaccord
8、ing to the sending rate of client transactions.Then,the transactions endorsed bythe copied channel are emerged at the sorting node to generate new blocks.Finally,thenew blocks are distributed to each node in parallel in multiple channels and integrated inthe main ledger to ensure the consistency of
9、the ledger between peer nodes and update theworld state.Keywords:Hyperledger,sharding,throughput,multi-channel随着比特币和以太坊等加密货币的兴起,全球市场上出现了大量的区块链系统。区块链的分布式账本技术提供了一种以安全和可验证的方式进行交易的方法,而无需可信任的第三方。通俗来讲,区块链系统根据时间序列生成数据区块,并以顺序结构的形式组成一个链形式结构,同时采用密码学的方式实现不可篡改的分布式账本。区块链系统按开放程度可以划分为公有链、私有链、联盟链三种类型。公有链,如比特币1和以太坊2
10、,任何节点都可以加入,运行事务的逻辑与交易的数据对外透明,具有一定的数据安全及隐私泄露风险。同时公有链通常使用较为复杂的 POW 共识算法,且事务只能串行执行,极大地限制了区块链系统的吞吐量;私有链中的节点则需要授权才可以进入,并且节点之间的地位不同,节点的操作权限也不同,中心化现象较为严重,只适用于特定的应用场景。此外,在无许可区块链中,节点不能立刻确定现有的加入在自身账本顶部的数据块是稳定的。只有当数据块在计入账本中足够长时间后,才会得到确认。因此,无许可区块链的吞吐量等性能非常有限,而联盟链的性能相对公有链有着很大的提升。联盟链介于公有链与私有链之间,同时具备部分去中心化的特性。节点需要
11、授权进入联盟链组织中,联盟链中各个对等节点之间权限相同。同时,联盟链更改了原有无许可区块链的交易流程,数据区块写入区块链账本后,该数据块便会被认为是最终确定的。这种交易流程大大提高了区块链的吞吐量性能,大多数商业应用也更青睐于许可区块链的解决方案。其中,Hyperledger Fabric3是一个具有代表性的联盟链平台,由于其广泛的商业应用而倍受关注,本文选择 Fabric 区块链系统作为研究对象。Hyperledger Fabric 作为目前最受欢迎的企业级许可区块链系统之一,目前正被用于许多不同的应用中,例如 Everledger4和 SecureKey5。通过限制参与共识过程的节点数量,
12、达到在相对较短的时间内达成共识的效果。Fabric 系统针对传统公有链“排序-验证”架构下只能顺序执行交易的问题,提出了“执行-排序-验证”的新型事务处理架构(EOV 架构),提高了系统整体的吞吐量。在执行阶段,客户端将事务发送给背书节点进行模拟执行,背书节点在事务执行完毕后将执行结果返回给客户端。在排序阶段,客户端将事务发送给排序节点集群,排序节点按照事务的到达顺序达成共识,打包成区块,并将该区块广播给通道内的所有对等节点。在验证阶段,通道内所有对等节点将会对该区块内的事务进行验证,以确保满足背书策略,并在确保交易执行生成数据的读写集后,读集中变量的账本状态没有变化,同时块中交易会备注是否有
13、效。最后,Peer 节点将最终区块提交到本地区块链结构中,有效的交易将会被追加到状态数据库中,并把事务的交易结果通知给客户端。分片是提高区块链系统扩展性及吞吐量的方法之一。区块链内主要的分片可分为两类:一类是在各个分片中对交易进行处理后,整合在唯一账本内,形成最终一致性账本;另一类是不同的分片来记录不同的事务,相当于多条链并行处理。文献 15 提出了基于 HyperledgerFabric 的通道扩展方案。但是这项工作并没有定量地分析以及对其他许可区块链系统的适用616应用科学学报第41卷性并不清晰。文献 16 提出在每个分片上运行一个基于实用拜占庭容错(practical Byzantine
14、fault tolerance,PBFT)算法17的共识协议,并要求共识节点运行可信硬件,该方案的使用条件相对苛刻难以大规模使用。在现有的区块链的分片方案中,大部分方案需要额外消耗资源来组建分片委员会,此外,在跨分片的数据交易中现有的方案会产生较大的时延,从而影响整体的性能。基于以上问题,本文首先提出了一种基于 Fabric 管道的动态分片方案,针对区块链系统的事务吞吐量进行了改进尝试。针对当前 Fabric 系统的事务吞吐量进行了系统性分析,并根据各部分的延迟大小确定了当前事务交易的瓶颈。其次,根据客户端事务发送的速率,对当前交易通道进行动态复制,并针对交易数据以及分片的通道进行一致性哈希来
15、选择分片后的通道,进行并行背书以及验证。最后,将新区块提交到主账本内,确保 Peer 节点之间账本的一致性,并更新世界状态。本文的贡献如下。1)从实验和理论的角度分析了当前 Fabric 的交易流程,并对 Fabric 中各阶段的处理能力进行了实验分析,针对不同的生成区块参数数据进行了调整,主要针对原始 Fabric 的吞吐量、延迟、事务成功率进行了一定的分析。2)基于上述实验,提出了一个基于多通道的动态数据分片的实验方案,并以 HyperledgerFabric v2.4 版本为基础,使用该方案对当前交易流程进行改造,形成新的多通道扩展的 Fabric结构。3)将多通道扩展的 Fabric
16、与传统 Fabric 在 Smallbank 基准测试和自定义工作负载下进行对比测试实验,以检验改进成果的正确性。实验结果显示,基于多通道的分片方案实现了更高的吞吐量以及较低的交易延迟。1相关工作介绍目前有一些针对 Hyperledger Fabric 的性能优化研究方案,如文献 6 通过减少交易流程中的计算和 I/O 开销,并针对缓存、并行运算等提出优化方案,将 Fabric 事务的吞吐量提高到 20 000 个事务/s。另有一些学者7-8研究了 Fabric 系统的配置参数对吞吐量等性能的影响,并提出了改进意见。文献 9 研究块大小、背书策略、通道、资源分配、状态数据库选择等配置参数对 F
17、abric 性能的影响,并针对这些影响提供了 MSP 缓存、并行 VSCC 验证等优化方案。尽管上述方案对 Fabric 的性能提升有所增益,但这些解决方案的核心仍然依赖于经典的共识算法,可扩展性增益却并不会很高。区块链分片技术是现有解决区块链性能问题的方案之一。分片技术是一种针对分布存储、计算和通信以节省资源和提高系统可伸缩性的技术,可以同时满足低延迟和高吞吐量的目标。Elastico 第一个将分片应用到区块链的工作,该方案对区块链网络以及交易事务进行分片10,然而其无法处理跨分片事务,同时只能使用较小的分片大小。还有很多针对公有链的分片方案,如 Monoxide11、RapidChain1
18、2、Omniledger13等工作,虽然提高了交易的性能,但却很难同时满足可扩展性与安全性的需求。此外,这些分片方案需要额外消耗资源来组建分片委员会。文献 12 在 RapidChain 中提出了一种基于委员会的内部共识算法,该方案通过对状态进行分片,从而对数据的存储方案进行了优化。然而,这种方案需要周期性的分片,每次分片都需要对数据进行迁移,增加了系统的负载。文献 14 提出了一种轻量级的智能交易放置策略以减少跨分片交易的数量,该方案将已经产生关联或者即将产生关联的交易部署到相同的分片中,并维护分片之间的负载平衡。然而,该方案需要客户端来测量区块链网络的状态并运行事务放置算法,给客户端增加了
19、压力。而针对许可区块链系统,文献 15 提出了基于 Hyperledger Fabric 的通道扩展方案。然第4期刘洋,等:面向超级账本 Fabric 的多通道分片技术研究617而,这项工作并没有定量地分析以及确定其方法的效益。由于该方案依赖于UTXO 模型,对其他许可区块链系统的适用性并不清晰。已证明的超级账本(Attested HyperLedger,AHL)16同样是针对 Fabric 的分片方案,该方案在每个分片上均运行一个基于 PBFT17的共识协议,并要求共识节点运行可信硬件,以防止拜占庭节点产生混淆。2准备知识2.1Hyperledger Fabric系统架构Hyperledge
20、r Fabric 是一个许可的区块链架构,其由 IBM 和 Digital Asset 提交给 Linux基金会,是目前最受欢迎的企业级区块链框架之一18。Fabric 采用了松耦合的设计,将共识机制、节点运行、身份验证等组件模块化,使之在应用过程中可以方便地根据应用场景来选择相应的模块。Hyperledger Fabric 系统中的节点类型主要分为三类。1)Peer。该类型节点主要针对智能合约的执行、交易提案的背书批准以及数据块的最终验证。Peer 节点会存储账本以及智能合约,负责链代码及其生命周期的执行,是区块链网络的基本元素。2)Orderer。该类型节点会对 Peer 节点背书后的事务
21、进行排序并生成数据块。因为 Fabric用确定性共识算法,所以 Peer 节点所验证的区块都是最终的和正确的。账本不会像其他分布式以及无需许可的区块链中那样产生分叉3。3)Client。客户端属于轻量型的网络节点,通常使用 Hyperledger Fabric SDK 来绑定某个 Peer 节点并与区块链网络进行通信。Hyperledger Fabric 采用“执行-排序-验证”三步架构达到共识,与原有无许可区块链“排序-执行”的交易模式不同,数据区块写入区块链账本后,该数据块便会被认为是最终确定的。同时,执行和验证阶段可以并行化处理事务,这种交易流程大大提高了区块链的吞吐量性能,大多数商业应
22、用也更青睐于 Hyperledger Fabric 区块链系统的解决方案。其具体的执行流程主要包括以下三个方面,如图 1 所示。?图 1 Fabric 交易流程图Figure 1 Fabric transaction flow chart1)执行阶段。在此阶段,客户通过封装了 gRPC 服务和签名服务的 Fabric SDK,将事务提案发送给背书策略指定的一个或多个背书节点。背书节点会根据客户端所指定命令,参数运行对用的链码,并生成对应的读集与写集。在背书执行阶段并不会更新账本数据。背书节点执行完链码后,对事物提案进行签名,并返回给客户端节点。客户端会根据背书策略检查接收到的提案,当结果相同回
23、应提案数量满足背书策略时,便会打包并发送给 Orderer 节点集群。618应用科学学报第41卷2)排序阶段。在此阶段,Orderer 节点集群将根据共识协议生成交易事务,目前 Fabric 主要包括 Solo、Kafka 和 Raft 三种公式协议。本文所基于的 Hyperledger Fabric v2.4 使用 Raft协议。Raft 协议中的有序簇分为跟随者和引导者。身份为跟随者的订购者通过 gRPC 服务将收到的交易转发给领导者。在排序阶段并不会不检查交易的具体内容,因为数据是被封装在envelope 中。Orderer 集群在接收到一定数量的事务或者达到时间限制,会将一批事务按顺序
24、打包到一个块中。Raft 共识保证跟随者的日志与领导者的日志一致,从而实现有限状态机的复制。这样,每个对等体都可以从排序器集群中的任何节点获得生成的块。3)验证阶段。在这个阶段,各个 Peer 节点收到 Order 发送的块后,会按照块中事务的顺序依次对事务的读集与写集进行验证。当一个事务满足背书策略并且其读取集合中所有密钥的版本都是最新版本时,此时事务满足 MVCC 条件,便会将该事务标记为有效,反之则将之标记为无效事务。Peer 节点会将所有事务添加到区块链账本中,但对于无效的事务,Peer 节点不会将之更新到状态数据库中。2.2分片技术分片技术被认为是提高区块链性能及可扩展性最有前景的链
25、上方案之一,有着不牺牲中心化程度便能提高区块链性能的特性。这种技术通过将区块链分成多个部分来实现,每个部分都可以独立处理交易和存储数据。分片技术最早被应用在数据库之中,将大型数据库进行更细致的划分,使得更易于数据的管理与扩展。区块链的分片技术主要分为两种类型,分别是针对网络的分片与针对数据的分片。针对网络的分片旨在通过将网络节点划分为多个组来提高网络传输效率,而针对数据的分片则通过将数据存储在不同的节点上,每个节点可同时对多个分组的交易并发处理,提高数据处理能力。区块链的分片技术主要面临着以下挑战。首先是针对分片内,由于节点减少或者账本存储数据减少等因素,会出现针对 Pow 的 51%攻击以及
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 超级 账本 Fabric 通道 分片 技术研究
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【自信****多点】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【自信****多点】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。