本发明涉及车联网数据共享,特别是涉及一种基于两层区块链的车联网数据共享方法和系统。
背景技术:
1、车联网是一个交换信息的平台,其能通过不同的通信媒体在汽车与其周围环境之间交换信息,是物联网技术与智能交通的整合。根据车联网产业技术创新战略联盟的定义,车联网依据约定好的数据交互标准和通信协议,在车与周边事物之间,将通过射频识别等技术手段获得的车辆行驶情况、车外道路和行人情况等信息传送到云端,然后分析、筛选、计算和处理,最后将准确的信息反馈给车辆,具有跟踪定位、精准导航等多项功能,虽然新兴的区块链技术已经应用到车联网系统中,并且已经取得了很好的效果,但现有的运用在车联网系统中的区块链技术依然存在一些问题,比如,现有的区块链技术中通常采用工作量证明算法或者传统的拜占庭容错算法,导致车辆之间的数据共享存在较大的延迟;现有的区块链技术没有采用奖惩机制,导致车辆参与数据共享的积极性不高甚至会导致车辆恶意合谋,从而导致用户的体验不好;现有的区块链技术因采用传统的单一链结构,车辆之间的数据处理和存储效率不高,很难满足当前车联网系统需要实时共享和交换大量数据的要求。
2、现有技术本发明公开了一种基于区块链的车联网信息共享方法、存储介质及路侧单元,方法包括数据共享、行为监测和车辆评价;所述数据共享包括:路侧单元接收由车辆感知并上传的信息,并将所述信息发布给服务器和所述路侧单元内的其它车辆;路侧单元接收由服务器根据所述信息作出的决策指令,并将所述决策指令发布给车辆;所述行为监测包括:路侧单元根据预设的违规准则监测并记录车辆的违规情况;所述车辆评价包括:路侧单元从区块链中获取信息的质量评分并确定综合评分,并根据上传该信息的车辆的违规情况,确定所述车辆的声誉值和服务费,并发布至区块链,现有技术由于没有采用合适的共识机制或者算法,导致车辆之间的数据共享存在较大的延迟;现有技术也没有采用奖励机制,导致车辆参与数据共享的积极性不高甚至会导致车辆恶意合谋,从而导致用户的体验不好和数据安全性不高,现有技术传统的区块链结构,车辆之间的数据处理和存储效率不高,很难满足当前车联网系统需要实时共享和交换大量数据的要求,系统的可扩展性较差和吞吐量不高。
技术实现思路
1、本发明的目的是解决现有技术存在的问题,提供一种基于两层区块链的车联网数据共享方法和系统,本发明可降低车辆之间数据共享的通信延迟、可激励车辆参与数据共享和提高数据共享的安全性、可提高系统的的可扩展性和吞吐量。
2、为了实现上述目的,本发明提供一种基于两层区块链的车联网数据共享方法,包括:
3、步骤s1:路侧单元和车辆在可信机构中进行注册,成功完成注册并接入车联网的车辆向所述可信机构支付押金;
4、步骤s2:所述可信机构根据porpl机制在所述成功完成注册并接入车联网的车辆中选择若干辆车辆作为代理节点和若干辆车辆作为验证节点,选定的每一个代理节点将负责一个分片,选定的每一个验证节点根据代理节点的信誉、位置距离和其所负责的分片大小选择加入合适的分片;
5、步骤s3:所述可信机构接收数据感知任务并根据所述数据感知任务在车联网中选择符合要求的若干辆车辆作为数据节点,所述可信机构将所述数据感知任务传输至已注册的路侧单元,所述路侧单元将所述数据感知任务分配给所述数据节点;
6、步骤s4:所述数据节点根据所述数据感知任务收集数据信息,所述数据节点对所述数据信息进行训练生成数据模型,所述数据节点对所述数据模型进行签名并将签名后的数据模型发送给所述代理节点;
7、步骤s5:所述代理节点处理所述签名后的数据模型生成待验证数据区块,所述代理节点将所述待验证数据区块发送至所述验证节点;
8、步骤s6:所述验证节点根据改进的实用拜占庭容错区块链共识机制验证所述待验证的数据区块,所述验证节点将验证结果发送至所述代理节点;
9、步骤s7:所述代理节点根据所述验证结果生成分片区块链,所述代理节点将所述分片区块链发送至距离所述代理节点最近的路侧单元;
10、步骤s8:所述路侧单元验证所述分片区块链,验证通过的分片区块链由所述路侧单元广播给所有路侧单元验证,若一定数量的路侧单元验证通过则由所述一定数量的路侧单元将所述分片区块链添加到全局区块链中,且所述一定数量的路侧单元实行智能合约用于更新节点的信誉积分;
11、步骤s9:所述可信机构对各节点在数据共享过程中表现进行奖惩,完成一次数据共享。
12、进一步地,步骤s1具体过程包括:
13、步骤s1.1:车辆生成私钥:;
14、步骤s1.2:所述车辆根据所述私钥获得公钥:,所述车辆将所述公钥发送给所述可信机构;
15、步骤s1.3:所述可信机构使用自己的私钥对所述公钥进行加密,获得与所述车辆对应的id号:,所述可信机构将所述id号发送给所述车辆,所述车辆完成注册;
16、步骤s1.4:所述车辆将所述id号发送给所述路侧单元进行验证,验证通过的车辆可接入车联网,所述车辆完成接入车联网;
17、步骤s1.5:完成注册和接入车辆网的车辆需向所述可信机构提交押金:
18、
19、其中,表示所述车辆的信誉积分,表示一个常数,所述用于控制所述押金的上限。
20、进一步地,所述数据感知任务包括:收集车辆性能、交通状况和环境状况数据信息。
21、进一步地,步骤s2的具体过程包括:
22、步骤s2.1:所述可信机构根据每一个节点提交的共识得分将车辆分类为代理节点和验证节点,所述可信机构将未能提交所述共识得分的节点视为自私节点,所述路侧单元在节点之间达成共识的过程中将所述自私节点排除,所述共识得分由下式确定:
23、
24、其中,表示所述车辆的信誉积分,取决于车辆的行为和历史信誉分,表示节点的计算能力,表示节点的位置中心性,表示信誉积分的权重因子,表示计算能力的权重因子;
25、步骤s2.2:节点计算能力由下式确定:
26、
27、其中,表示指令数量,表示节点执行所述数据感知任务所需要的时间,表示一个关于和的函数,函数可确定节点计算能力,
28、节点位置中心性由下式确定:
29、
30、其中,表示网络中节点的总数,表示邻接矩阵 a 的元素。当节点和节点之间存在边时,,否则,,表示节点和 节点之间的最短路径长度,表示权重参数,用来控制度中心性和紧密中心性在位置中心性计算中的重要性;
31、步骤s2.3:每一个代理节点均负责一个分片,负责分片的代理节点会生成分片大小指标,所述代理节点会向验证节点发送所述分片大小指标,所述验证节点根据所述代理节点的信誉积分、两者的位置距离和所述分片大小指标生成一个分片参与列表,所述验证节点根据所述分片参与列表加入各个分片。
32、进一步地,所述分片大小指标由下式确定:
33、
34、其中,表示节点的信誉积分,表示代理节点和验证节点之间的位置距离,表示当前的分片大小,即分片内参与共识的最大节点数量,表示信誉积分的权重因子,表示位置距离的权重因子。
35、进一步地,步骤s8的具体过程包括:
36、步骤s8.1:所述路侧单元验证所述分片区块链中的数据验证结果区块数量是否大于有效的共识阈值,若大于,则批准生成所述分片区块链,所述路侧单元将所述分片区块链广播给所有路侧单元验证;
37、步骤s8.2:所述所有路侧单元验证所述分片区块链中的数据验证结果区块的数量是否大于所述有效的共识阈值,若一定数量的路侧单元验证通过,则所述分片区块链是有效的,所述一定数量的路侧单元将所述分片区块链添加至全局区块链。
38、进一步地,所述共识阈值由下式确定:
39、
40、其中,表示分片内每个节点的个体分数表示节点数量的影响因子,表示所有节点平均分数的影响因子,而表示分数方差的影响因子,表示网络中节点的总数。
41、另外,本发明还提供一种基于两层区块链的车联网数据共享系统,包括:
42、注册模块:用于路侧单元和车辆在可信机构中进行注册,成功完成注册并接入车联网的车辆向所述可信机构支付押金;
43、选择模块:用于所述可信机构根据porpl机制在所述成功完成注册并接入车联网的车辆中选择若干辆车辆作为代理节点和若干辆车辆作为验证节点,选定的每一个代理节点将负责一个分片,选定的每一个验证节点根据代理节点的信誉、位置距离和其所负责的分片大小选择加入合适的分片;
44、分配任务模块:所述可信机构接收数据感知任务并根据所述数据感知任务在车联网中选择符合要求的若干辆车辆作为数据节点,所述可信机构将所述数据感知任务传输至已注册的路侧单元,所述路侧单元将所述数据感知任务分配给所述数据节点;
45、数据收集模块:所述数据节点根据所述数据感知任务可收集到数据信息,所述数据节点对所述数据信息进行训练可生成数据模型,所述数据节点对所述数据模型进行签名并将签名后的数据模型发送给所述代理节点;
46、生成待验证数据块模块:所述代理节点处理所述签名后的数据模型生成待验证数据区块,所述代理节点将所述待验证数据区块发送至所述验证节点;
47、第一验证模块:所述验证节点根据改进的实用拜占庭容错区块链共识机制验证所述待验证的数据区块,所述验证节点将验证结果发送至所述代理节点;
48、生成分片区块链模块:所述代理节点根据所述验证结果生成分片区块链,所述代理节点将所述分片区块链发送至距离所述代理节点最近的路侧单元;
49、第二验证模块:所述路侧单元验证所述分片区块链,验证通过的分片区块链由所述路侧单元广播给所有路侧单元验证,若一定数量的路侧单元验证通过则由所述一定数量的路侧单元将所述分片区块链添加到全局区块链中,且所述一定数量的路侧单元实现智能合约用于更新节点的信誉积分;
50、奖惩模块:所述可信机构对各节点在数据共享过程中表现进行奖惩,完成一次数据共享。
51、进一步地,所述可信机构由政府或其他组织指定的实体,所述可信机构用于授权和验证车辆和路侧单元的身份并选择代理节点和验证节点。
52、最后,本发明还提供了一种计算机可读存储介质,其上存储有一种基于两层区块链的车联网数据共享方法的计算机程序,所述一种基于两层区块链的车联网数据共享方法的计算机程序被处理时,实现所述一种基于两层区块链的车联网数据共享方法的步骤。
53、本发明与现有技术相比,其有益效果在于:
54、本发明通过在车联网系统中引入两层区块链架构,提高了系统的可扩展性和数据共享的吞吐量;本发明在区块链网络中的节点达成共识的过程中,节点通过利用改进拜占庭容错共识机制来验证交易,改进的拜占庭容错共识机制在传统的拜占庭容错共识机制基础上加入bls签名技术,降低了数据在准备和提交阶段的通信延迟;还通过加入一个报告机制,避免了攻击者交易数据,提高了数据共享的安全性;
55、另外,本发明还通过引入奖惩机制,提高了车辆参与数据共享的积极性并有效避免车联网系统中的节点的合谋攻击,在提高用户体验的同时也提高了数据共享的安全性。