一种区块链共识方法

文档序号:32008489发布日期:2022-11-02 14:46阅读:45来源:国知局
一种区块链共识方法

1.本发明涉及区块链技术领域,尤其涉及一种区块链共识方法。


背景技术:

2.在传统的车载区块链中,新区块可能由车辆或路侧单元(road side unit,rsu)生成,而信誉机制作为区块链系统中的一种激励手段,能够有效地减少区块链系统中的恶意行为。
3.相关技术中,信誉值管理机构(trust authority,ta)根据其存储的rsu或者车辆的信誉值,指定某rsu生成新区块并将新区块向其通信范围内所有的rsu节点以及车辆节点进行广播,且该广播过程是持续性的。所有的rsu节点以及车辆节点若认为新区块合法,则在新区块上附加自己的私钥签名,并将新区块向其通信范围内的其他节点转发;若某个节点认为新区块不合法,则不会在新区块上附加私钥签名,也不会参与到新区块的继续转发过程中。在转发的过程中,若某个节点收到的新区块中的私钥签名数量达到预设阈值,则将新区块上链,之后,转发上链完成消息。同时,ta根据整个网络中不同节点对于新区块的上链情况,对指定的rsu的信誉值进行增加或者扣除操作。
4.然而,基于信誉值管理的车载区块链共识方法,不认同新区块的节点不会继续参与到区块的转发当中,这使得新区块传遍整个网络要消耗的时间以及通信资源较大。


技术实现要素:

5.本发明提供一种区块链共识方法,用以解决相关技术中的区块共识消耗时间及通信资源较大缺陷,实现降低区块传播的时间和充分利用通信资源。
6.第一方面,本发明提供一种区块链共识方法,应用于第一路侧单元rsu,所述方法包括:
7.接收第二rsu发送的新区块,将所述新区块转发至其余rsu;所述第二rsu是信誉值管理机构ta根据存储的至少一个rsu的信誉值选取的;所述新区块是所述第二rsu生成的;
8.在所述第一rsu认同所述新区块的合法性的情况下,生成第一认同信息,将所述第一认同信息转发至所述其余rsu;所述第一认同信息用于表示所述第一rsu认同所述新区块的合法性;
9.接收所述其余rsu发送的第二认同信息,在所述第二认同信息的数量大于第一阈值的情况下,将所述新区块持续转发至所述第一rsu通信范围内的至少一个车辆;所述第二认同信息用于表示所述其余rsu认同所述新区块的合法性。
10.根据本发明提供的一种区块链共识方法,所述将所述新区块持续转发至所述第一rsu通信范围内的至少一个车辆之后,所述方法还包括:
11.接收各所述车辆发送的第三认同信息;所述第三认同信息为第四认同信息,和/或,第五认同信息;所述第四认同信息用于表示第一车辆认同所述新区块的合法性;所述第五认同信息用于表示其余车辆认同所述新区块的合法性;
12.在所述第三认同信息的数量大于第二阈值的情况下,所述新区块共识完成,将所述新区块上链。
13.根据本发明提供的一种区块链共识方法,所述将所述新区块持续转发至所述第一rsu通信范围内的至少一个车辆之后,所述方法还包括:
14.接收各所述车辆发送的第一信誉值调整信息;所述第一信誉值调整信息为第三信誉值调整信息,和/或,第四信誉值调整信息;所述第三信誉值调整信息用于表示所述第一车辆根据所述新区块生成针对所述第二rsu信誉值的调整信息;所述第四信誉值调整信息用于表示所述其余车辆根据所述新区块生成针对所述第二rsu信誉值的调整信息;
15.在所述第一信誉值调整信息的数量大于第三阈值的情况下,终止转发所述新区块;
16.在所述第一信誉值调整信息的数量小于或等于第三阈值的情况下,继续转发所述新区块。
17.根据本发明提供的一种区块链共识方法,所述方法还包括:
18.将第二信誉值调整信息和所述第一信誉值调整信息发送至ta;所述第二信誉值调整信息用于表示所述第一rsu根据所述新区块生成针对所述第二rsu信誉值的调整信息。
19.第二方面,本发明提供一种区块链共识方法,应用于第一车辆,所述方法包括:
20.接收至少一个路侧单元rsu转发的新区块,将所述新区块持续转发至其余车辆;所述新区块是第二rsu生成的;所述第二rsu是信誉值管理机构ta根据存储的至少一个rsu的信誉值选取的;
21.在所述第一车辆认同所述新区块的合法性的情况下,生成第四认同信息,将所述第四认同信息转发至所述第一车辆通信范围内的各所述rsu和所述其余车辆;所述第四认同信息用于表示所述第一车辆认同所述新区块的合法性;
22.接收所述其余车辆发送的所述第五认同信息,在所述第五认同信息的数量大于第四阈值的情况下,所述新区块共识完成,将所述新区块上链;所述第五认同信息用于表示所述其余车辆认同所述新区块的合法性。
23.根据本发明提供的一种区块链共识方法,所述将所述第四认同信息转发至所述第一车辆通信范围内的各所述rsu和所述其余车辆之后,所述方法还包括:
24.接收所述其余车辆发送的第四信誉值调整信息;所述第四信誉值调整信息用于表示所述其余车辆根据所述新区块生成针对所述目标rsu信誉值的调整信息;
25.在所述第四信誉值调整信息的数量大于第五阈值的情况下,终止转发所述新区块至所述其余车辆;
26.在所述第四信誉值调整信息的数量小于或等于第五阈值的情况下,继续转发所述新区块至所述其余车辆。
27.第三方面,本发明还提供一种区块链共识装置,应用于第一路侧单元rsu,所述装置包括:
28.第一转发模块,用于接收第二rsu发送的新区块,将所述新区块转发至其余rsu;所述第二rsu是信誉值管理机构ta根据存储的至少一个rsu的信誉值选取的;所述新区块是所述第二rsu生成的;
29.第一生成模块,用于在所述第一rsu认同所述新区块的合法性的情况下,生成第一
认同信息,将所述第一认同信息转发至所述其余rsu;所述第一认同信息用于表示所述第一rsu认同所述新区块的合法性;
30.第二转发模块,用于接收所述其余rsu发送的第二认同信息,在所述第二认同信息的数量大于第一阈值的情况下,将所述新区块持续转发至所述第一rsu通信范围内的至少一个车辆;所述第二认同信息用于表示所述其余rsu认同所述新区块的合法性。
31.第四方面,本发明还提供一种区块链共识装置,应用于第一车辆,所述装置包括:
32.第三转发模块,用于接收至少一个路侧单元rsu转发的新区块,将所述新区块持续转发至其余车辆;所述新区块是第二rsu生成的;所述第二rsu是信誉值管理机构ta根据存储的至少一个rsu的信誉值选取的;
33.第二生成模块,用于在所述第一车辆认同所述新区块的合法性的情况下,生成第四认同信息,将所述第四认同信息转发至所述第一车辆通信范围内的各所述rsu和所述其余车辆;所述第四认同信息用于表示所述第一车辆认同所述新区块的合法性;
34.第四转发模块,用于接收所述其余车辆发送的所述第五认同信息,在所述第五认同信息的数量大于第四阈值的情况下,所述新区块共识完成,将所述新区块上链;所述第五认同信息用于表示所述其余车辆认同所述新区块的合法性。
35.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述区块链共识方法,或者实现如第二方面所述区块链共识方法。
36.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述区块链共识方法,或者实现如第二方面所述区块链共识方法。
37.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面所述区块链共识方法,或者实现如第二方面所述区块链共识方法。
38.本发明提供的区块链共识方法,通过第一rsu接收第二rsu发送的新区块,并将新区块转发至其余rsu;同时,对新区块的合法性进行验证,在认同新区块的合法性的情况下,生成第一认同信息,并将第一认同信息也转发至其余rsu;接着,接收其余rsu发送的第二认同信息,在第二认同信息的数量大于第一阈值的情况下,将新区块持续转发至第一rsu通信范围内的至少一个车辆。本发明提供的方法,通过新区块在各rsu之间的转发及将新区块持续转发至各车辆,从而提升了新区块在整个网络的传播效率和通信资源的利用率,同时,提升了区块共识的效率。
附图说明
39.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
40.图1是本发明提供的区块链共识方法的流程示意图之一;
41.图2是本发明提供的区块链共识方法的流程示意图之二;
42.图3是本发明提供的区块链共识方法的流程示意图之三;
43.图4是本发明提供的区块链共识方法的流程示意图之四;
44.图5是本发明提供的区块链共识方法的流程示意图之五;
45.图6是本发明提供的区块链共识方法的框架结构图;
46.图7是本发明提供的区块链共识装置的结构示意图之一;
47.图8是本发明提供的区块链共识装置的结构示意图之二;
48.图9是本发明提供的第一rsu的结构示意图。
具体实施方式
49.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
50.下面结合附图,通过一些实施例及其应用场景对本发明提供的区块链共识方法进行详细地说明。
51.本发明提供一种区块链共识方法,该区块链共识方法适用于车载区块链共识方法的实现场景中,接收第二rsu发送的新区块,将所述新区块转发至其余rsu;所述第二rsu是信誉值管理机构ta根据存储的至少一个rsu的信誉值选取的;所述新区块是所述第二rsu生成的;在所述第一rsu认同所述新区块的合法性的情况下,生成第一认同信息,将所述第一认同信息转发至所述其余rsu;所述第一认同信息用于表示所述第一rsu认同所述新区块的合法性;接收所述其余rsu发送的第二认同信息,在所述第二认同信息的数量大于第一阈值的情况下,将所述新区块持续转发至所述第一rsu通信范围内的至少一个车辆;所述第二认同信息用于表示所述其余rsu认同所述新区块的合法性。本发明提供的方法,通过新区块在各rsu之间的转发及将新区块持续转发至各车辆,从而提升了新区块在整个网络的传播效率和通信资源的利用率,同时,提升了区块共识的效率。
52.下面结合图1-图6描述本发明的区块链共识方法。
53.图1是本发明提供的区块链共识方法的流程示意图之一,应用于第一路侧单元rsu,如图1所示,该方法包括步骤101-步骤103,其中:
54.步骤101,接收第二rsu发送的新区块,将所述新区块转发至其余rsu;所述第二rsu是信誉值管理机构ta根据存储的至少一个rsu的信誉值选取的;所述新区块是所述第二rsu生成的。
55.需要说明的是,本发明提供的区块链共识方法可适用于车载区块链共识方法的实现场景中。该方法的执行主体可以为区块链共识装置,例如电子设备、或者该区块链共识装置中的用于执行区块链共识方法的控制模块。
56.具体地,第一rsu可以是车载区块链网络中除第二rsu之外的任意一个rsu;其中,第二rsu是信誉值管理机构ta根据存储的至少一个rsu的信誉值选取的各rsu中信誉值较高的一个rsu。
57.需要说明的是,ta包括信誉值存储模块、信誉值更新模块和身份发行模块,其中,信誉值存储模块用于存储多个rsu以及多个车辆的信誉值;信誉值更新模块用于接收多个rsu发送的信誉值调整信息,并基于该信誉值调整信息更新第二rsu的信誉值;身份发行模
块用于向多个rsu发行身份信息和公钥-私钥对,以及向多个车辆发行各个车辆的身份信息和公钥-私钥对。
58.实际中,如果有rsu或者车辆需要新加入车载区块链网络,则该rsu或车辆需要向ta提交加入请求,ta验证请求者的合法性,验证通过时,ta向加入请求的发起者(即rsu或车辆)发行身份证明和公钥-私钥对,使其成为合法的rsu或车辆;而且,ta向发起者设定一个初始信誉值,并在本地保存请求发起者的身份证明和公钥-私钥对。例如,ta为rsu或车辆发行代表其身份的身份标识id、公钥(public key,pk)、私钥(secret key,sk)和初始信誉值3。
59.具体地,ta根据存储的多个rsu的信誉值,选择一个信誉值较高的rsu作为新区块的生成者,该rsu为第二rsu;其中,每次的新区块生成者有且仅有一个rsu;接着,第二rsu收到ta的区块生成指令后,将收集到的交易信息打包,生成新区块,并在新区块中附加自己的私钥签名;其中,新区块包含随机数、时间戳信息、交易值集合等基础信息,同时,包含第二rsu的私钥签名sk;在第二rsu生成新区块之后,将新区块转发至第一rsu,第一rsu将其收到的新区块的完整区块信息不加任何修改转发至其余rsu,即所有的rsu共同参与到新区块的转发过程中;其中,其余rsu为除第一rsu和第二rsu之外的其他rsu,其余rsu的数量为多个。
60.步骤102,在所述第一rsu认同所述新区块的合法性的情况下,生成第一认同信息,将所述第一认同信息转发至所述其余rsu;所述第一认同信息用于表示所述第一rsu认同所述新区块的合法性。
61.具体地,第一rsu在接收到第二rsu发送的新区块之后,对新区块的合法性进行验证;在第一rsu认同新区块的合法性的情况下,第一rsu生成自己对于新区块的第一认同信息,并将第一认同信息转发至其余rsu;其中,第一认同信息用于表示第一rsu认同新区块的合法性;在第一rsu不认同新区块的合法性的情况下,第一rsu不生成第一认同信息。
62.可以理解的是,其余rsu接收到第一rsu转发的新区块之后,也对新区块的合法性进行验证,并对新区块进行转发。
63.步骤103,接收所述其余rsu发送的第二认同信息,在所述第二认同信息的数量大于第一阈值的情况下,将所述新区块持续转发至所述第一rsu通信范围内的至少一个车辆;所述第二认同信息用于表示所述其余rsu认同所述新区块的合法性。
64.具体地,其余rsu接收到新区块之后,对新区块的合法性进行验证;若认同新区块的合法性,则其余rsu生成第二认同信息,并将第二认同信息进行转发;若不认同新区块的合法性,则不生成第二认同信息。
65.实际中,第一rsu接收其余rsu发送的第二认同信息,并统计其余rsu发送的第二认同信息的数量;在第一rsu统计其余车辆转发的第二认同信息的数量大于第一阈值的情况下,认为新区块是“rsu有效”,并向其余rsu广播第一准备消息,第一准备消息用于表示第一rsu已做好将新区块向车辆进行转发的准备工作。同时,第一rsu也会接收到其余rsu广播的第二准备消息,第二准备消息用于表示其余rsu已做好将区块向车辆进行转发的准备工作。第一rsu统计第二准备消息的数量,在该数量大于第一预设阈值的情况下,将新区块持续转发至第一rsu通信范围内的至少一个车辆。
66.需要说明的是,由于车辆的高移动性,有可能存在某一车辆在某个时间段不经过第一rsu的通信范围内,当第一rsu转发新区块时,该车辆就接收不到该新区块,因此,需要
持续转发该新区块,使得该车辆能够充分利用通信资源,从而快速接收到新区块。
67.本发明提供的区块链共识方法,通过第一rsu接收第二rsu发送的新区块,并将新区块转发至其余rsu;同时,对新区块的合法性进行验证,在认同新区块的合法性的情况下,生成第一认同信息,并将第一认同信息也转发至其余rsu;接着,接收其余rsu发送的第二认同信息,在第二认同信息的数量大于第一阈值的情况下,认为新区块“rsu有效”,并将新区块持续转发至第一rsu通信范围内的至少一个车辆。本发明提供的方法,通过新区块在各rsu之间的转发及将新区块持续转发至各车辆,从而提升了新区块在整个网络的传播效率和通信资源的利用率,同时,提升了区块共识的效率。
68.可选地,上述步骤103中将所述新区块持续转发至所述第一rsu通信范围内的至少一个车辆之后,所述方法的具体实现方式还包括以下步骤:
69.步骤1)接收各所述车辆发送的第三认同信息;所述第三认同信息为第四认同信息,和/或,第五认同信息;所述第四认同信息用于表示第一车辆认同所述新区块的合法性;所述第五认同信息用于表示其余车辆认同所述新区块的合法性。
70.具体地,第一车辆为第一rsu通信范围内的任意一个车辆;第一rsu将新区块持续转发至第一rsu通信范围内的至少一个车辆之后,例如,第一rsu将新区块转发至第一车辆,则第一车辆不加修改地将新区块持续向其余车辆进行转发。
71.其中,第一车辆对新区块的合法性进行验证,若第一车辆认同新区块的合法性,则生成第四认同信息,并将第四认同信息持续转发至所述第一车辆通信范围内的其余车辆以及第一车辆通信范围内的至少一个rsu,直到达到终止条件;若第一车辆不认同新区块的合法性,则不生成第四认同信息;其中,第四认同信息用于表示第一车辆认同新区块的合法性;终止条件是任意一个车辆接收到第四认同信息的数量大于第二预设阈值的情况下,终止第四认同信息的转发。
72.需要说明的是,第一车辆的通信范围内可能存在至少一个车辆和至少一个rsu,或者只有至少一个车辆,或者只有至少一个rsu,或者没有车辆和rsu的情况,因此,根据第一车辆所处的实际位置,第四认同消息可以被至少一个车辆和rsu接收,或者被至少一个车辆接收,或被至少一个rsu接收,或均未被rsu和车辆接收。
73.同时,其余车辆也会对新区块的合法性进行验证,若其余车辆认同新区块的合法性,则生成第五认同信息,并将第五认同信息持续转发至其余车辆通信范围内的至少一个车辆以及其余车辆通信范围内的至少一个rsu,直到达到终止条件;若其余车辆不认同新区块的合法性,则不生成第五认同信息;其中,第五认同信息用于表示其余车辆认同新区块的合法性;其他车辆可以是其余车辆中除生成第五认同信息之外的车辆;终止条件是任意一个车辆接收到第五认同信息的数量大于第三预设阈值的情况下,终止第五认同信息的转发。
74.需要说明的是,其余车辆的通信范围内可能存在至少一个车辆和至少一个rsu,或者只有至少一个车辆,或者只有至少一个rsu,或者没有车辆和rsu的情况,因此,根据其余车辆所处的实际位置,第五认同消息可以被至少一个车辆和rsu接收,或者被至少一个车辆接收,或被至少一个rsu接收,或均未被rsu和车辆接收。
75.实际中,第一rsu接收通信范围内的各个车辆发送的第三认同信息,其中,第三认同信息可以为第四认同信息,和/或,第五认同信息,即第一rsu可以接收到第一车辆发送的
第四认同信息和其余车辆发送的第五认同信息,或者第一rsu只接收到第一车辆发送的第四认同信息,或者第一rsu只接收到其余车辆发送的第五认同信息。在第一rsu接收到第一车辆发送的第四认同信息和其余车辆发送的第五认同信息的情况下,第三认同信息包括第四认同信息和第五认同信息;在第一rsu只接收到第一车辆发送的第四认同信息的情况下,第三认同信息为第四认同信息;在第一rsu只接收到其余车辆发送的第五认同信息的情况下,第三认同信息为第五认同信息。
76.可选地,第一rsu还可以接收不到第一车辆发送的第四认同信息,或者其余车辆发送的第五认同信息,主要是由于车辆的高移动性导致的,因此,第一车辆和其余车辆分别将将第四认同信息和第五认同信息持续转发至各自通信范围内的至少一个车辆以及至少一个rsu,直到达到终止条件。
77.步骤2)在所述第三认同信息的数量大于第二阈值的情况下,所述新区块共识完成,将所述新区块上链。
78.具体地,第一rsu接收到各车辆发送的第三认同信息之后,统计所述第三认同信息的数量。若在预设时间间隔内,第一rsu统计的第三认同信息的数量大于第二阈值的情况下,则认为新区块是“车辆有效”,即新区块共识完成,并向其余rsu和通信范围内的其他车辆广播第三准备消息,第三准备消息用于表示第一rsu已做好将区块上链的准备,同时也会接收到其余rsu和通信范围内的其他车辆广播第四准备消息,第四准备消息用于表示其余rsu和通信范围内的其他车辆已做好将区块上链的准备;接着,第一rsu统计其余rsu和通信范围内的其他车辆广播的第四准备消息的数量,在该数量大于第四预设阈值的情况下,则第一rsu再向其余rsu和通信范围内的其他车辆广播完成消息,完成消息用于表示第一rsu的区块上链已完成,同时将新区块上链;其中,其他车辆可以是第一车辆或者其余车辆,也可以是第一车辆和其余车辆的组合。
79.可选地,若在预设时间间隔内,第一rsu统计的第三认同信息的数量小于或等于第二阈值的情况下,则认为新区块不是“车辆有效”,该新区块不会进行上链操作,并被丢弃。
80.可选地,若已经到达预设时间间隔,第一rsu统计的第三认同信息的数量还是小于或等于第二阈值的情况下,则认为新区块不是“车辆有效”,该新区块不会进行上链操作,并被丢弃。
81.本发明提供的区块链共识方法,通过第一rsu接收并统计其通信范围内的各车辆发送的第三认同信息的数量,在第三认同信息的数量大于第二阈值的情况下,新区块共识完成,并将新区块上链,实现了新区块在rsu和各车辆之间的转发和区块共识,提升了通信资源的利用率和新区块传播的效率,同时,提升了区块共识的效率。
82.可选地,上述步骤103中将所述新区块持续转发至所述第一rsu通信范围内的至少一个车辆之后,所述方法的具体实现方式还包括以下步骤:
83.步骤1)接收各所述车辆发送的第一信誉值调整信息;所述第一信誉值调整信息为第三信誉值调整信息,和/或,第四信誉值调整信息;所述第三信誉值调整信息用于表示所述第一车辆根据所述新区块生成针对所述第二rsu信誉值的调整信息;所述第四信誉值调整信息用于表示所述其余车辆根据所述新区块生成针对所述第二rsu信誉值的调整信息。
84.具体地,第一rsu将新区块持续转发至第一rsu通信范围内的至少一个车辆之后,例如,第一rsu将新区块转发至第一车辆,则第一车辆不加修改地将新区块持续向其余车辆
进行转发。
85.其中,第一车辆接收到新区块之后,根据新区块生成针对新区块的生成者(即第二rsu)信誉值的调整信息,即第三信誉值调整信息,并附加第一车辆的公钥签名,并将第三信誉值调整信息持续转发至第一车辆通信范围内的至少一个车辆以及第一车辆通信范围内的至少一个rsu,直到达到终止条件;终止条件是任意一个车辆接收到第三信誉值调整信息的数量大于第五预设阈值的情况下,终止第三信誉值调整信息的转发。
86.需要说明的是,第一车辆的通信范围内可能存在至少一个车辆和至少一个rsu,或者只有至少一个车辆,或者只有至少一个rsu,或者没有车辆和rsu的情况,因此,根据第一车辆所处的实际位置,第三信誉值调整信息可以被至少一个车辆和rsu接收,或者被至少一个车辆接收,或被至少一个rsu接收,或均未被rsu和车辆接收。
87.同时,其余车辆接收到新区块之后,也会根据新区块生成针对新区块的生成者(即第二rsu)信誉值的调整信息,即第四信誉值调整信息,并附加上自己的公钥签名,并将第四信誉值调整信息持续转发至其余车辆通信范围内的至少一个车辆以及其余车辆通信范围内的至少一个rsu,直到达到终止条件;其中,其余车辆通信范围内的至少一个车辆可以是第一车辆,也可以是其余车辆中除生成第四信誉值调整信息之外的车辆;至少一个rsu可以是第一rsu,也可以是除第一rsu之外的其他rsu;终止条件是任意一个车辆接收到第四信誉值调整信息的数量大于第六预设阈值的情况下,终止第四信誉值调整信息的转发。
88.具体地,以第一车辆根据新区块生成第三信誉值调整信息为例,对根据新区块生成针对新区块的生成者(即第二rsu)信誉值的调整信息进行说明。其中,第三信誉值调整信息的具体形式如以下公式(1)所示:
[0089][0090]
其中,表示第一车辆vi的公钥,timestamp表示时间戳信息,block_hash表示区块的哈希值,timestamp和block_hash是为了确保第一车辆vi生成的第三信誉值调整信息是实时有效的;is_vehicle_valid表示第一车辆是否认同新区块的生成者(第二rsu)的行为;随后,该第三信誉值调整信息rv
vi
被转发,并被接收到的至少一个rsu缓存。
[0091]
实际中,第一rsu接收通信范围内的各个车辆发送的第一信誉值调整信息,其中,第一信誉值调整信息可以为第三信誉值调整信息,和/或,第四信誉值调整信息,即第一rsu可以接收到第一车辆发送的第三信誉值调整信息和其余车辆发送的第四信誉值调整信息,或者第一rsu只接收到第一车辆发送的第三信誉值调整信息,或者第一rsu只接收到其余车辆发送的第四信誉值调整信息。在第一rsu接收到第一车辆发送的第三信誉值调整信息和其余车辆发送的第四信誉值调整信息的情况下,第一信誉值调整信息包括第三信誉值调整信息和第四信誉值调整信息;在第一rsu只接收到第一车辆发送的第三信誉值调整信息的情况下,第一信誉值调整信息为第三信誉值调整信息;在第一rsu只接收到其余车辆发送的第四信誉值调整信息的情况下,第一信誉值调整信息为第四信誉值调整信息。
[0092]
可选地,第一rsu还可以接收不到第一车辆发送的第三信誉值调整信息,或者其余车辆发送的第四信誉值调整信息,主要是由于车辆的高移动性导致的,因此,第一车辆和其余车辆分别将将第三信誉值调整信息和第四信誉值调整信息持续转发至各自通信范围内的至少一个车辆以及至少一个rsu,直到达到终止条件。
[0093]
步骤2)在所述第一信誉值调整信息的数量大于第三阈值的情况下,终止转发所述新区块。
[0094]
具体,第一rsu接收到各车辆发送的第一信誉值调整信息之后,统计第一信誉值调整信息的数量。若在预设时间间隔内,第一rsu统计的第一信誉值调整信息的数量大于第三阈值的情况下,则认为新区块的转发已经完全,终止对新区块的转发过程。
[0095]
可选地,若已经达到预设时间间隔,第一rsu统计的第一信誉值调整信息的数量还是小于或等于第三阈值的情况下,则也可以终止转发新区块。
[0096]
步骤3)在所述第一信誉值调整信息的数量小于或等于第三阈值的情况下,继续转发所述新区块。
[0097]
具体地,若在预设时间间隔内,第一rsu统计的第一信誉值调整信息的数量小于或等于第三阈值的情况下,则继续转发新区块。
[0098]
本发明提供的区块链共识方法,通过第一rsu接收并统计其通信范围内的各车辆发送的第一信誉值调整信息的数量,在第一信誉值调整信息的数量大于第三阈值的情况下,可以终止转发新区块,反之继续转发新区块,实现了新区块在rsu和各车辆之间的多次转发,从而实现区块共识,提升了通信资源的利用率,降低了新区块传播的时间,提升了区块共识的效率。
[0099]
可选地,所述方法还包括:
[0100]
将第二信誉值调整信息和所述第一信誉值调整信息发送至ta;所述第二信誉值调整信息用于表示所述第一rsu根据所述新区块生成针对所述第二rsu信誉值的调整信息。
[0101]
具体地,第一rsu接收到新区块之后,根据新区块生成第二信誉值调整信息,并附加第一rsu的公钥签名,缓存于本地;其中,第二信誉值调整信息用于表示第一rsu根据新区块生成针对第二rsu信誉值的调整信息。
[0102]
具体地,以第一rsu根据新区块生成第二信誉值调整信息为例,对根据新区块生成针对新区块的生成者(即第二rsu)信誉值的调整信息进行说明。其中,第二信誉值调整信息的具体形式如以下公式(2)所示:
[0103][0104]
其中,表示第一rsu rsui的公钥,timestamp表示时间戳信息,block_hash表示区块的哈希值,timestamp和block_hash是为了确保第一车辆vi生成的第二信誉值调整信息是实时有效的;is_rsu_valid表示第一rsu是否认同新区块的生成者(第二rsu)的行为;随后,该第二信誉值调整信息被第一rsu缓存于本地。
[0105]
实际中,在第一rsu将新区块上链之后,第一rsu将第一信誉值调整信息和第二信誉值调整信息发送至ta,即第一rsu将自己生成的第一信誉值调整信息和来自不同车辆的第二信誉值调整信息发送至ta,ta接收第一信誉值调整信息和第二信誉值调整信息,并根据第一信誉值调整信息和第二信誉值调整信息,对第二rsu的信誉值进行更新。
[0106]
本发明提供的区块链共识方法,通过第一rsu将第一信誉值调整信息和第二信誉值调整信息发送至ta,实现ta对第二rsu的信誉值进行更新,从而为下一次选取rsu进行准
备,提升rsu选取的效率,从而提升区块共识的效率。
[0107]
图2是本发明提供的区块链共识方法的流程示意图之二,如图2所示,该方法包括步骤201-步骤208,其中:
[0108]
步骤201,指定第二rsu为新区块的生成者。若某个rsu为合法的rsu,则其具备产生新区块的资格;ta根据其存储的多个rsu的信誉值,每次指定一个信誉值较高的第二rsu为新区块的生成者。
[0109]
步骤202,第二rsu生成新区块。第二rsu接收来自ta的区块生成指令后,将收集到的交易信息打包,并生成区块;其中,新区块包含随机数、时间戳信息、交易值集合等基础信息,同时包含第二rsu的私钥签名。
[0110]
步骤203,第二rsu将新区块转发至其余rsu。第二rsu生成新区块之后,向第一rsu进行转发,第一rsu不加修改地将新区块转发至其余rsu,实现新区块在rsu之间的转发;同时,第一rsu对该新区块的合法性进行验证,若认同该新区块的合法性,则第一rsu将生成第一认同信息,并将第一认同信息转发至其余rsu,同时,其余rsu也对新区块的合法性进行验证,若认同该新区块的合法性,则其余rsu将生成第二认同信息,并将第二认同信息进行转发。同时,第一rsu基于新区块生成对于区块生成者(即第二rsu)的第二信誉值调整信息,并以自己的公钥加密,暂存于本地。
[0111]
步骤204,判断新区块的转发是否达到预设时间。在新区块的转发过程中,判断是否达到预设的时间间隔内,若达到预设的时间间隔,则转至步骤205;反之,转至步骤203。
[0112]
步骤205,第一rsu对接收其余rsu的第二认同信息数量进行统计。
[0113]
步骤206,判断第二认同信息的数量是否大于第一阈值。若在预先设定的时间间隔,第一rsu收到的第二认同信息的数量大于预先设定的第一阈值,认为该新区块是“rsu有效”,则转至步骤207;反之,转至步骤208。
[0114]
步骤207,向车辆转发新区块。第一rsu将“rsu有效”的新区块持续转发至该第一rsu通信范围内的至少一个车辆,直至满足终止条件;其中,终止条件是第一rsu统计第一信誉值调整信息的数量大于第三阈值的情况下,终止转发新区块。
[0115]
步骤208,将第一rsu生成的第二信誉值调整信息转发至ta。若在预先设定的时间间隔,第一rsu收到的第二认同信息的数量小于或等于预先设定的第一阈值,认为该新区块不是“rsu有效”,该新区块将不会向车辆转发;同时,第一rsu将本地暂存的第二信誉值调整信息发送给ta。不通过“rsu有效”认证的区块将被丢弃。
[0116]
图3是本发明提供的区块链共识方法的流程示意图之三,应用于第一车辆,如图3所示,该方法包括步骤301-步骤303,其中:
[0117]
步骤301,接收至少一个路侧单元rsu转发的新区块,将所述新区块持续转发至其余车辆;所述新区块是第二rsu生成的;所述第二rsu是信誉值管理机构ta根据存储的至少一个rsu的信誉值选取的。
[0118]
具体地,在确定新区块为“rsu有效”的情况下,第一车辆接收至少一个rsu转发的新区块,在第一车辆接收新区块之后,不加修改的将新区块持续向其余车辆进行转发;其中,新区块是第二rsu生成的;第二rsu是信誉值管理机构ta根据存储的至少一个rsu的信誉值选取的。
[0119]
步骤302,在所述第一车辆认同所述新区块的合法性的情况下,生成第四认同信
息,将所述第四认同信息转发至所述第一车辆通信范围内的各所述rsu和所述其余车辆;所述第四认同信息用于表示所述第一车辆认同所述新区块的合法性。
[0120]
具体地,第一车辆接收至少一个rsu转发的新区块之后,对新区块的合法性进行验证,若第一车辆认同新区块的合法性,则生成第四认同信息,并将第四认同信息转发至第一车辆通信范围内的其余车辆以及至少一个rsu,若不认同新区块的合法性,则不生成第四认同信息;其中,第四认同信息用于表示第一车辆认同新区块的合法性。
[0121]
步骤303,接收所述其余车辆发送的所述第五认同信息,在所述第五认同信息的数量大于第四阈值的情况下,所述新区块共识完成,将所述新区块上链;所述第五认同信息用于表示所述其余车辆认同所述新区块的合法性。
[0122]
具体地,其余车辆接收新区块之后,也会对新区块的合法性进行验证,若其余车辆认同新区块的合法性,则生成第五认同信息,并将第五认同信息转发至其余车辆通信范围内的其他车辆以及至少一个rsu;若其余车辆不认同新区块的合法性,则不生成第五认同信息;其中,第五认同信息用于表示其余车辆认同新区块的合法性,其他车辆可以是其余车辆中除生成第五认同信息之外的车辆。
[0123]
实际中,第一车辆接收其余车辆发送的第五认同信息,并统计第五认同信息的数量。若在预设时间间隔内,第一车辆统计的第五认同信息的数量大于第四阈值的情况下,则认为新区块是“车辆有效”,即新区块共识完成,并向通信范围内的至少一个rsu和其余车辆广播第五准备消息,第五准备消息用于表示第一车辆已做好将新区块上链的准备;接着,第一车辆统计第六准备消息的数量,第六准备消息用于表示其余车辆以及rsu已做好将新区块上链的准备,在该数量大于第七预设阈值的情况下,则第一车辆再向至少一个rsu和其余车辆广播完成消息,所述完成消息用于表示第一车辆已将新区块上链,同时将新区块上链。
[0124]
可选地,若在预设时间间隔内,第一车辆统计的第五认同信息的数量小于或等于第四阈值的情况下,则认为新区块不是“车辆有效”,该新区块不会进行上链操作,并被丢弃。
[0125]
可选地,若已经到达预设时间间隔,第一车辆统计的第五认同信息的数量还是小于或等于第四阈值的情况下,则认为新区块不是“车辆有效”,该新区块不会进行上链操作,并被丢弃。
[0126]
本发明提供的区块链共识方法,通过第一车辆接收至少一个rsu转发的新区块,并对新区块进行转发,以及对新区块的合法性进行验证;在认同新区块的合法性的情况下,生成第四认同信息,将第四认同信息转发至所述第一车辆通信范围内的各rsu和其余车辆;同时,也接收其余车辆发送的第五认同信息,并对第五认同信息进行统计;在第五认同信息的数量大于第四阈值的情况下,认为新区块共识完成,将新区块上链。本发明提供的方法,提升了通信资源的利用率,降低了新区块传播的时间,提升了区块共识的效率。
[0127]
可选地,上述步骤302中所述将所述第四认同信息转发至所述第一车辆通信范围内的各所述rsu和所述其余车辆之后,所述方法的实现方式还包括以下步骤:
[0128]
步骤1)接收所述其余车辆发送的第四信誉值调整信息;所述第四信誉值调整信息用于表示所述其余车辆根据所述新区块生成针对所述目标rsu信誉值的调整信息。
[0129]
具体地,在新区块的转发过程中,其余车辆接收到新区块之后,根据新区块生成第四信誉值调整信息,并对第四信誉值调整信息进行转发;第一车辆可以接收其余车辆发送
的第四信誉值调整信息。
[0130]
步骤2)在所述第四信誉值调整信息的数量大于第五阈值的情况下,终止转发所述新区块至所述其余车辆。
[0131]
具体地,第一车辆接收其余车辆发送的第四信誉值调整信息之后,统计第四信誉值调整信息的数量;若在预设时间间隔内,第一车辆统计的第四信誉值调整信息的数量大于第五阈值的情况下,则认为新区块的转发已经完全,终止对新区块的转发过程。
[0132]
可选地,若已经达到预设时间间隔,第一车辆统计的第四信誉值调整信息的数量还是小于或等于阈值的情况下,则也可以终止转发新区块。
[0133]
步骤3)在所述第二信誉值调整信息的数量小于或等于第五阈值的情况下,继续转发所述新区块至所述其余车辆。
[0134]
具体地,第一车辆接收其余车辆发送的第四信誉值调整信息之后,统计第四信誉值调整信息的数量,在第四信誉值调整信息的数量小于或等于第五阈值的情况下,第一车辆终止转发新区块至其余车辆。
[0135]
本发明提供的区块链共识方法,通过第一车辆接收并统计其余车辆发送的第四信誉值调整信息的数量,在第四信誉值调整信息的数量大于第五阈值的情况下,可以终止转发新区块,反之继续转发新区块至其余车辆,实现了新区块在rsu和车辆之间,以及各车辆之间的多次转发和验证,从而达到区块共识,提升了通信资源的利用率,降低了新区块传播的时间,提升了区块共识的效率。
[0136]
图4是本发明提供的区块链共识方法的流程示意图之四,如图4所示,该方法包括步骤401-步骤407,其中:
[0137]
步骤401,第一车辆接收至少一个rsu转发的新区块。第一车辆接收通信范围内的至少一个rsu转发的新区块,并不加修改的将新区块持续转发至其余车辆,直至满足终止条件;其中,终止条件是第一车辆统计第四信誉值调整信息的数量大于第五阈值的情况下,终止转发新区块。
[0138]
步骤402,第一车辆对新区块的合法性进行验证。若第一车辆认同新区块的合法性,则第一车辆生成第四认同信息,将所述第四认同信息转发至第一车辆通信范围内的至少一个rsu和其余车辆;其中,第四认同信息用于表示第一车辆认同新区块的合法性;第一车辆还接收其余车辆发送的第五认同信息。同时,第一车辆生成根据新区块生成针对第二rsu的信誉值调整信息,即第三信誉值调整信息。
[0139]
步骤403,判断新区块的转发是否达到预设时间。在新区块的转发过程中,判断是否达到预设的时间间隔内,若达到预设的时间间隔,则转至步骤404;反之,转至步骤402。
[0140]
步骤404,第一车辆对接收其余车辆的第五认同信息数量进行统计。
[0141]
步骤405,判断第五认同信息的数量是否大于第四阈值。若在预先设定的时间间隔,第一车辆收到的第五认同信息的数量大于预先设定的第四阈值,认为该新区块是“车辆有效”,同时,新区块共识完成,则转至步骤406;反之,转至步骤407。
[0142]
步骤406,将新区块上链。第一车辆向通信范围内的至少一个rsu和其余车辆广播一条第五准备消息,所述第五准备消息用于表示第一车辆已做好将区块上链的准备,同时也会接收到其余车辆和至少一个rsu广播第六准备消息,所述第六准备消息用于表示其余车辆以及rsu已做好将区块上链的准备;接着,第一车辆统计第六准备消息的数量,在该数
量大于第七预设阈值的情况下,则第一车辆再向至少一个rsu和其余车辆广播一条完成消息,所述完成消息用于表示第一车辆已将新区块上链,同时将新区块上链。
[0143]
步骤407,第一车辆将生成的第三信誉值调整信息转发至第一rsu通信范围内的至少一个rsu。若在预先设定的时间间隔,第一车辆收到的第五认同信息的数量小于或等于预先设定的第四阈值,认为该新区块不是“车辆有效”,该新区块将不会进行上链操作,并被丢弃;同时,第一车辆将本地暂存的第三信誉值调整信息发送给第一rsu通信范围内的至少一个rsu。
[0144]
接下来以ta接收第一rsu发送的第三信誉值调整信息和第一信誉值调整信息为例,说明ta管理信誉值、接收信誉值调整信息并更新第二rsu的信誉值的情况进行描述。
[0145]
步骤1)ta根据至少一个rsu的信誉值,选择信誉值较高的第二rsu作为新区块的生成者时,记录该第二rsu的身份id。
[0146]
步骤2)在接收到第一rsu生成的第二信誉值调整信息后,首先用第一rsursui的私钥验证第二信誉值调整信息的真实性,若第二信誉值调整信息的生成者(即第一rsu)的身份id与预先分配的公钥-私钥对不匹配,或第二信誉值调整信息中的时间戳信息timestamp不满足当前时间区间的条件,或区块哈希值block_hash与当前的新区块的哈希值不匹配,则拒绝该第二信誉值调整信息;若以上条件均满足,则查询第二信誉值调整信息中的判断信息is_rsu_valid。
[0147]
步骤3)在接收到第一rsu所发来的由第一车辆vi生成的第三信誉值调整信息后,首先,使用第一车辆vi的私钥验证第三信誉值调整信息的真实性,若第三信誉值调整信息生成者(即第一车辆)的身份与预先分配的公钥-私钥对不匹配,或第三信誉值调整信息中的时间戳信息timestamp不满足当前时间区间的条件,或区块哈希值block_hash与当前的新区块的哈希值不匹配,则拒绝该第三信誉值调整信息;若以上条件均满足,则查询第三信誉值调整信息中的判断信息is_vehicle_valid。
[0148]
步骤4)根据新区块的生成者的身份id,查询ta维护的多个rsu的信誉值表。
[0149]
接着,根据第一rsu的第二信誉值调整信息的判断信息is_rsu_valid和第一车辆的第三信誉值调整信息的判断信息is_vehicle_valid,ta对第二rsu的信誉值情况进行判断和更新。
[0150]
若is_rsu_valid=0且is_vehicle_valid=0,则ta对生成新区块的第二rsu的信誉值执行扣除工作,ta变更第二rsu的信誉值并更新维护的多个rsu信誉值表;
[0151]
若is_rsu_valid=1且is_vehicle_valid=0,则ta维持生成新区块的第二rsu的信誉值不变,ta更新维护的多个rsu信誉值表;
[0152]
若is_rsu_valid=1且is_vehicle_valid=1,则ta对生成新区块的第二rsu的信誉值执行增加工作,ta变更第二rsu的信誉值并更新维护的多个rsu信誉值表。
[0153]
图5是本发明提供区块链共识方法的流程示意图之五,如图5所示,该方法包括步骤501-步骤510,其中:
[0154]
步骤501,ta根据至少一个rsu的信誉值,选择信誉值较高的第二rsu作为新区块的生成者。
[0155]
步骤502,ta监听第一rsu发送的信誉值调整信息。
[0156]
步骤503,判断信誉值调整信息是否由第二rsu生成。若信誉值调整信息是第二rsu生成的,则转至步骤504;
[0157]
步骤504,判断信誉值调整信息的判断信息is_rsu_valid的值是否为1。若is_rsu_valid的值为1,则转至步骤506,反之转至步骤505;
[0158]
步骤505,扣除第二rsu的信誉值;
[0159]
步骤506,维持第二rsu的信誉值不变;
[0160]
步骤507,判断信誉值调整信息是否由第一车辆生成。若信誉值调整信息是第一车辆生成的,则转至步骤508;
[0161]
步骤508,判断信誉值调整信息的判断信息is_vehicle_valid的值是否为1。若is_vehicle_valid的值为1,则转至步骤509,反之转至步骤507;
[0162]
步骤509,增加第二rsu的信誉值;
[0163]
步骤510,更新ta维护的信誉值表。
[0164]
图6是本发明提供的区块链共识方法的框架结构图,如图6所示,包括ta601、rsu模块602、车辆模块603;其中,ta601包括信誉值存储模块6011、信誉值更新模块6012和身份发行模块6013,信誉值存储模块6011用于存储多个rsu以及多个车辆的信誉值;信誉值更新模块6012用于接收多个rsu发送的信誉值调整信息,并基于该信誉值调整信息更新第二rsu的信誉值;身份发行模块6013用于向多个rsu发行身份信息和公钥-私钥对,以及向多个车辆发行各个车辆的身份信息和公钥-私钥对。
[0165]
rsu模块602包括rsu6021、rsu6022、rsu6023、rsu6024、rsu6025,车辆模块603包括车辆6031、车辆6032、车辆6033、车辆6034、车辆6035;rsu模块602的各个rsu包括数字签名和验证单元、区块转发模块和区块验证单元;其中,rsu6021、rsu6022、rsu6023、rsu6024、rsu6025是合法的,均可以作为区块的生成者,同时向车辆模块603中的各个车辆发送新区块,并可以接收来自各个车辆对新区块的验证反馈;数字签名和验证单元用于对待验证的区块附加自己的私钥签名,同时,验证区块包含的私钥签名的合法性;区块转发单元用于对区块进行rsu与rsu之间、rsu与车辆之间及车辆与车辆之间的转发;区块验证单元用于验证区块的完整性与合法性。
[0166]
例如,以rsu6021作为第二rsu、rsu602作为第一rsu、车辆6031作为第一车辆为例,对本发明提供的区块链共识方法进行描述。
[0167]
具体地,ta601根据维护的多个rsu的信誉值表,选择一个信誉值较高的rsu6021作为新区块的生成者,即rsu6021为第二rsu,rsu6021接收到ta601的区块生成指令后,将收集到的交易信息打包,生成新区块604,并在新区块604中附加自己的私钥签名。
[0168]
接着,rsu6021将新区块604转发至rsu6022,rsu6022作为第一rsu,rsu6022将新区块转发至rsu6023、rsu6024和rsu6025,同时,rsu6023、rsu6024和rsu6025在接收到新区块604之后,不加修改的分别将新区块604转发至除自己本身之外的其余rsu,即所有的rsu共同参与到新区块的转发过程中。
[0169]
rsu6022、rsu6023、rsu6024、rsu6025在接收到新区块604之后,分别对新区块604的合法性进行验证,若rsu6022认同新区块604的合法性,则生成第一认同信息,并将第一认同信息进行转发;若rsu6022不认同新区块604的合法性,则不生成第一认同信息;若rsu6023、rsu6024和rsu6025认同新区块604的合法性,则生成第二认同信息,并将第二认同
信息进行转发;若rsu6023、rsu6024和rsu6025不认同新区块604的合法性,则不生成第二认同信息;
[0170]
同时,rsu6022基于新区块604生成对于rsu6021的第二信誉值调整信息,并用自己的公钥签名,暂存于本地。rsu6023、rsu6024和rsu6025基于新区块604生成对于rsu6021的第五信誉值调整信息,并用自己的公钥签名,暂存于本地。
[0171]
接着,rsu6022对接收到的第二认同信息的数量分别进行统计,在预设时间间隔内,若第二认同信息的数量大于预先设定的第一阈值,则认为新区块604为“rsu有效”,并将新区块604转发至rsu6022通信范围内的车辆6031,车辆6031作为第一车辆,同时,车辆6031将新区块转发至车辆6032、车辆6033、车辆6034和车辆6035,其中,同时车辆6031记录从车辆6032、车辆6033、车辆6034和车辆6035返回的各车辆对于新区块604的第四认同信息以及第四信誉值调整信息;
[0172]
若第二认同信息的数量小于或等于预先设定的第一阈值,则认为新区块604不是“rsu有效”,并不对新区块604进行转发至rsu6022通信范围内的车辆6031、车辆6032、车辆6033、车辆6034和车辆6035,对新区块604进行丢弃,并将各rsu之前生成的信誉值调整信息反馈给ta。
[0173]
车辆6031、车辆6032、车辆6033、车辆6034、车辆6035在接收到rsu6022、rsu6023、rsu6024、rsu6025转发的新区块604之后,对新区块604不加修改的向除自己之外的其余车辆进行转发;同时,车辆6031、车辆6032、车辆6033、车辆6034、车辆6035分别对新区块604的合法性进行验证。若车辆6031认同新区块604的合法性,则生成第四认同信息,并将第四认同信息转发至车辆6031通信范围内的rsu和其余车辆;若车辆6031不认同新区块604的合法性,则不生成第四认同信息;若车辆6032、车辆6033、车辆6034和车辆6035认同新区块604的合法性,则生成第五认同信息,并将第五认同信息转发至各车辆通信范围内的rsu和其余车辆;若车辆6032、车辆6033、车辆6034和车辆6035不认同新区块604的合法性,则不生成第五认同信息。
[0174]
同时,车辆6031基于新区块604生成对于rsu6021的第三信誉值调整信息,并用自己的公钥签名进行转发至车辆6031通信范围内的rsu和其余车辆。车辆6032、车辆6033、车辆6034和车辆6035分别基于新区块604生成对于rsu6021的第四信誉值调整信息,并用自己的公钥签名进行转发至各车辆通信范围内的rsu和其余车辆。
[0175]
第一rsu对接收到的各车辆发送的第三认同信息进行统计,第三认同信息包括第四认同信息和第五认同信息,以及各车辆发送的第一信誉值调整信息;第一信誉值调整信息包括第三信誉值调整信息和第四信誉值调整信息;第一车辆对接收到的其余车辆发送的第五认同信息进行统计,以及其余车辆发送的第四信誉值调整信息进行统计。
[0176]
若第一rsu收到来自各车辆的第一信誉值调整信息的数量大于预先设定的第三阈值,则认为新区块604在整个网络中的传播已经接近完全,第一rsu停止继续转发新区块;反之,继续转发新区块。
[0177]
若第一车辆收到来自其余车辆的第四信誉值调整信息的数量大于预先设定的第五阈值,则认为新区块604在整个网络中的传播已经接近完全,第一车辆停止继续转发新区块;反之,继续转发新区块。
[0178]
若第一rsu收到来自各车辆的第三认同信息的数量大于预先设定的第二阈值,则
认为新区块604是“车辆有效”,新区块604共识完成,第一rsu将新区块上链,同时,第一rsu将接收的来自各车辆的第一信誉值调整信息以及自身之前生成的第二信誉值调整信息发送至ta;反之,认为新区块604不是“车辆有效”,将新区块604丢弃。
[0179]
若第一车辆收到来自其余车辆的第五认同信息的数量大于预先设定的第五阈值,则认为新区块604是“车辆有效”,新区块604共识完成,第一车辆将新区块604上链;反之,认为新区块604不是“车辆有效”,将新区块604丢弃。
[0180]
下面对本发明提供的区块链共识装置进行描述,下文描述的区块链共识装置与上文描述的区块链共识方法可相互对应参照。
[0181]
图7是本发明提供的区块链共识装置的结构示意图之一,应用于第一rsu,该区块链共识装置700包括第一转发模块701、第一生成模块702和第二转发模块703;其中:
[0182]
第一转发模块701,用于接收第二rsu发送的新区块,将所述新区块转发至其余rsu;所述第二rsu是信誉值管理机构ta根据存储的至少一个rsu的信誉值选取的;所述新区块是所述第二rsu生成的;
[0183]
第一生成模块702,用于在所述第一rsu认同所述新区块的合法性的情况下,生成第一认同信息,将所述第一认同信息转发至所述其余rsu;所述第一认同信息用于表示所述第一rsu认同所述新区块的合法性;
[0184]
第二转发模块703,用于接收所述其余rsu发送的第二认同信息,在所述第二认同信息的数量大于第一阈值的情况下,将所述新区块持续转发至所述第一rsu通信范围内的至少一个车辆;所述第二认同信息用于表示所述其余rsu认同所述新区块的合法性。
[0185]
本发明提供的区块链共识装置,通过第一rsu接收第二rsu发送的新区块,并将新区块转发至其余rsu;同时,对新区块的合法性进行验证,在认同新区块的合法性的情况下,生成第一认同信息,并将第一认同信息也转发至其余rsu;接着,接收其余rsu发送的第二认同信息,在第二认同信息的数量大于第一阈值的情况下,认为新区块“rsu有效”,并将新区块持续转发至第一rsu通信范围内的至少一个车辆。本发明提供的装置,通过新区块在各rsu之间的转发及将新区块持续转发至各车辆,从而提升了新区块在整个网络的传播效率和通信资源的利用率,同时,提升了区块共识的效率。
[0186]
可选地,所述装置700还包括:
[0187]
第一接收模块,用于接收各所述车辆发送的第三认同信息;所述第三认同信息为第四认同信息,和/或,第五认同信息;所述第四认同信息用于表示所述第一车辆认同所述新区块的合法性;所述第五认同信息用于表示其余车辆认同所述新区块的合法性;
[0188]
第一上链模块,用于在所述第三认同信息的数量大于第二阈值的情况下,所述新区块共识完成,将所述新区块上链。
[0189]
可选地,所述装置700还包括:
[0190]
第二接收模块,用于接收各所述车辆发送的第一信誉值调整信息;所述第一信誉值调整信息为第三信誉值调整信息,和/或,第四信誉值调整信息;所述第三信誉值调整信息用于表示所述第一车辆根据所述新区块生成针对所述第二rsu信誉值的调整信息;所述第四信誉值调整信息用于表示所述其余车辆根据所述新区块生成针对所述第二rsu信誉值的调整信息;
[0191]
第五转发模块,用于在所述第一信誉值调整信息的数量大于第三阈值的情况下,
终止转发所述新区块;
[0192]
第六转发模块,用于在所述第一信誉值调整信息的数量小于或等于第三阈值的情况下,继续转发所述新区块。
[0193]
可选地,所述装置700还包括:
[0194]
第一发送模块,用于将第二信誉值调整信息和所述第一信誉值调整信息发送至ta;所述第二信誉值调整信息用于表示所述第一rsu根据所述新区块生成针对所述第二rsu信誉值的调整信息。
[0195]
图8是本发明提供的区块链共识装置的结构示意图之二,应用于第一车辆,该区块链共识装置800包括第三转发模块801、第二生成模块802和第四转发模块803;其中:
[0196]
第三转发模块801,用于接收至少一个路侧单元rsu转发的新区块,将所述新区块持续转发至其余车辆;所述新区块是第二rsu生成的;所述第二rsu是信誉值管理机构ta根据存储的至少一个rsu的信誉值选取的;
[0197]
第二生成模块802,用于在所述第一车辆认同所述新区块的合法性的情况下,生成第四认同信息,将所述第四认同信息转发至所述第一车辆通信范围内的各所述rsu和所述其余车辆;所述第四认同信息用于表示所述第一车辆认同所述新区块的合法性;
[0198]
第四转发模块803,用于接收所述其余车辆发送的所述第五认同信息,在所述第五认同信息的数量大于第四阈值的情况下,所述新区块共识完成,将所述新区块上链;所述第五认同信息用于表示所述其余车辆认同所述新区块的合法性。
[0199]
本发明提供的区块链共识装置,通过第一车辆接收至少一个rsu转发的新区块,并对新区块进行转发,以及对新区块的合法性进行验证;在认同新区块的合法性的情况下,生成第四认同信息,将第四认同信息转发至第一车辆通信范围内的各rsu和其余车辆;同时,也接收其余车辆发送的第五认同信息,并对第五认同信息进行统计;在第五认同信息的数量大于第四阈值的情况下,认为新区块共识完成,将新区块上链。本发明提供的装置,提升了通信资源的利用率,降低了新区块传播的时间,提升了区块共识的效率。
[0200]
可选地,所述装置800还包括:
[0201]
第三接收模块,用于接收所述其余车辆发送的第四信誉值调整信息;所述第四信誉值调整信息用于表示所述其余车辆根据所述新区块生成针对所述目标rsu信誉值的调整信息;
[0202]
第七转发模块,用于在所述第四信誉值调整信息的数量大于第五阈值的情况下,终止转发所述新区块至所述其余车辆;
[0203]
第八转发模块,用于在所述第四信誉值调整信息的数量小于或等于第五阈值的情况下,继续转发所述新区块至所述其余车辆。
[0204]
图9是本发明提供的一种第一rsu的实体结构示意图,如图9所示,该电子设备900可以包括:处理器(processor)910、通信接口(communications interface)920、存储器(memory)930和通信总线940,其中,处理器910,通信接口920,存储器930通过通信总线940完成相互间的通信。处理器910可以调用存储器930中的逻辑指令,以执行区块链共识方法,该方法包括:接收第二rsu发送的新区块,将所述新区块转发至其余rsu;所述第二rsu是信誉值管理机构ta根据存储的至少一个rsu的信誉值选取的;所述新区块是所述第二rsu生成的;在所述第一rsu认同所述新区块的合法性的情况下,生成第一认同信息,将所述第一认
同信息转发至所述其余rsu;所述第一认同信息用于表示所述第一rsu认同所述新区块的合法性;接收所述其余rsu发送的第二认同信息,在所述第二认同信息的数量大于第一阈值的情况下,将所述新区块持续转发至所述第一rsu通信范围内的至少一个车辆;所述第二认同信息用于表示所述其余rsu认同所述新区块的合法性。
[0205]
可选地,本发明还提供的一种第一车辆,该车辆可以包括:处理器(processor)、通信接口(communications interface)、存储器(memory)和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信。处理器可以调用存储器中的逻辑指令,以执行区块链共识方法,该方法包括:接收至少一个路侧单元rsu转发的新区块,将所述新区块持续转发至其余车辆;所述新区块是第二rsu生成的;所述第二rsu是信誉值管理机构ta根据存储的至少一个rsu的信誉值选取的;在所述第一车辆认同所述新区块的合法性的情况下,生成第四认同信息,将所述第四认同信息转发至所述第一车辆通信范围内的各所述rsu和所述其余车辆;所述第四认同信息用于表示所述第一车辆认同所述新区块的合法性;接收所述其余车辆发送的所述第五认同信息,在所述第五认同信息的数量大于第四阈值的情况下,所述新区块共识完成,将所述新区块上链;所述第五认同信息用于表示所述其余车辆认同所述新区块的合法性;所述第五认同信息用于表示所述其余车辆认同所述新区块的合法性。
[0206]
此外,上述的存储器930中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0207]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的区块链共识方法,该方法包括:接收第二rsu发送的新区块,将所述新区块转发至其余rsu;所述第二rsu是信誉值管理机构ta根据存储的至少一个rsu的信誉值选取的;所述新区块是所述第二rsu生成的;在所述第一rsu认同所述新区块的合法性的情况下,生成第一认同信息,将所述第一认同信息转发至所述其余rsu;所述第一认同信息用于表示所述第一rsu认同所述新区块的合法性;接收所述其余rsu发送的第二认同信息,在所述第二认同信息的数量大于第一阈值的情况下,将所述新区块持续转发至所述第一rsu通信范围内的至少一个车辆;所述第二认同信息用于表示所述其余rsu认同所述新区块的合法性。
[0208]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的区块链共识方法,该方法包括:接收至少一个路侧单元rsu转发的新区块,将所述新区块持续转发至其余车辆;所述新区块是第二rsu生成的;所述第二rsu是信誉值管理机构ta根据存储的至少一个rsu的信誉值选取的;在所述第一车
辆认同所述新区块的合法性的情况下,生成第四认同信息,将所述第四认同信息转发至所述第一车辆通信范围内的各所述rsu和所述其余车辆;所述第四认同信息用于表示所述第一车辆认同所述新区块的合法性;接收所述其余车辆发送的所述第五认同信息,在所述第五认同信息的数量大于第四阈值的情况下,所述新区块共识完成,将所述新区块上链;所述第五认同信息用于表示所述其余车辆认同所述新区块的合法性;所述第五认同信息用于表示所述其余车辆认同所述新区块的合法性。
[0209]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的区块链共识方法,该方法包括:接收第二rsu发送的新区块,将所述新区块转发至其余rsu;所述第二rsu是信誉值管理机构ta根据存储的至少一个rsu的信誉值选取的;所述新区块是所述第二rsu生成的;在所述第一rsu认同所述新区块的合法性的情况下,生成第一认同信息,将所述第一认同信息转发至所述其余rsu;所述第一认同信息用于表示所述第一rsu认同所述新区块的合法性;接收所述其余rsu发送的第二认同信息,在所述第二认同信息的数量大于第一阈值的情况下,将所述新区块持续转发至所述第一rsu通信范围内的至少一个车辆;所述第二认同信息用于表示所述其余rsu认同所述新区块的合法性。
[0210]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的区块链共识方法,该方法包括:接收至少一个路侧单元rsu转发的新区块,将所述新区块持续转发至其余车辆;所述新区块是第二rsu生成的;所述第二rsu是信誉值管理机构ta根据存储的至少一个rsu的信誉值选取的;在所述第一车辆认同所述新区块的合法性的情况下,生成第四认同信息,将所述第四认同信息转发至所述第一车辆通信范围内的各所述rsu和所述其余车辆;所述第四认同信息用于表示所述第一车辆认同所述新区块的合法性;接收所述其余车辆发送的所述第五认同信息,在所述第五认同信息的数量大于第四阈值的情况下,所述新区块共识完成,将所述新区块上链;所述第五认同信息用于表示所述其余车辆认同所述新区块的合法性;所述第五认同信息用于表示所述其余车辆认同所述新区块的合法性。
[0211]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0212]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0213]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;
而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1