【技术实现步骤摘要】
一种区块链网络拓扑动态建立和数据传输优化方法
[0001]本专利技术属于区块链网络层
,具体涉及一种区块链网络拓扑动态建立和数据传输优化方法。
技术介绍
[0002]随着加密货币价值的不断提升,作为底层技术的区块链逐渐兴起。区块链集成了数学、对等网络、加密算法和共识算法等各种技术和工具,以实现无需任何第三方参与的可信应用。由于区块链具有去中心化、匿名性和不可篡改性等多个特性,已经被广泛应用于金融、政务、能源和物联网等领域,展现出广阔的应用前景。但是,区块链技术在广泛应用过程中,区块链的效率严重影响其进一步发展。区块链节点之间的交易数据和区块数据的传输过程通过区块链网络层实现,区块链网络层为区块链提供底层的网络支撑,搭建节点之间的数据传输环境。由于区块链网络存在频繁的交易数据和区块数据的传播和验证,而且网络层机制对区块链的数据传输效率和安全性有着重要的影响。因此,本专利技术针对区块链网络层的网络拓扑和数据传输机制进行研究,对于缩短区块链数据传输时间以及提升区块链的效率具有重要意义。
[0003]在区块链网络拓扑和数据传输机制方面,已有方案设计了一个简化的结构化网络拓扑及其数据传输方法。针对网络拓扑的改进方案,具体利用Kruskal算法或Prim算法生成一个树形网络拓扑结构,并且将可能产生恶意行为的节点置于树型拓扑的叶子节点,使其不参与数据的转发,从而缩短数据传输时间并且提高安全性。此外,对于数据传输机制的优化方案是在不同节点并发传输的基础上,针对节点之间数据传输时间不相等的情况设计了通信树作为一种数据传输 ...
【技术保护点】
【技术特征摘要】
1.一种区块链网络拓扑动态建立和数据传输优化方法,基于区块链网络层构建,其特征在于:首先,通过可信拓扑选取方法,完成可信节点的拓扑构建;其次,通过树型拓扑构建算法,完成对所有节点的树型拓扑构建;之后,基于所有节点的树型拓扑结构,通过转发路径选择策略,指导节点的数据转发顺序,完成数据传输。2.根据权利要求1所述的一种区块链网络拓扑动态建立和数据传输优化方法,其特征在于:所述的可信拓扑选取方法具体过程如下:获取区块链网络拓扑结构并抽象为图结构,区块链节点为图节点,区块链节点之间的路径抽象为边,并且将两个节点之间的边赋予权值属性,每个节点还具有可信值属性,其中,权值指节点之间的数据传输时间,可信值是利用可信值函数计算得到;可信值阈值是从可信值函数的取值范围[0,2]中设定的,通过多次实验来确定可信值阈值的值,将所有节点的可信值与可信值阈值相比较,大于可信值阈值的是可信节点,否则为不可信节点;选取可信节点的拓扑结构,所述可信节点的拓扑结构由可信节点以及可信节点之间的边构成。3.根据权利要求2所述的一种区块链网络拓扑动态建立和数据传输优化方法,其特征在于:所述的可信值函数具体公式如下:C
i
(s,u,n)表示节点的可信值,i表示节点的ID,s表示截止构建可信节点拓扑结构时,节点交易成功的次数,u表示截止构建可信节点拓扑结构时,节点交易失败的次数,n表示节点在构建可信节点拓扑结构完成后,自上次交易失败到本次交易时累计的连续交易成功次数,其中具体公式如下:u
x
表示节点本次交易结束后总的交易失败次数,u
x
‑1表示节点上一次交易结束后总的交易失败次数,n表示节点在构建可信节点拓扑结构完成后,自上次交易失败到本次交易时累计的连续交易成功次数。若本次交易成功则n加1,若本次交易失败则n置为0。4.根据权利要求1所述的一种区块链网络拓扑动态建立和数据传输优化方法,其特征在于:所述树型拓扑构建算法的工作过程如下:对可信节点和其拓扑结构利用Sollin算法来生成可信树型拓扑,再将不可信节点作为叶子节点按策略加入可信树型拓扑中,生成所有节点的树型拓扑;所述不可信节点的加入策略是首先从区块链拓扑中选择该不可信节点的
所有邻居节点,以及该不可信节点与所有邻居节点之间的边的权值,然后从所有邻居节点中选出所有可信节点,最后选择该不可信节点与可信邻居节点中具有最小权值的边加入可信树型拓扑。5.根据权利要求1所述的一种区块链网络拓扑动态建立和数据传输优化方法,其特征在于:所述的转发路径选择策略具体为:首先,从所有节点的树型拓扑中获取节点之间的权值和连通度参数,其中权值是指节点之间的数据传输时间,连通度为节点的邻居节点个数;然后,以最小并发传输时间为目标,为每个节点生成其转发路径表,所述转发路径表有序存储其所有邻居节点的ID和邻居节点所在子树的最小并发传输时间,节点的转发路径表的格式为{(第1邻居节点ID、第1邻居节点所在子树的最小并发传输时间),(第2邻居节点ID、第2邻居节点所在子树的最小并发传输时间),
…
},节点转发路径表中邻居节点的顺序是按照邻居节点所在子树的最小并发传输时间由大到小排列的,节点的邻居节点所在子树是假设删除节点与邻居节点直接相连的边,包含邻居节点所在的树便是邻居节点所在子树;之后,节点在转发数据之前先检查自己是否是数据发起节点,如果是发起节点,那么直接按照转发路径表中的顺序依次向邻居节点转发数据;如果节点不是发起节点,则节点不再向给它发送数据的节点转发数据,按照转发路径表依次选取其余节点转发数据,直到所有节点都接收到数据,那么本次数据转发完成。6.根据权利要求5所述的一种区块链网络拓扑动态建立和数据传输优化方法,其特征在于:转发路径表的建立方法是随机选择一个节点作为根节点,得到以该节点为根节点的树型拓扑,然后经过自底向上和自顶向下两个过程建立每个节点的转发路径表。7.根据权利要求1所述的一种区块链网络拓扑动态建立和数据传输优化方法,其特征在于:针对区块链网络中节点发生变化的情况,利用拓扑动态优化策略局部调整节点发生变化所影响的树型拓扑结构,用...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。