基于区块链与云-边缘计算混合架构的车联网数据安全存储与共享方案

2021-11-05 01:29巫光福王影军
计算机应用 2021年10期
关键词:边缘共识区块

巫光福,王影军

(江西理工大学信息工程学院,江西赣州 341000)

0 引言

在车联网(Internet of Vehicles,IoV)环境下的车辆配备了先进的车载传感器和智能电子设备,并进一步配备无线通信装置车载单元(On Board Unit,OBU),能够有效完成IoV 内部成员之间的交互通信。数据信息的传递和共享主要通过车对车(Vehicle to Vehicle,V2V)、车对路(Vehicle to Road,V2R)和路对路(Road to Road,R2R)三种方式,利用边缘计算技术对车辆节点中的敏感数据进行局部处理。同时,非敏感信息通过互联网传输,实现基于车辆(Vehicle,V)和路侧单元(Road Side Unit,RSU)的信息交互。

然而,由于大量设备接入网络并请求相应的网络服务,网络带宽会被各种智能联网设备占用,导致服务器处理任务请求速度慢、效率低下。在过去的云计算模式中,将消息处理工作部署在云端,造成消息处理速度慢、数据传输延迟、占用高带宽资源,核心网难以满足高峰时段回程负荷的延时要求。同时,由于云计算的集中计算特性,会进一步导致节点分布不均,恶化数据传输和信息获取的过程。由于IoV 系统通常运行在无线网络环境中,恶意攻击者可以很容易地截获、插入、删除和修改传输的信息。此外,如果在通信过程中车辆的身份信息泄露,车辆的位置和运行轨迹等私人信息可能会暴露出来。因为交通信息的安全性和完整性关系到对车内人员的保护,一旦传输的数据出现错误,就有可能造成交通事故和人员伤亡。鉴于上述安全挑战,通信过程中的异常延迟问题亟待解决,保证信息的安全性和完整性至关重要。

区块链技术是一种共享的分布式账本技术,它由网络中的所有节点管理、维护和监督。边缘计算是在网络边缘执行计算的一种新的范式,它通过在云计算和智能设备之间搭建桥梁来支持严格的移动应用需求[1]。IoV 上的车辆节点和边缘计算中的边缘节点类似于区块链中的网络节点。因此,区块链+边缘计算有望为IoV 上的安全威胁和高延迟问题提供解决方案。

文献[2]中针对移动边缘计算中资源有限的问题,通过在线学习使任务延迟最小化;文献[3]中使用多平台卸载的智能资源分配算法降低IoV 上计算任务的时延和系统成本,该算法节省了系统总开销的80%;文献[4]中提出了一种联合通信和计算资源分配优化方案,使用云计算和边缘计算来提高边缘云的效率,与传统的云计算方案相比,该方案具有更好的时延性能;文献[5]中将移动边缘计算(Mobile Edge Computing,MEC)与云计算相结合,通过决策和资源分配的联合优化来实现计算卸载问题。

与上述研究不同,本文提出了一种新的车联网信息安全存储和共享方案,将区块链技术和边缘计算技术有机地结合起来。本文的主要工作如下:

1)虚拟地将车辆节点和路边单元节点作为区块链的网络节点,通过区块链传递交通信息,保证数据的完整性和安全性。私有链和联盟链的结合使用平衡了分散技术与弱集中的现实之间的矛盾。普通车辆将形成基于联盟区块链的车辆网络,而专用车辆将单独形成私有区块链。

2)采用一种改进的基于身份的数字签密算法来避免公钥证书的缺点,并引入了私钥生成器(Private Key Generator,PKG);采用基于离散中心二项分布的环签名方案,减小签名长度。

3)在路边单位和车辆上嵌入边缘计算设备,可以将传统的云端数据交互形式转化为云-边缘端。私人敏感数据将直接通过本地边缘设备进行处理,如果需要复杂的计算,通过安全通道传输到云进行处理。

4)提出了一种基于信誉值的动态分层的实用拜占庭容错机制,并在区块链网络中部署智能合约,实现声誉价值管理。

1 相关工作

1.1 区块链

区块链是由对等(Peer to Peer,P2P)网络的节点维护的分布式数据库。区块链技术已经应用于IoV。区块链以多方共识、主体对等、安全通信等诸多优势,改善了IoV 的信用安全、成本控制和应用环境,并通过进一步加大身份权限管理和隐私信息保护力度,实现对非法节点的识别和对非法入侵的有效防范。区块链技术使用可编程智能合约自动填写和执行合约。区块链上的所有实体都可以同步获取信息并及时进行相应的处理,极大地节省了时间和管理成本,提高了效率。为了保证交易数据的有效性和真实性,让更多的节点参与到共识过程中,需要通过一种机制来激发节点的积极性。大多数节点都经过认证,共识机制可以防止数据写入区块链账本后被篡改,保证数据的真实性。区块链分为公有链、联盟链和私有链[6]。本文采用联盟链-私有链的双链架构,将普通车辆节点加入联盟链,利用特殊车辆节点构成私有链,该架构在保证普通车辆正常需求的基础下,将给予特殊车辆节点更多优待。

1.2 边缘计算

边缘计算是一个高度虚拟化的平台,在终端设备和云之间提供计算和存储等网络服务[7],是云计算的延伸。边缘计算操作的对象分别为来自云端的下行数据和智能设备的上行数据[8]。边缘设备具有相当大的计算能力和闲置资源。如果系统能够以低延迟的方式处理一些简单的边缘设备,那么系统就可以像处理实时任务那样具有低延迟。在IoV 上,车辆内部空间得到了极大的改善,越来越多具有高处理、存储和计算能力的电子设备装备在车上。同时,为了更好地为车辆服务,在道路两侧部署了大量高性能的路边设备。以上结果表明,如果对这种车载设备和路侧能够合理使用,IoV 系统的性能将得到提高。

边缘计算模型的应用具有以下3个优点[9]:

1)在网络边缘处理海量的临时数据,只有计算复杂度高的数据才会上传到云端,极大地减轻了网络带宽和数据中心的压力。

2)在数据生产终端附近提供数据处理服务,消除了向云计算中心请求响应的步骤,达到了减少系统延迟、增强服务响应的目的。

3)边缘计算可以防止用户上传私有数据,主要是通过将私有数据存储在网络边缘设备中,以降低数据泄露的风险。此外,边缘计算可以基于用户隐私数据提供更个性化的服务,改善用户体验。

图1 显示了一个通用的边缘计算框架,它可以分为3 层:1)底层由智能设备组成,包含各种传感器和本地数据,这些设备可以使用短程通信技术(如无线、蓝牙)连接到位于上层的边缘节点。2)边缘层是终端、智能设备和云层之间的媒体层,由路由器、网关和转换器等边缘设备组成,这些边缘设备是构成边缘计算框架的节点,每个节点都有足够的智能来处理来自终端设备的大量数据。3)顶层是云层,需要更大计算能力的节点将被边缘层传输到云层进行计算。

图1 通用边缘计算框架Fig.1 General edge computing framework

2 本文系统方案

传统的IoV 包括运输中心(Transportation Center,TC)、RSU 和V 这3 个部分:TC 控制车辆信息的登记和交通信息的存储;RSU安装在道路两侧,主要负责响应车辆的验证和通信服务;V可通过其车载单元与其他单元通信。与传统的IoV不同,本文方案对交通信息数据进行了更细致的处理。本文方案基于有序的区块链网络,主要由以下几个部分组成:可信云服务提供商(Trusted Cloud Service,TCS)、TC、PKG、边缘计算设备(Edge Computing Device,ECD)、RSU 和V。TCS 用于存储车辆运行过程中上传到网络的完整信息,数据汇总并存储在区块链网络中,以确保信息的完整性和不变性。TC 用于注册存储合法的车辆注册信息。车辆注册信息可用于生成用户的公钥,PKG 用于为用户创建公钥对应的私钥。ECD 可以实时响应终端用户的服务请求。

2.1 假设

为了保证本系统方案的安全实施,现给出如下假设:

假设1 只要私钥未泄露,那么基于身份的加密算法可以为系统间各实体的通信提供安全通信信道[10],基于身份的签名算法可以保证发送的信息具有不可抵赖性。

假设2 TCS、PKG 和TC 均具有足够高的安全级别,TCS可以有效地保护已经在云端存储的交通信息数据,而PKG 和TC 可合理分工,从而对车辆公私钥与真实身份之间的联系进行保存,单一的机构无法获取完整联系。

假设3 分布在道路两边的RSU 均配置边缘计算设备,而车辆中也配备了定制的硬件设备,通过这些设备可大幅提高计算能力。

假设4 攻击者无法在车联网系统中控制超过半数的车辆[11]。

假设1 是为了确保交通信息数据的完整性、真实性和不可抵赖性。在车联网中,完全的匿名是不被允许的,假设2 是车联网系统匿名性要求和安全性要求的权衡。当发生事故时,执法机构有权从PKG 和TC 中调取相关车辆的信息,以便对其进行追踪,同时也能达到收集证据的目的。为实现边缘计算框架的部署和隐私数据本地化处理,假设3 是必不可少的,若车辆网的算力越高,信息处理速度就越快,越能满足智能交通实时性需求。由于本文所提系统基于区块链技术,一旦有人掌控超过全网一半的车辆,那么系统将无安全性可言。系统内算力越高,代表着攻击者付出的代价越大,一旦攻击者的付出超过收益,攻击就显得毫无意义,车联网系统也因而提升了自身安全级别。

2.2 系统通信模型

系统通信模型如图2 所示,在图2 中存在两种车辆,分别是普通车辆Vi和特殊车辆SVi。在V2V通信过程中,存在单播或多播两种传输机制,并且只允许车辆参与。V2V 中传输的信息通常包括速度、方向和交通拥堵数据等。在进行目的性通信时,某一车辆发出的信息只有特定车辆才能解密阅读。为确保数据的可靠性,发送方需对信息进行数字签名,而接收方则需进行相关验证工作。确认数据是真实有效之后,接收车辆将及时地进行数据分析,然后根据分析结果来辅助驾驶员行驶,为驾驶员的人身安全提供保障。在车联网中,RSU作为一个固定点存在,只有当车辆进入某一RSU 的固定无线通信范围内,才可以进行V2R。由于RSU之间使用有线通信,所以不存在使用无线通信诸多限制。为保证特殊车辆更好地执行任务,只有特殊车辆主动向普通车辆发出通信请求时,普通车辆才可以与之通信,反之则无法通信。

图2 系统通信模型Fig.2 System communication model

2.3 主动式远程卸载计算任务模型

RSU 是一个固定的点且通信范围有限,这限制了配备有边缘计算设备的RSU的服务范围。V2R卸载任务时数据传输速度慢以及边缘计算设备中的计算任务需要排队等候,均会使计算时延增加。车辆通常处于高速移动状态,可能存在RSU 内计算任务尚未完成,车辆就已经驶离RSU 可通信范围的状况。

主动式远程卸载计算任务可解决上述问题,通过合理利用V2V、V2R 和R2R 通信便可实现,具体可见图3。在本文所述方案中,车辆可通过多跳V2V 方式主动将计算任务卸载到某个远方RSU 内部的边缘计算设备中进行计算,当车辆驶入该RSU 通信范围内,就可以从RSU 中获得计算好的数据。图中的SV1和V1均是使用该方法进行复杂计算任务的卸载,两者的不同之处在于,SV1发出的卸载请求可以在任意特殊车辆和普通车辆中传播,而V1发出的请求只能在普通车辆中传播。为了能及时地在目标RSU 通信范围内接收到数据结果,车辆需对多方面信息进行评估,从而预测出目标RSU 的位置。

图3 主动式远程卸载计算任务模型Fig.3 Active remote offloading computation task model

2.4 数据存储模型

本文采用二叉树结构,树上的叶子节点值是该叶子节点所包含的全体子节点组合的总哈希值,根值则是数据区块中全体交易的总哈希值。区块体的作用则是进行数据存储,数据区块具体框架如图4所示。

图4 数据区块结构Fig.4 Structure of data block

本文在原有区块链基础上,加入了可信的云服务提供商,详细的数据以密文或明文形式存储在安全级别足够高的云端存储器中,而标明元数据位置的索引列表存储在区块链网络中。为了给特殊车辆提供更好的隐私服务,与特殊车辆相关的交通信息的索引列表将存在由特殊车辆组成的私有链中。首先,特殊车辆存在于普通车辆构成的联盟链内;其次,在联盟链基础上,特殊车辆构成了自身的私有链。这也是特殊车辆可以主动和普通车辆进行通信,而普通车辆无法主动同特殊车辆通信的原因所在。

3 系统的具体实施方案

本文方案中使用的变量说明如表1。

表1 变量说明Tab.1 Variable description

3.1 车辆节点加入流程

在本文系统中,当有Vi想要加入车联网时,需要分别从TC和PKG 获得相应的公私钥对,并以此作为类似于传统网络中的账号和登录密码,普通车辆节点加入流程如图5 所示。如果Vi未在TC 进行登记,那么车辆拥有者需要先将IDi发送给TC,IDi包括用户信息和车辆信息,然后TC 会遍历B,如果IDi存在于B中,则驳回申请信息,车辆注册失败;如果不存在,则进行下一步,TC 随机生成xi(xi∈),通过H1(IDi,xi)可获得将被发送给Vi并存储在L中。如果Vi已经在TC登记过,那么车辆拥有者可将发送给PKG,得到后,PKG 首先遍历L,若L中存在,则PKG 生成并将其发送给Vi,然后被存储在S中,车辆注册成功,流程结束;若L中不存在,则驳回申请信息,车辆注册失败。需注意的是,在本文系统中,对于普通车辆,一辆车只能绑定一个用户,但是同一用户可以绑定多个车辆,信誉分只绑定于用户的个人身份信息;对于特殊车辆,一辆车可以绑定多个用户,而用户必须是拥有特殊编号的在职人员,SVi加入流程如图5所示。

图5 普通车辆节点加入流程Fig.5 Flowchart of adding ordinary vehicle nodes

3.2 基于身份的多PKG密及验证

3.2.1 签密过程

本方案中基于身份的多PKG签密过程如下:

设置1 定义两个素数阶均为p的循环群G1和G2,g为G1的生成元,映射e:G1×G2→G。令H1():{0,1}∗→G1,H2():G2→{0,1}t,H3():{0,1}∗→为3 个密码学哈希函数,t表示要签名和加密的消息的位数。选取基于密钥k的加密函数Ek()和解密函数Dk(),k由计算获得,并非固定数值。设Ring=(ID1,ID2,…,IDn)表示环成员的集合,c表示在集合中随机均匀选择的哈希值。系统公共参数为{G1,G2,p,g,e,t,H1,H2,H3,Ek,Dk}。

设置2 每个PKGi(i=1,2,…,n)可以随机选择si∈作为私钥并计算出相应公钥Pi=sig。PKGi的公钥Pi将会公布出去,而对应的私钥si则会被秘密保存。

3.2.2 验证过程

1)签名算法的正确性。

综上可知,RingVerify()以压倒性的概率输出“1”。因此该签名方案满足正确性。

2)加密算法的正确性。

要想验证V2通过解签名获取的信息是否等于原始信息,只需要计算式(2)是否成立:

机密性 假设对手A可以通过有效的概率多项式时间算法来对σ=(c,U1,U2,Ver)进行解签密。这意味着给A三个值U1=xg,P2=s2g,=bg(需注意,对于A来说,x,s2,b均属于未知数),A可以根据有效的概率多项式时间算法得出δ的值,推导过程如式(3):

显然,这与决策双线性Diffie-Hellman 问题(Decisional Bilinear Diffie-Hellman Problem,DBDHP)相反。

不可伪造性 假设对手A可以通过有效的概率多项式时间算法生成密文σ∗=进行解密。这意味着当A知道P1=s1g,=ag时(s1,a未知),A可以根据有效的概率多项式时间算法得出V1的私钥,推导过程如式(4):

显然,这与计算双线性Diffie-Hellman 问题(Computational Bilinear Diffie-Hellman Problem,CBDHP)相反。

3.3 数据区块的生成

如图6 所示,一个新的交易产生之后会向全网进行广播;接着,每个节点都会将收到的交易信息纳入进一个区块中,并尝试在自己的区块中找到一个具有难度的随机数;然后,如果某一节点找到符合条件的随机数时,它会立即公布出这个随机数,以便其他节点进行验证;最后,当该区块中的交易被验证是有效的且未出现过,区块将被添加到最长有效合法链的末端,其他节点继续沿着该区块寻找工作量证明。

图6 数据区块的生成过程Fig.6 Process of data block generation

与比特币网络采用的工作量证明(Proof of Work,PoW)共识机制相比,实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)算法的共识时延低、效率高,可满足实时处理和大量通信的需求。此外,PBFT 算法最大允许f=(n-1)/3 的异常节点的存在而不影响共识结果[12],η为全网总节点数。本文基于比特币网络的大体框架,采用PBFT算法达成共识,详细的区块生成过程如下。

3.3.1 信息收集阶段

预选节点(PreSelected Node,PSN)对全网进行监控,将车辆间生成的交通信息按照时间顺序依次存放在本地记录池中,当记录池中存储的信息足够装满整个区块时,系统将数据打包成区块。

3.3.2 构建区块阶段

为了更大限度地利用区块链网络,这里将相关信息的摘要存储在区块体中,完整的信息将存储在安全级别足够高的云存储器中。为了确保信息的可追溯性和防篡改性,区块头中包含有前一区块的哈希值以及时间戳,而区块本身的哈希值则是由组成区块的全体数据求得。区块构建完成,进行全网广播,等待共识流程的实现。

3.3.3 实现共识流程阶段

通过基于动态分层和信誉值评估的实用拜占庭容错机制(Dynamic-layering and Reputation-evaluation Practical Byzantine Fault Tolerant mechanism,DRPBFT),改进了共识系统中的高延迟问题,有效地消除了恶意节点,提高了共识模型的可信度。接下来对DRPBFT进行详细描述。

DRPBFT 中的信誉评估算法主要由奖励机制和惩罚机制两部分所组成。信誉值主要用来作为优先响应车辆信息请求的依据[13]。有三种行为会得到奖励:Vi诚实主动地广播变更消息、Vi可通过举报传播虚假信息的车辆来获得奖励和Vi积极主动地贡献闲置算力。受到惩罚的行为有两种:Vi广播虚假消息和Vi滥用举报信息来诽谤其他车辆。具体的信誉评估算法如算法5。

算法5 ReputationEvaluationAlgorithm()。

有以下几个因素影响奖赏机制和惩罚机制:

1)T表示真实消息的层级。T=1,交通事故信息;T=2,驾驶信息,例如车辆驾驶速度、当前位置;T=3,道路状况,包括道路拥堵、损坏。

2)F表示虚假信息的等级。F=1,传播的虚假信息造成交通事故;F=2,传播的虚假信息造成车辆拥堵;F=3,传播的虚假信息未造成不良影响。

3)K为传递消息的车辆与接收信息的车辆之间的距离。

4)Dv表示接收者附近车辆密度。

5)N表示车辆提供闲置算力的次数。

在公式中设置奖励系数α和惩罚系数β,以实现如式(5)~(7)所示的三种奖励机制和式(8)所示的惩罚机制:

当Vi向全网广播交通信息时,Vi可先获得上一次广播交通信息到本次广播期间主动提供闲置算力的奖励,即当前信誉值加上R3(K,Dv,N),然后N从0 开始重新计数。若车辆只提供闲置算力而不广播交通信息,则经过规定时长后,自动获得加分。此外,如果没有车辆举报Vi,则Vi的信誉值可再加上R1(T,K,Dv)。相反,当有人质疑并举报Vi发送的交通信息时,TC 有权利对质疑进行仲裁,若质疑属实,质疑者可在现有信誉值基础上加上R2(F,K,Dv),发送虚假信息的Vi将接受惩罚。若质疑者是恶意诽谤Vi,质疑者接受惩罚。

注意,当消息接收者为特殊车辆时,传播虚假信息的车辆将在原有惩罚机制上扣除更多的分。相应的,若积极主动地提供特殊车辆所需服务也会给予更多的加分,这可以通过调整奖励系数α和惩罚系数β实现。输出的会及时进行全网公布,假设<0,TC 有权将Vi所属用户ID放入列表B中,并撤销所有由该ID 产生的公钥。用户若想重新加入到该网络,必须严格按照法律规章流程办事,只有达到规定的条件才有机会从名单B中出来。

根据车辆节点的信誉值分成3 个层级,不同级别的节点有不同的权限:1级节点优先担任代理节点;2级节点在1级节点不存在时有机会担任代理节点,但无优先权;3 级节点无权担任代理节点,但是能够担任共识节点。具体节点权限分类如表2所示。

表2 节点权限分类Tab.2 Node right classification

具体共识流程如图7所示。

图7 DRPBFT共识过程Fig.7 Consensus process of DRPBFT

Request 阶段Vi向第一层代理发送,请求联盟链执行请求。为了避免网络资源的浪费,使用组播的方法向各层中的其他节点传递消息。Vi向ϖ个代表节点发送消息。如果区块链系统的共识节点总数小于或等于ϖ,则不需要分层搜索代理节点。在这种情况下,PBFT可以直接用于区块链系统。

Pre-prepare阶段 在第1层中,每个代理节点代表一个区域。每个Area中有α个节点,并且可以在Area中执行PBFT 算法的Prepare 阶段和Commit 阶段。代理节点会向除Area外的所有节点发送消息。当Sn接收到该消息时,要确认E和Pn是否与其本地数据一致、Vi的Request 消息与Prepared 消息是否一致、M的散列数据与H是否相同、Prepare消息的Vc是否在指定的区间(h,H)内。

Commit 阶段Sn向其他层节点发送E,Vc,H,Sn,Pn。每层节点接受Commit 消息的条件是H一致、E与节点当前的E相同、Pn与本地一致。

Reply阶段 节点将内部投票结果返回给代理节点,代理节点将该区域的节点共识结果发送给Vi。代理节点必须记录要返回的层的内部结果。Vi可以根据接收到的Reply 消息总数是否大于恶意节点数f+1来确定是否接收到共识结果。

根据不同代理节点代表的不同层级,Vi和整个区块链都能以更高的信誉度获得共识结果,从而获得下一轮共识。至此,共识流程结束,全网达成一致共识,区块生成进入下一阶段。

3.3.4 区块生成阶段

当构成的区块经过共识阶段达成共识后,PSN 对全网进行广播并使用哈希指针将新生成的区块链接到区块链的末尾,该区块成为区块链网络的最后1个区块。

4 系统分析和性能评估

4.1 安全分析

1)去中心化。

本文方案采用基于区块链的分布式存储方案。该方案并未完全否决受信任的第三方数据库的作用,完整交通信息的明文或密文存储在第三方数据库中,其摘要信息存储在区块链网络中。区块链网络是基于P2P 网络的基础建立的,这意味着存储其中的摘要信息可以被复制,然后分布到全网的各个节点。上述措施既降低了系统对可信数据库的依赖性,同时也避免了类似于传统数据库单点故障的发生。

2)有条件的匿名。

Vi使用公钥作为假名在系统中进行通信,其他用户无法从中推导出Vi的信息。为了有效地权衡系统的隐私性和安全性,用户真实身份同公钥的联系以高安全级别存储在中心管理员(Central Administrator,CA)中。CA可以追踪用户发布的信息,却无法破解经过加密的信息,因为用户的私钥是由PKG 生成的。当发生争议时,同时从CA 和PKG 中调取用户的公私钥信息。一辆车只能拥有一对公私钥,如有需要,用户可主动在CA更新公钥,然后在最近的PKG生成私钥。

3)机密性和不可伪造性。

车辆通信阶段,车辆在广播交通信息前需要对其进行数字签名,签密可以在逻辑步骤中执行数字签名和公钥加密[14],与先签名再加密的密码算法相比,其计算成本和通信开销更低。通过检验数字签名的有效性,可以判断信息来源于何处,从而保证信息的不可伪造性。通过使用接收方的公钥进行加密来实现信息的机密性。

4)完整性和不可篡改性。

构建区块时需将前一块的哈希值包含在所构建的区块中,然后哈希指针将这些区块相连[15]。如果其中一个块被修改,则此后的所有块将被重新计算。因此,单个节点对数据库的修改无效。哈希算法保证了数据的完整性,通过将数据库中读取的数据用相同的哈希算法进行摘要处理,再与区块链上的数据摘要进行对比从而确定数据是否完整。

4.2 性能评估

本节对DRPBFT 进行仿真实验。对于软件环境,在Windows 10系统中使用Python和Go Lang编程语言,虚拟机系统采用Ubuntu16.04,仿真环境采用Hyperledger Fabric V1.1,并使用Docker运行Hyperledger Fabric。

由于仿真环境中计算量有限,随机选取40 个车联网网关节点进行仿真实验。首先,初始化车辆编号、任务编号和资源类型。随机生成一个开始时间、结束时间和任务,随机生成每辆车和每项任务的资源需求,各资源需求的生成曲线服从离散中心二项分布。误差节点是随机的,但不能超过13 个。因为满足3f+1 ≤n,其中n是节点总数,f是恶意节点的数量。每秒事务数(Transactions Per Second,TPS)为:

TPS=TRA/ξTime

其中:TRA是事务数,ξTime是块时间。

由图8可以得出,随着时间的增加,PBFT和DRPBFT都获得了更高的事务吞吐量;然而随着时间的增加,PBFT 的TPS在范围(97,98)内保持相对稳定,DRPBFT 的TPS 持续增长。可以证明在DRPBFT 中加入的激励机制是有效的,因为奖励机制会对贡献了资源的车辆进行利润奖励,惩罚机制会对恶意节点进行惩罚,保证了车辆节点能积极地参与共识过程,可以有效地消除恶意节点,降低恶意节点参与一致性的概率,有效地提高了系统的吞吐量。

图8 PBFT与DRPBFT的TPS比较Fig.8 TPS comparison between PBFT and DRPBFT

从图9可以看出,随着节点数量的增加,PBFT 和DRPBFT的时延都有所增加,但是DRPBFT 的时延在6 s 内,而PBFT 的时延在9 s内,DRPBFT 比PBFT 具有更低的延迟。DRPBFT 可以用更宽松的延迟约束在一个块中处理更多事务,因为加入了分级机制,能够提高共识的效率,有效降低时延。

图9 PBFT与DRPBFT的时延比较Fig.9 Time delay comparison between PBFT and DRPBFT

5 结语

为了解决车联网通信过程中数据安全和高时延的问题,本文提出了一种基于区块链与云-边缘计算混合架构的车联网信息的安全共享与存储方案。该方案利用联盟链-私有链的去中心化实现了通信数据的不可篡改性、有条件的匿名性和不可伪造性,并提出了DRPBFT,提高了系统吞吐量,有效降低了时延,在节点较多的情况下,车联网系统能够获得更好的共识性能。通信过程使用基于身份的多PKG 签密算法和基于离散中心二项分布的环签名方案实现了通信数据的安全性和完整性,保障了用户身份的匿名性。该方案通过边缘计算技术处理私人敏感数据,并与云计算技术相结合,确保车联网系统的实时、高效。随着吞吐量和时延性能的提升,区块链的计算与存储问题也随之出现,这将是我们下一步主要的研究方向。

猜你喜欢
边缘共识区块
共识 共进 共情 共学:让“沟通之花”绽放
《红楼梦》的数字化述评——兼及区块链的启示
商量出共识
一场区块链引发的全民狂欢
区块链助力企业创新
区块链投机者
一张图看懂边缘计算
“慢养孩子”应成社会普遍共识
在边缘寻找自我
走在边缘