System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种区块链节点分片方法、设备及存储介质技术_技高网

一种区块链节点分片方法、设备及存储介质技术

技术编号:40075049 阅读:9 留言:0更新日期:2024-01-17 00:59
本发明专利技术公开了一种区块链节点分片方法、设备及存储介质,首先通过静态节点与分片网络进行一一对应,再在哈希环上进行映射以及虚拟映射,通过虚拟映射保证动态节点进入各个分片网络几率相对平均,然后通过动态节点在哈希环上的映射确定动态节点被分配进入的分片网络,确保动态节点在各个分片中的均有分布,同时在动态节点分配进入分片网络时,通过时序标记数作为参数加入到哈希环映射的计算中,保证不同区块高度时的映射计算不同,重分片时的随机性。

【技术实现步骤摘要】

本专利技术涉及区块链,尤其是涉及一种区块链节点分片方法、设备及存储介质


技术介绍

1、随着区块链技术的发展,区块链网络的节点数量迅速增加,这使得区块链网络中的交易吞吐量呈线性增长,同时区块链技术依托于密码学和共识机制等技术能够容纳在不可信网络中的节点的共识,但也由于共识机制和密码学的影响,区块链的交易通常需要采用串行机制,交易吞吐量与传统互联网应用有着巨大的效率差距。因此,区块链节点分片技术应运而生,节点分片试纸将区块链系统分为几个类似的分片,多个分片并行处理事务并存储相应数据,从而提高交易处理效率,将区块链原本的串行工作机制变为并行,大幅度提升区块链的交易吞吐量。

2、目前主流的节点分片方法会先设置某个值,要求全网节点采用工作量证明算法求得符合要求的散列值,取前n个节点组成中心委员会,由中心委员会负责网络中其他节点的分配,分配方式例如取节点ip、公钥等信息组合的哈希值,通过对取得的哈希值的后几位取模,将其分配到相应的分片,此方法的问题在于哈希值的随机性较强,容易造成分配不平衡,导致因某分片内节点数量过少无法完成共识等问题;还有的分配方法是中心委员会要求节点通过某种方法生成随机数并进行广播,中心委员会通过对节点返回的随机数排序来确定节点分配结果。由于各节点产生随机数后会向全网广播,恶意节点可利用该阶段接收到的随机数得出系统内节点的分布情况,进而发起攻击。上述两种方法中节点均由中心委员会进行分配,分片的成功率和耗时长短对中心委员会的依赖较强,若中心委员会中存在恶意节点,便会导致节点分配的失败,而中心会员号通过工作量证明算法产生,恶意节点通过算力堆砌的方式有较高几率获取中心委员会节点位置。


技术实现思路

1、为解决上述技术问题,本专利技术提出了一种区块链节点分片方法、设备及存储介质,能够在不依赖中心委员会的前提下形成节点均匀分配的节点分片方案。

2、本专利技术通过以下方案得以实现,第一方面,本专利技术提供一种区块链节点分片方法,所述方法包括如下步骤:

3、s1、初始化分片数量,并为每个分片配置相同数量的静态节点;其中,静态节点根据智能合约随机选取或由区块链管理员指定;

4、s2、各个静态节点根据所处分片的分片信息通过一致性哈希算法计算其所在分片在第一哈希环上的映射,同时通过虚拟映射机制计算其所在分片在第一哈希环上的若干个虚拟映射,虚拟映射机制通过为各个分片配置虚拟映射实现各个分片在第一哈希环上的映射和虚拟映射形成均匀分布;

5、s3、随机选取区块链网络中的一个静态节点计算时序标记数,并通过共识将各个分片在第一哈希环上的映射结果和书序标记数广播至全网;所述时序标记数根据区块链系统中的当前区块高度和当前分片数量计算得到;

6、s4、动态节点加入区块链网络,基于时序标记数、动态节点的节点私钥以及节点属性参数通过vrf函数计算对应的可验证随机值和验证证明,动态节点根据其对应的可验证随机值和一致性哈希算法计算其在第一哈希环上的映射,根据动态节点在第一哈希环上的映射所处位置确定动态节点的所属分片,动态节点将分片验证消息发送至其所属分片的所有静态节点,其中,所述分片验证消息包括动态节点对应的可验证随机值和验证证明;

7、s5、静态节点接收并验证来自动态节点的分片验证消息,再通过时序标记数和验证证明验证动态节点的可验证随机值,验证通过则将动态节点纳入分片,否则发送失败信息;

8、s6、在预设的重分片周期后,各个静态节点同步所在分片中的区块数据,上传至存储节点进行存储,上传完毕则系统执行重分片,重复上述步骤s1至s5。

9、第二方面,本专利技术提供一种计算机设备,其特征在于,一个或多个处理器;

10、存储器,用于存储一个或多个程序,

11、当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上述第一方面所述的方法。

12、第三方面,本专利技术提供一种存储有计算机程序的存储介质,该程序被处理器执行时实现如上述第一方面所述的方法。

13、本申请具有以下有益效果:

14、在本申请中,通过静态节点与分片一一对应,通过静态节点在哈希环上的映射和虚拟映射以保证动态节点被分配进各个分片几率不会出现太大的差距,再通过动态节点在哈希环上的映射确定动态节点被分配进入的分片,确保动态节点在各个分片中的均有分布,同时避免分配前生成中心委员会,消除节点分片对于中心委员会的依赖;同时通过周期性的重分片,避免长期处于同一分片的节点被恶意节点所影响。

本文档来自技高网...

【技术保护点】

1.一种区块链节点分片方法,其特征在于,所述方法包括如下步骤:

2.一种计算机设备,其特征在于,一个或多个处理器;

3.一种存储有计算机程序的存储介质,其特征在于,该程序被处理器执行时实现如权利要求1所述的方法。

【技术特征摘要】

1.一种区块链节点分片方法,其特征在于,所述方法包括如下步骤:

2.一种计算机设备,其特征在于,一个或多个...

【专利技术属性】
技术研发人员:王宏智史先澳龙浩唐乙午陈荣深
申请(专利权)人:重庆复杂美科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1