CN112862311A - 一种基于双层区块链的车联网信任管理方法 - Google Patents
一种基于双层区块链的车联网信任管理方法 Download PDFInfo
- Publication number
- CN112862311A CN112862311A CN202110168886.0A CN202110168886A CN112862311A CN 112862311 A CN112862311 A CN 112862311A CN 202110168886 A CN202110168886 A CN 202110168886A CN 112862311 A CN112862311 A CN 112862311A
- Authority
- CN
- China
- Prior art keywords
- block
- event
- vehicles
- internet
- trust
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Educational Administration (AREA)
- Development Economics (AREA)
- Economics (AREA)
- General Engineering & Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Multimedia (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开一种基于双层区块链的车联网信任管理方法,构建了新的信任凭证及评估体系,通过车联网主体的行为频率和信任值增速变化,来反映主体的行为趋势,从而有效提高了信任指标集评估主体可靠性的能力。采用双层区块链的结构,同时保存了信任评估数据和信任凭证数据,并使两类数据在逻辑上相互独立。由此,信任评估系统具有了容纳双重粒度数据的能力,保证了信任评估结果的可审计性和可追溯性。针对信任管理系统的节点特性,提出了基于伪随机数的记账权分配算法,能够有效提高共识效率,且可以避免因为共识而产生算力消耗。本发明还可以使记账节点序列具有不可预测性,从而有效防止有预谋的攻击。
Description
技术领域
本发明涉及车联网技术领域,尤其涉及一种基于双层区块链的车联网信任管理方法。
背景技术
由于车联网中主体的智能化与移动性,使攻击行为和方式更加复杂多变,对传统的安全防护机制形成了巨大的威胁。而信任管理机制因其所具有的动态适应能力,有望成为保障车联网运行安全的关键技术,是近年来车联网领域的重要研究方向。现有的技术主要分为两类:中心式信任管理:通常包含一个中心节点,信任评估的相关数据都汇总至中心节点进行计算和存储。分布式信任管理:是一种多中心或去中心化的机制,信任评估的相关任务交由一组分布广泛的节点完成。由于分布式信任管理机制具有单点负荷小、响应速度快、数据容错性强等优点,并且符合车联网的发展趋势,近年来已成为该领域主要的研究方向。
现有的技术存在以下问题:(1)信任评估指标单一,无法反映车联网主体的历史行为,不能全面地评估车联网主体的可靠性。(2)细节数据缺失,使信任评估结果缺乏可审计性。(3)共识阶段的算力消耗较为严重,共识效率较低。
发明内容
本发明的目的在于提供一种基于双层区块链的车联网信任管理方法。
本发明采用的技术方案是:
一种基于双层区块链的车联网信任管理方法,其包括以下步骤:
步骤1,构建车联网通讯网络,包括若干主基站,每个主基站连接若干从基站,从基站与车联网中的车辆主体通讯;所有主基站构成的下层通信网络运行下层区块链以存储作为信任凭证的事实依据,所有主基站和从基站共同构成上层通信网络运行上层区块链以存储车联网主体的可信度指标集;
步骤2,每个主体遇到车联网事件时,通过传感器采集信息以生成事件描述,并封装为带有主体标识的事件消息在整个车联网通讯网络中传播形成信息流通;
步骤3,不同主体发送的同一车辆网事件的事件消息构成同事件消息集合M,
步骤4,分别计算同事件消息集合M中每条事件消息的可靠性估值,以可靠性估值最高的事件消息为事实依据,并作为信任凭证存储在下层区块链中;
步骤5,每次事件基于作为事实的事件消息分别计算每个车辆网主体在该事件的信用评分,并及时更新车辆网主体的表现记录,
步骤6,基于车辆网主体的表现记录分别构建每个车联网主体的信任指标集Ω=(c,λ,Δ)存储在上层区块链;其中:c∈Z为主体的信用值,是主体在车联网事件中的表现度量值的累积;λ∈[0,+∞)为行为频率的提升度,是主体近期行为频率与长期行为频率的比值;Δ∈(-∞,+∞)为信用值增速的提升度,是主体近期信用值增速与长期信用值增速的比值。
进一步地,作为一种优选实施方式,步骤1中下层区块链和上层区块链使用伪随机数序列和区块高度来决定记账节点,对主基站和从基站节点分别编号并对所有节点使用相同的伪随机数序列,各个节点在收到区块后根据区块高度和私钥签名,快速验证记账节点是否合法。
进一步地,作为一种优选实施方式,步骤2中车联网主体在遇到车联网事件时,通过传感器采集信息,由自带的计算模块生成事件描述封装为事件消息,并通过自带通信模块将消息广播;收到广播消息的其它主体或基站,将该消息转发使其在整个车联网中传播形成信息流通。
进一步地,作为一种优选实施方式,步骤4中同事件消息集合M中,可靠性估值最高的消息m,所包含的事件e即推断为事实,记为eτ。事实推断算法的最差时间复杂度为O(n2),不作详细讨论。
进一步地,作为一种优选实施方式,步骤4中信任凭证存储在下层区块链的具体方法为:下层区块链的记账节点依据事实依据集合χS生成块体,即事实依据树Ψχ;对每一条打包进区块的事件消息,向认证服务器申请获得时间戳同时将该消息的报告主体填入下层区块链的Bloom过滤器;对应基站节点生成区块后,将区块消息在下层网络广播,其他基站节点收到该区块消息后,先验证生成该区块信息的基站节点是否合法,再对区块内容进行验证通过后,从消息池中移除;当区块信息通过了合法性验证,但不是链接到末尾区块,则视为孤立区块,放入孤块区。
具体地,区块内容的验证包括记账节点是否合法、区块高度是否合法、块体所含事件的发生时间是否在合法范围、块体所含事件消息的报告主体是否能够通过Bloom过滤器检索到、块体所含事件消息的签名是否合法。
其中,relia(m)表示事件m的可靠性估值,m’表示对事件m的消息报告,credit(m’.a)表示对m’进行可靠性评估的主体a的信用值。
进一步地,作为一种优选实施方式,步骤5中一个事件的信用评分包括诚实表现的信用评分和恶意表现的信用评分。
进一步地,作为一种优选实施方式,步骤5的具体步骤为:
步骤5-1,从每个事实依据中的同事件消息集合获取一条未经评估的事件消息,
步骤5-2,判定该条事件消息的事件描述e与事实eτ是否匹配;是则,执行步骤5-3;否则,根据事件类型p对信用值累加对应的恶意表现评分ρb并执行步骤5-4;
步骤5-3,验证事件消息中的时间和空间凭证是否可证明;是则,根据事件类型p,对信用值累加对应的诚实表现评分ρg;
步骤5-4,更新主体的表现记录。
进一步地,作为一种优选实施方式,步骤6中依据主体的表现记录ω=(tini,cini,δ,<(t0,c0),(t1,c1),…(tn,cn)>),其中,tini是车联网主体的入网时间标记;cini是初始信用值;δ是车联网主体的报告车联网事件的次数;F=<(t0,c0),(t1,c1),…(tn,cn)>是一个队列,包含最近n+1次信用值的变化记录,(ti,ci)表示车联网主体在时间点ti报告了一个车联网事件,其信用值因此变化为ci;计算行为频率提升度和信用值增速提升度;
行为频率提升度cal_fre_lift(ω)的计算公式为:
其中,tini是车联网主体的入网时间标记,δ是车联网主体的报告车联网事件的次数,t0是车联网主体第一次报告车辆网事件的时间点,tn是车联网主体第n+1次报告车辆网事件的时间点,n表示车联网主体报告车联网事件的次数。
信用值增速提升度cal_spd_lift(ω)的计算公式为:
其中,cini是初始信用值,tini是车联网主体的入网时间标记,co是车联网主体第一次报告车联网事件后的信用值,cn是车联网主体第n+1次报告车联网事件后的信用值,t0是车联网主体第一次报告车辆网事件的时间点,tn是车联网主体第n+1次报告车辆网事件的时间点。
具体地,频率提升度反映的是主体在近期参与车联网事件的频率,是提高(大于1)还是下降(小于1);增速提升度反映的是主体近期的信用值增长速度,是提高(大于1)还是下降(小于1);将主体与信任指标集的对应关系表示为映射fΩ:A→{Ω}(A为主体的身份标识集合),主体a的可信度指标集记为fΩ(a)。
进一步地,作为一种优选实施方式,步骤6中上层区块链的块体为MPT结构的信任账户树,将信任指标集更新存储在上层区块链时,记账节点先复制原树,并将所有的账户节点置为Hash指针,在信任评估过程中,对信任指标集有变化的账户,生成新的账户节点替代Hash指针;而没有变化的账户,则使用Hash指针引用原信任账户树的对应节点。
进一步地,作为一种优选实施方式,步骤6中主基站节点在生成上层区块后,将上层区块信息在上层网络广播,上层网络中的基站节点先验证生成该上层区块信息的基站节点是否合法,再对上层区块内容进行验证;主基站节点验证上层区块的块头的基础上还根据指定高度范围内的下层区块所包含的事实依据验证对该上层区块块体中的信任账户树;
指定高度范围为[header(b′).Lower_height+1,header(b).Lower_height],其中header(b′)是区块b′的块头部分,header(b)是区块b的块头部分,header(b′).Lower_height是区块b′对应的下层链区块的高度,header(b).Lower_height是区块b对应的下层链区块的高度。
从基站节点仅验证上层区块的块头,并获取主基站节点验证上层区块后广播的确认消息(a′,b,res,siga′(b|/res)),其中res∈{valid,invalid},其中a′是节点,b是节点a生成的区块,res是区块合法性验证结果,valid是区块合法,通过验证,invalid是区块不合法,没有通过验证,siga′(b|/res)是节点a′对区块b和对区块b验证结果的签名;从基站节点根据其中res的值,判断上层区块的块体的合法性,得到至少三分之二的主基站节点的确认后认定该上层区块的有效性。
本发明采用以上技术方案,(1)构建了新的信任凭证及评估体系,通过车联网主体的行为频率和信任值增速变化,来反映主体的行为趋势,从而有效提高了信任指标集评估主体可靠性的能力。(2)采用双层区块链的结构,同时保存了信任评估数据和信任凭证数据,并使两类数据在逻辑上相互独立。由此,信任评估系统具有了容纳双重粒度数据的能力,保证了信任评估结果的可审计性和可追溯性。(3)针对信任管理系统的节点特性,提出了基于伪随机数的记账权分配算法,能够有效提高共识效率,且可以避免因为共识而产生算力消耗。同时,该算法还可以使记账节点序列具有不可预测性,从而有效防止有预谋的攻击。
附图说明
以下结合附图和具体实施方式对本发明做进一步详细说明;
图1为本发明车联网通信网络的拓扑结构示意图;
图2为本发明信任管理系统的整体结构示意图;
图3为本发明事件消息的传播示意图;
图4为本发明不同接收节点对事件消息的反应策略的流程示意图;
图5为本发明双重区块链系统结构示意图;
图6为本发明上层区块链中MPT树的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图对本申请实施例中的技术方案进行清楚、完整地描述。
如图1至图6之一所示,本发明公开了本发明提出一种基于双层区块链的车联网信任管理方法,其包括以下步骤:
步骤1,构建车联网通讯网络,包括若干主基站,每个主基站连接若干从基站,从基站与车联网中的车辆主体通讯;所有主基站构成的下层通信网络运行下层区块链以存储作为信任凭证的事实依据,所有主基站和从基站共同构成上层通信网络运行上层区块链以存储车联网主体的可信度指标集;
步骤2,每个主体遇到车联网事件时,通过传感器采集信息以生成事件描述,并封装为带有主体标识的事件消息在整个车联网通讯网络中传播形成信息流通;
步骤3,不同主体发送的同一车辆网事件的事件消息构成同事件消息集合M,
步骤4,分别计算同事件消息集合M中每条事件消息的可靠性估值,以可靠性估值最高的事件消息为事实依据,并作为信任凭证存储在下层区块链中;
步骤5,每次事件基于作为事实的事件消息分别计算每个车辆网主体在该事件的信用评分,并及时更新车辆网主体的表现记录,
步骤6,基于车辆网主体的表现记录分别构建每个车联网主体的信任指标集Ω=(c,λ,Δ)存储在上层区块链;其中:c∈Z为主体的信用值,是主体在车联网事件中的表现度量值的累积;λ∈[0,+∞)为行为频率的提升度,是主体近期行为频率与长期行为频率的比值;Δ∈(-∞,+∞)为信用值增速的提升度,是主体近期信用值增速与长期信用值增速的比值。
下面就本发明做详细说明:
具体地,车联网信任管理机制基于分区域的通信网络模型的拓扑结构如图1所示,组成元素包括:基站分区:包含一个主基站和多个从基站。主基站:是每个基站分区的中心单元,具有较强的通信与计算能力。从基站:是基本的通信单元,通信与计算能力弱于主基站,负责接收、转发及响应车辆网中主体的消息与请求。主体:是指信任评估的对象,具有自主行为能力,包括但不限为交通车辆。主体的通信与计算能力最弱,且具有移动性,只能与邻近的基站或主体通信。每个主体都具有唯一的身份标识。通信网络分为两层:下层网络以主基站作为节点构成的通信网络。上层网络以所有的基站作为节点构成的通信网络,但要求每个基站分区内部必须是连通的。双层的通信网络只需在逻辑结构上实现,对物理结构不做限制。车联网中的主体只与上层网络通信,下层网络对其是不可见的。
信任管理系统的整体结构:信任是对被评估对象的可靠性预期,取决于经验,并随着被评估对象的表现不断修正。如图2所示,本发明将被评估对象的行为作为信任凭证,并以其为依据进行信任评估。信任凭证与信任评估结果分别保存在不同的区块链中,形成“双重粒度”的区块链系统。
由于区块链系统中保存了细粒度的信任凭证,这就为信任评估提供了灵活性:在需要改变计算方法的时,无需重新进行信息采集与凭证生成。
本发明以主体遇到车联网事件(例如交通事故、突发路况等)时,是否做出了诚实、准确的报告作为信任凭证。在已有的技术中,缺乏对车联网事件描述的研究,通常是采用简单的符号标识,或避开对标识方法的讨论。然而,车联网事件具有实时性和突发性的特点,不可能为所有的车联网事件都预先设置标识符号。同时,车联网事件本身的信息,对于全面、准确地评估主体表现也是十分重要的。
因此,本发明对车联网事件定义如下:
定义1车联网事件一个车联网事件e=(p,t,s,desc),其中:p是事件类型;t是事件的时间标记;s是事件的空间标记;desc是事件内容。
时间、空间和内容的描述及匹配已有相关的成熟技术,例如:对于时间,可以采用时间戳技术;对于空间,可以采用经纬度方法表达;对于内容描述,可以采用预定义标识、文本或本体概念的形式描述及匹配。
本发明将此部分表达为抽象的功能单元,可以兼容任何满足以下接口标准的技术:(1)对于两个内容描述,产生“匹配”与“不匹配”两种结果。(2)对于两个时间标记,产生“匹配”与“不匹配”两种结果。(3)对于两个空间标记,产生“匹配”与“不匹配”两种结果。
为了行为的方便,定义以下记号:对于时间标记t、t′,谓词Γt(t,t′)为真,表示t和t′可视为同一时间点。对于空间标记s、s′,谓词Γs(s,s′)为真,表示s和s′可视为同一空间点。车联网事件e、e′,若时间标记、空间标记和事件内容均匹配,则谓词Γe(e,e′)为真,表示e和e′描述的是同一个车联网事件。
事件的产生与传播:主体在遇到车联网事件时,可通过传感器采集信息,由计算模块生成事件描述封装为事件消息,并由通信模块将消息广播。收到广播消息的其它主体或基站,可将该消息转发,使其在整个车联网中传播,形成信息流通,如图3所示。例如,当交通事故发生时,附近的主体可以将事故情况进行广播,从而起到提示和预警的效果。但主体具有自主行为能力,其是否报告或诚实报告事件,是不可控的,则事件消息的定义如下:
定义2事件消息一个事件消息m=(a,tc,sc,e,siga(tc||sc||e)),其中:a是主体的身份标识,在入网时颁发,不可改变;tc是时间凭证、sc是空间凭证,由主体向认证机构申请,是主体在事件发生时,所处时间点与空间点的证明;e是一个车联网事件,由主体自主生成;siga(tc||sc||e)是主体对时空凭证和事件的数字签名。将包含同一车联网事件的消息集合记为。
如图4所示,主体、主基站和从基站在收到事件消息后的反应策略流程示意图,其中:(1)满足信任策略是指,发送消息的主体的信任度量指标,是否满足预设的策略规则。(2)属于本辖区是指:消息中所描述的事件发生地点,是否处于本主基站的管辖区域。图4中省略了主体、主基站和从基站在收到消息后,都要先验证消息中的数字签名siga(tc||sc||e)的步骤。
事件推断与事实依据:对于一组报告同一事件的消息,可能包含真实或虚假的描述,因此需要从中推断事件的真实情况,即事实。事实推断需要使用消息发送主体的信用值,它是一个整数,其值越大表示主体越可信。使用记号credit(a)表示主体a的信用值。
同事件消息集合M中,可靠性估值最高的消息m,所包含的事件e即推断为事实,记为eτ。事实推断算法的最差时间复杂度为O(n2),不作详细讨论。
进一步地,同事件消息集合以及相应的事实被组织为事实依据,作为信任凭证存储在下层区块链中,事实依据的定义为:
信任评估体系:信任指标是对主体可靠性的量化评估,然而单一的指标只能反应主体的片面特征,表达能力不足。为了反映主体行为的稳定性,更好地评估主体的整体表现,本文提出一个能够体现主体长期和近期表现的指标体系,定义如下:
定义4信任指标集一个主体的信任指标集Ω=(c,λ,Δ),其中:c∈Z为主体的信用值,是主体在车联网事件中的表现度量值的累积;λ∈[0,+∞)为行为频率的提升度,是主体近期行为频率与长期行为频率的比值;Δ∈(-∞,+∞)为信用值增速的提升度,是主体近期信用值增速与长期信用值增速的比值。频率提升度反映的是主体在近期参与车联网事件的频率,是提高(大于1)还是下降(小于1);增速提升度反映的是主体近期的信用值增长速度,是提高(大于1)还是下降(小于1)。通过这两个指标,可以识别车联网主体的行为趋势是否存在异常。将主体与信任指标集的对应关系表示为映射fΩ:A→{Ω}(A为主体的身份标识集合),主体a的可信度指标集记为fΩ(a)。
信任评估算法:信任指标集的计算根据是事实依据,对于每一个新的事实依据,都要更新相关主体的信任指标集。为了描述评估算法,首先定义两个数据结构:
定义5事件评分一个事件评分κ=(ρg,ρb),其中:ρg>0是对诚实表现的信用评分;ρb<0是对恶意表现的信用评分。不同的事件类型可以有不同的评分值,将事件类型与事件评分的对应关系表示为映射fκ:P→{κ}(P为事件类型集合),类型为p的车联网事件,其评分表示为fκ(p)。
定义6表现记录一个车联网主体的表现记录ω=(tini,cini,δ,F),其中:tini是车联网主体的入网时间标记;cini是初始信用值;δ是车联网主体的报告车联网事件的次数;F=<(t0,c0),(t1,c1),…(tn,cn)>是一个队列,包含最近n+1次信用值的变化记录,(ti,ci)表示车联网主体在时间点ti报告了一个车联网事件,其信用值因此变化为ci;将主体与表现记录的对应关系表示为映射fω:A→{ω},主体a的表现记录表示为fω(a)。
依据主体的表现记录ω=(tini,cini,δ,<(t0,c0),(t1,c1),…(tn,cn)>),分别计算行为频率提升度和信用值增速提升度:
(1)行为频率提升度cal_fre_lift(ω)计算公式为:
(2)信用值增速提升度cal_spd_lift(ω)的计算公式为:
信任评估的具体过程为:对每个事实依据中的同事件消息集合进行评估,对每条消息:如果事件描述e与事实eτ不匹配,则根据事件类型p,对信用值累加对应的恶意表现评分ρb;如果事件描述e与事实eτ匹配,并且消息中的时间和空间凭证可证明,消息的报告主体a在事件发生时,处在事件发生地点,则根据事件类型p,对信用值累加对应的诚实表现评分ρg。之后,更新主体a的表现记录fH(a),并据此更新行为频率提升度和信用增速提升度。函数deQue()和enQue()分别是队列元素的删除和添加操作,被删除的是队头元素,添加的元素被插入队尾。
如图5所示,为了能够快速响应车联网中主体的查询请求,同时降低对从基站的硬件要求,本发明提供了一种双层结构的区块链系统,将细粒度的信任凭证和粗粒度的信任指标集分开存储,既保留了细节数据,又不会对基站造成过重的存储负载。系统的整体结构如图5所示。
主基站运行下层区块链,存储信任凭证,即事实依据;所有的主基站和从基站运行上层区块链,存储车联网主体的可信度指标集。事实依据是对主体进行信任评估的凭证,除了可用于计算主体的信任指标集,还能在进行系统恢复、数据审计、数据分析时提供细粒度的信息。
上层区块链和下层区块链具有相似的结构,都是由多个区块通过Hash指针链接而成,其结构如下:
定义7区块链一条区块链Ξ=(B,fp),其中:B={b}是区块集合,一个区块b包含块头和块体两个部分,分别记为header(b)、body(b);映射fp:B→B是区块的前向链接关系,fp(b)=b′表示区块b′是b的直接前驱。
记账权分配算法:为了保证数据的全局一致性,每个区块只能由唯一的节点生成,即记账节点,产生记账节点并让其它节点认同记账节点所生成区块的过程,称为共识。著名的比特币系统的记账权分配算法采用了工作量证明机制,取得了巨大的成功,也使工作量证明机制成为了记账权分配的主流方法。因此,本发明设计了一个基于有界伪随机数序列的记账权分配算法。有界伪随机数序列是一个具有随机性质的已知整数序列,其元素有指定的取值范围。对于有界伪随机数序列将前i个伪随机数构成的前缀序列记为,要求:在已知的情况下,给定索引i,可以在线性时间复杂度内计算出第i个伪随机数,记为在已知的情况下,不存在准确率可接受的算法,能够由计算出
产生有界伪随数序列:主流的编程语言都提供了伪随机函数:在随机种子固定的情况下,产生相同的具有随机性质的随机数序列。
区块链系统使用伪随机数序列和区块高度来决定记账节点:对节点编号,并对所有节点使用相同的伪随机数序列对于高度为i的区块,其记账节点的编号为各个节点在收到区块后,可以根据区块高度和私钥签名,快速验证记账节点是否合法。但从外部观察,记账节点的顺序呈现随机性,从而使攻击者无法预测记账节点。
下层区块链:下层区块的块头结构如表1所示。
表1下层区块的块头结构
元素 | 说明 |
Prev_hash | 前驱区块的块头Hash值 |
Height | 区块高度,即区块在链中的位序 |
Timestamp | 区块生成时间 |
Bloom_filter | Bloom过滤器 |
Start_time | 块体所包含事件的最早发生时间 |
End_time | 块体所包含事件的最晚发生时间 |
Merkle_root | 块体中的Merkle树的树根 |
主要块头元素的说明如下:
2)Bloom_fillter:Bloom过滤器用于过滤查询请求,在查询指定车联网主体的事件消息记录时,可以先用Bloom过滤器对主体标识进行过滤,以确定区块体中是否包指定主体发布的事件消息。Bloom过滤器的定义如下:
定义8Bloom过滤器一个Bloom过滤器β=(Σ,H),其中:Σ=<i0,i2,…in-1>(ij∈{0,1})为过滤表,是一个长度为n的二进制向量,第j个二进制位记为Σ[j];H是Hash函数集合,n>h(x)≥0。
若块体中保存有主体a发出的消息,则执行:
For all h∈H Then
Σ[h(a)]:=1
End Then
将以上操作简记为fill(β,a)。
对查询进行过滤时,将主体标识对H中的所有Hash函数做运算,结果作为过滤表的索引。若索引值有一个不为0,则查询的主体不在该区块中。
将以上操作定义为谓词:
Bloom过滤器是存在误差的:当谓词exist(β,a)为真,块体中并不一定包含主体a;但若exist(β,a)为假,则块体中一定不包含主体a。尽管如此,Bloom过滤器依然是十分有用的,它可以大大地提高查询效率,同时在出现误差的情况下,并不会造成查询结果出错。
3)Merkle_root:块体中Merkle树的树根值,用于保证块体的内容不会被篡改。
下层区块的块体是一棵叶子节点为事实依据的Merkle树,称为事实依据树。
定义9事实依据树一棵事实依据树Ψχ=(Dh∪χS,L),其中:Dh∪χS是节点集合,分为两类:Dh是Hash值节点集合;χS是事实依据节点集合,叶子节点都是事实依据;L={(a,b)|a∈Dh,b∈Dh∪χS}是节点之间的连接,且满足:有且只有b,c∈Dh∪χS:(a,b),(a,c)∈L∧a=h(b||c);isTree(Dh∪χS,L)=true。h(b||c)表示对b和c的连接结果取Hash值;对事实依据χ进行Hash运算时,将其转换为二进制串。
Merkle树是一棵满二叉树,用叶子节点保存数据,并自底向上两两进行Hash运算,直到计算出根节点。因此,叶子节点的数量应为偶数,如果是奇数,可以通过复制最后一个叶子节点等技术手段来处理。
由事实依据集合χS创建Merkle树的过程记为mt(χS);事实依据树Ψχ的根节点记为root(Ψχ)。使用Merkle树存储事实依据,可以保证事实依据很难被篡改,因为任何一个叶子节点被篡改,都会自下而上引起一连串Hash值的变化,直至根节点,并导致块头的Hash发生变化,最终使整个区块链断裂。
共识过程是让所有区块链节点的数据保持一致,包含两个部分:区块生成、区块验证。
下层区块的生成算法为:将主体a的编号记为index(a),将由同事件消息集合M中推断事实的过程记为infer(M)。为了保证区块不会过大,规定每个区块最多包含σM个事实依据。同时,为了保证评估的有效性,规定每个事实依据至少包含σm条事实消息。
记账节点从消息池中取出未上链的消息,组织为多个同事件消息集合M,并一一进行事实推断eτ,构成等量的事实依据χ。由事实依据集合χS,生成块体,即事实依据树Ψχ。对每一条打包进区块的事件消息,还需将该消息的报告主体填入Bloom过滤器。时间戳则是向认证服务器申请获得。
节点a在生成区块b后,将区块消息(a,b,siga(b))在下层网络广播。收到区块消息的节点,先验证siga(b)是否合法,再对区块内容进行验证。区块合法性验证的内容包括:记账节点是否合法、区块高度是否合法、块体所含事件的发生时间是否在合法范围、块体所含事件消息的报告主体是否能够通过Bloom过滤器检索到、块体所含事件消息的签名是否合法。块体中的事件消息验证通过后,需从消息池中移除,避免被重复打包。若区块通过了合法性验证,但不是链接到末尾区块,则视为孤立区块,放入孤块区。
上层区块链:上层区块链运行在所有的基站上,其块头结构如表2所示。
表2上层区块的块头结构
元素 | 说明 |
Prev_hash | 前驱区块的块头Hash值 |
Height | 区块高度,即区块在链中的位序 |
Lower_height | 对应的下层链区块的高度 |
Timestamp | 区块生成时间 |
MPT_root | 块体中MPT树的根节点的Hash值 |
主要块头元素的说明如下:
1)Lower_height:该区块所对应的下层区块的高度,用于标记块体中信任账户信息的更新范围。若当前区块的Lower_height为j,其前驱区块的Lower_height为i,则当前区块块体中的信任账户信息,是根据高度在[i+1,j]范围内的下层区块所存储的事实依据所更新的。
2)MPT_root:块体中Merkle树的树根值,用于保证块体的内容不会被篡改。块体中存储的是所有车联网主体的信任指标集,称为信任账户,采用的数据结构是MerklePatricia Tree,即MPT树。如图6所示,MPT树是一种结合了Trie树和Merkle树特点的数据结构,它与Merkle树一样使用叶子节点存储数据,节点之间使用Hash指针连接,但同时在节点中增加了索引串。图6中的MPT树存储了5个账户,账户标识为10位16进制数:ab359e2d63、ab3f6ac8de、ab3f6acb2f、abcf6ace57、abcf6ace53。在MPT树中,账户标识被划分为两个部分:共享前缀串和尾串。当多个账户标识包含相同的前缀时,前缀被分割作为索引串形成一个前缀串节点,而剩下的部分则作为子节点继续分割,直到叶子节点。通过索引串,能够在庞大的MPT树种快速搜索到指定的账户(叶子节点)。
将车联网主体的可信指标集作为MPT树叶子节点的存储内容,以主体标识作为索引串,构成信任账户树,其结构如下:
定义10信任账户树一棵信任账户树ΨΩ=(Dp∪Dl,L),其中:Dp={(sp,Hn)}是前缀串节点,sp是共享前缀串(16进制,可以为空串),Hn是Hash指针集合,即子节点Hash值的集合;Dl={(se,Ω)}是账户节点,se是尾串(16进制),Ω是信任指标集,叶子节点都是账户节点;L={(a,b)|a∈Dp,b∈Dp∪Dl}是节点之间的连接,且满足:∈L:h(b)∈a.Hn;isTree(Dp∪Dl,L)=true。
为了降低空间消耗,块体在存储新的信任账户树时,只对信任指标集有变化的账户重新创建账户节点,而没有变化的账户,则使用Hash指针引用原信任账户树的对应节点。
生成信任账户树的算法为:先复制原树,并将所有的账户节点置为Hash指针,在信任评估过程中,对信任指标集有变化的账户,生成新的账户节点替代Hash指针。由于信任账户树的节点连接采用的是Hash指针,账户节点的变化会导致其Hash值发生变化,因此应同时更新其前驱点的Hash指针集合。构建新的信任账户树应在生成一个上层区块后开始,直到要生成下一个上层区块时为止。
上层链运行在所有的基站节点上,但由于事实依据只存储在下层链中,只有主基站节点才能更新信任账户树,因此上层链的记账权也只分配给主基站节点。上层区块的生成块体为MPT结构的信任账户树。记账节点生成上层区块后,将区块消息(a,b,siga(b))在上层网络广播,收到区块消息的基站节点首先验证签名siga(b)的合法性,再对区块b进行验证。
由于从基站节点没有维护信任账户树,因此无法对块体进行验证,只能验证块头。主基站节点除了要进行块头的验证,还要根据高度在[header(b′).Lower_height+1,header(b).Lower_height]范围内的下层区块所包含的事实依据,对块体中的信任账户树进行验证。同时,主基站节点还需验证上层区块产生时,下层区块链是否满足安全长度的要求。
为了让从基站节点能够得到块体验证结果,主基站节点a′在验证区块b后,将广播确认消息(a′,b,res,siga′(b||res)),其中res∈{valid,invalid}。从基站节点根据其中res的值,判断b的块体的合法性。为了防止部分主基站节点遭受攻击而给出虚假结果,规定区块的有效性要求得到至少三分之二的主基站节点的确认。
本发明构建了信任凭证产生、传播的方法与网络模型,以及能够反映主体行为稳定性的信任评估方法及指标集。同时,通过引入双层结构和改进共识过程,使信任管理系统具有了容纳“双重粒度”数据的能力,并且不需要通过消耗算力来保障共识。双层链的结构还使信任管理系统的边缘节点实现了“轻量化”,有效降低了边缘节点的硬件要求和系统的覆盖范围。
显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
Claims (10)
1.一种基于双层区块链的车联网信任管理方法,其特征在于:其包括以下步骤:
步骤1,构建车联网通讯网络,包括若干主基站,每个主基站连接若干从基站,从基站与车联网中的车辆主体通讯;所有主基站构成的下层通信网络运行下层区块链以存储作为信任凭证的事实依据,所有主基站和从基站共同构成上层通信网络运行上层区块链以存储车联网主体的可信度指标集;
步骤2,每个主体遇到车联网事件时,通过传感器采集信息以生成事件描述,并封装为带有主体标识的事件消息在整个车联网通讯网络中传播形成信息流通;
步骤3,不同主体发送的同一车辆网事件的事件消息构成同事件消息集合M,
步骤4,分别计算同事件消息集合M中每条事件消息的可靠性估值,以可靠性估值最高的事件消息为事实依据,并作为信任凭证存储在下层区块链中;
步骤5,每次事件基于作为事实的事件消息分别计算每个车辆网主体在该事件的信用评分,并及时更新车辆网主体的表现记录,
步骤6,基于车辆网主体的表现记录分别构建每个车联网主体的信任指标集Ω=(c,λ,Δ)存储在上层区块链;其中:c∈Z为主体的信用值,是主体在车联网事件中的表现度量值的累积;λ∈[0,+∞)为行为频率的提升度,是主体近期行为频率与长期行为频率的比值;Δ∈(-∞,+∞)为信用值增速的提升度,是主体近期信用值增速与长期信用值增速的比值。
2.根据权利要求1所述的一种基于双层区块链的车联网信任管理方法,其特征在于:步骤1中下层区块链和上层区块链使用伪随机数序列和区块高度来决定记账节点,对主基站和从基站节点分别编号并对所有节点使用相同的伪随机数序列,各个节点在收到区块后根据区块高度和私钥签名,快速验证记账节点是否合法。
3.根据权利要求1所述的一种基于双层区块链的车联网信任管理方法,其特征在于:步骤2中车联网主体在遇到车联网事件时,通过传感器采集信息,由自带的计算模块生成事件描述封装为事件消息,并通过自带通信模块将消息广播;收到广播消息的其它主体或基站,将该消息转发使其在整个车联网中传播形成信息流通。
4.根据权利要求1所述的一种基于双层区块链的车联网信任管理方法,其特征在于:步骤4中信任凭证存储在下层区块链的具体方法为:下层区块链的记账节点依据事实依据集合χS生成块体,即事实依据树Ψχ;对每一条打包进区块的事件消息,向认证服务器申请获得时间戳同时将该消息的报告主体填入下层区块链的Bloom过滤器;对应基站节点生成区块后,将区块消息在下层网络广播,其他基站节点收到该区块消息后,先验证生成该区块信息的基站节点是否合法,再对区块内容进行验证通过后,从消息池中移除;当区块信息通过了合法性验证,但不是链接到末尾区块,则视为孤立区块,放入孤块区。
区块内容的验证包括记账节点是否合法、区块高度是否合法、块体所含事件的发生时间是否在合法范围、块体所含事件消息的报告主体是否能够通过Bloom过滤器检索到、块体所含事件消息的签名是否合法。
6.根据权利要求1所述的一种基于双层区块链的车联网信任管理方法,其特征在于:步骤5中一个事件的信用评分包括诚实表现的信用评分和恶意表现的信用评分。
7.根据权利要求6所述的一种基于双层区块链的车联网信任管理方法,其特征在于:步骤5的具体步骤为:
步骤5-1,从每个事实依据中的同事件消息集合获取一条未经评估的事件消息,
步骤5-2,判定该条事件消息的事件描述e与事实eτ是否匹配;是则,执行步骤5-3;否则,根据事件类型p对信用值累加对应的恶意表现评分ρb并执行步骤5-4;
步骤5-3,验证事件消息中的时间和空间凭证是否可证明;是则,根据事件类型p,对信用值累加对应的诚实表现评分ρg;
步骤5-4,更新主体的表现记录。
8.根据权利要求1所述的一种基于双层区块链的车联网信任管理方法,其特征在于:步骤6中依据主体的表现记录ω=(tini,cini,δ,<(t0,c0),(t1,c1),…(tn,cn)>),计算行为频率提升度和信用值增速提升度;
行为频率提升度cal_fre_lift(ω)的计算公式为:
其中,tini是车联网主体的入网时间标记,δ是车联网主体的报告车联网事件的次数,t0是车联网主体第一次报告车辆网事件的时间点,tn是车联网主体第n+1次报告车辆网事件的时间点,n表示车联网主体报告车联网事件的次数。
信用值增速提升度cal_spd_lift(ω)的计算公式为:
其中,cini是初始信用值,tini是车联网主体的入网时间标记,co是车联网主体第一次报告车联网事件后的信用值,cn是车联网主体第n+1次报告车联网事件后的信用值,t0是车联网主体第一次报告车辆网事件的时间点,tn是车联网主体第n+1次报告车辆网事件的时间点。
9.根据权利要求1所述的一种基于双层区块链的车联网信任管理方法,其特征在于:步骤6中上层区块链的块体为MPT结构的信任账户树,将信任指标集更新存储在上层区块链时,记账节点先复制原树,并将所有的账户节点置为Hash指针,在信任评估过程中,对信任指标集有变化的账户,生成新的账户节点替代Hash指针;而没有变化的账户,则使用Hash指针引用原信任账户树的对应节点。
10.根据权利要求1所述的一种基于双层区块链的车联网信任管理方法,其特征在于:步骤6中主基站节点在生成上层区块后,将上层区块信息在上层网络广播,上层网络中的基站节点先验证生成该上层区块信息的基站节点是否合法,再对上层区块内容进行验证;主基站节点验证上层区块的块头的基础上还根据指定高度范围内的下层区块所包含的事实依据验证对该上层区块块体中的信任账户树;指定高度范围为[header(b′).Lower_height+1,header(b).Lower_height],其中header(b′)是区块b′的块头部分,header(b)是区块b的块头部分,header(b′).Lower_height是区块b′对应的下层链区块的高度,header(b).Lower_height是区块b对应的下层链区块的高度。
从基站节点仅验证上层区块的块头,并获取主基站节点验证上层区块后广播的确认消息(a′,b,res,siga′(b|/res)),其中res∈{valid,invalid}其中a′是节点,b是节点a生成的区块,res是区块合法性验证结果,valid是区块合法,通过验证,invalid是区块不合法,没有通过验证,siga′(b|/res)是节点a′对区块b和对区块b验证结果的签名;从基站节点根据其中res的值,判断上层区块的块体的合法性,得到至少三分之二的主基站节点的确认后认定该上层区块的有效性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110168886.0A CN112862311B (zh) | 2021-02-07 | 2021-02-07 | 一种基于双层区块链的车联网信任管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110168886.0A CN112862311B (zh) | 2021-02-07 | 2021-02-07 | 一种基于双层区块链的车联网信任管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112862311A true CN112862311A (zh) | 2021-05-28 |
CN112862311B CN112862311B (zh) | 2023-06-06 |
Family
ID=75988933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110168886.0A Active CN112862311B (zh) | 2021-02-07 | 2021-02-07 | 一种基于双层区块链的车联网信任管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112862311B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114520813A (zh) * | 2021-12-29 | 2022-05-20 | 浙江中环瑞蓝科技发展有限公司 | 基于区块链的污染源管控系统 |
CN114726638A (zh) * | 2022-04-22 | 2022-07-08 | 中国工商银行股份有限公司 | 信息记录方法、装置、计算机设备、存储介质和程序产品 |
CN115051983A (zh) * | 2021-12-29 | 2022-09-13 | 昆明理工大学 | 一种基于区块链的车联网信任管理系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020018921A1 (en) * | 2018-07-20 | 2020-01-23 | Coral Protocol | Blockchain transaction safety using smart contracts |
CN111447177A (zh) * | 2020-03-02 | 2020-07-24 | 西北工业大学 | 一种基于区块链的车联网信任管理方法 |
CN111935674A (zh) * | 2020-08-17 | 2020-11-13 | 重庆邮电大学 | 一种基于区块链技术的车联网分层认证方法 |
CN111967051A (zh) * | 2020-08-27 | 2020-11-20 | 安徽大学 | 一种基于区块链的车辆间数据安全共享方法以及系统 |
-
2021
- 2021-02-07 CN CN202110168886.0A patent/CN112862311B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020018921A1 (en) * | 2018-07-20 | 2020-01-23 | Coral Protocol | Blockchain transaction safety using smart contracts |
CN111447177A (zh) * | 2020-03-02 | 2020-07-24 | 西北工业大学 | 一种基于区块链的车联网信任管理方法 |
CN111935674A (zh) * | 2020-08-17 | 2020-11-13 | 重庆邮电大学 | 一种基于区块链技术的车联网分层认证方法 |
CN111967051A (zh) * | 2020-08-27 | 2020-11-20 | 安徽大学 | 一种基于区块链的车辆间数据安全共享方法以及系统 |
Non-Patent Citations (1)
Title |
---|
王思明: "基于区块链的车载边缘计算资源优化研究", 中国优秀硕士学位论文全文数据库(电子期刊) * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114520813A (zh) * | 2021-12-29 | 2022-05-20 | 浙江中环瑞蓝科技发展有限公司 | 基于区块链的污染源管控系统 |
CN115051983A (zh) * | 2021-12-29 | 2022-09-13 | 昆明理工大学 | 一种基于区块链的车联网信任管理系统及方法 |
CN114520813B (zh) * | 2021-12-29 | 2023-09-01 | 浙江中环瑞蓝科技发展有限公司 | 基于区块链的污染源管控系统 |
CN115051983B (zh) * | 2021-12-29 | 2023-10-03 | 昆明理工大学 | 一种基于区块链的车联网信任管理系统及方法 |
CN114726638A (zh) * | 2022-04-22 | 2022-07-08 | 中国工商银行股份有限公司 | 信息记录方法、装置、计算机设备、存储介质和程序产品 |
CN114726638B (zh) * | 2022-04-22 | 2024-02-06 | 中国工商银行股份有限公司 | 信息记录方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112862311B (zh) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112862311A (zh) | 一种基于双层区块链的车联网信任管理方法 | |
CN111447177B (zh) | 一种基于区块链的车联网信任管理方法 | |
CN110602148B (zh) | 一种区块的状态树的生成和链上数据验证的方法及装置 | |
CN108039943B (zh) | 一种可验证的加密搜索方法 | |
CN112261159B (zh) | 执行跨片事务的方法及系统、主链节点和目标分片节点 | |
CN112929845B (zh) | 一种基于区块链的车联网节点信任评估方法及系统 | |
CN103763702B (zh) | 一种隐私保护的两层传感器网络范围查询系统及方法 | |
CN112261162B (zh) | 执行跨片事务的方法及系统、主链节点和目标分片节点 | |
CN112261157B (zh) | 提交跨片事务的方法及系统、主链节点和源分片节点 | |
CN111080298B (zh) | 一种适用于能源区块链的区块生成与交易验证方法 | |
CN113992526A (zh) | 一种基于可信度计算的联盟链跨链数据融合方法 | |
CN116383869A (zh) | 基于pbft共识机制的农产品供应链可信追溯模型及实现方法 | |
CN116467026A (zh) | 一种基于区块链的云桌面数据安全共享、溯源方法和系统 | |
CN114866428A (zh) | 一种基于区块链的大数据存储装置及方法 | |
CN114710357A (zh) | 一种可编辑区块链中支持分块验证的动态可搜索加密方法 | |
CN115398940A (zh) | 用于分布式无线网络的快速账本共识系统和方法 | |
CN114144775A (zh) | 总账可验证修剪系统 | |
CN115694811A (zh) | 一种基于无密钥签名的区块链数据传输方法与系统 | |
CN112261156B (zh) | 一种提交跨片事务的方法及系统、主链节点和源分片节点 | |
CN112396422B (zh) | 提交跨片事务的方法及系统、主链节点和目标分片节点 | |
CN114095518B (zh) | 一种基于多级委员会共识的科技数据确权与追踪保护的方法 | |
CN118041549B (zh) | 一种基于双层加密的数据存储方法及系统 | |
CN117787739B (zh) | 可验证的跨链信誉计算方法和系统、评价和充电方法 | |
Zhao et al. | Cross-Domain Data Traceability Mechanism Based on Blockchain. | |
CN112261158B (zh) | 返回跨片事务响应的方法及系统、主链节点和源分片节点 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |