分布式账本系统性能优化技术综述.pdf
《分布式账本系统性能优化技术综述.pdf》由会员分享,可在线阅读,更多相关《分布式账本系统性能优化技术综述.pdf(29页珍藏版)》请在文库网上搜索。
1、分布式账本系统性能优化技术综述*石晶1,3,张奥2,3,白晓颖3,蔡华谦1,刘譞哲11(北京大学信息科学技术学院,北京100871)2(清华大学计算机科学与技术系,北京100084)3(北京大数据先进技术研究院,北京100091)通信作者:白晓颖,E-mail:;刘譞哲,Email:摘要:分布式账本作为分布式数据管理的体系架构,通常在多节点之间通过共识机制来共同维护数据记录,可将数据所有权、传播过程、交易链条等相关信息完整全面地记录在分布的账本中,并在数据产生、流动的整个生命周期中,保证数据的不可篡改、不可抵赖,为确权、维权、审计提供背书.区块链是一种典型实现.随着数字货币、数据资产交易等数字
2、经济新应用的发展,分布式账本技术得到了越来越广泛的关注,但系统性能是其大规模落地应用的一个主要瓶颈,账本性能优化成为产业界和学术界一个研究热点.从账本体系结构、数据结构、共识机制和消息通讯 4 个方面,系统地调研分析了分布式账本性能优化的主要方法、关键技术和代表性的解决方案.关键词:分布式账本;区块链;性能优化中图法分类号:TP311中文引用格式:石晶,张奥,白晓颖,蔡华谦,刘譞哲.分布式账本系统性能优化技术综述.软件学报,2023,34(10):46074635.http:/ on Performance Optimization Technologies of Distributed Le
3、dger SystemSHIJing1,3,ZHANGAo2,3,BAIXiao-Ying3,CAIHua-Qian1,LIUXuan-Zhe11(SchoolofElectronicsEngineeringandComputerScience,PekingUniversity,Beijing100871,China)2(DepartmentofComputerScienceandTechnology,TsinghuaUniversity,Beijing100084,China)3(AdvancedInstituteofBigData,Beijing100091,China)Abstract:
4、Distributed ledger(DL),as a distributed data management architecture,maintains data records(the ledgers)across distributednodesbasedonconsensusmechanismsandprotocols.Itcancomprehensivelyrecordallinformationofdataownership,transmission,andtradingchainsindistributedledgers.Additionally,datawillbenotta
5、mperedanddeniedthroughoutthelifecycleofdataproductionandtransactions,providing an endorsement for data rights confirmation,protection,and audit.Blockchain is a typical implementation of DLsystems.With the emerging digital economy applications including digital currency and data asset trading,DL tech
6、nologies receiveincreasinglywidespreadattention.However,systemperformanceisoneofthekeytechnicalbottlenecksforlarge-scaleapplicationofDLsystems,and ledger performance optimization has become a focus of the academia and industry.The study investigates the methods,technologies,and typical solutions of
7、DL performance optimization from four perspectives of system architecture,ledger data structure,consensusmechanism,andmessagecommunication.Key words:distributedledger;blockchain;performanceoptimization*基金项目:北京市科技计划(Z201100007720010)收稿时间:2021-09-10;修改时间:2021-10-24,2021-12-21,2022-01-27;采用时间:2022-03-1
8、4;jos 在线出版时间:2022-05-24CNKI 网络首发时间:2023-04-06软件学报ISSN1000-9825,CODENRUXUEWE-mail:Journal of Software,2023,34(10):46074635doi:10.13328/ki.jos.006677http:/中国科学院软件研究所版权所有.Tel:+86-10-62562563数字化记账始于 20 世纪 60 年代.传统的数字化账本系统是通过中心化数据管理系统来记录和维护账户数据.性能高,但是需要高度依赖银行等中心机构的可信度来保证数据的正确性和安全性.一旦中心机构出现伪造数据等信任问题,则会对系统
9、造成无法挽回的重大损失.分布式账本系统是基于网络的去中心化数据存储管理系统,不依赖于中心化机构的可信度,在对等节点之间维护多个账本副本,节点之间通过分布式共识机制来共同记录、更新和验证数据,使得账本的数据记录不易伪造、难以篡改.区块链是分布式账本的一种典型实现.2008 年,署名中本聪的作者发表了“比特币:点对点的电子现金系统”1一文,提出了区块链的分布式账本结构,采用多节点共识和密码学机制,保证了交易记录的持久性、安全性和不可篡改性.2014 年,Buterin 等人提出以太坊2,以太坊将智能合约应用于分布式账本平台之上,采用账本记录合约数据,通过 Solidity 语言来灵活构建合约,实现
10、不同领域的去中心化应用.2015 年,在Linux基金会的支持下,Fabric开源项目被提出3.该项目在原有区块链技术的基础上提供了完备的权限和安全控制设计,实现了企业级的许可分布式账本,使得若干组织或社区可以共同维护账本数据.分布式账本作为分布式数据管理的体系架构,可将数据所有权、传播过程、交易链条等相关信息完整全面地记录在分布的账本中,并在数据产生、流动的整个生命周期中,保证数据的不可篡改、不可抵赖,为确权、维权、审计提供背书.目前,随着数字货币、数据资产交易等数字经济新应用的发展,分布式账本技术得到了越来越广泛的关注,其应用不仅局限于金融领域,而是可以延伸到物联网、关键数据存证、智能工业
11、生产、供应链管理以及数据资产的确权等更加广泛的领域4,5.然而,至今为止,分布式账本的系统性能仍是其大规模应用的一个主要技术瓶颈.以典型的区块链系统为例,可以看到其性能指标与实际应用需求尚存在较大差距.系统每秒交易处理数及交易确认时间是两个主要性能度量指标69.ti,tjblockNumijti,tj)txNumij(1)交易处理数(transactionspersecond,TPS),即每秒交易的数量.假设系统区块容量为 blockSize,单笔交易容量为 txSize.若在)时间段中,系统处理的有效区块数为,如公式(1),公式(2)所示,由此可得在时间中的交易处理数量,以及系统的交易处理数
12、量 TPS.txNumij=blockNumijblockSizetxSize(1)TPS=txNumijtjti(2)比特币的平均区块容量为 1MB1,平均单笔交易容量约为 250B,则每个区块可容纳 4194 笔交易.比特币平均每 10 分钟生成一个区块,由公式(2)可得,其每秒交易量仅为 7 笔.(2)交易确认时间(transactionconfirmationtime,TxCT),即从交易发起到交易被确认的时间.在区块链系统中,交易确认时间包括等待上链和最终确认的时间.在高并发情况下,账本容易出现分叉,而链式的账本结构仅将一条分叉链作为有效主链.为了处理分叉,账本系统根据后续账本的最长
13、子链、最重子树等方式选择主链.系统往往需要等待后序多个区块后才得以被确认上链,使得交易确认时间较长,可达到平均出块时间的数倍.tiInputtiConfirmednavgBlockTime假设交易于时间发起,系统于时间完成交易确认,可得单笔交易确认时间.由于账本分叉,系统往往会等待后续个区块后,才可以确认该笔交易有效上链.若区块的出块时间为,则系统的交易确认时间如公式(3)所示.TxCT=tiConfirmedtiInput=avgBlockTimen(3)在比特币中,根据概率和历史数据,链上交易需要等待 6 个区块确认.其出块时间为 10min,这意味着每笔交易的最终确认时间为 60min.
14、传统的金融交易系统性能远高于比特币、以太坊等区块链系统.例如跨境金融交易系统 Paypal 每秒可以处理 500 笔,VISA 每秒可以处理 4000 笔10,并且能够实现单笔交易秒级确认.因此,分布式账本系统尚难以支撑大规模的海量的分布式数据管理和交易.4608软件学报2023 年第 34 卷第 10 期针对这个问题,分布式账本性能优化成为一个重要的研究方向,已有多个研究工作分别从共识算法、扩展性、性能与安全性的权衡等方面,分析了相关研究现状.(1)在共识算法方面,Lepore 等人11对 PoW,PoS,PurePoS 这 3 种主流共识协议进行性能分析,在共识类别、延迟、吞吐量等指标对比
15、了上述 3 种主链共识协议,研究发现 PurePoS 共识的吞吐量和扩展性较好且交易延迟时间较短,基于许可链的 PoS 共识相比非许可链的 PoS、PoW 共识,具有较好的吞吐量和扩展性.张彭奕等人12分析了性能、资源、能耗对区块链共识效率的影响,并定义了共识算法效能的概念,说明了当共识算法的资源花费小、性能较好、能耗较低时,该共识算法效能越高.该工作从公有链与联盟链两方面对其共识的效能优化方法进行总结,并指出多链、跨链与 BaaS 场景下资源共享问题中的效能优化需要结合影响共识算法效能的 3 个要素,实现高效的资源共享.(2)在可扩展性方面,Zhou 等人13将解决系统可扩展性的方法分为 3
16、 类,分别是区块链底层(layer0)、链上(layer1)、链下(layer2),重点从链上和链下进行讨论.在链上优化中,该工作从块数据、共识、分片、DAG 的角度总结了性能和存储可扩展性优化的项目和方法;在链下优化中,将优化方法分为支付通道、侧链、链下计算和跨链 4 类,分别进行讨论其机制和相关项目.研究指出底层消息传播的协议的优化、链上区块的压缩、分片交易划分和跨片的完善、和基于主侧链的链下扩展方案会进一步提升系统性能.毛志来等人14将区块链系统抽象为交易、区块、共识 3 个方面,分析了网络规模、区块大小等影响区块链性能扩展的主要因素,总结了提升区块大小、提高出块频率、隔离见证、块压缩等
17、经典的性能扩展机制,并探讨了分片、跨链等新型的性能扩展机制,最后指出了扩展区块链系统应结合应用场景,将区块链的性能扩展机制与其带来的运维成本权衡,从而选择符合实际应用需求的扩展方案.(3)在系统性能与安全性的权衡方面,Zheng 等人7调研了区块链的性能和安全问题,结合链类型、拜占庭容错、链上链下数据存储以及交易存储等技术,讨论性能和安全问题背后的架构选择问题,比较了 Ethereum、Parity、HyperLedger 等项目的吞吐量、延迟、容错节点数等指标,还讨论了区块链在金融、物联网等领域产业应用所面临的性能和安全性挑战.研究指出并行化是区块链性能优化的重要研究方向,并指出设计性能基准
18、测试和评估工具的重要性.以比特币系统为代表的分布式账本存在性能瓶颈问题.近年来,不同的性能优化技术被陆续提出,如图 1 所示,如侧链将主链扩展,实现了多链的互联互通;分片技术以节点为单位进行分片划分,极大提升了系统的并行处理能力;见证人共识减少系统中的共识参与者,提升了系统的交易处理能力.本文采用软件系统的视角,分析了分布式账本性能问题,分别从账本系统架构设计、账本数据结构设计、账本共识机制以及账本消息通讯 4 个方面,系统地调研和分析了影响分布式账本性能的主要设计因素.图 2 展示了本文中分布式账本性能优化方法的分类结构.比特币20082014201520162017201820192021
19、哈希时间锁隔离见证预执行Fabric中继Plokadot闪电网络延迟执行Conflux流程并行BIDL通信投票共识HotStuff区块链分发网络bloxroute提升区块大小BitcoinCash分阶段共识公证人模式InterLedger分片Elastico图式账本DAGCoin致密区块压缩见证人共识侧链双向锚定以太坊DPoSBitcoin-NG图1分布式账本性能优化技术发展石晶等:分布式账本系统性能优化技术综述4609分布式账本性能优化体系架构设计分片多链侧链流程优化预执行链下通道技术公证人模式流程并行哈希时间锁中继父子链延迟执行交易打包出块大小出块时间隔离见证分阶段机制消息分发消息处理见证
20、人机制链式账本图式账本账本数据结构共识机制消息通讯消息路由通信投票机制图2分布式账本性能优化方法分类 1 体系架构设计本节总结了分布式账本架构设计中的典型性能优化策略.其中,分片将链上若干节点划分为委员会,提高系统的并行度;多链采用连接技术,在链上实现了多条同构、异构链的连接,提升系统的可扩展性;通道技术和交易打包将负载转移至链下进行计算,从而减轻链上负载.1.1 分片分片是指将分布式账本系统中的节点按照一定机制划分为若干集合,通常一个集合被称为一个委员会.系统以委员会为单位来对交易进行处理.分片的思想可以追溯到分布式数据库,其将数据划分成若干数据子集合,并将数据子集合分发到网络中不同的数据库
21、节点.如图 3 所示,2016 年,Elastico 采用将分片技术应用到区块链数据的存储管理15.先后出现了基于对象的分片(Chainspace16)、全分片(RapidChain17)、基于账户地址的分片(Monoxide18)等技术.不同于传统的分布式数据库,在分片账本中各委员会可以验证、执行其对应的交易,必要时,进行跨片通信,保证系统统一的全局状态,共同维护账本数据结构.基于分片的分布式账本系统通常在 3 个层面采用分片技术:网络分片、交易分片和状态分片19.网络分片是将参与 P2P 网络的节点划分为若干委员会,并将其作为交易处理的最小单位.交易分片是将交易映射到对应委员会中,并以委员
22、会为单位执行交易.状态分片是将全局状态进行划分成若干子状态,每个子状态由其对应的分片来维护.分片对于系统性能提升主要体现在两个方面:一是多委员会并行处理交易,提升了系统处理效率;二是分片后,仅在片内委员会节点之间共识,参与共识节点数量减少,通信、计算等共识资源开销减少.但分片机制会带来额外管理开销,如委员会划分、片间通信、分片重构等,对系统性能产生影响.如图 4 所示,分片系统主要包括节点分片、交易分发、片内共识、跨片处理以及分片重组 5 个阶段.(1)节点分片:系统对节点身份认证,建立分组.每个分片的成员节点组成分片委员会,即委员会机制.每次节点的分片结果会持续一个固定时间,即一个 epoc
23、h.(2)交易分发:系统按照交易到委员会的映射规则来分发交易.4610软件学报2023 年第 34 卷第 10 期(3)片内共识:委员会内部对交易形成片内共识.分片需要每隔一段时间,即 epoch,进行分片重组.为了保证分片的快速重组,分片内部通常采用传统分布式共识协议,如 PBFT,ByzCoinX20等,快速确认交易,而较少采用效率较低的 PoW 等协议.(4)跨片处理:对于涉及多个分片的交易,系统引入跨片处理机制,保证跨片交易的一致性.(5)分片重组:每个 epoch 结束,系统节点需要进行分片重组,避免恶意节点涌入某一分片,以保证安全性.Chainspace基于 object 的分片系
24、统,已被Facebook 收购RapidChainRapidChain实现全分片系系统Monoxide基于账户地址的分片系统2019 年2018 年2016 年2017 年Elastico首次提出将分片和区块链结合基于 Elastico 的分片优化系统基于 Elastico 的分片优化系统NearOmniLedger图3分片技术发展启动阶段节点分片交易分发交易执行阶段是否片内共识跨片处理分片重组是否在 epoch时间内图4分片流程图1.1.1委员会机制每个分片对应一个委员会,负责处理片内交易.系统中多个委员会可以并行处理交易,提升账本系统吞吐量.委员会的产生机制,即节点分片机制,是性能优化的一
25、个关键环节.目前主要有 hash 位和随机函数两种方式.(1)基于 hash 位的委员会机制2s每个节点通过工作量证明,形成各自的 hash 串.系统截取 hash 串中固定位置的 s 位 hashbit,具有相同的 s 位hashbit 的节点成为一个逻辑上的委员会.同一个委员会的节点需要相互通信,确认身份后,由此产生的个委员会正式生效15.委员会节点之间通过广播机制进行身份确认,其通信的复杂度是 O(n2),网络开销较大.Elastico15采用了基于目录节点的通讯方式来减少通信开销,即令前若干位计算出 PoW 的节点作为目录节点,拥有全局视角,负责广播委员会的成员信息,将通信复杂度降低至
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分布式 账本 系统 性能 优化 技术 综述