一种基于区块链的多级分治网络拓扑构建方法

文档序号:35571471发布日期:2023-09-24 07:56阅读:30来源:国知局
本发明涉及区块链,尤其涉及一种基于区块链的多级分治网络的拓扑构建方法。
背景技术
::1、在区块链技术中,对数据进行打包、出块之前,需要对数据进行全网络的传播,随着网络的不断增长,区块链的数据以及节点的数量也在不断地增加,往往会花费大量的时间,这使得区块链的出块速度和区块链的性能大大降低。2、3、目前区块链的多级分层网络的拓扑研究主要存在以下三个问题:(1)区块链的组成和体系结构很复杂,在层次结构中解耦出p2p网络模块,并分析其运行流程和网络性能的影响参数极具挑战性;(2)现有工作并没有深入理解区块链网络流程,而仅仅采用传统的p2p网络分析方法,即从非结构化、结构化以及混合式的网络拓扑视角来研究区块链网络组成。对于区块数据如何在网络中进行广播、验证和记录,目前缺乏科学合理的论述;(3)大多数工作对区块链p2p网络性能的优化比较单一,缺乏对网络速率和网络可靠性的综合考虑,因此无法提出具有普适性的区块链p2p网络性能优化方案。技术实现思路1、针对现有技术不足,本发明提供一种基于区块链的多级分治网络拓扑构建方法,所属方法包括:2、s1:根据聚类算法对网络中的节点进行聚簇,将原来的区块链网络中的节点分成若干个网络簇;3、s2:采用基于节点信任值的方式对簇中的节点进行信任值计算,选出网关节点;4、s3:采用基于网络时延对网关节点进行簇间连接;5、s4:采用基于网关节点的邻近程度进行选择簇头节点,使用广度优先搜索(breathfirst search,bfs)生成树算法,对簇内全节点建立连接;6、s5:簇内轻节点连接到与其距离最近的全节点。7、s6:基于并行生成广播方法,实现簇内和簇间节点的快速数据广播,用以提高广播效率;8、所述的根据聚类算法对网络中的节点进行聚簇,将原来的区块链网络中的节点分成若干个网络簇的方法具体包括以下步骤:9、采用目前主流的vivaldi网络坐标系统将节点映射到一个二维平面上,vivaldi是一种根据测量网络时延来计算节点间网络坐标的分布式算法,可以使得节点在虚拟平面上的欧氏距离与在物理网络中的真实时延相匹配,能够准确地描述出节点之间的位置信息;10、采用meanshift聚类算法对普通节点进行聚簇,meanshift聚类算法在每次迭代运行的过程中重新计算均值向量,其中均值向量的计算公式为:11、均值向量的计算公式如下:12、13、其中为高斯核函数,n表示节点n,其带宽的大小为h;ni表示在半径为h的特殊球面区域,sh内的普通节点,sh的定义为:14、sh(n)={y:(y-ni)t(y-ni)<h2}15、其中,y表示满足条件的节点,t表示转置符号,h表示带宽的大小;16、网络坐标系统和聚类算法的结合,使网络节点之间的网络延迟可以用坐标节点间的距离准确表示,为聚类算法的计算提供了便捷的测量依据。本发明通过使用聚类算法对普通节点进行聚簇的方式,使得每个簇内的普通节点之间的网络延迟保持在一个较低的区间,进而实现普通节点间的低延迟通信。17、所述的基于网关节点构建跨簇交互节点间的结构化网络拓扑以及跨簇连接的方法具体包括:基于节点信任值的选取方式选取网关节点,对簇内全节点采用结构化的网络拓扑连接方式,计算簇间节点的信任值,各个簇之间的网关节点需要基于节点信任值的方式来进行连接,选取信任值最大的两个节点建立连接。18、首先计算簇内的节点信任值,在本网络模型中,每个网关节点需要负责一个簇的通信,所有在中心节点选取时会在网络中选择前个信任值较大的中心节点作为预选的网关节点,其中m为簇中节点的个数。19、对于每一个分簇,计算每个节点的可靠性、带宽和延迟,得到节点的评估矩阵。节点i的评估矩阵为mi计算公式为:20、mi={ri,bi,li}21、其中ri为节点i的可靠性,bi为节点i的带宽,li为节点i与其他节点之间的平均延迟。22、节点的可靠性ri计算可以表示为:23、24、其中,stableonlinetime表示节点稳定在线的时间,totaltime表示总时间。25、节点带宽bi的计算公式可以表示为:26、27、其中,data size表示发送的数据包大小,transmissiontime表示传输时间。28、因为节点可靠性、带宽和延迟时间单位不一致,所有需要将其进行归一化转换到0~1之间,以便对节点信任值进行计算。可以将带宽归一化到0到1之间,使用以下公式29、30、其中,bi是节点的原始带宽,max_bandwidth是所有节点的最大带宽。31、平均延迟li的计算公式可以表示为:32、33、latency表示延迟,n表示节点传输数据包的次数,然后对平均延迟进行归一化34、35、li为节点的当前时延,max_average_latency为所有节点的最大延迟。节点的信任值为:36、g=w1ri+w2bi+w3li37、其中,w1,w2,w3为节点评估矩阵的权重系数,一般来说,可靠性、带宽和延迟在节点信任值中的重要性是相等的,因此可以赋予它们相同的权重系数。如果在实际场景中某个因素的重要性较高,可以适当提高它的权重系数需要根据实际情况进行调整。簇内网关节点选择当前簇内前个信任值较大的节点(即前个g)作为预选取的网关节点。38、在进行簇间节点连接时,选取本簇中信任值最大的节点与别的簇的网关节点进行连接,本簇中剩余的个节点作为备用的网关节点,然后每个网关节点将测量到对方网关节点的网络延迟,并根据收集到的延迟数据对这些网关节点进行排序,随后网关节点会依据排序结果,连接到具有最低网络延迟的两个对方网关节点,每个网关节点会对所有其他网关节点进行网络延迟的测量,具体操作如下:39、网关节点i到网关节点j的网络延迟为dij:40、dij=t1,ij-to,ij41、其中ti,ij表示节点i发送请求的时间,t1,ij表示网关节点j的网络延迟为dij。当前簇向别的簇发送n条测试数据,统计网络延迟的平均值42、43、然后将网关节点的大小进行从小到大排序。网关节点会依据排序结果,连接到具有最低网络延迟的两个对方网关节点。44、所述的基于并行生成广播方法,实现簇内和簇间节点的快速数据广播,具体步骤如下:45、簇内的全节点连接,在区块链系统内部,网关节点采用改进的chord网络协议来维护内部网关的信息和连接,以实现内部网关之间的互联互通。chord是一种主流的分布式哈希表技术,可以通过定位存储特定数据的节点来实现节点之间的通信,并实现所有网关的负载均衡,从而避免热点网关的出现,提高整个跨链通信的鲁棒性。簇内的轻节点则选取距离其最近的全节点进行连接,在进行通信时,轻节点则通过与其最近的全节点进行信息传递。46、簇内全节点会找到簇内的网关节点作为与簇外部通信的出口。获取网关节点后,网关节点会使用广度优先搜索(breath first search,bfs)生成树算法,具体流程如图四所示,从网关节点开始,逐层遍历与该节点临近的节点,并将这些节点依次加入生成树中。然后,从这些已加入生成树的节点开始,再逐层遍历与它们临近的未加入生成树的节点,将这些节点加入生成树中,直到遍历完所有节点为止,以网关节点为根节点在同一簇中的其余节点之间建立网络连接,以实现数据的路由和高效通信。47、在构建网络拓扑的基础上,本发明还提供一种并行生成树广播方法,实现簇内和簇间节点的快速广播,用以提高广播效率。首先数据将由一个网关节点发送到其他簇的网关节点,其他的网关节点接收到数据,就会沿着生成树发送到同一簇内的节点。并行生成树方法实现了网络的并行化广播,可以有效减少交易或者区块在网络中的传播轮次,实现全网数据的快速同步,从而提升区块链p2p网络的网络速率。48、本发明具有以下优点:49、1、通过对网关节点和簇内节点的选取,构建动态分层拓扑构建方法充分考虑节点间的网络延迟,确保了节点数据的高速传输;进一步的,本发明设计并行生成树广播算法,能够实现不同簇之间的信息的快速传输,在每个区块链簇内,形成一个自治化的网络拓扑,构建多级分治网络拓扑,提供高效的区块链交互,具有较高的扩展性和鲁棒性。50、2、pstb方法实现了网络的并行化广播,可以有效减少交易或者区块在网络中的传播轮次,实现全网数据的快速同步,从而提升区块链p2p网络的网络速率。另一方面,pstb方法进行了节点间的数据交互机制优化,从而减少节点间数据验证与交互的冗余流程,以减少整体区块链p2p网络的数据同步时间。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1