中图分类号:TP309.2;TP393 文献标识码:A 文章编号:2096-4706(2025)07-0114-06
Abstract: With the popularization of blockchain technology,the surge intransaction volume poses chalenges to network performance.Traditional segmentation methods based on account transactions perform poorly when dealing with unbalanced data,which leads to an increase incross-segmentation transactionsand affects performance.Inresponse tothis situation, aDeep TraversalRe-segmentationAlgorithmbasedon transaction frequencyis proposed.Thisalgorithmreduces crosssegmentationtransactionsthroughinitialsegmentationandtenconductsdep traversalre-segmentationonthesegmentation withdense transactionstosolvetheproblemofdataimbalance.Bycalculating thetransaction frequencyofaccounts,itensures load balancingandattempts to allcate accounts with frequent transactions to the same segmentationas much as possible. Experimentalresultsshowthatthisalgorithmcanefectivelybalancetheloadreducecro-segmentationtransactions,and improve network throughput and efficiency.
Keywords: blockchain technology; Deep Traversal Re-segmentation Algorithm; transaction frequency; crosssegmentation transaction
0 引言
区块链技术源自中本聪于2008年提出的比特币系统,区块链技术自诞生以来,以其去中心化、安全性高、数据不可篡改等特点,被广泛应用于金融、供应链、物联网等多个领域。然而,随着区块链网络的广泛应用,交易数量的激增对区块链网络的性能提出了挑战[1-2]。
随着区块链网络的用户基础和交易量不断增长,网络拥堵和交易确认延迟的问题日益凸显,这限制了区块链技术的广泛应用和进一步发展[3]。分片技术的出现,借鉴了传统数据库管理系统中水平分区的概念,通过将区块链网络中的数据和工作负载分散到多个较小的独立部分,即“分片”,实现了交易处理的并行化,从而显著提升了网络的总体交易吞吐量,并减少
了交易确认的时间。
分片技术是解决区块链可扩展性问题的众多方案之一[46]。闪电网的分片技术有效地解决了区块链在可扩展性方面的挑战,作为一种创新的链上扩容方案[,它既保持了去中心化的核心优势,又提升了区块链系统的整体性能。分片技术将整个区块链网络分成不同分片,由各分片的节点负责处理所在分片的事务以及存储分片的状态,通过并行验证事务,整个区块链的吞吐量近似线性地提升[8-10]。在2016年,Luu等人提出了第一个公链的分片协议Elasticol[]。该协议有效地解决了网络分片和交易分片中的通信负担,它通过将交易集合分割成互不相交的交易子集的方式来实现,从而避免了大量跨分片通信。Zilliqa[2]项目于2017年发布了白皮书,并于2018年正式上线。在Zilliqa网络中,每一笔交易基于发送者的地址进行随机分配,被指派至特定的处理分片。这些分片采用实用拜占庭容错(PBFT)共识机制,独立地在各自分片内对交易进行验证。Kokoris-Kogias等提出的Omniledger[13]区块链分片系统借鉴了分布式事务中的2PC方案。但是这种随机分片的方案不利于分片的负载均衡,并且分片重配置时间过长。Monoxide属于取模分片的一种,研究人员认为该技术同时满足了安全、性能、去中心化3个需求[14],连弩挖矿(Chu-ko-nuMining)能够在一段时间内出多个块,同时通过多个其他分片来对多个块进行验证,保证了Monoxide去中心化功能的正常运行。在Ethereum2.0的分片设计中,信标链承担着中心枢纽的功能,它不仅串联起主链,还负责协调各个分片的活动。作为一条并行于原链的侧链,信标链的存在至关重要。然而,当系统内频繁发生跨分片交易,信标链的处理能力限制可能会成为该系统运营性能的瓶颈。
众多项目如Elastico、Zilliqa、Monoxide以及Ethereum2.0等,均采纳了分片技术以增强区块链系统的整体处理能力和网络吞吐量。首先,在交易分片时,未考虑对交易特征进行分析。通过分片技术,交易数据被分散到多个分片中独立处理,这一过程不可避免地会引发跨分片交易的问题。解决这一问题需要设计更为复杂的交易处理和验证逻辑,从而带来额外的网络负担。若跨分片交易数量增多,无疑会对系统的处理效率产生负面影响。其次,在处理交易分片时,热点问题尚未得到妥善解决。尽管分片技术能够增强系统的整体处理能力和吞吐量,实际操作中可能会遭遇分片间负载分布不均的情况,某些分片可能面临过重的负载,这会拖累系统性能。因此,有必要设计出高效的负载平衡策略,以确保各分片间交易的均衡分配。
针对大量的跨分片交易问题,本研究从账号之间的关联性入手,分析了账号的交易频率,力求将交易活跃度较高的账号成对地分配至同一分片,以此减少跨分片交易的发生率。针对分片会产生大量的交易聚集问题,文中提出了面对非平衡数据的再深度分片算法,在初次分片以后的交易接收方账号呈现出多叉树的特征,通过深度遍历分片算法将多叉树再次分为几个小型分片实现负载均衡。研究显示该方案可以提高交易的验证效率。
1 区块链分片模型构建
1.1传统方法处理非平衡数据的缺点
传统方法采用的基于账号交易关系的区块链分片方法[15],在应对非均匀数据分布场景时展现出其固有的缺陷。其在分片过程中采用了一种交易频次集合的计算方法来优化数据分布。该方法的核心思想是将交易活跃度较高的账号集中放置在同一分片中。然而,在实际应用过程中,发现当遭遇畸形数据时,这一策略可能会导致一个显著问题:大量的高频交易账号数据被集中分配到同一个分片上,从而引发分片数据的不平衡现象。
具体来说,这一策略在处理正常数据分布时,能够有效提高系统性能和资源利用率。当面对异常数据,尤其是那些交易频次异常高的账号时,原有的分片策略就显得力不从心。这些账号的数据如同“磁铁”一般,将大量相关账号吸引至同一分片,使得该分片的数据量远超其他分片,造成了数据分布的严重倾斜。这种现象违背了区块链分片技术的核心目标,即实现数据处理的均衡分布[16。分片内交易量的过度集中导致了处理延迟,严重影响了区块链分片系统的性能表现[17]。在最极端的情况下,系统的吞吐量可能低于未实施分片处理时的水平。
1.2 模型构建
如图1所示,初次分片策略的执行往往会导致交易用户账号的不均衡分布。这种不均衡表现为某些分片承担了远超预期的账号负载,这不仅限制了分片的数据处理能力,而且对整体系统的性能产生了负面影响。为了克服这一挑战,文中采纳了一种基于再深度分片的细化策略。该策略的核心在于对初步分片进行多次的深入分析,通过更加精准的分割,实现账号在各个分片间的均衡分配。这种方法不仅提升了单个分片的处理效率,而且优化了整个系统的性能,确保了数据管理的有效性和系统运行的稳定性。通过这种策略,本研究能够在保证数据分布均匀的同时,提升系统的整体性能和响应速度。
再次分片过程:针对不平衡数据[18]初次分片后账号密集的分片,实施进一步地深度分片。这一步骤旨在通过更为精细地划分,实现账号在各个分片间的均衡分布。首先,对每个分片的账号数量进行逐一评估,与预设的阈值进行比较。若某一分片的账号数量仍然大于或等于阈值,则会触发新一轮的深度分片。这一循环机制确保了分片过程的动态调整和优化。其次,这一过程将持续进行直至所有分片的账号数量均低于阈值。再次,当分片内的账号数量满足优化条件,即小于阈值时,便得到了一个均衡且高效的分片模型,确保其能在平衡交易用户账号的前提下,保证频繁交易的账号被存储在同一个分片中。最后,将最终的分片模型进行输出。

2 理论模型
2.1 分片方法
在本方案中,针对交易密集的分片,采用了基于交易频率的深度搜索算法进行重分片。该方法能够将交易关联度高的数据集中在同一分片中,并确保交易数据在各个分片中均衡分布,从而实现交易的负载均衡。此外,分片内部采用PBFT共识算法来完成交易验证并上链。
在本文中,记 为区块链网络的账户集合,Ac
,
。区块链中的账户数量记作
(2号 ( A c ) 。
为区块链网络的交易集合,
,其中
,
,账号
作为交易发起方地址,记作
.sender
,账号
作为交易接受方地址,记作
.sender
。
为区块链网络的交易频次集合,
,其中
跨片交易:对于所有的交易 ,如果
senderEshard,且
recevereshardj。
跨分片交易比例:在整个区块链中,所有的跨分片交易是 ,则跨分片交易比例为所有跨分片交易数量和总交易数量的比值,记作
账号跨分片交易比例:在整个区块链中,账号 的跨分片数量为
与账号总交易数
的比值称之为账号的跨分片交易比例,记作
:
2.2 初次分片算法
在分布式区块链系统中,初次分片算法的设计理念是基于深入分析交易双方账号之间的关联性,以实现高效的数据分配。该算法的核心目标是将交易账号合理地分布在不同的分片中,确保数据处理的并行性和系统的高吞吐量。在这个过程中,每笔交易都依据其发送方账号被精确映射至对应的工作分片,从而保证了同一发起账号的所有交易均能在同一分片内得到处理。在此基础上,分片内部的共识算法将负责完成交易的验证工作,并确保交易数据被正确地上链。具体包括两个步骤:1)交易信息预处理:此阶段的主要任务是针对交易集合进行详尽地统计分析,以计算出每笔交易的频次。这一步骤是算法的基础,它为后续的分片决策提供了数据支撑。2)分析区块链交易分片算法的交易频次:该算法将依据预处理得到的交易濒次集合,智能地执行交易数据的分片操作。具体来说,该算法将遍历整个交易频次集合,针对每个发送者账号,寻找与之相关联的接收者账号,并将这些账号的交易数据统一分配至同一分片。
2.3初次分片后的数据分析
在初次分片处理之后,交易数据展现出了独特的多叉树结构。具体来说,每个分片内的交易账号构成了一个层次分明的树状图。这棵树的根是第一层的初始发送者账号,其分支延伸至第二层,代表着接收者账号。随后,第二层的接收者账号转而成为新的发送者,其交易数据进一步扩展至第三层,如此循环往复,直至到达树的末端,即最后一层,如图2所示。
在处理非平衡数据集时,本研究采用了降低跨分片比例的算法进行初次分片。然而,这一过程有时会导致某些分片中的交易数据异常集中,形成数据热点。为了解决这一问题,本研究设计了一套基于深度搜索遍历的再分片方案。该方案通过深入分析和遍历交易数据,有效地将如图2所示的数据密集分片细分为如图3所示的三个独立分片。这种再分片策略不仅显著减少了分片间的数据交织,确保了交易数据在各个分片间的均衡分布,而且还提升了整体数据处理的效率和准确性。


2.4深度搜索再分片算法
本文是对传统的基于交易双方地址关系进行分片划分的改进,首先计算出交易数据的交易频次集合 ,然后将交易纠缠程度高的交易(也就是双方地址之间频繁访问)放置于同一分片中,从而减少分片间跨分片交易的数量。然而,这种划分方式存在一个问题:当交易账户数据分布不均衡时,由于大量数据彼此高度关联,导致大部分交易集中在同一个分片中,进而导致该分片的交易验证处理速度下降。针对此问题,本方案对大量数据聚集的分片进行多叉树的深度搜索遍历算法的再次分片划分,在保证将交易纠缠程度大的数据被放置与同一分片中的前提下,最大限度地解决了交易数据的负载均衡,从而使侍文勿数据能够仕多十分片中问时时伏还验证上,提高了整个系统的性能。
3 仿真实验
本实验在IntelCorei5-7200U处理器, 2 . 7 0 G H z ,8GB内存,操作系统在64位Windows10的计算机上使用采用Go语言实现。实验数据来自自定义的模拟数据。交易包含了hash、交易金额、交易时间、交易发起者的账号、交易接收者的账号、区块信息和账户信息等。
3.1 交易时延
为了验证深度再分片方案的有效性,如图4所示分析了算法的交易时延效果。着最大分片账号占比比例的增加,未深度再分片方案的交易时延在稳步上升,这说明单个分片内部交易数量占比越多,交易时延越大。
由图4可知,未进行深度再分片方案在最大分片账号占比比例分别为 20 % , 30 % , 40 % , 50 % 60 % , 70 % , 80 % 的情形下其交易时延都大于深度再分片方案。深度再分片方案在账号比例为 60 % 70 % , 80 % 的情形下的交易时延并没有稳步提升。这表明,深度再次分片算法通过将交易量较大的分片进一步划分为多个小型分片协同处理交易数据,取得了良好的效果。

3.2 跨分片交易比例
在评估区块链交易分片机制的有效性时,跨分片交易的比例扮演了一个至关重要的角色。虽然分片方法通过实现各分片的交易并行处理来增强区块链系统的处理能力,但是跨分片交易的出现仍然是一个难以完全避免的现象。这类交易可能导致事务处理的复杂度上升、延迟增加,以及在分片之间达成共识的难度加大,这些因素均有可能削弱区块链的性能表现。如果跨分片交易的比例较高,处理这些交易所需承担的网络成本将增加,同时也会影响交易处理的敏捷性和验证的即时性。如果区块链网络中的所有交易均涉及跨分片操作,那么单个分片将无法独立完成交易验证和区块的生成工作,跨分片交易的复杂处理可能会抵消分片带来的扩展性提升。就是在构建基于多分片的区块链网络时,确立交易分片策略的主要宗旨就是尽量减少跨分片交易的比例。图5为不同最大分片账号占比比例下的跨分片交易比例。

图5可知,随着交易数量的增多,MSA(随机分片算法)、RSA(取模分片算法)和本方案的跨分片交易比例都在稳步上升,这说明交易数量越多,跨分片交易比例越大。从图5可以看出,对于相同的交易数量下,深度再分片算法的跨分片交易比例均低于其他两种算法。因此,深度再分片算法可以有效地降低分片交易的数量比例。
4结论
文章研究旨在解决数据分布不均的背景下,传统交易频次分片方法导致的跨分片交易比例过高的问题。本研究提出了一种新型的深度再分片方法,首先分析了当前交易分片算法面临的挑战,接着对深度再分片算法进行了精确地定义和描述;最后,通过对比实验,评估了深度再分片算法相对于传统MSA和RSA分片算法的优缺点。实验数据表明,在面对不平衡的交易数据时,文中方法有效避免了基于交易频率的传统分片策略导致的交易密集问题。通过将交易活跃的账户对置于同一分片中,显著降低了跨分片交易的发生率,并缩短了处理时间。
参考文献:
[1]孙知信,张鑫,相峰,等.区块链存储可扩展性研究进展[J].软件学报,2021,32(1):1-20.
[2]毛志来,刘亚楠,孙惠平,等.区块链性能扩展与安全研究[J].信息网络安全,2020,20(3):56-64.
[3]潘晨,刘志强,刘振,等.区块链可扩展性研究:问题与方法[J].计算机研究与发展,2018,55(10):2099-2110.
[4]黄华威,孔伟,彭肖文,等.区块链分片技术综述[J]计算机工程,2022,48(6):1-10.
[5]王夫森,李志淮,田娜.提升分片规模和有效性的多轮PBFT验证方案[J].计算机工程与应用,2020,56(24):102-108.
[6]陈幻,王意洁.一种面向公有链的轻量级可扩展技术[J].计算机研究与发展,2020,57(7):1555-1567.
[7]WUX,JIANGW,SONGM,etal.AnEfficientSharding Consensus Algorithm for Consortium Chains [J].ScientificReports,2023,13(1):20.
[8]ZAMANIM,MOVAHEDIM,RAYKOVAM. Rapidchain:ScalingBlockchain via FullSharding [C]// Proceedingsof the 2018 ACM SIGSAC Conference on Computer and Communications Security.Toronto:ACM,2018:931-948.
[9]YUG,WANG X,YUK,et al. Survey:Sharding inBlockchains[J].IEEEAccess,2020,8:14155-14181.
[10]LIUY,LIUJ,SALLESMAV,et al.Building BlocksofShardingBlockchain Systems:Concepts,Approaches, andOpen Problems[J/OL].Computer Science Review, 2022,46:100513[2024-09-19].https://doi.0rg/10.1016/ j.cosrev.2022.100513.
[11]LUUL,NARAYANANV,ZHENGC,etal.ASecure Sharding Protocol for OpenBlockchains[C]//Proceedingsof the 2016 ACM SIGSAC Conference on Computer andCommunicationsSecurity.NewYork:ACM,2016:17-30.
[12] TEAM Z. ZilliqaDeveloper Portal[EB/OL]. (2024-06- 09)[2024-09-10].https://dev.zilliqa.com/zilliqa2/.
[13]KOKORIS-KOGIASE,JOVANOVICP,GASSERL, etal.Omniledger:ASecure,Scale-Out,DecentralizedLedger via Sharding [C]//2018 IEEE Symposium on Security and Privacy (SP).San Francisco:IEEE,2018:583-598.
[14]袁勇,倪晓春,曾帅,等.区块链共识算法的发展现状与展望[J].自动化学报,2018,44(11):2011-2022.
[15]李皎,张秀山,宁远航.降低跨分片交易比例的区块链分片方法[J].计算机应用,2024,44(6):1889-1896.
[16]陈静,李志淮,高冬雪,等.利用状态归约的分片负载均衡方法[J].计算机科学,2022,49(11):302-308.
[17]吴怡.分区型区块链可搜索加密医疗电子病历共享方案研究[D].哈尔滨:东北林业大学,2022.
[18]宋一波.基于区块链的类不平衡联邦学习技术研究[D].南京:南京邮电大学,2023.
作者简介:赵鹏(1973一),男,汉族,山西太原人,教授,博士在读,研究方向:软件工程、大数据、区块链;李军(1998一),男,汉族,山西吕梁人,硕士研究生在读,研究方向:区块链技术、共识算法;通信作者:卢波(1988—),男,汉族,山西晋中人,助教,博士,研究方向:协议安全性分析、区块链;郭泽(1997一),男,汉族,山西太原人,硕士研究生在读,研究方向:区块链技术、密码学;陈伟(1996一),男,汉族,山西晋中人,硕士研究生在读,研究方向:量子信息。