一种基于区块链的高效通信方法及系统技术方案

技术编号:30161580 阅读:20 留言:0更新日期:2021-09-25 15:15
本发明专利技术涉及区块链技术领域,提供了一种基于区块链的高效通信方法及系统,方法包括:待建立连接的运行节点向区块链网络中的根节点发起加入区块链网络的信息请求;根节点基于信息请求,依次将其上分布式哈希表中存储的各个区块链节点的节点ID与待建立连接的运行节点的节点ID进行异或运算,寻找与运行节点最近的区块链节点,其中,节点ID采用能够表示真实物理距离的特定字段,替换掉原始区块链网络随机生成的节点ID的预设字节的前缀部分形成;将运行节点与所述最近的区块链节点建立连接,加入区块链网络中。在每一个区块链节点寻找最近的节点时,具有能够找到真实的物理距离最近的节点,提高广播区块、提高交易效率的优点。提高交易效率的优点。提高交易效率的优点。

【技术实现步骤摘要】
一种基于区块链的高效通信方法及系统


[0001]本专利技术涉及区块链的
,尤其涉及区块链的高效通信
具体为一种基于区块链的高效通信方法及系统。

技术介绍

[0002]对于某一个区块链网络中已有的区块链节点,以及想要加入但是还未加入当前区块链网络的运行节点,均需要与区块链网络中的至少一个其他节点建立连接,才能够顺利的加入当前的区块链网络中,与区块链网络中的节点进行通讯。
[0003]一般的当某一个运行节点想要加入区块链网络时,与距离最近的一个节点建立连接,以实现加入区块链网络是最优的方案。
[0004]对于运行节点寻找最近的节点,一般的都是通过对运行节点的节点ID与当前区块链网络的根节点中保存所有的已在当前区块链网络中存在的区块链节点的节点ID进行异或运算,异或值越小,代表两个节点之间的距离越近。
[0005]然而,现有技术中的节点ID是随机生成的,现有区块链节点p2p通信距离是节点ID的逻辑距离,并不是真实的物理距离。这只是逻辑上定位了“近”,物理上可能是很“远”,区块链网络中存在大量这种距离不明的p2p连接,构成区块链网络,导致广播区块、交易效率都很低。

技术实现思路

[0006]针对上述问题,本专利技术的目的在于提供一种基于区块链的高效通信方法及系统,在每一个区块链节点寻找最近的节点时,具有能够找到真实的物理距离最近的节点,提高广播区块、提高交易效率的优点。
[0007]本专利技术的上述专利技术目的是通过以下技术方案得以实现的:
[0008]一种基于区块链的高效通信方法,包括:
[0009]待建立连接的运行节点向区块链网络中的根节点发起加入所述区块链网络的信息请求;
[0010]所述根节点基于所述信息请求,依次将其上分布式哈希表中存储的各个区块链节点的节点ID与待建立连接的所述运行节点的节点ID进行异或运算,寻找与所述运行节点最近的区块链节点,其中,所述节点ID采用能够表示真实物理距离的特定字段,替换掉原始所述区块链网络随机生成的所述节点ID的预设字节的前缀部分形成;
[0011]将所述运行节点与所述最近的区块链节点建立连接,加入所述区块链网络中。
[0012]进一步地,所述特定字段采用包括ipv4、ipv6在内的ip地址。
[0013]进一步地,当所述特定字段采用ipv4的ip地址时,将所述节点地址的前4个字节替换为所述运行节点当前所述地域的ipv4地址。
[0014]进一步地,当所述特定字段采用ipv6的ip地址时,将所述节点地址的前16个字节替换为所述运行节点当前所述地域的ipv6地址。
[0015]进一步地,在所述根节点中存储有所述分布式哈希表,采用所述分布式哈希表记录每一个访问所述根节点的区块链节点的包括所述节点ID、网络连接信息在内的节点记录。
[0016]进一步地,所述运行节点向所述根节点发起加入所述区块链网络的信息请求之后,在验证通过后,将所述运行节点的所述节点ID和所述网络连接信息存储于所述分布式哈希表中。
[0017]进一步地,通过所述网络连接信息建立多个所述区块链节点之间的TCP/IP通信。
[0018]本专利技术还包括了一种采用如上述的基于区块链的高效通信方法的系统,包括:
[0019]信息请求发起模块,用于提供给待建立连接的运行节点向区块链网络中的根节点发起加入所述区块链网络的信息请求;
[0020]最近节点寻找模块,用于提供给所述根节点基于所述信息请求,依次将其上分布式哈希表中存储的各个区块链节点的节点ID与待建立连接的所述运行节点的节点ID进行异或运算,寻找与所述运行节点最近的区块链节点,其中,所述节点ID采用能够表示真实物理距离的特定字段,替换掉原始所述区块链网络随机生成的所述节点ID的预设字节的前缀部分形成;
[0021]连接建立模块,用于将所述运行节点与所述最近的区块链节点建立连接,加入所述区块链网络中。
[0022]一种电子设备,其特征在于,包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集由所述处理器加载并执行以实现如上述的方法。
[0023]一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如上述的方法被执行。
[0024]与现有技术相比,本专利技术包括以下至少一种有益效果是:
[0025](1)通过提供一种基于区块链的高效通信方法,包括:待建立连接的运行节点向区块链网络中的根节点发起加入所述区块链网络的信息请求;所述根节点基于所述信息请求,依次将其上分布式哈希表中存储的各个区块链节点的节点ID与待建立连接的所述运行节点的节点ID进行异或运算,寻找与所述运行节点最近的区块链节点,其中,所述节点ID采用能够表示真实物理距离的特定字段,替换掉原始所述区块链网络随机生成的所述节点ID的预设字节的前缀部分形成;将所述运行节点与所述最近的区块链节点建立连接,加入所述区块链网络中。在上述技术方案中,采用能够表示真实物理距离的特定字段,替换掉原始区块链网络随机生成的节点ID的预设字节的前缀部分的方案,使得在将运行节点与已有的区块链节点的节点ID进行异或操作之后,异或值最小的区块链节点,即在物理距离上与当前运行节点最近的节点。
[0026](2)通过将用于表示真实物理距离的特定字段,设置为包括ipv4、ipv6在内的ip地址。基于ip地址在全球的分配是公开的,且ip地址本身就带有地域特性,使用ip地址作为节点ID中的特定字段,同一地域的区块链节点使用相同的ip地址作为特定字段,在进行异或操作时,具有相同特定字段的节点ID的异或值必然最小,能迅速找到物理距离最近的节点。
[0027](3)通过在根节点中存储分布式哈希表,采用所述分布式哈希表记录每一个访问所述根节点的区块链节点的包括所述节点ID、网络连接信息在内的节点记录。通过上述技
术方案,后续运行节点在寻找最近节点时,只需要与根节点建立连接,访问分布式哈希表中的节点ID即可,无需去访问所有的区块链节点。
附图说明
[0028]通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。
[0029]图1为本专利技术一种基于区块链的高效通信方法的整体流程图;
[0030]图2为本专利技术一种采用基于区块链的高效通信方法的系统的整体结构图。
具体实施方式
[0031]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0032]本
技术人员可以本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链的高效通信方法,其特征在于,包括:待建立连接的运行节点向区块链网络中的根节点发起加入所述区块链网络的信息请求;所述根节点基于所述信息请求,依次将其上分布式哈希表中存储的各个区块链节点的节点ID与待建立连接的所述运行节点的节点ID进行异或运算,寻找与所述运行节点最近的区块链节点,其中,所述节点ID采用能够表示真实物理距离的特定字段,替换掉原始所述区块链网络随机生成的所述节点ID的预设字节的前缀部分形成;将所述运行节点与所述最近的区块链节点建立连接,加入所述区块链网络中。2.根据权利要求1所述的基于区块链的高效通信方法,其特征在于,还包括:所述特定字段采用包括ipv4、ipv6在内的ip地址。3.根据权利要求2所述的基于区块链的高效通信方法,其特征在于,还包括:当所述特定字段采用ipv4的ip地址时,将所述节点地址的前4个字节替换为所述运行节点当前所述地域的ipv4地址。4.根据权利要求2所述的基于区块链的高效通信方法,其特征在于,还包括:当所述特定字段采用ipv6的ip地址时,将所述节点地址的前16个字节替换为所述运行节点当前所述地域的ipv6地址。5.根据权利要求1所述的基于区块链的高效通信方法,其特征在于,还包括:在所述根节点中存储有所述分布式哈希表,采用所述分布式哈希表记录每一个访问所述根节点的区块链节点的包括所述节点ID、网络连接信息在内的节点记录。6.根据权利要求5所述的基于区块链的高效通信方法,其特征在于,还包括:所述运行节点向所述根节点发起加入所述区...

【专利技术属性】
技术研发人员:沃全刘雄
申请(专利权)人:上海佩俪信息科技有限公司
类型:发明
国别省市:

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

1