
1.本发明涉及区块链技术领域,尤其涉及一种基于区块链技术的分片式车联网系统。
背景技术:2.区块链的发展越来越成熟,其技术的分散化和数据不可篡改的特性被广泛应用,利用区块链构建高安全性的汽车互联网是未来的发展趋势之一。在传统的区块链中,区块是按顺序创建的,需要有足够的传播时间。这就产生了一个固定的低吞吐量(定义为区块链每秒处理的事务数),成为阻止区块链被广泛采用的关键限制。传统区块链中的所有完整节点所拥有的通信、数据存储和计算开销这三种资源,限制系统不能充分利用可扩展的共识算法。
3.目前,在基于区块链的车联网安全技术中,为了保证链上信息的可信度,所有参与的车辆节点都需要通过交换信息来达成共识。然而随着大量车辆节点的引入,使得区块链系统的规模骤增,在提升可信性的同时也导致车联网的信息传播时间(共识时间)激增。
技术实现要素:4.针对现有技术存在的问题,本发明提供一种基于区块链技术的分片式车联网系统。
5.本发明提供一种基于区块链技术的分片式车联网系统,包括:多个边缘服务器,若干与所属边缘服务器直接通信的车辆终端,每个边缘服务器和下属车辆终端,根据地理位置划分,作为一个分片区域;需产生新区块时,最先获得新区块记账权的目标车辆终端,将包括位置证明信息和自身数字签名的新区块,发送至同一分片区域内的其它车辆终端进行验证;任一验证车辆,若收到待验证的区块并验证通过后,则根据新区块中所有参与验证车辆的位置证明信息和签名信息,确定共识指数,若共识指数未达到共识阈值,则将自身位置证明信息和签名信息写进新区块,发送给下一验证车辆;若任一验证车辆确定共识指数达到共识阈值,则将新区块发送给分片区域的边缘服务器,在边缘服务器验证通过后,完成新区块的更新。
6.根据本发明一个实施例的基于区块链技术的分片式车联网系统,每一边缘服务器若接收到分片区域内车辆发送的位置证明请求信息,则根据雷达模块采集车辆的定位信息,对车辆发送的定位信息进行验证,验证通过后,发送附带自身签名的位置证明信息给请求车辆终端。
7.根据本发明一个实施例的基于区块链技术的分片式车联网系统,所述位置证明信息还包括时间戳。
8.根据本发明一个实施例的基于区块链技术的分片式车联网系统,最先获得新区块记账权的目标车辆终端,将包括位置证明信息和自身数字签名的新区块,发送至同一分片区域内的其它车辆终端进行验证之前,以及任意验证车辆将自身位置证明信息和签名信息
写进新区块之前,分别还包括:向分片区域内的边缘服务器请求车辆的位置证明信息。
9.根据本发明一个实施例的基于区块链技术的分片式车联网系统,还包括第三方可信中心;边缘服务器对新区块验证通过后,将新区块加入到本区域的局部区块链中,并将新区块转发给所有的边缘服务器、分片区域内的所有车辆节点以及第三方可信中心,以完成新区块的更新;其中,边缘服务器转发的新区块中包括所有验证过的车辆节点的位置证明信息和数字签名信息。
10.根据本发明一个实施例的基于区块链技术的分片式车联网系统,第三方可信中心根据接收到的区块以及在不同时间下各边缘服务器所覆盖的车辆,确定所有车辆的信誉值;根据所述信誉值,确定所述共识阈值,并将所述共识阈值发送给各边缘服务器。
11.根据本发明一个实施例的基于区块链技术的分片式车联网系统,所述确定所有车辆的信誉值,包括:若不同区块具有完全相同的车辆列表时,则完全相同车辆为潜在恶意车辆,或者,不同时段某一分片区域具有多个相同车辆时,相同车辆为潜在恶意车辆,潜在恶意车辆的信誉值均减少;车辆非潜在恶意车辆或恶意车辆,在参与验证新区块,且边缘服务器验证有效后,信誉值增加。
12.根据本发明一个实施例的基于区块链技术的分片式车联网系统,所述根据所述信誉值,确定所述共识阈值,包括:若信誉值低于恶意车辆的判断阈值,则将对应车辆判为恶意车辆;将分片区域内的所有恶意车辆,经声誉值加权后,加上一个大于等于1的增量,作为所述共识阈值。
13.根据本发明一个实施例的基于区块链技术的分片式车联网系统,所述根据新区块中所有参与验证车辆的位置证明信息和签名信息,确定共识指数,包括:将车辆的信誉值作为数字签名的权重;所有参与验证车辆的数字签名的权重之和,作为区块当前的共识指数。
14.根据本发明一个实施例的基于区块链技术的分片式车联网系统,边缘服务器每隔预设时间与区域内的所有车辆节点通信,获取本区域内所含有的车辆信息,所述车辆信息包括车辆的位置信息,并发送给第三方可信中心。
15.本发明提供的基于区块链技术的分片式车联网系统,通过引入分片式车联网可信组网架构,车辆可以根据自身地理位置,构建多个按区域划分的动态子网络,每个子网络内的车辆和该子网络的边缘服务器构成一个局部区块链系统,完成局部共识(包括信息正确性的验证和传播共享)。并在部分车辆的辅助下完成区域共识,各个区域的边缘服务器,构成全局区块链系统,完成全局共识。因此,可以在多个分片区域内独立和并行地处理工作负载,实现可扩展的车载区块链系统,减少参与节点的通信、数据存储和计算资源的开销。
附图说明
16.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
17.图1是本发明提供的基于区块链技术的分片式车联网系统结构示意图;
18.图2是本发明提供的区块结构示意图。
具体实施方式
19.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
20.下面结合图1
‑
图2描述本发明的基于区块链技术的分片式车联网系统。图1是本发明提供的基于区块链技术的分片式车联网系统结构示意图,如图1所示,本发明提供基于区块链技术的分片式车联网系统,包括:多个边缘服务器,若干与所属边缘服务器直接通信的车辆终端,每个边缘服务器和下属车辆终端,根据地理位置划分,作为一个分片区域;需产生新区块时,最先获得新区块记账权的目标车辆终端,将包括位置证明信息和自身数字签名的新区块,发送至同一分片区域内的其它车辆终端进行验证;任一验证车辆,若收到待验证的区块并验证通过后,则根据新区块中所有参与验证车辆的位置证明信息和签名信息,确定共识指数,若共识指数未达到共识阈值,则将自身位置证明信息和签名信息写进新区块,发送给下一验证车辆;若任一验证车辆确定共识指数达到共识阈值,则将新区块发送给分片区域的边缘服务器,在边缘服务器验证通过后,完成新区块的更新。
21.每辆车首先通过第三方可信中心的身份认证,获得真实的身份id以及公钥
‑
私钥对,成为合法车辆。例如,具有真实身份的合法车辆bv
i
获得其公钥私钥身份标识id
i
,还可包括初始信誉值1(后续实施例会作说明)。获得合法的身份信息后,车辆与附近的边缘服务器通信完成所在区域内的局部区块链初始化操作,具体来说是从附近的边缘服务器下载最新的局部区块链副本。同时,向附近的边缘服务器请求所有车辆的信誉值以及新区块完成验证所需的车辆节点共识阈值。
22.每辆车将收集到的交易信息打包到一个新区块中,其中新区块包含分片索引s、随机数nonce值,时间戳信息timestamp等,如图2所示,并与同一分片区域内的其他车辆竞争,求解哈希计算谜题,完成pow工作量证明。具体来说,车辆通过连续的随机尝试直到找到一个随机数,使得该随机数和区块头组成的字节串的哈希散列值满足特定要求(即,具有给定数量的前导0比特的二进制数)。
23.率先求解出哈希计算谜题的车辆(例如,车辆i),向附近的边缘服务器请求获得此时车辆的位置证明信息。
24.当位置证明信息中的时间戳小于新区块的区块头中的时间戳时,车辆的位置证明信息将被认为是不合法的。
25.车辆i将附带位置证明信息和自身数字签名信息的新区块转发给附近的同一分片区域内的车辆。但是对于区域边界的车辆节点,当其将新区块转发给附近的车辆节点时,可能会转发给其他分片区域内的车辆节点,具体解决方法见如下步骤。
26.车辆(例如,车辆j)接收到附带车辆i的位置证明信息和数字签名信息的新区块后,首先查看区块头中分片索引s,若车辆j不属于分片区域s,那么车辆j不会执行相应的所有步骤。
27.车辆j,先验证参与区块验证的所有车辆是否满足共识条件,采用的方法是据新区块中所有参与验证车辆的位置证明信息和签名信息,确定共识指数,若共识指数未达到共
识阈值,则不满足共识条件,发送至下一车辆继续验证。
28.当由车辆发现满足共识条件了,即参与度达到了共识阈值。将新区块以及附带的所有对其验证过的车辆节点的位置证明信息和数字签名信息转发给附近的边缘服务器。边缘服务器完成区块的更新,进行全网共识,当车辆节点收到本区域的边缘服务器发送的已达成共识的新区块时,将停止现有的新区块的转发任务,完成区块链更新,并开始下一轮的局部区块链记账权的竞争中。
29.本实施例提供的基于区块链技术的分片式车联网系统,通过引入分片式车联网可信组网架构,车辆可以根据自身地理位置,构建多个按区域划分的动态子网络,每个子网络内的车辆和该子网络的边缘服务器构成一个局部区块链系统,完成局部共识(包括信息正确性的验证和传播共享)。并在部分车辆的辅助下完成区域共识,各个区域的边缘服务器,构成全局区块链系统,完成全局共识。因此,可以在多个分片区域内独立和并行地处理工作负载,实现可扩展的车载区块链系统,减少参与节点的通信、数据存储和计算资源的开销。
30.在一个实施例中,每一边缘服务器若接收到分片区域内车辆发送的位置证明请求信息,则根据雷达模块采集车辆的定位信息,对车辆发送的定位信息进行验证,验证通过后,发送附带自身签名的位置证明信息给请求车辆终端。在一个实施例中,所述位置证明信息还包括时间戳。
31.接收到车辆i的位置信息的边缘服务器rsu
j
根据雷达模块采集车辆的定位信息,通过将其与车辆发送的定位信息gps
i
进行比较,验证bv
i
发送的位置信息的合法性。验证其有效性后,rsu
j
发送附带自身签名的位置证明信息给bv
i
,具体形式如下所示
[0032][0033][0034]
其中,代表边缘服务器rsu
j
的私钥;位置证明信息中的时间戳timestamp是为了防止车辆重复性利用之前向边缘服务器请求的位置证明信息。当位置证明信息中的时间戳小于新区块的区块头中的时间戳时,车辆的位置证明信息将被认为是不合法的。
[0035]
为了保护车辆轨迹的隐私性,rsu
j
提供的仅包括bv
i
的身份标识和时间戳信息。
[0036]
在一个实施例中,所述位置证明请求信息包括请求车辆终端的身份标识和定位信息。
[0037]
具体来说,车辆bv
i
首先向附近的边缘服务器rsu
j
发送位置信息具体形式如下所示
[0038][0039]
其中,代表边缘服务器rsu
j
的公钥;id
i
代表车辆i的身份标识;gps
i
代表此
时车辆i的定位信息。通过采用边缘服务器rsu
j
的公钥对位置信息进行加密的方式,可以防止其他恶意节点获取车辆i的隐私轨迹信息。
[0040]
在一个实施例中,最先获得新区块记账权的目标车辆终端,将包括位置证明信息和自身数字签名的新区块,发送至同一分片区域内的其它车辆终端进行验证之前,以及任意验证车辆将自身位置证明信息和签名信息写进新区块之前,分别还包括:向分片区域内的边缘服务器请求车辆的位置证明信息。
[0041]
在一个实施例中,还包括第三方可信中心;边缘服务器对新区块验证通过后,将新区块加入到本区域的局部区块链中,并将新区块转发给所有的边缘服务器、分片区域内的所有车辆节点以及第三方可信中心,以完成新区块的更新;其中,边缘服务器转发的新区块中包括所有验证过的车辆节点的位置证明信息和数字签名信息。
[0042]
边缘服务器(例如,边缘服务器rsu
j
)收到并验证车辆j发送的新区块以及附带的所有对其验证过的车辆节点的位置证明信息和数字签名信息,验证其有效性后,rsu
j
将新区块加入到本区域的局部区块链中,并将新区块以及附带的所有对其验证过的车辆节点的位置证明信息和数字签名信息进一步转发给所有的边缘服务器(包括本分片区域内的边缘服务器以及其他分片区域内的边缘服务器)、分片区域内的所有车辆节点以及第三方可信中心。
[0043]
在一个实施例中,第三方可信中心根据接收到的区块以及在不同时间下各边缘服务器所覆盖的车辆,确定所有车辆的信誉值;根据所述信誉值,确定所述共识阈值,并将所述共识阈值发送给各边缘服务器。
[0044]
第三方可信中心通过边缘服务器获取其下的车辆的信息,结合历史区块中参与验证车辆的位置证明信息和签名信息,确定验证过程中车辆行为,并进行信誉值评分。并确定一个能够满足共识条件的共识阈值,发送给边缘服务器,边缘服务器将其发送给各车辆终端。车辆终端在验证新区块时,判断参与验证车辆的信誉值,是否达到共识阈值,若达到,则将包括各验证车辆的信息的新区块,发送给边缘服务器验证。
[0045]
在一个实施例中,所述确定所有车辆的信誉值,包括:若不同区块具有完全相同的车辆列表时,则完全相同车辆为潜在恶意车辆,或者,不同时段某一分片区域具有多个相同车辆时,相同车辆为潜在恶意车辆,潜在恶意车辆的信誉值均减少;车辆非潜在恶意车辆或恶意车辆,在参与验证新区块,且边缘服务器验证有效后,信誉值增加。
[0046]
为防止恶意车辆聚集在一个分片区域内,对分片区域的安全造成危险,第三方可信中心更新车辆的信誉值所需的具体步骤如下:
[0047]
第三方可信中心根据接收到的新区块信息(附带所有对其验证过的车辆节点的位置证明信息和数字签名信息),维护一个对新区块进行签名的车辆列表。第三方可信中心为所有共识完成的新区块都维护了一个相应的对其进行数字签名的车辆列表,当发现有完全相同的车辆列表时,表中所有车辆的信誉值都执行扣除部分信誉分操作。
[0048]
第三方可信中心根据边缘服务器发送的不同时间下各区域所含有的具体车辆,分析每辆车在不同时间下所处的分片区域。对于长时间在同一个分片区域的车辆,对其执行扣除部分信誉分操作。
[0049]
相应地,对参与新区块验证,并且新区块经边缘服务器验证有效,但车辆不是潜在恶意车辆(即没有被扣除信誉分)或恶意车辆(可基于现有技术判断,或者本发明的下述实
施例判断),则信誉值增加。
[0050]
在一个实施例中,所述根据所述信誉值,确定所述共识阈值,包括:若信誉值低于恶意车辆的判断阈值,则将对应车辆判为恶意车辆;将分片区域内的恶意车辆,经声誉值加权后,加上一个大于等于1的增量,作为所述共识阈值。
[0051]
第三方可信中心分析所有车辆的信誉值,信誉值低于一定阈值的车辆,将判定为恶意车辆,统计所有恶意车辆的数量;信誉值高于阈值的车辆,判定为合法车辆。第三方可信中心将计算所有恶意车辆的信誉值,并以信誉值作为权重进行求和,例如加权求和后为n,然后再加上一个增量,例如为1,作为共识阈值(即共识阈值为n+1),发送给边缘服务器。若分区内均为恶意车辆,新区块发送给边缘服务器后,边缘服务器将会发现新区块的共识指数为n,而完成验证的共识阈值为n+1,共识指数小于n+1,则判定新区块为无效的,不进行全网更新。
[0052]
在一个实施例中,所述根据新区块中所有参与验证车辆的位置证明信息和签名信息,确定共识指数,包括:将车辆的信誉值作为数字签名的权重;所有参与验证车辆的数字签名的权重之和,作为区块当前的共识指数。
[0053]
车辆j验证数字签名、位置证明信息以及新区块的合法性,验证其有效性后,计算所有合法的车辆节点数字签名的信誉值之和,作为共识指数,具体形式如下所示:
[0054][0055]
其中,n代表车辆j收到的附加到一个新区块上的数字签名的数量;rv
k
代表每个对新区块签名的车辆的信誉值。
[0056]
当合法的车辆节点数字签名加权后得到的共识指数小于新区块完成验证所需的共识阈值时,车辆j向附近的边缘服务器请求获得此时车辆j的位置证明信息,车辆j将新区块、车辆i和车辆j的位置证明信息,车辆i和车辆j对新区块的数字签名信息转发给同一分片区域内的其他车辆。
[0057]
否则,车辆j将新区块以及附带的所有对其验证过的车辆节点的位置证明信息和数字签名信息转发给附近给边缘服务器,以及其他分片区域的边缘服务器。
[0058]
当车辆节点收到边缘服务器发送的已达成共识的新区块时,将停止现有的新区块的转发任务,并开始下一轮的局部区块链记账权的竞争中。
[0059]
在一个实施例中,边缘服务器每隔预设时间与区域内的所有车辆节点通信,获取本区域内所含有的车辆信息,所述车辆信息包括车辆的位置信息,并发送给第三方可信中心。
[0060]
边缘服务器同步局部区块链并完成全局共识所需的步骤。边缘服务器每隔一段时间与区域内的所有车辆节点通信,获取本区域内所含有的车辆。同时定期与第三方可信中心通信,向其发送区域内不同时间下所含有的具体车辆,并进一步接收所有车辆的信誉值以及新区块完成验证所需的共识阈值。
[0061]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指
令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0062]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。