李达,冯景丽,平健,严正
(1. 国网数字科技控股有限公司,北京市 100053;2. 国家电网有限公司区块链技术实验室,北京市 100053;3. 上海交通大学国家电投智慧能源创新学院,上海市 200240;4. 电力传输与功率变换控制教育部重点实验室(上海交通大学),上海市 200240)
随着电动汽车的普及以及充电基础设施的广泛建设,近年来,我国电动汽车保有量及充电负荷呈现快速上升趋势。预计到“十四五”末,我国将形成满足超过2 000万辆电动汽车充电需求的充电基础设施体系[1]。海量电动汽车充电负荷在时间和空间维度上的聚集效应将显著改变配网净负荷形态,其充电方式亟需由传统的“自由无序”模式转向“可观可控”模式[2]。
新形势下,聚合配网各区域的电动汽车充电负荷数据是制定电动汽车需求响应策略、引导电动汽车有序充电的重要基础[3]。然而,传统数据聚合手段在海量电动汽车接入场景下将面临可行性问题:若由电网企业直接采集充电数据[4-5]将给电网企业较大工作负担,存在可扩展性问题;若由第三方服务商聚合再汇总至电网企业,则数据流转传递过程存在数据篡改及隐私暴露风险[6]。因此,如何以可信、可扩展、隐私保护的方式聚合电动汽车充电数据,在海量电动汽车接入的配电网未来场景下具有重要意义。
近年来,以安全可信、公开透明为重要特征的区块链技术受到能源行业的广泛关注,为能源行业提供了自治化、可信赖化的解决方案[7-10]。电动汽车充电场景涉及电网企业、充电服务商、电动汽车车主等多个独立利益主体,且充电数据量庞大分散。区块链技术可以以多方共治方式实现可信、可溯源的电动汽车充电流程管理[11],降低电动汽车充电场景各利益方的信任成本。文献[12]设计了一种代理拜占庭容错(delegated Byzantine fault tolerance, DBFT)共识算法,使电动汽车车主可以验证、审计其与充电站签订的充电合约。上述研究利用区块链实现了电动汽车数据交互及电能交易的可信赖性,但仍聚焦于单个充电站或少量充电站场景,难以应对海量电动汽车接入后整个配网区域的电动汽车充电需求。文献[13]提出了基于区块链的充电桩运维系统,实现海量充电桩数据的透明、可信管理。文献[14]通过设计区块链智能合约,建立起配网运营商、充电服务商和电动汽车间透明互信的数据传递渠道。文献[15]提出了基于区块链的电动汽车响应机制,平抑配电系统负荷峰谷差。文献[16]提出了基于区块链的电动汽车日前充电计划协同方法,文献[17-18]提出了基于区块链的多充电站站间交易方法。上述研究通过区块链聚合配网中的电动汽车充电需求,实现了需求响应、灵活调度的目标,然而,区块链公开透明的技术特征也给各参与方带来了隐私暴露风险。以上研究均要求电动汽车车主向充电站等第三方披露其充电计划,难以满足车主的隐私保护诉求,限制了其可实践性[19]。
此外,国内外学者也已开展了数据聚合场景下的隐私保护方法研究,其主流研究方法可分为两类:第一类是基于差分隐私算法的隐私保护方法。这一类研究通过向数据添加服从一定概率分布的噪声,实现隐私数据保护的目的,同时尽可能保留数据自身的特征。文献[20]基于差分隐私方法提出了隐私保护的居民用户用电监测方法。文献[21]提出了基于差分隐私的用户用电数据聚类分析方法。然而,差分隐私算法在利用噪声隐藏隐私数据的同时也不可避免地导致数据可用性的下降,进而影响数据聚合结果的精确性。另一类是基于秘密共享算法的隐私保护方法。文献[22]提出了基于Shamir秘密共享的智能电表数据采集方法。文献[23]提出了基于经验模态分解与同态加密的用电数据隐私保护方法。然而,上述研究均未考虑数据聚合服务方的数据篡改、数据丢失风险,在数据聚合服务方非可信情况下存在应用局限性。
综上所述,现有研究仍未能以可信任、保护隐私手段实现电动汽车充电负荷数据聚合。为此,本文提出基于双层区块链的电动汽车充电隐私数据可信聚合方法。首先,建立电动汽车充电数据多层级聚合架构,以多层级、多区块链协同的方式聚合配网内部充电负荷数据;随后,提出隐私保护的电动汽车充电数据可信聚合算法,保证聚合过程的隐私保护性和可信赖性;最后,通过理论推导和算例分析,论证所提方法相较直接聚合方法以及基于传统实用拜占庭容错(practical Byzantine fault tolerance, PBFT)共识的聚合方法在防篡改及隐私保护方面的优越性。算例结果表明,本文方法可以在保护电动汽车充电计划隐私信息的前提下,实现配网各区域充电负荷数据的可信聚合,且聚合效率可以满足充电负荷数据聚合场景的效率要求。
电动汽车充电数据聚合架构包含3个层级:充电桩层、加密聚合层、解密提交层,如图1所示。其中,充电桩层包括配网中各区域(如居民小区、工商业园区等)全部充电桩节点。各充电桩节点制定本地充电计划,并将加密后的充电计划共享至加密聚合层。加密聚合层中,各区域由一组预先选取的充电桩代表节点作为该区域加密聚合小组,每个加密聚合小组包含一个加密主代表,其余成员为加密从代表。各加密聚合小组各自维护一条加密聚合区块链,收集充电桩密文充电计划,并将密文充电计划聚合结果提交至解密提交层。解密提交层由加密聚合层的全部代表节点组成,包含一个解密主代表,其余成员为解密从代表。全部代表共同维护解密提交区块链,收集加密聚合层提交的密文充电计划聚合结果,解密计算得到各区域总充电负荷情况并提交至电网企业。充电数据聚合场景参与者仅涉及配网区域内的充电桩节点及电网企业。相较公有链技术,联盟链技术在参与节点规模有限时能保证更高运行效率及更低运行成本[24]。因此,加密聚合区块链及解密提交区块链均采用联盟链技术搭建。
图1 电动汽车充电数据多层级聚合架构
在图1所示的多层级聚合架构下,各充电桩仅提交加密后的本地充电计划(也即预测充电负荷曲线),保证其隐私信息不被泄露。充电数据聚合结果由充电桩代表节点共同解密计算和验证,当部分代表节点篡改结果时,其他代表节点仍能计算出正确的聚合结果,保证聚合结果的可信赖性。不失一般性,本文假设配网分为K个区域,每个加密聚合小组包含N个加密代表(包括加密主代表及加密从代表)。此外,有不超过fF个代表节点为恶意代表,加密聚合小组k中有fk个恶意代表,恶意代表可能通过共同篡改结果影响数据聚合准确性,或通过窃取隐私信息侵犯充电桩权益。显然有:
(1)
本节结合第1节所介绍的电动汽车充电数据多层级聚合架构,提出隐私保护的电动汽车充电数据聚合算法。在充电桩层,提出隐私保护的本地充电计划共享算法,使车主仅需上传加密后的充电计划数据;在加密聚合层,提出基于PBFT共识的充电数据加密聚合算法,实现加密充电计划的可信聚合;在解密提交层,提出基于改进PBFT共识的聚合充电负荷数据解密算法,以可信方式解密配网内部各区域的充电负荷数据。相较其他非拜占庭容错的联盟链共识算法,如Paxos[25]、Raft[26]共识等,本文采用的PBFT共识在维持较低通信复杂度的前提下,可以在存在恶意代表节点时保证充电负荷数据聚合结果的正确性。该共识算法已被广泛应用于需建立各方信任关系的能源区块链应用场景。
在充电桩层,充电桩首先制定本地充电计划,随后,基于Shamir秘密共享机制[27]生成K份密文充电计划,分别提交给各加密主代表。本地充电计划共享算法流程如图2所示。详细步骤如下:
图2 本地充电计划共享算法流程
1)充电桩随机构造一组多项式,如式(2)所示:
(2)
式中:Lit表示t时段充电桩i的充电功率;Tmin、Tmax为须提交充电计划的起止时段;aitl为充电桩i针对t时段随机生成的多项式l次幂系数;q为多项式的最高次幂。
2)充电桩基于式(3)计算得到密文充电计划,添加数字签名后提交给各加密主代表。
{Li}k=[piTmin(k),pi(Tmin+1)(k),…,piTmax(k)]
(3)
上述密文充电计划生成方法具备以下特性:
1)该方法为(q+1,K)门限机制,也即当且仅当掌握不少于任意q+1个加密主代表收集到的充电桩i密文充电计划时,可根据式(4)解密得到充电桩i的真实充电计划。
(4)
2)该方法满足加法同态性,也即当且仅当掌握不少于q+1个加密主代表收集到的充电桩集合Ω密文充电计划之和时,可根据式(5)解密得到集合Ω中全部充电桩的总充电负荷。
(5)
2)加密从代表验证密文充电计划的合法性。当且仅当各密文充电计划均包含正确的充电桩数字签名时,向其他加密代表转发密文充电计划。
3)当加密代表收到不少于2fk+1份相同密文充电计划(来自加密主代表或加密从代表)时,向其他加密代表发送承诺消息。
4)当加密代表收到来自不少于2fk个加密代表的承诺消息时,认为加密代表已就各充电桩密文充电计划达成一致,执行部署在加密聚合层区块链的智能合约,也即依据式(6)计算各区域的密文充电计划聚合结果,并提交至解密主代表。
(6)
基于PBFT共识的充电数据加密聚合算法整体通信流程如图4所示。
图4 基于PBFT共识的充电数据加密聚合算法
在解密提交层,全部代表须根据加密聚合层提交的密文信息共同解密出各区域的聚合充电负荷。然而,加密聚合层的恶意代表的恶意行为可能导致加密聚合小组未提交正确的密文聚合结果,进而影响解密过程。为此,本文提出基于改进PBFT共识的聚合充电负荷数据解密算法,保证聚合充电负荷计算的正确性。聚合充电负荷数据解密算法流程如图5所示。详细步骤如下:
步骤1:解密主代表收集加密聚合层提交的分区域密文充电计划聚合结果。对于加密聚合小组k,当且仅当解密主代表收到不少于fk+1个加密代表发来的相同密文聚合结果(如式(7)所示)时,认为该密文聚合结果已在该加密聚合小组达成共识,为可信聚合结果。
(7)
步骤2:若解密主代表收到不少于(2K+q+1)/3份共识密文聚合结果,则将全部共识密文聚合结果转发给全部解密从代表;否则,将未达成共识的加密聚合小组加密主代表视为恶意代表,向全部充电桩节点发送恶意加密主代表名单,进入步骤7。
步骤3:解密从代表验证密文聚合结果的合法性。当且仅当不少于(2K+q+1)/3份密文聚合结果满足式(7)时,向其他解密代表转发共识密文聚合结果。
步骤4:当解密代表收到不少于2f+1份相同共识密文聚合结果(来自解密主代表或解密从代表)时,向其他解密代表发送承诺消息。
步骤5:当解密代表收到来自不少于2f个解密代表的承诺消息时,认为解密代表已就不少于(2K+q+1)/3份共识密文聚合结果达成一致,则执行部署在解密提交层区块链的智能合约,也即依据式(8)、(9)解密各区域的聚合充电负荷,并发送给电网企业。
(8)
(9)
步骤6:若电网企业收到不少于fF+1个解密代表的相同聚合充电负荷结果,认为该结果可信。否则,向全部充电桩节点发送更换解密主代表消息,按顺序由下一个代表作为解密主代表,并进入步骤8。
步骤7:收到恶意加密主代表名单后,加密主代表在名单上的加密聚合小组按顺序将下一个加密代表视为新加密主代表;全部充电桩节点向新加密主代表重新发送密文充电功率向量,重新开始充电数据加密聚合过程。
步骤8:收到更换解密主代表消息后,各加密代表向新解密主代表重新发送分区域密文充电计划聚合结果,返回步骤1。
基于改进PBFT共识的聚合充电负荷数据解密算法整体通信流程如图6所示。
图6 基于改进PBFT共识的聚合充电负荷数据解密算法
本节从防篡改性能及隐私保护性能等2个维度,论证所提方法的效果,并与现有方法对比,分析所提方法的优越性。
定理1:当式(10)、(11)成立时,也即有不少于(2K+q+1)/3个加密聚合小组中恶意代表占比不多于1/3、且解密代表中恶意代表占比不多于1/3时,恶意代表无法篡改电动汽车充电负荷数据聚合结果。
(10)
NK≥3fF+1
(11)
证明:
1)由式(10)可知,在加密聚合层,至少有(2K+q+1)/3个加密聚合小组中恶意代表占比少于1/3,因此,聚合充电负荷数据解密算法步骤2及步骤7保证解密主代表可收到不少于(2K+q+1)/3份共识密文聚合结果。
3)当解密主代表非恶意代表时,式(11)保证电网企业可收到不少于fF+1个解密代表的相同聚合充电负荷结果,且该结果已得到非恶意解密代表的确认。当解密主代表为恶意代表时,聚合充电负荷数据解密算法步骤6及步骤8保证聚合充电负荷数据解密过程不会受其影响。
综上,当式(10)、(11)成立时,本文方法保证恶意代表无法篡改电动汽车充电负荷数据聚合结果。
定理2:当恶意代表数量满足式(12)时,也即有不少于K-q个加密聚合小组中不存在恶意代表时,恶意代表无法通过分享信息窃取充电桩隐私信息。
(12)
证明:
1)由式(12)可知,在加密聚合层,仅不超过q个加密聚合小组存在恶意代表,其通过分享信息至多掌握充电桩i的q份密文充电计划。因此,恶意代表无法通过式(4)解密充电桩i的真实充电计划。
2)在解密提交层,恶意代表只掌握各区域的聚合充电负荷,无法分析得到充电桩充电计划。
综上,当且仅当式(12)成立时,本文方法保证恶意代表无法通过分享信息窃取充电桩隐私信息。
为说明本文方法相较传统聚合方法的优越性,本节对比所提方法与直接聚合方法、基于PBFT共识的聚合方法在防篡改、隐私保护方面的性能。
在直接聚合方法下,各充电桩直接将充电计划提交给所在区域的数据聚合中心,各区域的数据聚合中心将聚合结果提交至电网企业。此时,数据聚合中心将具备潜在作恶空间,一方面,其可以篡改充电桩提交的充电计划,生成错误聚合结果;另一方面,数据聚合中心可以直接收集到全部充电桩的充电计划,难以保护充电桩的隐私信息。
在基于PBFT共识区块链的聚合方法下,各充电桩直接将充电计划提交给所在区域的区域聚合小组,聚合小组代表通过PBFT共识确认聚合结果,并提交电网企业。此时,当各区域聚合小组的恶意代表占比均不多于1/3,也即满足∀k∈[1,K],N≥3fk+1时,可保证聚合结果的正确性。与之相比,本文方法仅要求一定数量的区域聚合小组中恶意代表占比不多于1/3,且恶意代表占代表总数比例不多于1/3,也即满足式(10)、(11)时,可保证聚合结果的正确性。因此,相较基于PBFT共识区块链的聚合方法,本文方法具有更强的防篡改性能。此外,在基于PBFT共识区块链的聚合方法下,区域聚合小组中的任意代表均可直接获取充电桩充电计划,相较直接聚合方法,其隐私暴露风险更高。
综上所述,本文方法与直接聚合方法、基于PBFT共识的聚合方法的对比结果如表1所示。
表1 本文方法与传统聚合方法的性能对比
此外,根据定理1、定理2可知,增加各加密聚合小组代表数量N或增大门限值q将分别提升本文方法的防篡改性能和隐私保护性能,但同时也将增加节点间交叉通信次数、增大聚合充电负荷数据解密算法中枚举解密结果的工作量,从而降低聚合方法运行效率。因此,在实际应用中,应在满足数据聚合效率要求的前提下,增加代表数量或增大门限值,从而尽可能保障防篡改性能、隐私保护性能。区块链最优参数配置可以通过实测分析[29-30]或虚拟化仿真方式[31]确定,限于篇幅,本文不再赘述。
需要指出,本文所提出的隐私数据可信聚合方法不仅适用于电动汽车充电数据聚合这一场景,也可以推广应用至其他具有同样防篡改诉求及隐私保护诉求的能源数据聚合场景中,例如分布式电源数据聚合、虚拟电厂数据聚合等。
为验证本文算法的有效性,本节在一个含10区域,每区域78个充电桩的算例系统[16]中测试本文方法。算例仿真在一台安装有英特尔i7-10700 CPU及16 GB内存的个人计算机上完成,基于Matlab开发了数据聚合算法的功能代码,模拟各节点的运算过程以及各节点间的通信过程,从而测试本文方法的防篡改性能及隐私保护性能,并对比本文方法、基于PBFT共识区块链的聚合方法以及直接聚合方法的聚合效率。在本文方法下,假设每个加密聚合小组包含7个加密代表,门限值取q=3。此时,根据定理1可知,当至多2个加密聚合小组中恶意代表占比超过1/3时,本文方法可保证防篡改性;根据定理2可知,当至多2个加密聚合小组中存在恶意代表时,本文方法可保证隐私保护性。不失一般性,算例假设加密聚合小组3、4中存在恶意代表,且恶意代表占比均超过1/3。假设任意2个节点(包括充电桩节点、代表节点、数据聚合中心和电网企业等)间的通信延时均满足均值为0.02 s的指数分布[32]。
在本文方法下,加密聚合小组3、4中的恶意代表均篡改其计算的密文充电计划聚合结果。在解密提交层,解密主代表从加密聚合小组3、4收到被篡改结果,从其他加密聚合小组收到正确结果。图7展示了本文聚合充电负荷数据解密算法下区域4的聚合充电负荷枚举情况以及实际聚合负荷情况。
图7 区域4聚合充电负荷枚举情况
作为对比,若采用基于PBFT共识区块链的聚合方法,则由于区域4的区域聚合小组恶意代表占比超过1/3,无法保证该区域充电数据聚合结果的正确性。若采用直接聚合方法,则无法防范区域4的数据聚合中心的篡改行为。
为验证本文算法的隐私保护性能,图8展示了区域3某充电桩的实际充电计划及聚合小组3、4加密代表收到的密文充电计划。
图8 区域3某充电桩实际及密文充电计划
由图8可知,聚合小组3、4中的恶意代表仅能接收到与充电桩实际充电计划有显著差异的密文充电计划。同时,由于恶意代表无法掌握足够数量的密文充电计划,因此也无法通过式(4)解密得到充电桩充电计划信息。
作为对比,若采用基于PBFT共识区块链的聚合方法,则区域3的区域聚合小组中的任一恶意代表均可以掌握、泄露该充电桩的实际充电计划。若采用直接聚合方法,则区域3的数据聚合中心可以直接获取该充电桩的实际充电计划信息,导致潜在隐私暴露风险。
本节对比测试本文方法、基于PBFT共识区块链的聚合方法以及直接聚合方法的聚合效率。其中,基于PBFT共识区块链的聚合方法下的聚合小组及代表节点设置与本文方法保持一致。
表2对比了不同充电数据聚合方法的聚合运算耗时。其中,所有时间均通过10次测试取均值得到。
表2 不同聚合方法的聚合耗时
由表2可知,相较直接聚合方法,基于PBFT共识聚合方法及本文方法2种基于区块链的聚合方法聚合耗时显著增加,其主要原因是区块链环境下需要花费较长时间用于代表节点之间的多轮交叉通信。相较基于PBFT共识的聚合方法,本文方法的聚合耗时更长,其主要原因是本文方法在解密提交层要求解密代表进行枚举计算,从而导致更长耗时。然而,本文方法耗时仍可以满足电动汽车充电数据聚合场景的效率需求。需要说明的是,本文方法相对其他传统聚合方法的额外耗时,也可以视为为保证充电数据聚合过程的不可篡改性及隐私保护性所必须付出的效率代价。
在海量电动汽车接入的配电网未来场景下,以可信、隐私保护的方式聚合电动汽车充电负荷数据是开展电动汽车需求响应,引导电动汽车有序充电的重要前提。本文提出了基于双层区块链的电动汽车充电隐私数据可信聚合方法,在聚合架构方面,提出了包括充电桩层、加密聚合层、解密提交层的电动汽车充电数据多层级聚合架构,以自治方式实现配网内部充电负荷数据聚合。在聚合算法方面,分别设计了聚合架构各层级的运行算法。理论及算例分析结果表明:
1)本文方法以区块链为手段,使海量充电桩以自组织、自校验方式实现充电数据聚合,减轻了电网企业收集海量电动汽车充电数据的负担;
2)相较直接聚合方法及传统的基于区块链聚合方法,本文方法提升了充电数据聚合过程的防篡改性能和隐私保护性能,使得恶意节点既无法篡改数据聚合结果,也无法获取各充电桩实际充电计划信息,且方法计算耗时可满足电动汽车充电数据聚合场景的效率需求。
基于区块链的电动汽车充电管理方法值得进一步研究,未来可能的研究方向包括提出保护隐私的电动汽车需求响应方法,提出防篡改性能更高的共识算法等。