一种基于信誉机制和DPOS的区块链跨区域认证方法

文档序号:25605619发布日期:2021-06-25 13:34阅读:174来源:国知局
一种基于信誉机制和DPOS的区块链跨区域认证方法
一种基于信誉机制和dpos的区块链跨区域认证方法
技术领域
1.本发明属于区块链领域,涉及一种基于信誉机制和dpos的区块链跨区域认证方法。


背景技术:

2.车联网使用新一代信息和通信技术来实现车辆和车辆,车辆和周围环境,车辆和人员之间的协作通信。可以用于判断车辆之间的相对位置和车辆在周围环境中的位置,提高乘客的驾驶体验和安全保障。但是,一旦车辆将本身作为节点接入到网络中,就将自己暴露在了公开的环境中,其网络通信更容易受到攻击者篡改、监听或接收到虚假消息,接收错误的指示。行业发展却始终受到隐私保护、数据安全、多方利益平衡等问题的掣肘,区块链技术的出现可谓恰逢其时,一定程度上为车联网行业的进一步发展带来了新机遇。
3.在车联网和区块链技术的结合过程中,存在着一些难点和局限性。
4.首先是车联网的动态性问题,在车联网中,每辆车都作为一个频繁移动的节点接入到网络中。在某个局部网络环境内,每秒的节点数量和状态变化频率可能高达成百上千次,而物理环境中不同区域的网络结构存在差异性,各个区域有着自身的网络架构。这就要求区块链网络能够兼容不同区域环境下的网络结构,有着较强的伸缩性和扩展性,并且节点的状态变化要能够及时的反馈到网络中。
5.其次是车载设备的计算能力的问题,车辆的车载cpu的性能普遍偏低,无法支持像比特币等区块链系统采用的pow共识机制,需要设计一种新的共识方案,既能保证共识效率和车辆的动态变化率匹配,又要有足够的安全性,能够有效抵挡恶意节点发起的攻击。
6.因此,本发明提出一种基于信誉机制和dpos的区块链跨区域认证方案,能够有效解决在车辆在不同区域间动态性变化的情况下,保证区块链网络的正常运行。


技术实现要素:

7.有鉴于此,本发明的目的在于提供一种基于信誉机制和dpos的区块链跨区域认证方法。能够解决车辆在车联网中多个网络区域中的安全认证问题,同时采用信誉机制对节点的表现进行评分,提高了节点的参与性和优秀节点的收益。
8.为达到上述目的,本发明提供如下技术方案:
9.一种基于信誉机制和dpos的区块链跨区域认证方法,该方法为:
10.引入主链与区域链的交叉结合,主链负责记录车辆在全网的信誉记录,各个地区的区域链负责车辆在对应区域的交互行为;引入节点信誉机制,对基站节点和车辆节点在运行过程中的行为记录进行信誉度评分,具体包括以下步骤:
11.s1:初始化全网所有节点信誉记录,全网所有基站节点共同组成主链,同一个区域的基站节点组成区域链;
12.s2:需要入网的车辆节点发送认证请求,认证通过后作为投票节点加入到所在区域的链中,采用dpos共识机制产块;
13.s3:基站节点作为代表节点,区域内的车辆作为投票节点,车辆根据自身信誉评分对基站节点进行投票;
14.s4:主链进行dpos共识,根据得票数统计结果,产生主链的代表节点,负责在主链上生产区块,记录车辆的移动信息,负责实现车辆到新区域的安全认证。
15.可选的,在所述s1中,具体包括:
16.s11:初始化全网基站节点id,每个节点的节点id为“区域代号

节点序号”;
17.s12:区域代号相同的节点采用dpos机制构成各自的区域链,其中各个基站节点作为备选节点参与竞争产块,所有基站节点共同构成主链,根据区域链的投票结果选择高信誉节点生产主链区块。
18.可选的,在所述s2中,具体包括:
19.s21:认证阶段,车辆节点发送认证请求,包含车辆自身的唯一设备识别码suci至基站节点;基站节点转发至认证中心,向认证中心服务器认证;
20.s22:认证服务器认证成功后返回由suci生成的临时标识guti,并将向基站节点返回成功认证消息,基站收到成功认证消息后为车辆节点生成钱包地址和公私钥并返回给车辆,车辆作为节点加入本区域的链中。
21.可选的,在所述s3中,具体包括:
22.s31:车辆节点的信誉评分p
i
代表车辆i在一次dpos共识过程中,所能够投出的票数,其票数由两部分构成:车辆i在各个区域中的交易次数和在各个区域中的参与投票轮数,p
i
的值由公式(1)计算得出:
[0023][0024]
信誉值由区域信誉分,车辆交易数量,车辆投票轮次与车辆行为表现共同决定;
[0025]
t
ir
表示车辆的交易数量,v
ir
表示车辆投票的轮数,w
t
表示交易量的权重,w
t
表示投票轮数的权重,b
i
表示车辆的行为表现分数,初始值为1,每轮投票完成后,b
i
随车辆行为变化;w
r
由公式(2)计算,
[0026][0027]
其中,bad
r
代表区域r产块出错次数,bad
r
代表所有区域产块出错次数,good
r
代表区域r成功产块次数,good
r
代表所有区域成功产块次数;
[0028]
s32:各个区域每次产块阶段,每个车辆节点都能根据自身信誉评分对基站节点进行投票,投票结束后,根据公式(3)计算各个基站节点的得票数:
[0029][0030]
其中p
i
代表车辆节点i的投票数,e
j
代表基站节点j的信誉分数,由公式(4)计算得到:
[0031][0032]
其中,k,a,b为控制信誉分数增长的参数,可根据系统需要进行调整,q代表产块失败数量,p代表产块成功的数量;
[0033]
s33:系统计算得票总数,选择得票数前n的节点作为代理节点负责区块生产,该批次节点都完成生产后,进行下一运行周期,继续步骤s3。
[0034]
可选的,在所述s4中,具体包括:
[0035]
s41:主链产块阶段,选择每个区域链中信誉分数最高的节点参与主链dpos共识投票;
[0036]
s42:参与共识的节点,根据自身信誉度分数进行互相投票,投票结束后,计算各个基站的得票数总和;
[0037]
s43:得票数前n’的节点作为代理节点负责主链区块生产,代理节点计算每个区域链最新区块的哈希值,并生成哈希merkel树,记录在主链区块中;
[0038]
s43:区域链中节点需要对区块进行校验时,根据区块id,在merkle树中找到对应的叶子节点,将叶子节点哈希值与区块哈希值进行比对完成校验。
[0039]
可选的,在所述s5中,具体包括:
[0040]
s51:车辆跨区域移动时,向新进入区域发送认证请求,请求包含车辆所在上个区域链id,车辆识别码guti,最新生成区块的哈希值,并用自身私钥签名;
[0041]
s52:区域链收到认证请求后,首先验证车辆签名,再从主链维护的guti表中验证车辆身份,然后根据主链区块中merkle树哈希值与请求中的哈希值对比,一致则通过认证。
[0042]
本发明的有益效果在于:
[0043]
1)本发明具有计算开销低,内存空间占用小的优点,能够有效节约能源,适用于低功耗,低算力的车载计算设备。
[0044]
2)本发明引入节点信誉值机制,对于车辆节点,提高了其在区域链中的活跃度,促进了车联网中的车辆交互;对于基站节点,对节点的表现进行有效监管,提高了产块失败节点再次负责生产的难度。
[0045]
3)本发明采用主链和区域链交叉的结构形式,不同区域链各自监管自身负责区域,降低了全网节点的开销,降低了整个网络的冗余;
[0046]
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
[0047]
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
[0048]
图1为系统模型结构图;
[0049]
图2为本发明涉及到的代表节点选取、动态生产区块的详细流程图;
[0050]
图3为主链merkle树生成的结构示意图;
[0051]
图4为校验区块时,对比叶子节点哈希的示意图;
具体实施方式
[0052]
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书
所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0053]
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
[0054]
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
[0055]
如图1所示,本文提出一种基于信誉机制和dpos的区块链跨区域认证方案,该方案的基本思想是,首先将全网根据区域划分为各个区域链,各个区域内部实行车辆自治,车辆间信息交互由区域链负责;全网所有基站节点组成主链,主链负责车辆在不同区域间移动时实现安全认证及保证各个区域链的不可篡改性;
[0056]
详细工作流程如图2所示,具体各步骤的实施如下:
[0057]
步骤1:根据区域分布情况,同区域节点采用dpos机制构成各自的区域链,其中各个基站节点作为备选节点参与竞争产块,所有基站节点共同构成主链,计算出各个节点的初始信誉值及各个区域信誉值;
[0058]
步骤2:认证阶段,车辆节点发送认证请求,包含车辆自身的唯一设备识别码suci至基站节点。基站节点转发至认证中心,向认证中心服务器认证;认证服务器认证成功后返回由suci生成的临时标识guti,并将向基站节点返回成功认证消息,基站收到成功认证消息后为车辆节点生成钱包地址和公私钥并返回给车辆,车辆作为节点加入本区域的链中;
[0059]
步骤3:每个区域链生产区块前会进行代表节点的选举,选举规则如下:首先计算出该区域中每个车辆节点的信誉分数p,区域的信誉值w
r
,同时全区域车辆节点对支持的基站节点进行投票,投票结束后,对每个节点的信誉权重得票进行降序排序,选取序列中排名前n的节点作为代表节点生产区块;
[0060]
此步骤的算法描述如下所示:
[0061][0062][0063]
步骤4:每次区域链产生新块时,区域链代表节点将该区块内容发送到主链代表节点,主链代表节点计算每个区域链的最新区块的哈希值,采用merkle树结构,将merkle树记录在主链区块中;如图3所示,t1周期时,区域链a,b,c各自产块为a1,b1,c1,主链在t1内产生的区块包含的merkle树t1内容为(hash
a1
,hash
b1
,hash
c1
);t2周期时,区域链a,b,c各自产块为a2,b2,c2,主链在t2内产生的区块包含的merkle树t2内容为(hash
a2
,hash
b2
,hash
c2
);t3周期时,区域链a,b产块为a3,b3,区域链c未产块,主链merkle树取各个区域链的最新区块,区域链c最新区块为c2,故主链在t3内产生的区块包含的merkle树t3内容为(hash
a3
,hash
b3
,hash
c2
);t4周期时,区域链a,c产块为a4,c3,区域链b未产块,主链merkle树取各个区域链的最新区块,区域链b最新区块为b3,故主链在t3内产生的区块包含的merkle树t4内容为(hash
a4
,hash
b3
,hash
c3
);
[0064]
步骤5:车辆向新进入区域发送认证请求,请求包含车辆所在上个区域链id,车辆识别码guti,最新生成区块的哈希值,并用自身私钥签名,消息内容为
[0065]
request=sig(areaid,guti,blockhash)
[0066]
区域链收到认证请求后,首先验证车辆签名,再从主链维护的guti表中验证车辆身份,然后根据主链区块中merkle树哈希值与请求中的哈希值对比,一致则通过认证;如图4所示,收到的areaid为area6,与对应的node12叶子节点哈希对比,若哈希值相同则完成认证。
[0067]
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1