System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及区块链分片,特别是涉及一种基于时序性的区块链分片账户调整方法和装置。
技术介绍
1、区块链技术,作为去中心化应用的关键基础,在学术和工业界备受关注。该技术利用点对点网络构建,使得每个节点都能够通过解决计算问题来验证并记录交易,从而支撑无需中央机构介入的去中心化应用,如数字货币。尽管如此,区块链面临着性能限制,因为其运作依赖于网络中所有节点的共同验证和数据存储,这导致其在处理能力上无法与中心化系统匹敌。此外,尽管网络参与者数量的增加能提升系统安全性,但并不增强性能,这对于需要高处理量的现代应用来说是个显著短板。为了克服这一挑战,区块链状态分片技术应运而生,它通过将网络和账户状态细分为若干子集来增强扩展性,并显著提高了系统吞吐量。然而,跨分片交易需要额外的通信和共识机制以保证事务的一致性,这可能在跨分片交易占比高时适得其反,降低系统性能。因此,寻找一种优化的状态划分方法以减少分片间的交易频率,成为提高区块链性能的关键。
2、在分片区块链系统中,影响系统性能的主要因素有两个:一是跨分片交易,当交易需要跨多个分片执行时,由于交易发起方所在分片不存储接收方的状态信息,因此必须与其他分片通信并协作,以共同完成交易并确保双方状态的原子性和一致性。这要求跨分片交易在多个分片间达成共识,从而导致相比于单次共识的片内交易,跨分片交易有显著的额外确认延迟。此外,完成一笔跨分片交易需要多次共识过程,这不仅增加了交易的确认时间,也会占用更多的区块存储资源,从而影响整个系统的吞吐量。二是负载均衡,理想状态下,我们希望每个分片的交易
3、为了克服上述挑战,目前关于账户状态分片的研究主要依据历史交易数据分析账户的交易习惯,进而进行账户分片。但账户的交易行为并非固定不变,它具有时间属性并随时间演化。随着系统的不断发展,原有的账户划分可能不再适应,从而导致跨分片交易的增加。因此,本研究旨在提出一种能够实时监控交易习惯变化的账户,并及时有效地对其进行调整的方法,确保分片系统在任一时间段内都能尽可能减少跨分片交易的发生,优化系统性能。
4、为应对区块链账户状态分片中存在的动态变化问题,主要面临这两大问题,首先,用户账户的动态调整要求我们设计出既高效又能确保交易安全稳定的调整方法。鉴于区块链系统中安全性的重要性,这种方法必须能够抵御各类攻击,保障账户资金的安全。其次,挑战在于开发出一个监控机制,该机制能够在众多参与账户中准确地识别并定位出那些需要进行调整的账户。考虑到对大量账户进行预测所需的高昂成本,找到一个既经济又有效的预测方法来精确定位需调整账户显得尤为关键。
技术实现思路
1、基于区块链账户分片技术所面临的这些问题,我们提出了一种能够及时发现并调整账户分片的一种基于时序性的区块链分片账户调整方法和装置,来保持分片系统中长期的稳定的低跨分片交易数量。
2、一种基于时序性的区块链分片账户调整方法,所述方法包括:
3、根据分片区块链系统中各账户在连续epoch中的交易记录,作为时间序列rnn神经网络的训练集,为各个账户构建可预测未来交易行为的预测模型;
4、根据系统中的特殊分片ad-shard获得当前epoch发送过跨分片交易的账户,并筛选出当中跨分片交易比例高的账户,获得当前epoch中需要调整的账户;
5、根据所述账户近期连续epoch中的交易记录,作为所述rnn模型预测的输入,预测这些账户在下一个epoch中对各个分片的交易可能,并在每个epoch的末期结合各个分片的负载情况对所述账户进行调整;
6、根据ad-shard来监控各个分片负载,对出现负载过度的分片执行负载均衡策略,调用低负载分片临时激活相关账户并行处理负载过度分片的交易,缓解单分片出现的性能过载现象。
7、在其中一个实施例中,还包括:在带有状态字段的帕特里夏树中,实现基于子账户模型的调整方式,在所述分片系统中,允许一个账户存在多个分片中。对所述账户的调整即可通过以交易的形式将主账户的余额转移到子账户中,然后将所述子账户置为主账户,由此完成账户在不同分片中的动态调整。
8、在其中一个实施例中,还包括:在基于账户/余额模型的区块链系统中,状态树是通过帕特里夏树维护的,所述带有状态的帕特里夏树非叶子节点不变,其表示状态的叶子节点中添加了一个状态字段,用于标识该账户激活、休眠和临时激活三种状态,同一账户仅能在一个分片中处于激活状态,称之为主账户。
9、在其中一个实施例中,还包括:ad-shard由特殊参与者组成的分片,在本地存有各分片参与者的地址和各主账户所在分片,负责接收和转发系统中的跨分片交易,并记录所有的跨分片交易,同时实时与各个分片进行通信,监控分片交易池的负载均衡情况,并运行负载均衡算法维持各个分片的负载均衡。
10、在其中一个实施例中,还包括:根据所述ad-shard监控到的分片实时负载,当某分片在某一时刻负载过度,ad-shard将运行负载均衡算法,不再将所述分片相关的跨分片交易发送到该分片,而是通过临时激活负载较低分片的相关子账户来批量处理交易,处理完成后通过所述账户调整交易将处理结果同步到主账户。
11、一种基于时序性的区块链分片账户调整装置,所属装置包括:
12、模型构建模块,用于根据账户各个epoch交易记录训练神经网络模型,所述神经网络模型的输入为n个连续epoch的跨分片交易数量,输出为第n+1个epoch的跨分片交易数据预测。
13、交易预测模块,用于根据当前epoch及其前n-1个epoch的交易记录预测下个epoch中单个账户的跨分片交易行为,根据得到的预测结果对账户进行动态调整。
14、账户调整模块,用于根据预测结果对账户进行动态调整,所述调整方式是通过子账户模型来进行同一账户在不同的分片中进行转移,所述账户转移是通过跨分片交易的形式实现,享有区块链交易的安全保护机制,可保证账户进行安全的调整。
15、负载均衡模块,用于对各个分片进行负载监控,及时发现并缓解负载过度分片的交易量,所述缓解单分片负载过度的方法是通过子账户在负载较低的分片临时激活使得该分片临时拥有处理该账户相关接受交易的能力,在该分片处理完所有交易后通过账户调整的方式将结果同步到主账户中。
16、一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
17、根据分片区块链系统中各账户在连续epoch中的交易记录,作为时间序列rnn神经网络的训练集,为各个账户构建可预测未来交易行为的预测模型;
18、根据系统中的特殊分片ad-shard获得当前epoch发送过跨分片交易的账户,本文档来自技高网...
【技术保护点】
1.一种基于时序性的区块链分片账户调整方法和装置,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述的账户调整方式包括:
3.根据权利要求2所述的方法,其特征在于,所述带有状态的帕特里夏树,包括:
4.根据权利要求1所述的方法,其特征在于,所述AD-shard是一种特殊的分片,用于转发系统中的跨分片交易,包括:
5.根据权利要求3所述方法,其特征在于,所述负载均衡算法是指当单分片产生负载过度时采用均衡策略,包括:
6.一种基于时序性的区块链分片账户调整装置,其特征在于,所述装置包括:
7.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
【技术特征摘要】
1.一种基于时序性的区块链分片账户调整方法和装置,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述的账户调整方式包括:
3.根据权利要求2所述的方法,其特征在于,所述带有状态的帕特里夏树,包括:
4.根据权利要求1所述的方法,其特征在于,所述ad-shard是一种特殊的分片,用于转发系统中的跨分片交易,包括...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。