一种基于区块链技术的5G电力网络节点信任管理方法与流程

文档序号:33704514发布日期:2023-03-31 21:01阅读:43来源:国知局
一种基于区块链技术的5G电力网络节点信任管理方法与流程
一种基于区块链技术的5g电力网络节点信任管理方法
技术领域
1.本发明涉及区块链网络技术领域,特别涉及一种基于区块链技术的5g电力网络节点信任管理方法。


背景技术:

2.近年来,5g电力网络的优势越发明显,各领域广泛利用电力网络技术。电力生产、电力输送、电力维护等均无法脱离电力网络。虽然电力网络的功能越来越强大,但其在安全方面仍然面临着严峻的挑战。在面对受众多、覆盖面广、交互迅速的背景情况下,传统的信任管理方法已不能满足当前的发展需求,无法保证网络中节点的可信安全。


技术实现要素:

3.针对上述问题,本技术提出一种基于区块链技术的5g电力网络节点信任管理方法,
4.电力系统与电力设备构成的电力通信网络中引入信誉机制,电力通信网络中的节点节点之间交互后产生信任证据,由信任证据计算节点的信誉值,并根据节点的信誉值以及奖惩机制得到的奖励和惩罚,计算当前节点的总分,将网络中总分最高前n个节点作为维护共识机制的节点;
5.当网络中产生新的块结构的时候,多个节点对生成的块结构进行联合验证,并根据验证结果对生成该块结构的节点进行奖励或惩罚;
6.当新节点加入网络时,向其附近的节点申请区块信息获取初始的信任值。
7.进一步的,在通信网络中,将基站作为统计节点和决策节点,将网络中算力大于设定阈值的节点作为候选节点,其余节点作为普通节点,从候选节点中选取维护共识机制的节点;普通节点可以参与区块的分发和消息的转发以及为候选节点投票;本发明中统计节点的作用是收集统计节点信息,并记录整个网络中节点的投票情况,决策节点的作用是综合投票情况与多种因素来选出代表节点。
8.进一步的,一个候选节点的信誉值根据其与普通节点的交互进行计算平均值,在一次检测中当候选节点与普通节点交互过程中发生丢包和篡改,则候选节点得分为0分;当候选节点与普通节点交互过程中发生延迟,则候选节点得分为0.5分;当候选节点与普通节点交互过程中未发生丢包、篡改以及延迟,则候选节点的得分为1分。
9.进一步的,网络中所有普通节点在每一轮投票选举的过程中,若参与投票则给与该普通节点信誉值作为奖励,若该普通节点弃权则降低该普通节点的信誉值,当普通节点信誉值低于设定阈值时,普通节点不能获取区块信息。
10.进一步的,设定当普通节点信誉值低于设定阈值时,普通节点不能获取区块信息的期限为r个网络运行周期,在r个周期结束后恢复普通节点的权限;若普通节点第m次出现信誉值低于设定阈值,则普通节点不能获取区块信息的期限为m
×
r个网络运行周期。
11.进一步的,选择维护共识机制的节点的过程中节点的总分的计算包括:
[0012][0013]
其中,q为该候选节点的总分数,αi为投票给候选节点的第i个节点的权重,si为投票给候选节点的第i个节点在投票环节所获得的票数,n为给候选节点投票的节点数量;t为该候选节点的信誉值,e为节点的能量初始值,初始能量值的大小与节点本身在电力网络中的重要程度有关,例如枢纽中转站的能量大于普通中转站的能量,本领域技术人员根据节点重要程度进行设置;ε为衰减因子。
[0014]
进一步的,块结构包括区块号、区块头和区块体,其中区块头包括负区块哈希值以及区块的版本、时间戳、难度、随机数以及默克尔树根,区块体包括节点id、信誉值、能量、节点类型以及可疑节点列表。
[0015]
本发明首先对区块链中原有的dpos共识机制进行改进,利用信誉值选举出节点维护网络中的信任信息;其次,改进区块链中原有的块结构,将网络安全的信任信息存储进区块之中,同时生产块由多个节点联合验证,保证生成区块的正确性与可溯性,随后在网络运行中,当有新节点加入网络时,可向网络中原有节点申请获得区块信息,快速获得网络中的信任信息,确定可信交互节点。
附图说明
[0016]
图1为本发明一种基于区块链技术的5g电力网络节点信任管理方法的流程示意图;
[0017]
图2为本发明采用的改进dpos共识机制流程图;
[0018]
图3为本发明区块链结构图;
[0019]
图4为本发明中默克尔树的构建示意图。
具体实施方式
[0020]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0021]
本发明提供一种基于区块链技术的5g电力网络节点信任管理方法,包括以下步骤:
[0022]
电力系统与电力设备构成的电力通信网络中引入信誉机制,电力通信网络中的节点节点之间交互后产生信任证据,由信任证据计算节点的信誉值,并根据节点的信誉值以及奖惩机制得到的奖励和惩罚,计算当前节点的总分,将网络中总分最高前n个节点作为维护共识机制的节点;
[0023]
当网络中产生新的块结构的时候,多个节点对生成的块结构进行联合验证,并根据验证结果对生成该块结构的节点进行奖励或惩罚;本发明中所述的奖励和惩罚是指,在节点成功发布区块时给与根据节点在网络中的工作量给与网络中节点一定奖励,例如给与作为生成区块的节点度量为3的奖励,给与参与本次区块生成的节点度量为1的奖励,本发明中以鼓励候选节点竞选代表节点的方向对节点进行奖励,具体量度和奖励值本领域技术
人员可以根据实际情况进行设置;本发明中若发现代表节点发布无效区块、恶意篡改区块、区块发布不成功、未在规定时间发布区块,决策节点直接将该节点剔除网络,并从候补代表节点中选出排名前三的节点,再通过节点综合性能来选出代表节点,节点综合性能越大,当选代表节点机会越大。
[0024]
当新节点加入网络时,向其附近的节点申请区块信息获取初始的信任值。
[0025]
如图1,本实施例提供了一种基于区块链技术的5g电力网络节点信任管理方法,需要经过三个步骤,具体包括:
[0026]
改进dpos共识机制,将信任值与奖惩机制引入到dpos共识机制中,以选出生成区块的代理节点;
[0027]
设计出一种新的区块结构,改进区块链中原有的块结构,以存储网络中的安全信息;
[0028]
新节点快速确定可交互节点,当新节点加入到网络时,可通过读取区块中的信息,快速获得可信交互节点。
[0029]
本发明中采用的块结构如图3所示,包括区块号、区块头和区块体,其中区块号根据前一个块结构的区块号确定;区块头包括父区块哈希值,版本、时间戳、难度、随机数以及默克尔树根;区块体由当前区块在创建和验证过程中所有网络中所有节点所采集到的信息组成,至少包括节点id、信誉值、能量、节点类型以及可疑节点列表。
[0030]
默克尔树根则是为了解决传统的数据完整性验证较慢的问题。通常如果数据量较少的情况下,会在数据传输前计算数据的哈希值并跟在数据的尾部,接收者在收到数据后为了验证数据的完整性,会将数据再一次哈希计算并与数据尾部所跟着的哈希值进行对比,若两者相同则代表数据没有被修改,反之则受到了篡改。但在数据量过大的情况下,显然这种方式不太合适,会浪费大量资源。因此默克尔树用于被验证数据的完整性的结构就被提了出来,它可以快速汇总的验证区块链中数据的完整性与正确性,其本质是一颗基于哈希值建立的二叉树,建立过程如图4所示,将每个节点的数据进行hash运算之后两两组合之后进一步进行hash,直到最后等到一个hash值,如图4,若有四个节点,每个节点的数据依次为d0~d3,每个数据值分别进行hash,分别得到n0~n3,将两个hash并联拼接之后再进行hash运算。在后续数据验证时,只需要验证根哈希是否发生改变即可判断数据是否被修改,如果被篡改,还能快速定位到被篡改的位置。如若n5处的数据被篡改,可以确定的是肯定是n2或者n3的数据被更改,然后以此类推,快速定位。
[0031]
在通信网络中引入信誉机制,网络节点之间交互后产生信任证据,由信任证据计算得到信誉值。根据信誉值与相应的奖惩机制等因素,对区块链中原有的dpos共识机制进行改进,选举出维护共识机制的节点,具体流程如图2所示,具体包括以下步骤:
[0032]
根据节点的算力将网络中的节点划分为普通节点和候选节点,其中候选节点可以被选举为可以生成区块的代理节点,本领域技术人员在筛选候选节点时,可以设定一个阈值,大于该阈值的为候选节点,否则为普通节点,也可以将网络中算力在前n%的节点设置为候选节点。
[0033]
将网络中的基站作为统计节点节点和决策节点,基站监督网络中候选节点的交互行为作为候选节点的行为证据,根据行为证据计算候选节点的信任值,在本实施例中将候选节点每次与普通节点的交互记录下来,为每次交互赋予一定分值,将所有交互的平均分
值作为当前候选节点的信任值,作为一种可选的实施方式,其中候选节点的行为证书为每次与普通节点交互过程中丢包、延迟、篡改等恶意行为,当检测到候选节点发生丢包与篡改时,当前候选节点该次的得分为0分,当检测到候选节点发生延迟行为时,当前候选节点该次的得分为0分,当没有检测到候选节点存在恶意行为时,当前候选节点该次的得分为1分,被检测的候选节点的分值为候选节点每次与普通节点之间交互得分累积值除以检测技术,即候选节点与普通节点交互的平均得分。
[0034]
普通节点对候选节点进行投票,然后候选节点之间进行相互投票选举,并根据候选节点当前的信任值、得票数以及当前候选节点的能量计算综合得分,该得分可以表示为:
[0035][0036]
其中,q为该候选节点的总分数,αi为投票给候选节点的第i个节点的权重,si为投票给候选节点的第i个节点在投票环节所获得的票数,n为给候选节点投票的节点数量;t为该候选节点的信誉值,e为节点的能量初始值,其中初始能量值的大小与其本身在电力网络中的重要程度有关,如枢纽中转站的能量是大于普通中转站的能量,ε为衰减因子,随时间衰减的因子,是每个节点具体根据当前节点类型以及时间设置的一个衰减函数,例如两个节点能量均随着时间衰减,但是重要程度越大的节点衰减越慢,并且在一个时间周期内进行衰减,当当前时间周期结束,则将节点能量初始值重置,并重新按照衰减函数进行衰减,周而复始。
[0037]
根据每个候选节点的得分,从中选择得分最高的n个节点成为代理节点,代理节点轮流成为区块链中的记账节点并生成区块;
[0038]
当节点生成一个新的区块后,网络中至少两个代理节点对生成的区块进行验证,通过验证结果对生成区块的代理节点进行奖惩,即验证生成的区块合法则奖励生成区块的代理节点一定信任值,否则扣除生成区块的代理节点的信任值,扣除的值和奖励的值根据实际需要由用户设定,当完成一个区块的生成和验证后,完成一个网络周期。
[0039]
为了解决网络中的节点投票不积极问题,在这里引入针对非代理节点和非候选节点投票奖惩机制。在节点完成投票后,给予节点一定的信任值奖励。若节点拒绝投票,则给予节点一定的信任值惩罚,且当节点的信任值低到一定阈值时,则惩罚节点无法获得网络中的区块信息,无法得到系统提供的服务,且设置了一个冷静期,如十轮网络运行时间,在过了冷静期以后,被惩罚节点才能重新回到网络中获得服务;若该节点不配合投票,再一次被惩罚出网络则会有更长一段时间的冷静期,如二十轮网络运行时间,以此类推。
[0040]
当节点完成投票后网络中的统计节点和决策节点,即基站,会将候选节点按照其总分s从高到低进行排序,并从其中选择最高的一些节点作为代理节点的集合,例如将排名前50%作为代理节点,并且代理节点按照分数从高到低的顺序轮流生成区块。
[0041]
本实施例给出一种新的区块结构去存储网络中的安全信息,同时生产的新块由多个节点联合验证,保证区块的正确性与可溯性。区块链的结构图,如图3所示,一个区块由三大部分组成,区块号、区块头与区块体,其中区块号决定了区块链的顺序;区块头中存有父区块哈希值与区块信息,其中父区块哈希值表面决定了当前区块的父区块,区块信息包含有版本号、时间戳、难度、随机数与默克尔树根;版本号是由使用区块的版本决定的;时间戳则代表区块生成的先后顺序;难度与随机数则是由密码学安全生成的,以保证区块链的随
机性与安全性;默克尔树根则是为了解决传统的数据完整性验证较慢的问题。通常如果数据量较少的情况下,会在数据传输前计算数据的哈希值并跟在数据的尾部,接收者在收到数据后为了验证数据的完整性,会将数据再一次哈希计算并与数据尾部所跟着的哈希值进行对比,若两者相同则代表数据没有被修改,反之则受到了篡改。但在数据量过大的情况下,显然这种方式不太合适,会浪费大量资源。因此默克尔树用于被验证数据的完整性的结构就被提了出来,它可以快速汇总的验证区块链中数据的完整性与正确性,其本质是一颗基于哈希值建立的二叉树,建立过程如图4所示。首先将底层的数据进行哈希计算,得出的哈希值进行两两哈希计算,最终得到一个哈希树根即默克尔树根。在后续数据验证时,只需要验证根哈希是否发生改变即可判断数据是否被修改,如果被篡改,还能快速定位到被篡改的位置。如若n5处的数据被篡改,可以确定的是肯定是n2或者n3的数据被更改,然后以此类推,快速定位。
[0042]
针对区块链的特性与网络安全的需求,对区块体中的内容加以改进,由当前区块在创建和验证过程中网络节点通信范围内其他网络节点所收集到的信息组成(如网络节点id值、信任值、可疑节点行为类型及监听时间、可疑节点列表、节点状态)。其中d0-dn表示网络节点从网络中采集得到的数据,对d0进行哈希得到哈希值n0,n4又是n0与n1哈希得到的值,就这样进行两两哈希,最后会得到一个根哈希值并放入区块头中,可用来快速判断数据有没有被篡改。
[0043]
在新的网络交互轮次开始时,新的区块由代理节点排名第一节点产生,随着网络交互轮次的递增,新的区块由代理节点按照排名顺序轮流产生,当一代理节点生成区块时,其他代理节点会随机产生验证或者不验证的选择,但至少有2个以上的代理节点进行验证,以防止代理节点联合作恶。
[0044]
当新区块产生以后,其他代理节点会选择性进行验证。若验证结果为正确,则给予生成区块的代理节点一定的信任值奖励,且将新产生的块连接至区块链并广播至网络中的其他普通节点;若验证结果为错误,则给予生成区块链的代理节点一定的信任值惩罚,且将该节点排至代理节点末端,使其在一定时间不能再参与生成区块。
[0045]
当有新节点加入网络中时,可向网络中原有节点申请获得区块信息获得相应的信任值信息,快速得到网络中的信任信息,确定可信交互节点,具体包括以下步骤:
[0046]
1.当新节点加入到网络时,向基站发送申请加入网络消息。
[0047]
当新的节点想要加入网络,与网络中其他节点交互时。应首先向基站节点申请加入网络证书,当基站收到该申请时,向该新节点同意其加入并将该信息广播至网络中的所有结点。此时,则表明该网络结点已成功加入该网络。
[0048]
2.附近结点接收到基站结点的信息后,向新结点发送区块信息。
[0049]
当新结点的附近结点接收到基站的广播信息,确认新节点加入网络。随后其附近结点向新节点发送区块信息。
[0050]
3.新节点得到块信息以后,可选择区域内可信节点进行交互。
[0051]
新结点得到块信息以后,即可得到网络中所有的安全信息。若加入网络前已确定交互对象,则可根据区块信息中相关结点的信任值确定是否要与其进行交互;若加入网络前并无交互对象,可选择区块信息中信任值较高的结点进行交互。
[0052]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以
理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1