基于多区块链结构的综合能源系统调度构架

2021-12-12 07:57左欣雅刘弋铭
电力系统自动化 2021年23期
关键词:终值分散式热电

黄 伟,左欣雅,刘弋铭

(1. 华北电力大学电气与电子工程学院,北京市 102206;2. 国网内蒙古东部电力有限公司呼伦贝尔供电公司,内蒙古自治区呼伦贝尔市 021100)

0 引言

在能源领域,中国正全面推进清洁低碳、安全高效的现代能源体系建设[1]。综合能源系统(IES)作为一种高效利用新能源、实现多种能源协同调度的重要方式被大力推广[2]。随着研究的深入,IES 中能源供应主体不断丰富,这对主体利益分配、隐私维护和系统安全提出了更高的要求。传统的集中调度模式面临诸多挑战[3-5]:统一调度中心需要短时收集全局数据、处理所有决策变量,IES 通信压力大、安全风险高、运行效率低;各能源主体期望保有自主调度运营权,以维护自身利益、保护数据隐私。因此,由各主体自主运营、协同管理的分散式调度模式是IES 调度的重要方向之一。

文献[6]通过定价和定量两个阶段的博弈,实现部分分散式的社区IES 协同优化策略。文献[7]基于有向联通图的一致性协议,建立了考虑需求响应的完全分散式能量管理模型。文献[8]通过能量路由器实现多种能源主体的分散式协同控制。但分散式的调度模式[6-9]通常缺乏监管体系,不能验证数据的正确性,无法确保系统运行的安全可靠。

区块链技术是一种去中心化、去信任的底层技术框架[10],其分布式的数据存储模式、智能合约、共识机制、多链扩容和加密技术,可与完全分散式的计算过程结合,以实现计算过程的对等、安全、智能以及计算数据的可追溯和不可篡改[11-12]。文献[13]应用区块链的数据存储结构和智能合约,建立了微电网内分布式电源间的协同调度模型。文献[14]利用区块链技术优化了多个微电网之间分散式的能量交互和资金流动。针对IES 的多能交互,文献[15]提出了一种基于实用拜占庭容错(PBFT)算法的多能源交互主体共识方法,以提高系统优化运行的数据真实性和主体可靠性。

目前,区块链技术在IES 调度中的研究较为匮乏。本文针对IES 完全分散的调度模式,基于区块链技术的去中心化、运行可靠、数据安全3 个显著特征,分析了区块链在分散式调度中的契合性,应用多链扩容和哈希加密算法提高区块链在IES 调度系统中的运行性能,提出了包含热/电迭代链和调度终值链的多链结构,进一步建立了IES 分散式调度5 层3 链的运行构架。在合约层,建立以各参与主体成本最低为目标的IES 分散式调度模型;在共识层,针对迭代链和终值链分别提出以一致性协议和拜占庭容错机制为共识算法。最后,通过算例证明该构架在有限通信信息的情况下能有效运行,且能够防止主体背叛并削弱服务器错误或宕机的影响。本文所提构架在保证了分散式调度模式隐私性的同时具有更高的安全性和可靠性。

1 区块链技术应用分析

1.1 区块链的结构

区块链的本质是分布式数据存储、共识算法、点对点传输和加密算法等计算机技术的新型应用模式[16-17]。区块链由具有特定Hash 值标记的区块连接而成,每个区块由区块体和区块头组成,见附录A图A1。区块体用于记录系统信息,并对应生成特定的Hash 值,以保证数据的不可篡改性;区块头由目标Hash 值、时间戳、随机数和Hash 根值组成,以确保区块链正确有序的连接[18]。区块链中所有节点都可参与区块的验证和存储。若某节点的区块链时序落后于全网,则以最新的区块为准快速追回系统状态。

1.2 契合性分析

该IES 由主网、不可控的光伏(PV)发电单元、多个由产热锅炉搭载余热发电组成的热电联产组件以及普通热锅炉组成的热电联产组件构成,如图1所示。系统由供能主体自主管理、协同调度,需要在运行过程中减少供能主体对外公开的信息,提高系统的隐私性;并以所有主体利益最大为目标的同时,确保信息的真实性,维护系统的公平公正。

图1 IES 示意图Fig.1 Schematic diagram of IES

基于拉格朗日乘子法的分散式算法可将IES 调度问题分解成多个由供能主体自主计算的子问题,各主体通过寻找子问题的最优解以实现自身利益最大化。但仅使用分散式算法并不能完全满足系统的上述需求,而区块链技术具有以下3 个显著特征[19-20],能与分散式算法结合,作为系统分散调度的技术支撑。

1)去中心化:通过给供能主体配置单元服务器,接入区块链系统,基于点对点传输,供能主体可进行分散式计算,并共同参与区块链的运行和维护。

2)运行可靠:区块链的分布式记账使每个单元服务器均存有完整的区块链备份,当少数服务器信息错误,可通过其他服务器的数据备份复制正确信息;基于共识机制,可以确保各主体对链上信息达成一致,保障了分散式计算过程中数据信息的可靠性。

3)数据安全:供能主体的服务器初始接入区块链系统前,通过非对称加密,单向生成对应的私钥与公钥。私钥用于对计算结果等摘要信息的数字签名,公钥可验证信息发出者的身份和信息在传输过程中是否遭遇他人篡改;区块链中应用广泛的哈希加密也是一种非对称加密,摘要信息转化为Hash 值后,信息变化必然导致Hash 值变化,这可以确保摘要信息不被篡改。Hash 值无法逆推信息内容,这可以确保信息不被泄露。

1.3 基于IES 调度的区块链技术优化

区块链技术在IES 中有很高的契合性,但考虑IES 调度系统的建设成本、服务器硬件限制和敏感信息加密需求等,对区块链技术进行相应优化,以实现与IES 调度系统更佳的融合。

1.3.1 基于多链结构的扩容方案

区块链常对服务器的通信能力和存储容量有较高的要求,但用户的建设成本将过高,特别是对于热电联产商。采用链下扩容技术[21],建立多区块链实现区块扩容,即将大量且频繁的计算工作分配至子链,主链仅记录计算的最终值并验证其正确性。通过子链提高区块运行速率,主链提供安全性保护,兼顾区块链运行效率、可靠性和设备性能限制。由于该IES 的分散式调度中主要计算热能和电能的分配,建立热/电迭代区块链和终值链分别用于存储热网迭代信息MHk、电网迭代信息MEk和调度最终值Mn。此外,服务器还可选择丢弃早期的迭代链,仅保留完整的终值链,以节省存储空间。

1.3.2 基于哈希加密的机组参数保护与验证

机组参数是各主体不希望对外公开的敏感信息,通过拉格朗日乘子法解耦,机组参数可转化为隐私信息。但机组参数与调度结果密切相关,主体有足够的动机篡改自身参数,谋求非法利益。在主体进入系统区块链前,应用哈希算法对各主体的机组参数进行加密,公开对应Hash 值。在主体上传的迭代信息M中,智能合约自动附上本次计算的参数Hash 值,其他主体参与验证。若该Hash 值不改变,则机组参数无变化。基于哈希加密,实现了系统敏感信息的去信任。

2 基于区块链的分散式调度运行构架

对于IES 基于区块链的分散式调度,构建由数据层、网络层、合约层、共识层、应用层以及热/电迭代链、终值链组成的分散式调度运行构架,如图2所示。

图2 基于多区块链的分散式调度运行构架Fig.2 Multiple blockchains based decentralized dispatching operation framework

数据层是基础,通过分布式记账对数据进行存储,主要数据包括各供能主体的热/电出力值、分散式算法的传递变量、迭代次数和时间等;网络层基于点对点(P2P)传输,进行相关的数据通信,各主体在通信过程中地位平等。其拓扑可等效为无向联通结构G(V,E),其中V为主体节点集,E为主体间通信线路的边界集;通过网络层的P2P 通信,共识层使用共识算法确保主体对能量调度中的一致性变量和运行结果达成一致性,根据主子链的特点分别使用PBFT 共识机制和一致性协议共识算法;合约层使用智能合约将系统分散式调度的运行模型等系统协议和规则转化为自动执行的程序,使得调度计算过程智能化、程序化、透明化;应用层中还封装了针对该IES 多能调度的典型应用场景和案例,系统可借鉴已有的案例对调度计算结果进行智能调控。

3 去中心化的IES 调度模型

3.1 成本模型

基于上述IES 分散式调度的区块链运行构架,在智能合约中封装该系统的分散式调度模型。假设PV 发电单元的出力全部消纳,由主网、各热电联产机组和产热锅炉参与调度计算。这些供能主体在区块链上均以节点的形式存在,用节点i表示(i∈V)。该模型即以各自的运行成本最低为目标。

主网采用传统火电厂发电机组的发电成本来表征配电网对园区供电的成本函数:

式中:Ci(⋅)为节点i的成本函数,i∈VE,VE为主网供电主体节点集;Pi(t)为节点i在时间t下的计划供电功率;ai、bi、ci为节点i发电机组发电成本的费用系数;ρ为PV 发电单元倒送给主网的单元电量售价。

由于成本函数应该是连续的,即当供电量为0时,主网对于系统的成本为ci,即可将主网成本函数表征为:

式中:a′i和b′i为拟合后的主网节点i的发电成本费用系数。

对于单个的热电联产组件在最小凝气工况下运行的成本函数采用耗量成本模型[22]:

式中:Hi(⋅)为节点i在时间t的计划供热功率;i∈VCHP,VCHP为热电联产组件供能主体节点集;a″、b″和c″为组件的燃料成本系数;ℓ 为耗量转换系数。

进一步,式(3)可变化为:

式中:φi、βi、γi、δi、θi和φi为节点i的热电联产组件运行成本的费用系数。

文中的热电联产组件采取以热定电的运行模式,热电耦合模型为:

式中:υi、ωi和νi为节点i的锅炉运行成本的费用系数;i∈VG,VG为锅炉供热主体节点集。

系统总的运行成本优化模型为:

式中:C*为园区运行总成本;PD(t)为园区的电功率需求;HD(t)为园区的热功率需求;PPV(t)为PV 发电单元出力;Pmini、Pmaxi分别为节点i的电功率下限和上限;Hmini、Hmaxi分别为节点i的热功率下限和上限。

3.2 模型解耦

对于上述凸优化问题,使用拉格朗日乘子法,引入拉格朗日乘子,将主体间的耦合约束加入原函数,转化为对偶问题:

式中:H(t)为区块链上节点的热功率向量,H(t)=[H1(t),H2(t),…,Hi(t)],若主体节点i不供热,则Hi(t)=0;P(t) 为节点的电功率向量,P(t)=[P1(t),P2(t),…,Pi(t)],若主体节点i不供电,则Pi(t)=0;λ(t)和μ(t)为拉格朗日乘子,分别为热功率和电功率的成本增量。

由于热/电网络存在不同的全局约束,可将供热网和供电网解耦。分别对供热/电网中的供能主体节点i的出力求导,有

式中:λi(t)和μi(t)分别为节点i在时间t的热功率和电功率增量。

将式(10)解耦成仅包含就地约束的子问题,在给定λ(t)和μ(t)的情况下,各供能主体可对子问题单独优化求解。

1)主网子问题(i∈VE)

4 IES 调度的共识算法

4.1 迭代链的一致性协议

迭代链的一致性协议是基于网络层的G(V,E)拓扑,选择成本增量λ(t)和μ(t)分别作为热迭代区块链和电迭代区块链的一致性变量,当两区块链内的一致性变量相等时,则视为各主体对出力结果达成共识。设无序节点对(i,j)表示E中连接节点i和j的一条通信线路,矩阵A为G(V,E)的n×n邻接矩阵,aij为A的非对角线元素,表示节点i与j之间的通信边数。由于主体间的每一次通信都需要使用加密算法验证信息的真实性,因此,采用一阶离散时间系统的一致性协议为[24]:

式中:k为迭代次数;dij为通信网络行随机矩阵的元素;λi,k+1为节点i第k+1 次迭代的热功率成本增量;μi,k+1为为节点i第k+1 次迭代的电功率成本增量。

系统调度必须满足供需平衡[25],因此,各节点需要通过获取热、电功率供需差额,调整一致性变量的收敛方向,式(16)、式(17)可变为:

式中:ΔHk和ΔPk分别为第k次迭代的系统热、电功率缺额;Hi,k和Pi,k分别为第k次迭代时计算得出的节点i的热、电 功 率 出 力;ξ和ξ′为 收 敛 系 数(ξ>0,ξ′>0),表示收敛速度。

通过一致性协议计算并验证为真的迭代数据将会被记录在迭代链区块中,若迭代过程中各主体满足式(23)条件,则表示供热迭代链内的λi,k和供电迭代链内的μi,k均已相等,即各主体对调度分配达成了共识,可将最终值传送给终值链,否则继续迭代。

式 中:ε为 允 许 的 功 率 偏 差;ε′为λi,k和μi,k的 收 敛精度。

系统基于区块链进行分散式迭代计算的流程见图3。各主体加入本次调度计算后有以下步骤。

图3 迭代链计算流程图Fig.3 Calculation flow chart of iterative chain

步骤1:在热/电迭代链的初始区块MH0和ME0中分别导入本次计算的初始值:各供热主体节点的初始热功率Hi,0、初始热成本增量λi,0、T时段的园区热需求HD(T)和各供电主体节点的初始电功率Pi,0、各初始电成本增量μi,0、T时段的园区电需求PD(T)、光伏发电单元出力值PPV(T)以及机组参数Hash 值。

步骤2:基于分散式的调度模型,结合本地约束更新自身出力值。由于热电联产组件的服务器对热、电迭代链均有读取权限,因此可同时读取2 条链上的区块信息,用于自身出力的计算。

步骤3:供热主体节点i将λi,k、Hi,k以及本次计算使用的机组参数Hash 值暂存入热迭代链的节点i第k区块MHi k并使用私钥附上数字签名后广播至供热区块网,由其他主体验证,供电主体同样更新电迭代链的节点i第k区块MEi k,广播至电区块网并参与相互验证。

步骤4:若双链的广播信息均被通过,则信息分别写入热、电迭代区块MHk和MEk内,各主体服务器更新区块链,获取新的区块信息并进入步骤5。否则系统报错,同时算法回滚,重新计算步骤2。

步骤5:各主体判断终止条件,若已收敛则向终值链传递终值信息,否则继续迭代计算。

4.2 终值链的PBFT 共识机制

为确保信息传递的可靠性和一致性,终值链采用PBFT 共识机制。选取可信度最高的主网作为终值链共识算法的主节点,热电联产组件作为普通节点。必须指明,主节点仅率先接收信息,其地位与普通节点是平等的。假设热电联产组件的个数为m,则共有m+1 个节点参与该共识,错误节点个数为f。

运行过程分为6 个步骤,见附录A 图A2。

步骤1:由锅炉主体将附有签名的热迭代链的终值请求信息MHk发送至主网服务器。

步骤2:预准备阶段,主节点根据信息MHk和MEk生成〈〈pre-prepare,v,n0,d〉di,MHk,MEk〉并广播给普通节点。其中,v为视图号,n0为主节点为本次请求信息分配的序列号,d 是信息摘要,di 是签名。

步骤3:准备阶段,普通节点i对信息的签名和内容以及序列号进行验证,若通过,则广播信息〈〈prepare,v,n0,d,i〉di〉至除自身外的其他节点。

步骤4:提交阶段,其他节点对〈〈prepare,v,n0,d,i〉di〉进行上述相同的验证,若通过则写入本地,当本地收到至少2f条正确信息则广播信息〈〈commit,v,n0,d,i〉di〉至除自身外的其他节点。

步骤5:完成阶段,节点对〈〈commit,v,n0,d,i〉di〉进行相同的验证,通过则写入本地,当本地收到至少2f条正确信息,将发送通过信息。

步骤6:当锅炉主体收到大于半数的完成信息后,则表示共识完成,MHk和MEk可写入终值链的区块中,所有主体执行调度结果,否则重新运行该机制。该共识机制最多可容许错误阶段数f≤m/3。

5 算例与分析

为验证所提构架的有效性和优越性,进行算例仿真。假设某社区级IES 有4 栋智能楼宇配有热电联产组件,并另有供能主体供电主网和普通产热锅炉。各供能主体间基于P2P 网络,可以相互通信。各供能主体的设备运行参数和容量限制见表1。

表1 设备运行参数和容量Table 1 Operation parameters and capacity of equipment

系统允许功率偏差ε=0.01,收敛系数ξ=0.008、ξ′=0.000 2,收敛精度ε′=0.003,初始功率均为0。系统供给侧的分散式能量调度以T=1 h 为单位进行,某日内各时段的系统热、电负荷需求和光伏单元输出功率预测值如图4(a)所示,通过基于多链结构的IES 调度构架的运行计算,供能主体间的电功率和热功率分配终值如图4(b)、4(c)所示。在07:00 至18:00,小区用户利用太阳能满足部分电负荷需求,其余部分由主网和各热电联产组件提供。对于热负荷需求,各热电联产组件提供大部分的热功率,运行成本较高的普通锅炉仅承担小部分需求且出力平稳。

图4 某日24 h 负荷预测及调度结果Fig.4 24 h load forecasting and dispatching results of a day

假设在进行该日09:00 的调度计算前,热电联产组件1 为了自身利益,提高自身出力,篡改服务器内部存储的设备参数β3=1.952 5。针对未采用区块链技术的分散式调度,由于分散计算过程没有加密算法和验证机制,热电联产组件1 的最终出力大幅提升,H2(9)由85.342 6 kW 变为124.794 8 kW,而H3(9)由89.636 3 kW 降至75.996 0 kW,H4(9)由103.425 7 kW降至90.433 7 kW,H5(9)由88.605 3 kW降至79.532 3 kW,其他机组利益受损,则热功率收敛过程如图5(a)所示。而基于多链结构的IES 分散式调度,随着热电联产组件1 的设备参数变化,由机组参数转化的Hash 值也随之变化。在1 号服务器完成本次计算的第1 次迭代、签名和广播后,其余节点先使用公钥验证主体身份,再对比Hash 数列有无变化,其中包括了对参数Hash 值的验证。可识别出是热电联产组件1 在本次迭代计算中使用了与原参数不符的机组参数。验证失败,系统记录错误、给予惩罚并迫使热电联产组件1 修正参数,算法回滚,以正确参数重新运行,得到正确的功率分配,成功维护了分散式调度计算的安全性,收敛过程如图5(b)所示。

图5 热功率收敛过程Fig.5 Convergence process of thermal power

在计算中针对终值链的PBFT 共识机制,主体服务器传递附加信息为1 表示验证通过,0 为不通过或无响应。假设在进行该日09:00 的调度计算完成后的终值传递过程中,热电联产组件4 的服务器无响应,但在PBFT 共识机制下,其余主体完成了对终值的验证,提交阶段发出4 条通过信息,正确的终值成功写入终值链,各阶段主体接收信息情况见表2。因此,该过程既提高了数据的可靠性,也极大提高了系统运行的可靠性。

表2 PBFT 共识机制的信息验证结果Table 2 Information verification results of PBFT consensus mechanism

6 结语

针对IES 调度中的隐私性、安全性和可靠性方面存在的问题,本文融合分散式调度方法与区块链技术,提出了基于多区块链结构的IES 调度构架。通过算例验证可以得出以下结论。

1)区块链技术在IES 分散式调度中具有良好的适用性,所提构架在不对外公开设备参数的情况下可以有效运行。

2)在IES 的分散式调度过程中,基于区块链技术,系统能有效避免主体恶意篡改自身参数的问题,既实现了系统去中心化也维护了系统的安全。

3)调度终值确认过程中,系统在个别服务器错误或无响应的情形下依旧能有效运行,提高了系统的数据可靠性和运行可靠性。

本文算例是在单机环境下使用模拟程序完成,没有实现真实的分散运行。下一步将考虑通过以太坊建立真实的区块链平台,更加深入地进行实验验证。针对构架内容,可考虑加入资金交易链,建立奖惩机制,以提高构架的完整性和实用性。

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

猜你喜欢
终值分散式热电
福州热电两台660MW热电联产工程核准获批
欧洲分散式风电启示
分散式风电破“局”
风电:分散式风电政策利好 加速发展可期
分散式风电卷土重来
欧元区4月服务业PMI和综合PMI均创六年最佳
热电转换材料的开发与应用
0.3%,欧元区11月份综合PMI终值环比增长
新型热电制冷装置的实验开发
热泵在热电联产中的应用