CN115314391B - 一种区块链网络拓扑动态建立和数据传输优化方法 - Google Patents
一种区块链网络拓扑动态建立和数据传输优化方法 Download PDFInfo
- Publication number
- CN115314391B CN115314391B CN202210941626.7A CN202210941626A CN115314391B CN 115314391 B CN115314391 B CN 115314391B CN 202210941626 A CN202210941626 A CN 202210941626A CN 115314391 B CN115314391 B CN 115314391B
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- topology
- trusted
- edge
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 99
- 238000005457 optimization Methods 0.000 title claims abstract description 57
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000008859 change Effects 0.000 claims abstract description 44
- 238000010276 construction Methods 0.000 claims description 19
- 230000000977 initiatory effect Effects 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 14
- 238000010187 selection method Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000012217 deletion Methods 0.000 claims description 2
- 230000037430 deletion Effects 0.000 claims description 2
- 238000002474 experimental method Methods 0.000 claims description 2
- 238000004904 shortening Methods 0.000 abstract description 4
- 230000006399 behavior Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/44—Star or tree networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1059—Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种区块链网络拓扑动态建立和数据传输优化方法,用于解决区块链网络的数据传输效率低的问题。首先设计了可信值函数计算区块链节点的可信值,综合考虑节点的可信值和节点之间的数据传输时间构建树型拓扑。之后基于树型拓扑设计转发路径选择策略,以最小并发传输时间为目标,建立每个节点关于其邻居节点转发顺序的转发路径表。根据节点的加入行为、节点的离开行为、节点的可信值变化和节点之间的权值变化情况,设计了拓扑动态优化策略局部调整拓扑结构。本发明采用转发路径选择策略可以加快节点的数据转发,使用拓扑动态优化策略能够降低节点状态变化对拓扑调整的影响,有效缩短数据传输时间并减少额外开销。
Description
技术领域
本发明属于区块链网络层技术领域,具体涉及一种区块链网络拓扑动态建立和数据传输优化方法。
背景技术
随着加密货币价值的不断提升,作为底层技术的区块链逐渐兴起。区块链集成了数学、对等网络、加密算法和共识算法等各种技术和工具,以实现无需任何第三方参与的可信应用。由于区块链具有去中心化、匿名性和不可篡改性等多个特性,已经被广泛应用于金融、政务、能源和物联网等领域,展现出广阔的应用前景。但是,区块链技术在广泛应用过程中,区块链的效率严重影响其进一步发展。区块链节点之间的交易数据和区块数据的传输过程通过区块链网络层实现,区块链网络层为区块链提供底层的网络支撑,搭建节点之间的数据传输环境。由于区块链网络存在频繁的交易数据和区块数据的传播和验证,而且网络层机制对区块链的数据传输效率和安全性有着重要的影响。因此,本发明针对区块链网络层的网络拓扑和数据传输机制进行研究,对于缩短区块链数据传输时间以及提升区块链的效率具有重要意义。
在区块链网络拓扑和数据传输机制方面,已有方案设计了一个简化的结构化网络拓扑及其数据传输方法。针对网络拓扑的改进方案,具体利用Kruskal算法或Prim算法生成一个树形网络拓扑结构,并且将可能产生恶意行为的节点置于树型拓扑的叶子节点,使其不参与数据的转发,从而缩短数据传输时间并且提高安全性。此外,对于数据传输机制的优化方案是在不同节点并发传输的基础上,针对节点之间数据传输时间不相等的情况设计了通信树作为一种数据传输方法,每次选择数据发起节点作为通信树的根节点,从根节点开始由上往下优先选取与当前通信树中节点相连接的权值最小边的节点加入,从而实现二叉树的构造,进一步缩短数据传输时间。
上述区块链网络拓扑和数据传输机制设计方案存在无法很好地维护网络中节点发生变化后的拓扑结构以及数据传输方法效率低等问题。具体来说,上述方案在区块链网络拓扑方面,根据节点的信任度和权值等因素,仅考虑对当前网络中的节点以及节点间的连接状态生成网络的树型拓扑结构,简化网络整体的拓扑连接,从而缩短节点进行数据传输的总时间。但是,对于区块链网络中的节点状态发生变化,例如节点的加入行为、节点的离开行为、节点的可信值变化和节点之间的权值变化情况,只能重新构建网络的树型拓扑结构,导致网络的额外开销增大。此外,上述方案在数据传输机制方面,对数据发起节点构建通信树来实现节点之间的数据转发。虽然上述方法能够缩短将数据传输给所有节点的总时间,但是每次都为数据发起节点构建通信树的这种方法效率较低。
发明内容
针对以上问题,本发明综合考虑节点的可信程度、节点之间的数据传输时间和节点的连通度,其中,设计了可信值函数来计算节点的可信值,在生成的树型拓扑基础上,设计一种拓扑动态优化策略和转发路径选择策略。通过拓扑动态优化策略,按照节点的加入行为、节点的离开行为、节点的可信值变化和节点之间的权值变化的情况设计不同的拓扑动态优化策略,针对区块链网络中节点发生变化的4种情况,分别根据其相对应的策略局部调整其网络的树型拓扑结构,减少重构全网拓扑所带来的额外开销,提升区块链数据传输效率。通过转发路径选择策略,以最小并发传输时间为目标,为每个节点生成一个转发路径表,表中按照转发顺序存储其邻居节点的ID和邻居节点所在子树的最小并发传输时间。在转发路径表生成之后,由每个节点负责维护自己的路径表,不需要每次为数据发起节点生成路径表,有效节省了时间。转发路径选择策略指导节点将数据转发给其邻居节点的转发顺序,缩短数据传输时间,减少网络中的冗余数据。综上所述,本发明可以降低节点状态变化情况对拓扑调整的影响,并使用转发路径表可以加快节点的数据转发,有效缩短数据传输时间并减少额外开销。
具体技术方案如下:
通过可信拓扑选取方法,完成可信节点的拓扑构建;通过树型拓扑构建算法,完成对所有节点的树型拓扑构建;基于所有节点的树型拓扑结构,通过转发路径选择策略,指导节点的数据转发顺序,完成数据传输。
所述的可信拓扑选取方法具体过程如下:
获取区块链网络拓扑结构并抽象为图结构,区块链节点为图节点,区块链节点之间的路径抽象为边,并且将两个节点之间的边赋予权值属性,每个节点还具有可信值属性,其中,权值指节点之间的数据传输时间,可信值是利用可信值函数计算得到;可信值阈值是从可信值函数的取值范围[0,2]中设定的,通过多次实验来确定可信值阈值的值,将所有节点的可信值与可信值阈值相比较,大于可信值阈值的是可信节点,否则为不可信节点;选取可信节点的拓扑结构,所述可信节点的拓扑结构由可信节点以及可信节点之间的边构成。
所述的可信值函数具体公式如下:
Ci(s,u,n)表示节点的可信值。i表示节点的ID,s表示截止构建可信节点拓扑结构时,节点交易成功的次数,u表示截止构建可信节点拓扑结构时,节点交易失败的次数,n表示节点在构建可信节点拓扑结构完成后,自上次交易失败到本次交易时累计的连续交易成功次数。其中具体公式如下:
ux表示节点本次交易结束后总的交易失败次数,ux-1表示节点上一次交易结束后总的交易失败次数,n表示节点在构建可信节点拓扑结构完成后,自上次交易失败到本次交易时累计的连续交易成功次数。若本次交易成功则n加1,若本次交易失败则n置为0。
所述树型拓扑构建算法的工作过程如下:对可信节点和其拓扑结构利用Sollin算法来生成可信树型拓扑,再将不可信节点作为叶子节点按策略加入可信树型拓扑中,生成所有节点的树型拓扑;所述不可信节点的加入策略是首先从区块链拓扑中选择该不可信节点的所有邻居节点,以及该不可信节点与所有邻居节点之间的边的权值,然后从所有邻居节点中选出所有可信节点,最后选择该不可信节点与可信邻居节点中具有最小权值的边加入可信树型拓扑。
所述的转发路径选择策略具体为:
首先,从所有节点的树型拓扑中获取节点之间的权值和连通度参数,其中权值是指节点之间的数据传输时间,连通度为节点的邻居节点个数;
然后,以最小并发传输时间为目标,为每个节点生成其转发路径表,所述转发路径表有序存储其所有邻居节点的ID和邻居节点所在子树的最小并发传输时间,节点的转发路径表的格式为{(第1邻居节点ID、第1邻居节点所在子树的最小并发传输时间),(第2邻居节点ID、第2邻居节点所在子树的最小并发传输时间),…},节点转发路径表中邻居节点的顺序是按照邻居节点所在子树的最小并发传输时间由大到小排列的,节点的邻居节点所在子树是假设删除节点与邻居节点直接相连的边,包含邻居节点所在的树便是邻居节点所在子树;
之后,节点在转发数据之前先检查自己是否是数据发起节点,如果是发起节点,那么直接按照转发路径表中的顺序依次向邻居节点转发数据;如果节点不是发起节点,则节点不再向给它发送数据的节点转发数据,按照转发路径表依次选取其余节点转发数据,直到所有节点都接收到数据,那么本次数据转发完成。
转发路径表的建立方法是随机选择一个节点作为根节点,得到以该节点为根节点的树型拓扑,然后经过自底向上和自顶向下两个过程建立每个节点的转发路径表。
针对区块链网络中节点发生变化的情况,利用拓扑动态优化策略局部调整节点发生变化所影响的树型拓扑结构,用于减少重构全网拓扑所带来的额外开销,提升区块链数据传输效率。
所述拓扑动态优化策略具体包括:
拓扑动态优化策略分为4个子策略,在节点状态发生变化时,首先要判断节点状态变化属于哪一种情况,然后针对不同的情况采取相应的拓扑动态优化策略;
(1)节点加入网络:节点加入网络分为可信节点加入和不可信节点加入:
可信节点加入时,选取该节点与可信邻居节点相连的所有边加入所有节点的树型拓扑,此时树型拓扑可能存在回路,然后对所有节点的树型拓扑采用破圈法,生成新的树型拓扑;
不可信节点加入时,从不可信节点与可信邻居节点相连的所有边中选取权值最小边,将该边加入所有节点的树型拓扑,生成新的树型拓扑;
(2)节点离开网络:节点的离开行为根据是否为叶子节点分为两种情况:
如果离开节点是叶子节点,那么删除节点及其对应边;
如果离开节点是非叶子节点,在删除离开的非叶子节点及其对应边之后,树型拓扑分裂为多棵不连通的子树,这些子树的构成分为两种情况,一种是由多个节点构成,另一种是仅由一个节点构成;首先采用Sollin算法对由第一种情况构成的多棵不连通的子树进行树型拓扑的构建,对新选取的边进行判断,如果新选取的边包含不可信节点,则该边不能作为树型拓扑的边,继续对不连通的子树运行Sollin算法,直到新选取的边不含不可信节点;对第二种情况的子树,选取这个子树节点与其可信邻居节点直接相连的所有边中的权值最小边,将该边加入第一种情况生成的树型拓扑,生成新的树型拓扑;所述新选取的边是指执行Sollin 算法后选取的连接多棵子树的边;
(3)节点可信值变化:节点的可信值发生变化分为由可信节点变为不可信节点,不可信节点变为可信节点两种情况;
当节点由可信节点变为不可信节点时,判断该节点是否为叶子节点;如果该节点是叶子节点,则其拓扑结构不发生变化,节点属性变为不可信节点;如果该节点不是叶子节点,那么先对该节点执行节点离开拓扑动态优化策略,然后对可信值变化后的不可信节点执行节点加入拓扑动态优化策略,生成新的树型拓扑;
当节点由不可信节点变为可信节点时,对该节点的可信邻居节点和不可信邻居节点采取不同的调整策略:首先将可信邻居节点与该节点相连的所有边加入树型拓扑,然后运行破圈法;对该节点的所有不可信邻居节点分别执行节点离开拓扑动态优化策略和节点加入拓扑动态优化策略,生成新的树型拓扑;
(4)节点之间的权值变化:节点之间的权值发生变化可以分为两种情况,
一是拓扑结构不受节点之间权值变化影响的情况:
当节点之间权值变化的边是树型拓扑的边并且权值变小时,树型拓扑结构不变,只更新该边的权值;当节点之间权值变化的边不是树型拓扑的边并且权值变大时,区块链网络拓扑结构不变,只更新该边的权值;
二是拓扑结构受节点之间权值变化影响的情况:
根据权值变化边连接的两个节点中是否存在不可信节点分为两种情况:
1)针对权值变化边连接的两个节点不存在不可信节点情况:
如果该边是树型拓扑的边并且权值变大,更新该边的权值,在树型拓扑中删除该边,对分裂后的多棵子树采用Sollin算法重新选边;若新选取的边连接的节点都是可信节点,那么选择该边连接分裂的子树,生成新的树型拓扑;若新选取的边连接的节点存在不可信节点,则选择原先删除的边来连接分裂的子树,此时树型拓扑结构不变;
如果该边不是树型拓扑的边并且权值变小,更新区块链网络拓扑中该边的权值,将该边加入树型拓扑,对构成回路的树型拓扑执行破圈法,生成新的树型拓扑结构;
2)针对权值变化边连接的两个节点存在一个不可信节点情况:
如果该边是树型拓扑的边并且权值变大,更新该边的权值,在树型拓扑中删除该边,对分裂后的多棵子树采用Sollin算法重新选边;若新选取的边连接的节点只有一个不可信节点,那么选择该边连接分裂的子树,生成新的树型拓扑;若新选取的边连接的节点都是不可信节点,则选择原先删除的边来连接分裂的子树,此时树型拓扑结构不变;
如果该边不是树型拓扑的边并且权值变小,更新区块链网络拓扑中该边的权值,对该边所连接的不可信节点先执行节点离开拓扑动态优化策略,然后再对该节点执行节点加入拓扑动态优化策略,生成新的树型拓扑。
有益效果
本发明提出了一种区块链网络拓扑动态优化方法,针对节点的状态变化,例如节点的加入行为、节点的离开行为、节点的可信值变化和节点之间的权值变化的情况设计不同的拓扑动态优化子策略,分别根据其相应的子策略局部调整其网络的树型拓扑结构,同时更新变化的参数,减少重构全网拓扑所带来的额外开销,提升区块链数据传输效率。
本发明提出了一种区块链网络转发路径选择方法,指导区块链节点向其邻居节点转发数据的先后顺序。在不向接收数据端的节点转发数据的前提下,节点按照转发路径表向它的邻居节点依次进行数据的转发,无需每次为数据发起节点生成转发路径,有效缩短了数据传输时间并且提高了传输效率。
本发明提出了一个区块链网络树型拓扑构建方法,通过设计的可信值函数和可信值阈值实现节点可信值的计算并选取可信拓扑,然后基于可信拓扑利用Sollin算法进行可信树型拓扑的构建,最后将不可信节点作为叶子节点加入可信树型拓扑中,从而生成所有节点的树型拓扑。树型拓扑可以简化原本的网络连接,同时保证数据在传输过程中的安全性。
本发明提出了一个区块链数据传输优化模型,模型由可信拓扑选取、树型拓扑构建、转发路径选择和拓扑动态优化四个模块组成,用于优化网络的拓扑结构和加快数据的传输。
附图说明
图1区块链数据传输模型图;
图2可信拓扑选取流程图;
图3树型拓扑构建算法流程图;
图4转发路径选择策略流程图;
图5拓扑动态优化策略流程图;
图6转发路径表建立过程图;
图7拓扑动态优化示例图。
具体实施方式
以下对区块链网络拓扑优化和转发策略设计方案从总体模型到具体方法进行了详细说明。首先本发明提出了一个区块链数据传输模型,模型由四个部分组成;然后提出了一个可信拓扑选取方法,完成可信节点的拓扑构建;其次提出了一个树型拓扑构建算法,实现对所有节点的树型拓扑结构的生成;之后提出了一种转发路径选择策略,指导节点的数据转发顺序;最后提出了一种拓扑动态优化策略,可以减少重构全网拓扑所带来的额外开销。
1.区块链数据传输模型
一个区块链的基本架构由数据层、网络层、共识层、激励层、合约层和应用层六层组成,区块链数据传输模型是基于区块链网络层构建的。区块链数据传输模型分为可信拓扑选取、树型拓扑构建、转发路径选择和拓扑动态优化四个模块,如图1所示。
在区块链数据传输模型中,将区块链网络拓扑抽象为图,节点之间的路径抽象为边,并且将连接两个节点之间的边赋予权值属性。每个节点还具有可信值属性,其可信值是利用可信值函数来进行计算的。区块链数据传输模型中的流程如下所述。首先,模型获取网络拓扑结构,对所有节点的可信值与可信值阈值相比较,选取可信节点的拓扑结构;然后对可信节点和其拓扑结构利用Sollin算法来生成可信树型拓扑,再将不可信节点作为叶子节点按策略加入可信树型拓扑中,生成所有节点的树型拓扑;之后为每个节点建立转发路径表,从数据发起节点开始转发数据,按照转发路径表中的顺序依次转发给其邻居节点,从而完成对所有节点的数据传输;最后对网络中状态变化的节点,按照拓扑动态优化策略局部调整树型拓扑结构。
2.可信拓扑选取
区块链节点通过可信值函数计算自身的可信值,将其可信值与可信值阈值进行比较,大于可信值阈值的是可信节点,反之就是不可信节点。划分可信节点和不可信节点的目的是使可信节点承担数据传输任务,向其邻居节点转发数据,而不可信节点只是接收数据,不对数据进行转发,从而避免由不可信节点担任转发节点而引起数据篡改和破坏的安全问题。可信拓扑选取流程如图2所示。首先,获取网络拓扑和节点的相关信息,然后根据可信值函数计算节点的可信值,最后将区块链网络中的节点划分为可信节点和不可信节点之后,选取可信节点及其拓扑连接,得到可信拓扑。
3.树型拓扑构建
本发明设计树型拓扑构建算法,利用最小生成树算法生成树型拓扑,简化原本复杂的网络拓扑结构。该算法的流程如图3所示,主要分为两个过程。首先,将选取的可信拓扑和不可信节点作为该算法输入,其中包含节点的可信值和节点之间的权值参数。采用Sollin算法对可信拓扑构建最小生成树,生成关于可信节点的可信树型拓扑。然后,将在选取可信拓扑时未选择的不可信节点作为可信树型拓扑的叶子节点加入,加入策略是首先从区块链拓扑中选择该不可信节点的所有邻居节点以及对应边的权值,然后从所有邻居节点中选出所有可信节点,最后选择该不可信节点与可信邻居节点中具有最小权值的边加入树型拓扑。
4.转发路径选择
在转发路径选择策略中,将发起交易数据或区块数据的节点指定为数据发起节点,该节点相当于树型拓扑中的根节点,那么从数据发起节点开始进行数据的转发。获取节点之间的权值和连通度参数,其中权值是指节点之间的数据传输时间,连通度为节点的邻居节点个数。数据转发规则是不同节点可以实现并发数据传输,同一节点只能一对一进行数据传输,即在同一时间段内只能向一个节点转发数据。基于上述条件和参数,该策略以最小并发传输时间为目标,为每个节点建立转发路径表,转发路径表有序存储其邻居节点的ID和邻居节点所在子树的最小并发传输时间,图6中节点n1的邻居节点n3所在子树是包含节点n2、n3、n4和n5的子树。其中,并发传输时间在《一种基于P2P技术的通信算法研究》论文中提出。当节点按照不同的转发顺序进行转发时,所得并发传输时间不同。最小并发传输时间指当按照某种转发顺序进行转发时所得并发传输时间,相比其它转发顺序的并发传输时间具有的最小值。当节点按照其邻居节点所在子树的最小并发传输时间由大到小的顺序进行转发时所得并发传输时间为最小并发传输时间。以图6中计算节点n3所在子树的最小并发传输时间为例,此时n3已得到n2所在子树的最小并发传输时间为2和n5所在子树的最小并发传输时间为0,并且已知w3,5和w3,5的权值,所以节点n3所在子树的最小并发传输时间为 max{2+w2,3,0+w2,3+w3,5}=6。每个节点负责维护自己的转发路径表,不需要每次为数据发起节点生成路径表,有效节省了时间等开销。
转发路径表的建立方法是随机选择一个节点作为根节点,得到以该节点为根节点的树型拓扑,然后经过自底向上和自顶向下两个过程建立每个节点的转发路径表。
自底向上建立节点转发路径表的过程是从树型拓扑的叶子节点逐步向根节点方向计算节点的子节点所在子树的最小并发传输时间,子节点向父节点发送计算结果,父节点存储结果并依次计算以及向上发送结果,直到根节点为止。如图6所示,随机选择树型拓扑中的n1作为根节点,以自底向上建立n1的转发表为例介绍该过程。由于n4、n5和n6是叶子节点,所以其子树的最小并发传输时间为0,分别将节点名称和0发送给它们的父节点n2、n3和n0。n2收到子节点n4的信息按由大到小存储到转发表,然后n2计算其所在子树的最小并发传输时间为w2,4=2,并将n2和2发送给n3。n3按照最小并发传输时间由大到小的顺序存储到转发表。在n3收到子节点n2和n5的信息之后,n3根据转发表的转发顺序构建以n3为根节点,以n2和n5为子节点的通信树,计算支路最大传输时间,得到n3所在子树的最小并发传输时间6,发送给n1节点并排序。同理可得n0所在子树的最小并发传输时间,n1节点的转发表建立完成。
当自底向上建立转发路径表的过程结束后,除根节点外的其他节点的转发路径表中只缺少一项由父节点作为子节点时其所在子树的最小并发传输时间。因此,采用自顶向下过程补全其他节点的转发路径表。自顶向下建立转发路径表的过程是根据每个节点转发路径表中已存储的节点信息,从树型拓扑的根节点逐步向叶子节点方向计算将父节点看作子节点时其所在子树的最小并发传输时间,完成每个节点转发路径表的建立。在同一转发表中,如果存在多个子节点的最小并发传输时间相同,那么子节点所在子树连通度大的子节点优先存储。如果连通度相同,优先存储与节点相连权值小的子节点。以图6中的n3为例介绍自顶向下转发表的建立过程。n3的父节点是n1,将父节点n1看作n3的子节点时,n1所在子树包含节点n1、n0和n6,计算该子树的最小并发传输时间为w0,1+W0=5,其中W0是n1转发表中存储的n0所在子树的最小并发传输时间,将n1和5发送给n3节点并排序,如图6中n3的虚线方框所示,此时n3得到完整的转发表。同理可得其他节点的完整转发表。
在转发路径选择策略的流程中,首先获取每个节点之间的权值参数,同时计算节点的连通度作为其节点的属性,然后为每个节点生成其转发路径表,之后节点在转发数据之前先检查自己是否是数据发起节点,如果是发起节点,那么直接按照转发路径表中的顺序依次向邻居节点转发数据;如果节点不是发起节点,则节点不再向给它发送数据的节点转发数据,按照转发路径表依次选取其余节点转发数据,最后直到所有节点都接收到数据,那么本次数据转发完成。节点的转发路径选择策略能够让所有节点接收到数据,同时减少冗余数据的产生,有效缩短数据传输的总时间。转发路径选择策略流程如图4所示。以图6为例介绍数据转发过程,假设发起节点为n1,n1按照转发路径表的顺序先向n3转发数据,然后向n0转发数据。当n3接收到数据后,由于n3已经从n1接收到数据,所以n3不再向n1发送数据,之后n3按照转发路径表中除n1外的其余节点依次选取n2和n5转发数据。
5.拓扑动态优化
区块链网络中的节点会存在加入网络或离开网络这种行为,所以面对节点的状态变化需要对网络的树型拓扑进行调整。本发明针对节点的加入行为、节点的离开行为、节点的可信值变化和节点之间的权值变化情况设计了不同的拓扑动态优化策略,分别根据区块链节点4 种状态变化按照其相应的策略局部调整树型拓扑结构,其拓扑动态优化策略流程如图5所示。拓扑动态调整策略与对全网拓扑进行重构的方法相比,其花费的代价更小,同时也减少调整全网拓扑所带来的额外开销。
拓扑动态优化策略分为4个子策略,在节点状态发生变化时,首先要判断节点状态变化属于哪一种情况,然后针对不同的情况采取相应的拓扑动态优化策略,拓扑动态优化策略示例如图7所示。
(1)节点加入网络:节点加入网络分为可信节点加入和不可信节点加入:
可信节点加入时,选取该节点与可信邻居节点相连的所有边加入所有节点的树型拓扑,此时树型拓扑可能存在回路,然后对所有节点的树型拓扑采用破圈法,生成新的树型拓扑;图7的可信节点n7加入网络时,选取n7与可信邻居节点n5相连的边加入树型拓扑,由于树型拓扑没有回路,所以直接得到n7加入后的树型拓扑。
不可信节点加入时,从不可信节点与可信邻居节点相连的所有边中选取权值最小边,将该边加入所有节点的树型拓扑,生成新的树型拓扑;
(2)节点离开网络:节点的离开行为根据是否为叶子节点分为两种情况:
如果离开节点是叶子节点,那么删除节点及其对应边;
如果离开节点是非叶子节点,在删除离开的非叶子节点及其对应边之后,树型拓扑分裂为多棵不连通的子树,这些子树的构成分为两种情况,一种是由多个节点构成,另一种是仅由一个节点构成;首先采用Sollin算法对由第一种情况构成的多棵不连通的子树进行树型拓扑的构建,对新选取的边进行判断,如果新选取的边包含不可信节点,则该边不能作为树型拓扑的边,继续对不连通的子树运行Sollin算法,直到新选取的边不含不可信节点;对第二种情况的子树,选取这个子树节点与其可信邻居节点直接相连的所有边中的权值最小边,将该边加入第一种情况生成的树型拓扑,生成新的树型拓扑;所述新选取的边是指执行Sollin 算法后选取的连接多棵子树的边;图7的非叶子节点n2离开拓扑优化策略是从网络删除n2以及与其他节点的连接关系,之后采用Sollin算法对由多个节点构成的多棵不连通子树构建树型拓扑,因为只有一棵由多个节点{n0,n1,n3,n5,n6}构成的连通子树,所以不需要利用 Sollin算法进行构建,之后将由一个节点n4构成的子树加入到树型拓扑,选取n3和n4相连的边作为树型拓扑的边。
(3)节点可信值变化:节点的可信值发生变化分为由可信节点变为不可信节点,不可信节点变为可信节点两种情况;
当节点由可信节点变为不可信节点时,判断该节点是否为叶子节点;如果该节点是叶子节点,则其拓扑结构不发生变化,节点属性变为不可信节点;如果该节点不是叶子节点,那么先对该节点执行节点离开拓扑动态优化策略,然后对可信值变化后的不可信节点执行节点加入拓扑动态优化策略,生成新的树型拓扑;图7中n1的可信值发生变化,导致n1由可信节点变为不可信节点,那么先判断n1不是叶子节点,然后对可信节点n1采取节点离开拓扑动态优化策略,再对可信值变化后的不可信节点n1采取节点加入拓扑动态优化策略,生成新的树型拓扑,从而局部调整与n1相关的拓扑结构。
当节点由不可信节点变为可信节点时,对该节点的可信邻居节点和不可信邻居节点采取不同的调整策略:首先将可信邻居节点与该节点相连的所有边加入树型拓扑,然后运行破圈法;对该节点的所有不可信邻居节点分别执行节点离开拓扑动态优化策略和节点加入拓扑动态优化策略,生成新的树型拓扑;
(4)节点之间的权值变化:节点之间的权值发生变化可以分为两种情况,
一是拓扑结构不受节点之间权值变化影响的情况:
当节点之间权值变化的边是树型拓扑的边并且权值变小时,树型拓扑结构不变,只更新该边的权值;当节点之间权值变化的边不是树型拓扑的边并且权值变大时,区块链网络拓扑结构不变,只更新该边的权值;
二是拓扑结构受节点之间权值变化影响的情况:
根据权值变化边连接的两个节点中是否存在不可信节点分为两种情况:
1)针对权值变化边连接的两个节点不存在不可信节点情况:
如果该边是树型拓扑的边并且权值变大,更新该边的权值,在树型拓扑中删除该边,对分裂后的多棵子树采用Sollin算法重新选边;若新选取的边连接的节点都是可信节点,那么选择该边连接分裂的子树,生成新的树型拓扑;若新选取的边连接的节点存在不可信节点,则选择原先删除的边来连接分裂的子树,此时树型拓扑结构不变;
如果该边不是树型拓扑的边并且权值变小,更新区块链网络拓扑中该边的权值,将该边加入树型拓扑,对构成回路的树型拓扑执行破圈法,生成新的树型拓扑结构;
2)针对权值变化边连接的两个节点存在一个不可信节点情况:
如果该边是树型拓扑的边并且权值变大,更新该边的权值,在树型拓扑中删除该边,对分裂后的多棵子树采用Sollin算法重新选边;若新选取的边连接的节点只有一个不可信节点,那么选择该边连接分裂的子树,生成新的树型拓扑;若新选取的边连接的节点都是不可信节点,则选择原先删除的边来连接分裂的子树,此时树型拓扑结构不变;
如果该边不是树型拓扑的边并且权值变小,更新区块链网络拓扑中该边的权值,对该边所连接的不可信节点先执行节点离开拓扑动态优化策略,然后再对该节点执行节点加入拓扑动态优化策略,生成新的树型拓扑。图7中n4和n5之间边的权值变小,更新该边的权值,由于该边不是树型拓扑的边,所以对该边所连接的不可信节点n4执行节点离开拓扑动态优化策略,生成新的树型拓扑,然后再对n4执行节点加入拓扑动态优化策略,选取n4和n5之间的边加入新的树型拓扑。
Claims (6)
1.一种区块链网络拓扑动态建立和数据传输优化方法,基于区块链网络层构建,其特征在于:
首先,通过可信拓扑选取方法,完成可信节点的拓扑构建;
其次,通过树型拓扑构建算法,完成对所有节点的树型拓扑构建;
之后,基于所有节点的树型拓扑结构,通过转发路径选择策略,指导节点的数据转发顺序,完成数据传输;
针对区块链网络中节点发生变化的情况,利用拓扑动态优化策略局部调整节点发生变化所影响的树型拓扑结构,用于减少重构全网拓扑所带来的额外开销,提升区块链数据传输效率;
所述拓扑动态优化策略具体包括:
拓扑动态优化策略分为4个子策略,在节点状态发生变化时,首先要判断节点状态变化属于哪一种情况,然后针对不同的情况采取相应的拓扑动态优化策略;
(1)节点加入网络:节点加入网络分为可信节点加入和不可信节点加入:
可信节点加入时,选取该节点与可信邻居节点相连的所有边加入所有节点的树型拓扑,此时树型拓扑可能存在回路,然后对所有节点的树型拓扑采用破圈法,生成新的树型拓扑;
不可信节点加入时,从不可信节点与可信邻居节点相连的所有边中选取权值最小边,将该边加入所有节点的树型拓扑,生成新的树型拓扑;
(2)节点离开网络:节点的离开行为根据是否为叶子节点分为两种情况:
如果离开节点是叶子节点,那么删除节点及其对应边;
如果离开节点是非叶子节点,在删除离开的非叶子节点及其对应边之后,树型拓扑分裂为多棵不连通的子树,这些子树的构成分为两种情况,一种是由多个节点构成,另一种是仅由一个节点构成;首先采用Sollin算法对由第一种情况构成的多棵不连通的子树进行树型拓扑的构建,对新选取的边进行判断,如果新选取的边包含不可信节点,则该边不能作为树型拓扑的边,继续对不连通的子树运行Sollin算法,直到新选取的边不含不可信节点;对第二种情况的子树,选取这个子树节点与其可信邻居节点直接相连的所有边中的权值最小边,将该边加入第一种情况生成的树型拓扑,生成新的树型拓扑;所述新选取的边是指执行Sollin算法后选取的连接多棵子树的边;
(3)节点可信值变化:节点的可信值发生变化分为由可信节点变为不可信节点,不可信节点变为可信节点两种情况;
当节点由可信节点变为不可信节点时,判断该节点是否为叶子节点;如果该节点是叶子节点,则其拓扑结构不发生变化,节点属性变为不可信节点;如果该节点不是叶子节点,那么先对该节点执行节点离开拓扑动态优化策略,然后对可信值变化后的不可信节点执行节点加入拓扑动态优化策略,生成新的树型拓扑;
当节点由不可信节点变为可信节点时,对该节点的可信邻居节点和不可信邻居节点采取不同的调整策略:首先将可信邻居节点与该节点相连的所有边加入树型拓扑,然后运行破圈法;对该节点的所有不可信邻居节点分别执行节点离开拓扑动态优化策略和节点加入拓扑动态优化策略,生成新的树型拓扑;
(4)节点之间的权值变化:节点之间的权值发生变化可以分为两种情况,一是拓扑结构不受节点之间权值变化影响的情况:
当节点之间权值变化的边是树型拓扑的边并且权值变小时,树型拓扑结构不变,只更新该边的权值;当节点之间权值变化的边不是树型拓扑的边并且权值变大时,区块链网络拓扑结构不变,只更新该边的权值;
二是拓扑结构受节点之间权值变化影响的情况:
根据权值变化边连接的两个节点中是否存在不可信节点分为两种情况:
1)针对权值变化边连接的两个节点不存在不可信节点情况:
如果该边是树型拓扑的边并且权值变大,更新该边的权值,在树型拓扑中删除该边,对分裂后的多棵子树采用Sollin算法重新选边;若新选取的边连接的节点都是可信节点,那么选择该边连接分裂的子树,生成新的树型拓扑;若新选取的边连接的节点存在不可信节点,则选择原先删除的边来连接分裂的子树,此时树型拓扑结构不变;
如果该边不是树型拓扑的边并且权值变小,更新区块链网络拓扑中该边的权值,将该边加入树型拓扑,对构成回路的树型拓扑执行破圈法,生成新的树型拓扑结构;
2)针对权值变化边连接的两个节点存在一个不可信节点情况:
如果该边是树型拓扑的边并且权值变大,更新该边的权值,在树型拓扑中删除该边,对分裂后的多棵子树采用Sollin算法重新选边;若新选取的边连接的节点只有一个不可信节点,那么选择该边连接分裂的子树,生成新的树型拓扑;若新选取的边连接的节点都是不可信节点,则选择原先删除的边来连接分裂的子树,此时树型拓扑结构不变;
如果该边不是树型拓扑的边并且权值变小,更新区块链网络拓扑中该边的权值,对该边所连接的不可信节点先执行节点离开拓扑动态优化策略,然后再对该节点执行节点加入拓扑动态优化策略,生成新的树型拓扑。
2.根据权利要求1所述的一种区块链网络拓扑动态建立和数据传输优化方法,其特征在于:
所述的可信拓扑选取方法具体过程如下:
获取区块链网络拓扑结构并抽象为图结构,区块链节点为图节点,区块链节点之间的路径抽象为边,并且将两个节点之间的边赋予权值属性,每个节点还具有可信值属性,其中,权值指节点之间的数据传输时间,可信值是利用可信值函数计算得到;可信值阈值是从可信值函数的取值范围[0,2]中设定的,通过多次实验来确定可信值阈值的值,将所有节点的可信值与可信值阈值相比较,大于可信值阈值的是可信节点,否则为不可信节点;选取可信节点的拓扑结构,所述可信节点的拓扑结构由可信节点以及可信节点之间的边构成。
3.根据权利要求2所述的一种区块链网络拓扑动态建立和数据传输优化方法,其特征在于:
所述的可信值函数具体公式如下:
Ci(s,u,n)表示节点的可信值,i表示节点的ID,s表示截止构建可信节点拓扑结构时,节点交易成功的次数,u表示截止构建可信节点拓扑结构时,节点交易失败的次数,n表示节点在构建可信节点拓扑结构完成后,自上次交易失败到本次交易时累计的连续交易成功次数,其中具体公式如下:
ux表示节点本次交易结束后总的交易失败次数,ux-1表示节点上一次交易结束后总的交易失败次数,n表示节点在构建可信节点拓扑结构完成后,自上次交易失败到本次交易时累计的连续交易成功次数;若本次交易成功则n加1,若本次交易失败则n置为0。
4.根据权利要求1所述的一种区块链网络拓扑动态建立和数据传输优化方法,其特征在于:
所述树型拓扑构建算法的工作过程如下:对可信节点和其拓扑结构利用Sollin算法来生成可信树型拓扑,再将不可信节点作为叶子节点按策略加入可信树型拓扑中,生成所有节点的树型拓扑;所述不可信节点的加入策略是首先从区块链拓扑中选择该不可信节点的所有邻居节点,以及该不可信节点与所有邻居节点之间的边的权值,然后从所有邻居节点中选出所有可信节点,最后选择该不可信节点与可信邻居节点中具有最小权值的边加入可信树型拓扑。
5.根据权利要求1所述的一种区块链网络拓扑动态建立和数据传输优化方法,其特征在于:
所述的转发路径选择策略具体为:
首先,从所有节点的树型拓扑中获取节点之间的权值和连通度参数,其中权值是指节点之间的数据传输时间,连通度为节点的邻居节点个数;
然后,以最小并发传输时间为目标,为每个节点生成其转发路径表,所述转发路径表有序存储其所有邻居节点的ID和邻居节点所在子树的最小并发传输时间,节点的转发路径表的格式为{(第1邻居节点ID、第1邻居节点所在子树的最小并发传输时间),(第2邻居节点ID、第2邻居节点所在子树的最小并发传输时间),…},节点转发路径表中邻居节点的顺序是按照邻居节点所在子树的最小并发传输时间由大到小排列的,节点的邻居节点所在子树是假设删除节点与邻居节点直接相连的边,包含邻居节点所在的树便是邻居节点所在子树;
之后,节点在转发数据之前先检查自己是否是数据发起节点,如果是发起节点,那么直接按照转发路径表中的顺序依次向邻居节点转发数据;如果节点不是发起节点,则节点不再向给它发送数据的节点转发数据,按照转发路径表依次选取其余节点转发数据,直到所有节点都接收到数据,那么本次数据转发完成。
6.根据权利要求5所述的一种区块链网络拓扑动态建立和数据传输优化方法,其特征在于:
转发路径表的建立方法是随机选择一个节点作为根节点,得到以该节点为根节点的树型拓扑,然后经过自底向上和自顶向下两个过程建立每个节点的转发路径表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210941626.7A CN115314391B (zh) | 2022-08-06 | 2022-08-06 | 一种区块链网络拓扑动态建立和数据传输优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210941626.7A CN115314391B (zh) | 2022-08-06 | 2022-08-06 | 一种区块链网络拓扑动态建立和数据传输优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115314391A CN115314391A (zh) | 2022-11-08 |
CN115314391B true CN115314391B (zh) | 2024-04-26 |
Family
ID=83861720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210941626.7A Active CN115314391B (zh) | 2022-08-06 | 2022-08-06 | 一种区块链网络拓扑动态建立和数据传输优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115314391B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115883577B (zh) * | 2022-11-24 | 2024-04-19 | 北京工业大学 | 一种区块链网络分簇及数据传输方法 |
CN117499017B (zh) * | 2023-12-31 | 2024-03-22 | 湖南天河国云科技有限公司 | 区块链网络传输方法、系统及存储介质和终端设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013993A (zh) * | 2007-02-12 | 2007-08-08 | 北京航空航天大学 | 优化树形拓扑覆盖网络路由的方法 |
CN112104558A (zh) * | 2020-10-30 | 2020-12-18 | 上海交通大学 | 区块链分发网络的实现方法、系统、终端及介质 |
CN112600699A (zh) * | 2020-12-07 | 2021-04-02 | 华中科技大学 | 基于区块链跨链交互的动态覆盖网络拓扑构建方法及装置 |
CN113973021A (zh) * | 2021-07-13 | 2022-01-25 | 华中科技大学 | 一种图式区块链的网络传输优化装置及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201701592D0 (en) * | 2017-01-31 | 2017-03-15 | Nchain Holdings Ltd | Computer-implemented system and method |
-
2022
- 2022-08-06 CN CN202210941626.7A patent/CN115314391B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013993A (zh) * | 2007-02-12 | 2007-08-08 | 北京航空航天大学 | 优化树形拓扑覆盖网络路由的方法 |
CN112104558A (zh) * | 2020-10-30 | 2020-12-18 | 上海交通大学 | 区块链分发网络的实现方法、系统、终端及介质 |
CN112600699A (zh) * | 2020-12-07 | 2021-04-02 | 华中科技大学 | 基于区块链跨链交互的动态覆盖网络拓扑构建方法及装置 |
CN113973021A (zh) * | 2021-07-13 | 2022-01-25 | 华中科技大学 | 一种图式区块链的网络传输优化装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115314391A (zh) | 2022-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115314391B (zh) | 一种区块链网络拓扑动态建立和数据传输优化方法 | |
Li et al. | Fissione: A scalable constant degree and low congestion dht scheme based on kautz graphs | |
Potluri et al. | Hybrid metaheuristic algorithms for minimum weight dominating set | |
CN108540204B (zh) | 利用快速收敛蚁群算法的卫星网络拓扑生成方法 | |
CN110417883B (zh) | 一种应用于区块链的点对点网络结构的设计方法 | |
Gai et al. | Broose: a practical distributed hashtable based on the de-bruijn topology | |
CN109792406B (zh) | 服务器集群中的消息传递方法、装置及存储介质 | |
CN111258824B (zh) | 一种云计算中基于人工势场的增量检查点容错方法 | |
Li et al. | Multi-objective topology planning for microwave-based wireless backhaul networks | |
CN109246190A (zh) | 网络寻址方法、数据编辑方法、装置及存储介质 | |
CN104615703A (zh) | 一种结合Rete算法的RDF数据分布式并行推理方法 | |
CN112800065A (zh) | 基于改进区块存储结构的高效数据检索方法 | |
CN111798234A (zh) | 一种轻量级区块链系统及构造方法 | |
Galluccio et al. | Georoy: A location-aware enhancement to Viceroy peer-to-peer algorithm | |
CN115883577B (zh) | 一种区块链网络分簇及数据传输方法 | |
CN101360055B (zh) | 具有常数跳路由特性的p2p网络信息资源定位方法 | |
CN114095373B (zh) | 基于知识图谱的联盟链管理方法、系统、设备及存储介质 | |
CN103118113B (zh) | 一种对等网络及其网络资源定位方法 | |
Wang et al. | An improved ant-based algorithm for data aggregation in wireless sensor networks | |
Hsu et al. | Linear recursive networks and their applications in distributed systems | |
CN114021319A (zh) | 一种基于改进桥接系数的指挥控制网络关键边识别方法 | |
Chen et al. | Multipartite Entanglement for the Quantum Internet | |
CN112437059A (zh) | 面向组网群体智能系统的协同防御策略收发方法 | |
Makikawa et al. | Balance and proximity-aware Skip Graph construction | |
CN111131028A (zh) | 基于度约束最小生成树的域间路由恢复方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |