APP下载

基于区块链的电力物联终端信任共识方法

2021-09-13于洁潇于丽莹

电力系统自动化 2021年17期
关键词:记账客体共识

于洁潇,于丽莹,杨 挺

(天津大学电气自动化与信息工程学院,天津市 300072)

0 引言

随着能源互联网技术和电力市场的逐渐发展,电力系统网络中不仅有众多的电力设备和装置,还有海量传感与通信设备不断加入[1]。同时,越来越多的电制热、电制氢、热储能等能源装置将接入电力系统中,使得多能源形式互联成为电力系统的发展趋势[2-3]。此外,随着分布式电源和分布式储能等技术的普及,未来将有更广泛的用电设备接入电力物联网(power Internet of Things,PIoT)[4-6],其可靠性与安全性问题将变得愈发关键。传统的加密和认证方案主要用于防御外部攻击,不能有效抵抗由受感染设备发起的内部攻击[7]。因此,如何保证已接入PIoT的各类智能终端维持可靠运行,及时发现并抵御来自网络内部的攻击,成为亟待解决的问题之一[8]。

近年来,信任管理被认为是解决网络内部安全问题的有效途径之一[9]。目前,在物联网领域已有较多关于信任管理的研究。文献[10]提出了信任管理目标和用于物联网整体信任管理的研究模型,并指出了未来的研究趋势。在智能电网领域也存在一些信任管理与协作决策、路由和交易等具体应用集成的方案。文献[11]提出一种智能电网保护系统信任管理工具包,将信任与网络流算法结合以识别和抵御智能电网中的故障节点。文献[12]针对智能电网通信网络的安全性问题,提出一种基于信任的地理路由协议,支持分布式信任管理。文献[13]提出一种微电网节点信用值评估机制,以信用值影响共识过程,以经济因素约束节点诚实守信。文献[14]设计了一种基于信誉值的光伏交易机制,能有效遏制节点自私行为,鼓励节点在点对点网络中积极传输。

以上研究对PIoT的信任管理具有一定的启发价值,但仍存在一些问题。现存的信任模型普遍假设用于计算信任值的信任参数真实可靠。然而,PIoT的设备数量众多且种类复杂,时刻面临各类安全隐患,难以保证信任参数的可靠性。此外,现有的信任管理方法大多从单一节点角度对评价客体进行评价,不能全面反映评价客体在网络中的整体信誉情况,存在一定片面性。

1 基于区块链的信任共识建模

1.1 信任管理载体

本文采用区块链作为信任管理载体,实现电力物联网中信任参数的存储与共享。区块链技术是一种能够在完全分布式环境中实现可信的数据共享和状态共识的分布式存储机制[15]。根据部署与应用场景的不同,区块链可分为公有链、私有链和联盟链。3种区块链的特点如附录A表A1所示。

在3种区块链中,联盟链的特点更适合应用于电力物联网场景中。联盟链的本质为半公开区块链,只有特定群体成员才能参与记账权限与维护治理,网络可以自主选择发放通行证。在安全性上,联盟链具有较高的隐私保护能力,数据权限有条件地公开,没有经过联盟链授权的其他互联网用户无法查看链上数据。因此,联盟链比公有链更适用于对数据隐私要求较高的PIoT。在可信度上,联盟链具有较高的监督管理能力,联盟链中的各成员机构之间互相监督,在联盟内部共同维护联盟链的可靠运行。因此,联盟链比私有链更适用于对可信监督要求较高的PIoT。联盟链既能维护数据隐私安全,又具有一定的可监督性。因此,本文选择联盟链作为PIoT环境中的信任管理载体。

1.2 PIoT信任共识系统架构

在PIoT的有效支撑下,发电、输电、配电和用电等电力系统环节都在不断推出新型业务。比如对内业务中的现代电力企业智慧供应链和无人机巡检等,对外业务中的电动汽车、源网荷储协同互动、综合能源服务和能源互联网生态圈建设等[16]。同时,随着边缘计算技术在电力系统中的应用与部署,大量PIoT设备已经具有了一定的边缘计算功能并愈发智能化,能够支持电力系统在边缘侧执行态势感知、数据分析和安全加密等功能。这些新型业务和复杂功能分布在电力系统中的各个区域和各类环节,由各种类型的PIoT智能电子设备(intelligent electronicdevice,IED)通过大 量的通信 与交互 实现。终端设备的种类众多,例如集中器或专变终端等智能用电终端、配电变压器监测终端或配电开关监控终端等智能配电终端以及变电站内安装的电力监测设备等。这些IED在配电自动化、用电信息采集、输变电状态监测、负荷监控、分布式能源和充电桩管理等PIoT业务中起着重要作用。

为评估终端设备可信性、抵御网络内部攻击,应针对不同的PIoT场景构建不同的PIoT信任共享子域。本文以电动汽车、充电桩和低压配电系统为例,基于联盟区块链设计了一种PIoT信任共识系统架构,如图1所示。该架构分为3层:底层为PIoT终端设备层,中层为物联通信网络层,上层为区块链管控层。其中,终端设备层内的IED即为充电桩管理业务中的电动汽车、充电桩和低压配电系统终端。这些终端设备由电力无线专网或无线公网方式接入无线PIoT自组网中,通过物联通信网络层提供的信息传输路径能够进行合作或交互以完成业务功能。

图1 基于区块链的PIoT信任共识系统架构示意图Fig.1 Architecture diagram of blockchain-based PIoT trust consensus system

在区块链管控层中,为满足信任参数的安全共享需求,网络管理者对参与信任管理的相关终端设备发放联盟链通行证,使其作为联盟链的参与节点维护区块链的运行,实现不同设备信任参数信息的安全存储与互相监督。记账节点负责将信任参数写入链中并与管控平台进行信息传递。管控平台包含业务中台、数据中台和其他各种类型的服务和应用,负责对终端设备的信誉情况进行监督、管理和控制,维护不可信节点列表,控制不可信节点的功能权限,及时修复网络内部风险。

为避免单链中存在海量终端带来的低效问题,本文借鉴文献[17]中划分片区的思想,采取分区并行高通量的联盟链形式,以终端种类、业务功能或地理区域为划分依据,对海量IED划分片区,即分业务、分区域地进行信任共识。同一分区内的IED具有较强的关联性与协作性,数据在不同分区下并行处理。当需要跨区域或跨业务操作时,数据在由各分区跨链节点组成的跨域链中进行传输。文献[18]提到的“基于信息中心网络和区块链技术的去中心化物联网通信体系结构”目前已获准国际新标准立项。该标准能为物联网提供去中心化、可信、实时和安全的数据通信技术,有效支撑电力物联终端分区并行化后的跨片区块链数据传输,进而可以达到海量终端,进行区块链实现的规模化应用。

1.3 电力物联终端信任共识方案流程

本文提出的基于区块链的电力物联终端信任共识方法的流程如附录A图A1所示。首先,PIoT中的智能终端设备根据交互情况生成信任参数包并广播发送,网络中的其他设备按照一定的共识机制对信任参数进行合法性验证。其次,通过验证的信任参数由本周期记账节点写进区块中,当需要评价其他设备信任时,从区块链上查询所需数据即可。然后,用Beta分布表示设备信任,根据区块链上的信任参数计算直接信任与推荐信任,针对主观赋权问题,采用熵值赋权方法得到完整信任值与综合信任值。最后,由本周期综合信任值最高的设备担任下一周期的记账节点,生成下一个区块并添加在链的最末端。

1.4 区块链结构

依照通用区块链结构,本文给出如附录A图A2所示的适用于信任共识的区块链结构示意图。区块链由按时间顺序相互链接的区块构成单向链式存储结构,每个区块分为区块头和区块体2个部分。

区块头包括版本号、前一区块哈希值、时间戳和Merkle根。版本号记录该区块头所用的版本号,用于协议的更新;前一区块哈希值记录该区块的父区块哈希值,用以形成链式结构;时间戳记录该区块的创建时间;Merkle根记录该区块中Merkle树的根哈希值。区块体包括交互数量和信任参数数据,信任参数数据以Merkle树的方式逐层构造。Merkle树由下至上,每2个数据的哈希值串联成新的哈希值,重复串联哈希过程,直到最上层仅有1个哈希值,即为区块头中的Merkle根。

1.5 信任模型

Beta分布是一种用来计算二项分布参数的共轭先验分布,文献[19]详细证明了Beta分布能与信誉分布很好地拟合,其数学期望作为节点信任值的可行性,是最经典、最广泛使用的信任评估模型之一。Beta分布具有计算简单、灵活性好、统计能力强和适用性强等特点。因此,本文采用Beta分布作为信任的统计概率模型。Beta分布的概率密度函数为:

式中:p(·)为概率密度函数;x为随机变量;α和β为Beta分布的参数,且α,β>0;Г(·)为伽马函数。

采用熵值[20]作为权重计算信任值。熵值是描述随机事件具有多少随机性的统计学概念。在信息论中,信息熵可以用来描述随机变量所含信息量多少,离散随机变量∂的信息熵H(∂)的表达式为:

式中:Φ(∂k)为第k个离散随机变量∂k的概率质量函数;n1为离散随机变量可以取值的个数。

当∂满足二项分布时,其信息熵H(∂)可以用∂与1-∂计算,即

定义1:直接信任值。评价主体i根据历史交互情况对评价客体j进行的直接信誉评价结果,记为直接信任值Dij,计算表达式为:

式中:Sij和Fij分别为评价主体i和评价客体j的历史累计交互成功次数和失败次数;E(·)为期望函数。

当没有先验分布时,节点的行为服从均匀分布。因此,p(x;α,β)可表示为:

定义2:权重信任值。n个子信任值通过动态权重构成权重信任值R的表达式为:

式 中;Rx为 第x个 子 节 点 的 子 信 任 值;wx为Rx的 权重,由Rx的熵值H(Rx)动态确定。

权重wx的表达式为:

2 基于区块链的终端信任共识方法

2.1 信任参数的生成

本文的信任参数指计算信任值时需要用到的参数数据,即每2个节点之间的交互成功次数与交互失败次数。具体定义如下。

定义3:交互成功与交互失败。PIoT的IED之间根据应用需求会进行合作与交互,本文根据设备之间通信信道建立时间t和通信数据量Q为标准,判断交互是否成功。

当设备A与设备B需要进行交互时,如果t小于一定的阈值tthr,并且此次交互结束后通信数据量Q高于一定的阈值Qthr,那么定义此次交互成功;反之,则定义此次交互失败。设备在每次交互后都会记录此次交互的结果,作为信任参数。

各节点的信任值随着网络的运行不断更新,设信任值的更新周期为T,分区网络中的每个节点记录在这个周期内与其他节点的交互数据,用于信任值的计算。对周期T进行离散化处理,将T分为h个时隙,因此,第k个时隙的起始时刻tk可表示为:

为了避免冲突,通过合理设置h值使得每个时隙内节点至多能与一个节点进行交互。随着各节点设备之间交互的进行,分区网络中的信任参数也随之生成。节点i在第k个时隙生成的信任参数包Pi(tk)可表示为:

式中:oi(j,tk)为在第k个时隙表征评价主体i和评价客体j是否进行交互的状态函数;ri(j,tk)为在第k个时隙表征评价主体i和评价客体j交互结果的状态函数;Si(j,tk)和Fi(j,tk)分别为从该周期开始至第k个时隙结束时,评价主体i和评价客体j的累计交互成功次数和失败次数;ci(j,tk)为评价主体i和评价客体j在第k个时隙交互的内容。

如果评价主体i在第k个时隙不与任何节点发生 交 互,则 有:Pi(tk)=∅,Si(j,tk)=Si(j,tk-1),Fi(j,tk)=Fi(j,tk-1)。节点生成信任参数后,以广播方式将其发送至其他节点,其他节点对该数据包进行合法性验证。

2.2 共识机制设计

在区块链系统中,网络需要通过共识机制使系统中的各节点遵守一定规则,判断每次交互的真实性。现有的公有链总是通过记账权选择的竞争实现共识机制,比如工作量证明(proof of work,PoW)机制等。公有链中的共识机制与记账权选择机制相互依赖。本文采用联盟链作为信任载体,联盟链与公有链很重要的一点区别是联盟链没有PoW过程,由指定节点读写账本。因此,联盟链中的共识机制和记账权选择可以分别讨论。

由于联盟链中缺少验证上链数据真实性的有效手段,本文提出5条数据验证准则,用于验证上链信任参数的合法性与真实性,作为本文共识机制的标准,具体表示如下。

1)存 在 性 准 则 。 若Pi(tk)=∅,则 有∀j≠i,oj(i,tk)=0。表示如果评价主体i在第k个时隙不与任何节点发生交互,则网络中的任何其他节点不会有在第k个时隙与评价主体i交互的记录。

2)对称性准则。若oi(j,tk)=1,则有oj(i,tk)=oi(j,tk)=1,Si(j,tk)=Sj(i,tk),Fi(j,tk)=Fj(i,tk)。表示对于同一交互行为,在交互双方记录的数据包中,交互结果、累计交互成功次数、累计交互失败次数应一致。

3)唯 一 性 准 则。若oi(j,tk)=1,则 有:ox(i,tk)=0,x≠i,j;oj(y,tk)=0,y≠i,j。该 原 则表示每个节点在某一时隙至多只能与一个对象进行交互。

4)递 增 性 准 则 。Si(j,tk)≤Si(j,tk+a),Fi(j,tk)≤Fi(j,tk+a),a∈{x∈N|x≤h-k-1}。该原则表示随着时间的推移,累计交互成功或失败次数只能增加,不能减少。

5)逐 次 性 准 则。Si(j,tk+1)≤Si(j,tk)+1,Fi(j,tk+1)≤Fi(j,tk)+1。该原则表示随着时间的推移,累计交互成功/失败次数逐次递增,不可跳变。

当网络中有至少半数以上参与共识的节点验证通过时,被验证的信任参数才可以被写进区块链中,进而能够参与接下来的信任值计算过程。没有通过共识机制验证的信任参数不能被写进区块链中,不能参与信任值的计算。如果某节点发送的信任参数连续3次没有通过共识机制验证,那么可以认为该节点是不可信的。由记账节点上传警告信息至管控平台,管控平台将其记录在不可信节点列表中并进行权限控制等管控操作。

本文设计的这种共识机制可以在进行信任值计算之前对信任参数进行可靠性筛选,从而提早发现网络内部安全隐患。

2.3 记账权选择

联盟链具有指定节点读写账本的特点,因此,联盟链中记账权的选择具有较大的自主性,一般可以根据应用场景与实际需求设计和选择合适的方法来确定记账权。

本文选择每个周期T内综合信任值Tj最高的节点担任下一周期的记账节点。记账节点负责生成下一区块,并加在区块链的最末端。通过信任值更新周期T,即区块的生成时间,每个周期生成一个新区块,记录新周期内的信任参数。当网络中的信任参数经共识机制验证合法后,由记账节点写入区块中,并全局更新。如果有多个与信任值最高的节点信任值相差不超过1%的节点,则选取曾经作为记账节点次数最少的节点担任下一周期的记账节点,使网络中有尽可能多的节点参与记账。

以综合信任值作为区块链记账权的竞争依据,在较大程度上保证了记账节点的可靠性。记账节点选取的不固定性,一方面降低了记账节点受到专门恶意攻击的可能性,另一方面也激励网络中的节点为了避免信任值过低而受到管控从而作出更好的表现。

2.4 信任值的计算

随着网络中交互与共识的进行,合法的信任参数被依次写进区块中。当计算节点信任值时,网络中的任何节点都能从区块链上查询并获取所需的信任参数。本文的信任值计算步骤如附录A图A3所示,包括信任值预定义与初始化、计算直接信任值与推荐信任值、计算完整信任值和计算综合信任值。

2.4.1信任值预定义与初始化

定义评价主体i对评价客体j的完整信任值为Tij,Tij∈{T∈R|0≤T≤1}。Tij越 接 近1表 示 信 誉度越高。如果将新节点设备的信任值初始值均设为1,系统会存在伪造身份标识的问题。如果将新节点设备的信任值初始值均设为0,系统需要一定初始化时间建立信任才能正常运行[21]。因此,本文折中上述2种方法,将初始状态节点的信任值均设为0.5。即认为刚加入PIoT的节点设备是一定程度上可信的,这样既能解决伪造身份标识的问题,又能缩短初始化时间。

2.4.2计算直接信任值与推荐信任值

信任值初始化后,信任共识方法在网络的运行过程中会根据设备的行为不断更新信任值,达到维护网络内部的安全运行,监控网络内部可疑节点发动内部攻击的目的。节点设备的完整信任值主要由2个部分组成,分别为直接信任值与推荐信任值。

直接信任值为评价主体i对评价客体j的直接观察。当需要计算直接信任值Dij时,评价主体i在区块链中查询最新的信任参数Sij与Fij,按式(5)进行计算。

推荐信任值为评价主体i从推荐节点x处获取对评价客体j的间接观察。其中,推荐节点为与i和j都能发生交互的节点。假设评价主体i对评价客体j进行评价时,有n个推荐节点,从而得到n个子推荐信任值。按定义2中的权重分配方法,得到评价主体i对评价客体j的推荐信任值Rij为:

式中:Rij,x为来自推荐节点x的子推荐信任值;wx为Rij,x的权重;H(Rij,x)为Rij,x的信息熵。

根据文献[20],Rij,x的计算方法为:

式中:Sxj和Fxj分别为推荐节点x与评价客体j的历史累计交互成功次数和失败次数;Six和Fix分别为评价主体i与推荐节点x的历史累计交互成功次数和失败次数。

当需要计算推荐信任值Rij时,i在区块链中查询最新的信任参数(Sxj,Fxj)和(Six,Fix),按式(13)至式(16)进行计算。

2.4.3计算完整信任值

为了更准确地反映节点信誉,在进行评价主体对评价客体的信誉评价时,还需要考虑直接信任和推荐信任。以熵值作为2种信任值权重分配的依据,从而避免主观分配权重引起的问题,得到评价主体i对评价客体j的完整信任值Tij为:

式中:wD和wR分别为直接信任值权重和推荐信任值权重;H(Dij)和H(Rij)分别为Dij和Rij的信息熵。

2.4.4计算综合信任值

在PIoT网络中,同一评价客体可能有多个评价主体对其进行评价。为了反映评价客体在网络中的总体信誉度,考虑多个评价主体的评价结果,本文引入一种新的信任值,即综合信任值。

对于评价客体j,假设网络中存在m个评价主体对其进行信誉评估,每个评价主体i都能得出一个完整信任值Tij,同样用信息熵为Tij分配权重,得到评价客体j的综合信任值Tj为:

式中:wi为完整信任值Tij的权重;H(Tij)为Tij的信息熵。

综合信任值作为网络对节点信誉度的最终评价指标,反映了节点在网络中的可信任程度。综合信任值越高表明节点在网络中的整体信誉越好,即可靠性越高;反之,综合信任值越低表明节点在网络中的整体信誉越差,即节点的可靠性越低。对于综合信任值较低的节点,很有可能是被入侵的节点或者自私节点。在每个信任值更新周期T结束后,更新每个节点的综合信任值,由记账节点将该周期综合信任值低于一定阈值的节点情况整理并上报至管控平台,进而对不可信节点进行管控操作。综合考虑2.2节的共识机制,本文的PIoT信任共识方法识别不可信节点流程如附录A图A4所示。

2.5 通信次数理论分析

在多数基于信誉的信任管理方法中,比如基于Beta的信任和信誉评估系统(Beta-basedtrust and reputation evaluation system,BTRES)方 法[22]和 基于贝叶斯和熵的轻量级信任管理(lightweight trust management basedon Bayesian andentropy,LTMBE)方法[20]中各节点本地存储直接信任参数,因此,计算直接信任值时不需要节点间相互通信。然而,在计算推荐信任时,评价主体需要与各推荐节点之间进行多次信息传递来获取推荐信任参数,每次获取需要的通信次数至少为4次,即请求发送、请求应答、推荐信任参数传递和接收成功应答。除此之外,随着网络生命的延长,如果管控平台需要查询某节点在某历史时间段内的信任值,传统信任管理方法需要评价主体与相应的推荐节点再次进行多次通信重新计算信任值。因此,传统的信任管理方法在进行信任评价时会产生大量节点间通信。

本文引入区块链作为信任管理载体,因此,每个节点都具有统一的信任参数账本,账本中存储整个网络的信任参数数据,并且随着交互的进行不断更新。当需要计算信任值时,从本地区块链账本查询即可获得所需信任参数。

在每次交互发生后,计算所有节点的新信任值,本文方法和BTRES方法所需的总通信次数分别为:

式中:Mour为本文方法所需的总通信次数;MBTRES为BTRES方法所需的总通信次数;N为节点数量;nm为节点密度;w为网络在周期T内总共发生的交互次数。

本文方法和BTRES方法各步骤中的详细通信次数如附录A表A2所示。由式(25)和式(26)可知,本文方法总通信次数只与节点数量和交互次数有关,与节点密度无关。而传统方法与节点数量、交互次数和节点密度均有关系。并且在N和w较大的情况下,本文方法总通信次数是传统方法总通信次数的1/nm,大幅度节省了信任值计算过程中的通信资源,反映了引入区块链存储与共享信任参数的高效性。

3 实验模拟与分析

为验证所提信任共识方法在PIoT无线网络基础结构中的性能,本文利用MATLAB R2019b作为仿真工具进行性能评估与安全性分析。假设每个IED的通信、存储和计算能力相同,分布在800 m×800 m的供电区域,通信半径为80 m。为模拟不同节点密度并保证网络简洁性,在逻辑连接中设定IED数量分别为25、100和225,每个节点的邻居数分别为2、4和8。通过调节信任参数,模拟简单攻击、开关攻击和诽谤攻击这3种恶意攻击形式,分析本文方法的综合信任值评价效果、开关攻击抵御效果和共识机制有效性。

3.1 综合信任值评价效果

由于IED在非入侵因素下也会发生一定概率的工作异常情况,比如由环境干扰、网络异常等因素引起的数据包丢失和通信时延增加等行为。因此,设置正常节点的交互成功率为0.95。本节假设恶意节点发起的是简单攻击,即攻击者可能操纵受感染的节点使其不遵循正常的网络协议,但是被感染节点会提供关于其他节点的正确信任意见。因此,设置恶意节点的交互成功率为0.2。具体仿真参数如附录A表A3所示。

信任共识方法的最终目的为识别出网络中的不可信节点。因此,本文采用精确率γ和召回率η作为信任共识方法的评价指标,它们都广泛用于机器学习和信息检索中以评估准确性[23]。这2个参数的定义为:

式中:Ntrue_negatives为检测出的真恶意节点数;Nfalse_negatives为检测出的假恶意节点数;Nfalse_positives为未检测出的真恶意节点数。

为分析综合信任值的评价效果,将本文方法与LTMBE方法[20]进行比较,分析不同节点密度和恶意节点比例下的精确率和召回率。采用统一标准,认为信任值低于0.7的正常节点为假阳性和信任值高于0.35的恶意节点为假阴性的误判情况。为消除实验数据的随机性,每个实验进行30次,取统计结果的平均值。附录A图A5为恶意节点比例在20%时不同节点密度的仿真结果,附录A图A6为节点数量为100时不同恶意节点比例的仿真结果。

由附录A图A5可知,无论是网络中低节点密度还是稠密节点密度,本文方法的精确率和召回率始终高于LTMBE方法。本文方法在精确率的上升程度上显著高于对比方法。节点数量为225时,精确率约为76%,比LTMBE方法提升约35%。这是因为在考虑多个评价主体的情况下,随着节点密度增加,各评价主体能从更多的良好节点处获得真实数据,从而大幅提升精确率,体现了综合信任值的有效性。

由附录A图A6可知,本文方法的精确率和召回率在不同恶意节点比例下同样始终高于对比方法。随着恶意节点比例逐渐增大,假阳性的正常节点数量越来越低于真阳性的恶意节点数量,从而精确率逐渐上升。尽管召回率逐渐下降,但是仍能在30%恶意节点比例下维持在71%左右的较高水平,说明综合信任值具有较高的评估准确性。

3.2 开关攻击抵御效果

开关攻击是另一种常用且更为隐蔽的网络攻击形式。恶意节点会断续地表现出恶意行为,并且还可能篡改对自己不利的数据,使得自己难以被发现。由于没有足够的证据来指控恶意节点,通常很难识别出这种狡猾攻击[24]。为了模拟开关攻击,在节点数量为100的网络中,假设评价客体j为发起开关攻击的恶意节点,n个评价主体均为正常节点,评价主体与节点的共同邻节点也均为正常节点。

假设网络节点间的初始交互成功和失败次数均为0。设每个周期T内与评价客体j共发生200次交互,在前50个时隙表现正常,能够正常交互;在第51至100个时隙表现不良,每次交互均失败;在第101至200个时隙重新表现正常。恶意节点会把第51至100个时隙中的失败交互数据随机篡改为成功交互,篡改数据比例分别设为20%、40%和60%。

将本文方法与广泛使用的BTRES方法和LTMBE方法进行比较,得到仿真结果如图2所示。

图2 不同数据篡改比例情况下的信任值对比Fig.2 Comparison of trust values in the cases with different data tampering ratios

图2表明,在第51至100次交互期间,随着不良行为的积累,3种方法得到的信任值都会显著下降。被篡改的数据比例越高,信任值下降程度越小。其中,BTRES方法的信任值在攻击期间内波动剧烈,短暂的交互成功/失败就会使其信任值骤升/骤降,而LTMBE方法与本文方法的信任值均表现为稳定下降的趋势,更能体现评价客体j渐进恶化的信誉情况。在第101次交互后,BTRES方法的信任值会在短期内迅速恢复至最大值,不利于区分恶意节点与正常节点。而LTMBE方法与本文方法对于恶意节点的信任值恢复较缓,使其需要在一段时间内持续保持良好才能逐渐积累信誉,体现了历史不良行为对信任值的延续影响。除此之外,本文方法在恶意节点信任值下降程度上优于LTMBE方法,这表明本文方法可以更有效地抵御开关攻击。

3.3 共识机制的有效性

本节以诽谤攻击为例验证所提共识机制的有效性。诽谤攻击的表现形式为恶意节点会通过提供虚假的信任意见,恶意中伤正常节点,从而使真正的恶意节点不会被发现。为了模拟诽谤攻击,在节点数量为100的网络中,假设n个评价主体为正常节点,评价客体j也为正常节点,而评价主体与评价客体之间的推荐节点均为发起诽谤攻击的恶意节点。

假设网络节点间的初始交互成功和失败次数均为0。设每个周期T发生200次交互,在前50个时隙推荐节点还没有发起攻击,进行正确的评价;从第51个时隙起,推荐节点发起诽谤攻击,对正常节点进行恶意评价;在第151至200个时隙推荐节点结束诽谤攻击,再次进行正确评价。

设置当参与共识机制的节点中分别有60%、80%和100%的节点通过验证时,信任参数才能够写进区块链上,从而模拟诽谤数据被共识机制提前识别出来的严格程度。同样地,将本文方法与BTRES方法和LTMBE方法进行比较,对比方法的仿真参数与3.2节相同,并额外增加一组BTRES方法中θ=0.25的情况,得到的对比结果如图3所示。

图3 不同共识机制强度下的诽谤攻击信任值对比Fig.3 Comparison of trust values of defamatory attacks in different consensus mechanism strengths

图3表明,发生诽谤攻击时,LTMBE方法中良好节点的信任值会显著降低,表明LTMBE方法缺少抵御诽谤攻击的手段。BTRES方法(θ=0.2)中良好节点的信任值基本维持不变,θ=0.25时的信任值会在第51至54次交互中突然下降,这是由于尽管BTRES方法通过设置θ过滤差异较大的推荐评估能够抵御一定的诽谤攻击,但是信任值对θ的细微变化十分敏感,从而影响抵御攻击能力。本文方法随着共识比例增加,评价客体j的信任值下降程度逐渐降低,即受到诽谤攻击的影响逐渐变小。在理想情况下,当共识比例为100%时,诽谤攻击对正常节点的信任值将没有影响。

在诽谤攻击结束后,BTRES方法(θ=0.2)的信任值会在第179次交互中突变下降,BTRES方法(θ=0.25)会在第166次交互中突然下降,随后逐渐恢复至最大值,这也是由θ引起的。θ越大,突变越提前发生,且突变越显著,体现了BTRES方法在抵御诽谤攻击方面具有局限性。而LTMBE方法和本文方法的信任值在诽谤攻击结束后都会逐渐增加,并且本文方法的信任值恢复程度优于LTMBE方法,表明本文方法可以更有效地抵御诽谤攻击,从而体现了共识机制的有效性。

3.4 吞吐量分析

将本文的信任共识方法与现有区块链中的实用拜 占 庭 容 错(practical Byzantine fault tolerance,PBFT)方法进行吞吐量对比,在区块链中一般用每秒交易数(transaction per second,TPS)表示吞吐量,TPS越大反映系统效率越高。在本文中,节点间发生一次交互即为一次交易,因此,TPS可以用平均每次交互耗费的共识时间的倒数进行计算。

设置节点总数N在4至150之间,恶意节点比例分别为15%、30%和45%,不同节点总数和恶意节点比例下本文方法与PBFT方法的吞吐量的对比结果如附录A图A7所示。

附录A图A7表明,PBFT方法在节点总数较少时,吞吐量较高,但是其吞吐量随节点数目增加显著下降,本文方法的下降趋势低于PBFT方法。在节点总数增至150的情况下,本文方法的TPS在恶意节点比例为30%时仍能保持在104左右的较高水平,而PBFT方法的TPS已降低至34左右,系统效率明显降低。随着恶意节点比例增加,2种方法的TPS均有所降低,由于恶意节点比例为45%时,PBFT方法已因不满足PBFT条件而失效。因此,本文方法的容错能力高于PBFT方法。此外,由于PBFT方法的一致性协议需经过三阶段广播,并且按编号顺序选出的记账节点为恶意节点的可能性较大。通过视图切换协议更换记账节点会再次产生大量通信开销,方法复杂度为O(N2)。因此,PBFT方法不适用于具有大量终端的PIoT环境。本文方法在共识阶段无须多次广播,共识节点将共识结果传给记账节点即可。由2.5节可知,本文方法的复杂度为O(N),明显优于PBFT方法。本文选择综合信任值最高的节点担任记账节点,避免了因记账节点恶意而切换记账节点的情况,在网络规模较大时仍能保持较高的系统效率和较低的复杂度。

4 结语

本文提出了一种基于区块链的电力物联终端信任共识方法。针对传统信任管理方法缺少对于信任参数的安全存储和多元评价主体的相关研究,采用区块链作为信任管理载体,增强了信任参数的安全性与可靠性,并且基于Beta分布和熵值理论建立了多元信任评价主体机制,得出更准确的设备综合信任值。此外,为深度融合区块链技术与信任管理方法,提出了5条共识机制准则和一种记账权选择机制,进一步提高方法的可行性与实用性。实验结果表明,所提信任共识方法具有较高的准确率和召回率,并且能够有效识别和抵御多种类型的恶意攻击,节约通信资源,与现有方法相比能明显减少通信次数。未来将进一步研究带有激励和惩罚机制的信任共识方法,减少目前方法的冗余性,提升PIoT的灵活性、安全性与自适能力。

附录见本刊网络版(http://www.aeps-info.com/aeps/ch/index.aspx),扫英文摘要后二维码可以阅读网络全文。

猜你喜欢

记账客体共识
共识 共进 共情 共学:让“沟通之花”绽放
论思想共识凝聚的文化向度
记账类APP
符号学视域下知识产权客体的同一性及其类型化解释
商量出共识
记账理财的好处有哪些
中小企业代理记账存在的问题及对策
代理记账:会计“工学结合”的新动向
“慢养孩子”应成社会普遍共识
旧客体抑制和新客体捕获视角下预览效应的机制*