席嫣娜,张宏宇,高鑫,杨铭,梁惠施,周奎
(1.国网北京市电力公司,北京市 100031;2.北京电力经济技术研究院有限公司,北京市 100055;3.清华四川能源互联网研究院,成都市 610213)
2020年9月,习近平总书记在第75届联大会议郑重宣告,我国将在2030年前实现碳达峰,2060年前实现碳中和。双碳目标的提出推动了能源结构转型的加速,给能源互联网的发展带来了新的机遇与挑战[1]。能源互联网是以能源系统为核心,以互联网技术为支撑,电网、天然气网络、供水网络、交通网络等其他网络紧密耦合而形成的复杂多网流系统[2]。目前,能源网络基本实现了对电网节点运行状态的实时监控,所采集的数据通过数据采集基站或网络专线等方式汇集到电力公司的数据中台系统[3]。然而,要充分挖掘能源互联网大数据的价值,不仅需要在能源生产、传输和消费等各个环节中产生的运行状态数据,还需要源自社会、经济、气候、人居、交通以及其他能源系统(例如天然气网和供热网)等会影响能源互联网建设和运行的数据[4],因而需要解决不同数据所有者实体之间的数据共享问题。由于能源互联网大数据海量、多元、流式的特点[5],各数据所有者实体之间的数据共享仍存在较大壁垒。
集中式中心化的数据存储和共享方式存在信息安全的问题,比如中心节点更容易受到恶意攻击,以集中方式存储的数据难以保证不被故意篡改等。此外,不同数据所有者实体所掌握的数据往往具有多源异构的特点,加上数据体量庞大,给集中式中心化的数据共享方式带来了很大的资源开销[6-8]。因此,迫切需要设计一种安全可靠的分布式协作机制和技术架构,保障能源互联网大数据共享的时效性、安全性和可信性。
区块链技术是近年来出现的一种基于分布式存储的共享数据库技术,被认为是继移动互联网后的下一代颠覆性技术。由于区块链技术具有去中心化、数据安全、可靠、历史信息可追溯等特点,在能源领域常常被应用于交易和溯源方面[9-10]。文献[11]提出了一种基于区块链的需求响应认证、激励机制和技术框架。文献[12]指出区块链技术在解决能源电力领域安全隐私、政策适应及效率等方面的优势,提出了能源消纳和电网配套服务方面的典型场景。文献[13]提出了区块链在电力系统碳排放权与绿证交易的系统构架。文献[14]提出了区块链技术应用于电力交易的系统构架及阻塞管理方法。在能源大数据领域,近年来也有学者研究如何将区块链应用于能源数据资产的管理。文献[15]提出了区块链技术在电网数据资产管理方面的应用,利用区块链技术建立共识和激励机制,提升各方对电网数据维护的积极性。文献[16]提出了区块链在能源大数据领域的应用,包括分布式能源交易与管理、电动汽车有序充电、微电网交易、电力市场、区域能源交易、虚拟电厂管理、需求侧响应等应用场景。文献[17]设计了监管链和多数据链结合的能源数据链构架,并提出支持外包的多授权属性加密技术实现数据访问策略控制。
目前,区块链在大数据共享方面的研究都是对数据本身进行直接共享。然而,将数据直接共享存在数据隐私难以保证、数据量大等问题。本文针对上述问题,提出基于区块链的能源互联网大数据知识共享框架模型,提出基于云边协同的双层数据知识提取机制,所提取的知识通过区块链数据共享平台实现能源互联网中多实体间的知识安全共享。
能源互联网的构架及主要组成元素如图1所示,其核心是基于互联网的理念,通过能源系统与信息系统的高度融合,促进能源网络中各种资源的优化配置。能源互联网的参与主体具有多元化特点,多个参与实体各自拥有海量、多元、异构的数据[18],对这些来自不同实体的数据进行共享、融合,并在此基础上进行多源数据的联合挖掘,才能最大程度地发掘能源互联网大数据的价值。目前,研究普遍认为能源互联网的数据共享与融合能够应用于提升能源互联网多能耦合系统决策优化和安全稳定运行,催化能源互联网高自由度商业模式形成,提高能源互联网信息资产的管理水平,优化能源网络规划建设方案,支撑智慧城市建设等方面[19]。
图1 能源互联网构架及要素Fig.1 Architecture and elements of energy Internet
相较于传统互联网,能源互联网大数据共享的特点在于:1)数据共享的价值挖掘场景主要在能源交易、运行、规划以及面向能源系统外的数据增值服务方面,数据融合挖掘的专业性更强;2)能源电力数据涉及用户隐私,数据敏感度高,对数据共享的安全性和隐私保护的要求也更高;3)能源互联网中数据主体多样,包括电网、能源供应商、设备供应商、负荷聚集商、燃气部门、供水部门、交通监管部门等,数据存在多元异构的特点,数据的联合挖掘往往需要解决大规模、异地、异构数据的联合复杂分析问题。
然而,目前能源数据共享机制的缺乏,直接影响各方在数据共享方面的互信建立,从而降低了能源大数据共享的频度和广度。此外,集中式的大数据挖掘方式可能会造成用户隐私、企业经营数据的泄露,进而导致个人权益的损害和企业间的不正当竞争[20]。另外,由于能源互联网大数据存在数据量大、实时性强等特性,未经处理的原始数据传输会造成很大的网络资源浪费。事实上,各实体真正需要的往往不是数据本身,而是蕴含在数据中的知识。因此,有必要构建一个能源互联网大数据挖掘和知识共享的框架,解决实体间的互信建立、数据隐私保护、知识挖掘及知识传输存储等问题。针对上述问题,本文提出基于云边协同技术的能源数据知识挖掘和基于区块链的数据知识共享框架。
在知识挖掘方面,根据用户实际需求从云端下沉数据挖掘算法到边端(即用户侧),在边端实现数据的知识提取。基于云边协同的知识挖掘架构如图2所示,其构成包括:
图2 基于云边协同知识提取机制Fig.2 Knowledge extraction based on cloud edge collaboration
1)能源互联网中各主体对其感知量测设备所获取的数据在用户侧数据中心进行存储,并同时建立数据资源目录。
2)数据共享云由第三方机构建设和运营,其职责在于为各方提供数据资源目录查询的云平台,并提供数据挖掘算法和数据计算服务资源。
3)数据需求方根据云平台上的数据资源目录,结合其需求确定所需的数据源。数据需求方与数据所有方达成数据知识共享协议后,向云端提出知识提取需求。
4)云端第三方从数据知识共享过程中获取计算服务和平台服务对应的收益。
5)数据的共享过程通过联盟区块链实现可信交易,并通过智能合约来实现共享过程中知识提取和权限管理的自动化。
在数据知识共享方面,基于区块链实现各实体间的数据知识可信、可靠共享。数据知识共享架构如图3所示,主要包含以下步骤:
图3 基于联盟区块链的数据共享架构Fig.3 Data-sharing framework based on alliance blockchain
1)数据需求方通过第三方云上的数据检索目录获取到各实体的数据相关信息,根据自身需求向数据所有方发送数据请求,包含数据使用目的、访问时间和访问次数、需求字段、是否涉及敏感信息等数据需求说明,数据所有方验证节点身份及数据请求的合法性。
2)数据供需双方达成共享协议并向云端提出知识提取的需求被确认后,数据共享交易信息被广播到区块链网络中。
3)在区块链网络节点的协同下,记账节点将当前时段的数据共享交易记录打包生成新的区块,并与区块链中的其他节点进行同步。其他各节点验证区块的真实性后将新区块加到原有区块链之后。
4)数据所有方将共享数据的数据库访问路径、共享数据表单名称及字段说明,以及数据库访问次数、访问时间等约束条件以智能合约形式打包发送给云端第三方。数据源验证授权信息后执行智能合约,依据访问约束生成对应的脚本代码,对访问者的数据权限进行个性化定制和敏感信息处理,云端第三方根据数据需求方的要求将算法下沉到数据所有方边端进行知识提取。
5)知识提取的结果以智能合约的形式向数据需求方开放访问权限,完成数据知识共享。
本文所提出的基于云边协同的双层数据知识提取架构主要解决能源大数据共享中数据传输负荷过大、数据隐私和数据安全难以保证的问题,其具体架构如图4所示。
图4 基于云边协同的多层联邦学习构架Fig.4 Multi-layer federated learning architecture based on cloud-side collaboration
边缘计算是指在靠近终端侧对数据进行预处理,从原始数据中提取出有价值的知识,这是一个精简信息、提升数据价值密度的过程。将数据知识化与边缘计算结合,在数据实体侧对原始数据进行知识提取,能够将低价值密度的原始数据转化为高价值密度的知识。边缘端完成对原始数据的初级加工和知识提取后,云端进一步对来自多方数据源的知识实现联合分析挖掘,实现多源数据的价值提取。云边协同知识提取流程如下:
1)初始化。数据需求方通过区块链骨干网络向数据所有者发送数据知识共享请求。
2)知识需求方与数据所有者达成数据共享协议后,通过云端下沉边缘知识提取算法,完成全局任务模型构建。
3)选取符合算力和数据需求的边缘服务器节点进行底层算法部署。
4)由边缘服务器节点完成终端数据的汇集和边缘联邦学习计算任务。
5)边缘侧利用云端下沉的数据挖掘算法,在用户侧对原始数据进行加工处理和知识提取,将数据转化成初级知识。
6)边缘侧计算结果通过区块链网络进行数据加密和数据上传。
7)云服务器对各节点初级知识进行全局聚合后进行二次加工处理,基于联邦学习进行二次数据挖掘,同时通过步骤2)—6)完成边缘数据挖掘和云端协同训练,推动边缘侧和云端算法互动,进一步实现知识组件的学习和优化。
8)数据需求方最终通过区块链网络获取到多次迭代和提取的需求知识。
联邦学习(federated learning,FL)是一种通过分布式机器学习来进行共享数据挖掘的方法,具有数据隐私保护的技术优势[21]。由于行业、客户范围等的不同,各主体所挖掘的知识并不相同且信息交流存在障碍,使得各方需求难以同时满足。为解决这一需求,运用联邦学习技术,在对知识进行对齐和加密的基础上,建立各方知识模型的协作训练模式,各参与方只能得到与自己相关的模型参数,从而在保证数据安全的条件下,实现多方的协作训练和知识共享。
纵向联邦学习(vertical federated learning,VFL)与同态加密(homomorphic encryption,HE)结合的方式可以实现对多数据源间的知识协同挖掘过程。纵向联邦学习模型示意如图5所示。基于纵向联邦学习的优化目标为:
图5 纵向联邦学习模型示意图Fig.5 Diagram of vertical federated learning mode
(1)
(2)
同态加密作为非对称加密算法的一种类型,其特性主要表现为加密密文保持与明文运算结果的一致性,用算式表示为:
D[φ(AΔB)]=D[φ(A)Δφ(B)],∀A,B
(3)
式中:Δ为特定运算符;D(·)为加密算法φ(·)对应的解密算法,对于任意明文A、B均成立,则满足同态加密要求。
本文以同态加密的纵向联邦学习为例说明联邦学习应用于云边协同知识提取的可行性,在不同场景下,针对适应性可选择横向联邦学习、联邦迁移学习等方法实现多数据源间的知识提取,方法与纵向联邦学习模型类似,因此不在赘述。
能源互联网大数据共享的参与主体主要包含电网、油/气/热能源系统、各类分布式可再生能源业主、政府部门、能源设备制造商以及气象、交通、城市监测等数据所有机构。在区块链种类选择方面,由于能源区块链各参与主体具备一定的规模且主体数量相对较少,因此相较于节点数量巨大、运行效率较低的公有链,联盟链更适合能源大数据共享的场景。各数据所有者间建立共识协作关系,联盟链节点具有一定的准入条件且新节点的加入需要现有联盟链节点的一致同意,只有加入联盟链的节点有权利记录、认证、读取区块链上的数据。
利用加密链式数据区块结构来验证和存储数据共享交易记录。分布式节点通过共识算法来维护和同步更新各链上数据,利用智能合约来保证数据共享合约的履行,其模型构架如图6所示,其模块的功能为:
图6 基于联盟区块链的能源数据共享模型构架Fig.6 Energy data sharing framework based on alliance blockchain
1)数据层:数据层采取经典链式区块数据结构。区块头主要由父区块哈希值、时间戳、默克尔树、随机数等信息构成,区块主体包含数据共享过程中的交易信息列表。每个区块中的区块头所保存的父区块哈希值,在区块间构成了连接关系。数据层主要存储数据共享的交易数据。
2)网络层:网络层采用P2P网络,采用非对称加密(例如椭圆加密算法)完成各节点的身份验证和数据传输加密,认证机制则规定了区块在网络层中受各节点监督审计的实现方式。
3)共识层:联盟链采用实用拜占庭协议(practical Byzantine fault tolerance,PBFT)作为共识机制。在考虑系统、网络等原因造成信息缺失的同时,考虑了区块链节点互信的拜占庭将军问题[22]。基于联盟链的能源大数据共享系统,各节点由能源企业、能源监管部门、政府部门、企事业单位、交易平台等具有一定规模的单位或有国家背书的机关部门构成,其系统构架具有节点数量少、质量高、作恶节点少等特点。相比于工作量证明(proof of work,PoW)而言,PBFT具有共识效率更高、资源浪费少的优点,因而适用于联盟链系统。
4)合约层:合约层集成了联盟区块链交易的相关合约,其构成以智能合约为核心,以算法机制和脚本代码实现整个数据共享流程。智能合约是一套以计算机程序实现的合约,合约规定交易过程中触发事件和使用条件等约束,通过代码自动执行。
基于联盟区块链技术的能源大数据共享系统包括3类实体:数据所有者(data owner,DO)、数据需求方(data user,DU)、第三方云(cloud-side third party,CTP)。整个系统在合约层主要包括如下9个算法模块:
1)Register(μ)→ (Kp,Ks,Ad):每个实体加入区块链网络前必须先进行注册,其中μ为输入的安全参数,经过Register程序中的加密算法生成公钥Kp和私钥Ks。公钥经过椭圆加密算法生成实体的地址Ad。每个实体在区块链网络中被其加密地址唯一地标记。
2)DataSharingInit (PDS,Ad)→ (PEDS):DO发起数据共享交易程序,其中数据共享协议PDS包含了数据共享的相关信息,经过DataSharingInit程序进行加密。加密后的数据共享协议PEDS会被打包进区块。
3)Authorization (S)→(Ts,Td):DU向CTP发起授权程序,通过数据共享协议中规定的数据知识属性集S生成秘文Ts和Td,其中Ts为被发送给DO的秘文,Td为被发送给CTP的秘文。
4)EncryptMatch (Ts,Td):CTP发送数据访问请求给DO,DO通过匹配Ts和Td验证授权的真实性。
6)AlgorithmSink (TF):CTP发起数据访问及算法下沉程序。CTP通过其私钥对TF进行解密之后获取数据地址,并向DO发起数据访问和算法下沉申请。DO验证确认CTP的身份后,给CTP开放访问权限,并为知识提取算法分配计算空间。CTP将知识提取算法下沉到边侧进行知识提取。知识提取结果存储在DO边侧数据库。
7)KnowledgeGen (AR)→(TR):DO通过加密程序将知识访问地址AR生成秘文TR,并用DU的公钥加密后发送给DU。
8)ResultAccess (AR,Ks)→(TC):DU发起知识提取结果访问程序,通过其私钥Ks对知识访问地址AR解密后,从DO边侧数据库获取知识提取的最终结果。智能合约自动将访问信息(如访问时间、数据量、访问者身份等)写入交易文件并加密成秘文TC并打包写入区块链。
9)TokenGen→token:智能合约执行代币生成程序TokenGen,根据数据共享协议计算得到各方应增加或减少的代币(token)的数量,并将其广播到联盟区块链网络中。联盟区块链通过共识机制完成数据共享交易的记账和同步。
1)非中心化架构。本文所提出的联盟区块链知识共享模型采用分布式架构,所有节点都共同参与维护大数据知识的共享交易记录,整个共享过程不依赖于某个中心节点,具有高安全性、高透明性、防篡改的特点。
2)节点身份保护。联盟区块链中的所有节点都由各自唯一的地址标识,攻击者无法根据地址知道实体的身份信息,因此能很好地保护数据共享双方的数据安全性。
3)基于非对称加密的信息传递保护。知识共享交易信息的传递过程采用非对称加密进行保护,即信息发送方和接收方都分别有一对私钥和公钥,公钥是对所有人公开的,私钥只有实体自身能使用。信息在信息发送端通过公钥被加密,在信息接收端通过私钥解密,能防止信息在网络传输的过程中被攻击。
4)基于云边协同的知识提取架构。实体间共享的是知识而不是数据本身,能对数据中所包含的用户隐私信息进行脱敏,因此能很好地保护用户隐私。此外,数据存储在数据所有者边侧数据库,避免了海量数据在线传输,提高了数据的安全性。
能源行业正处于从信息技术(information technology,IT)时代向数据技术(data technology,DT)时代转变的关键时期,数据逐渐成为核心生产要素之一。能源大数据共享交易是大数据知识挖掘、价值协作创造、释放数据价值的重要基础。本文从能源大数据共享的互信建立、数据安全、成本效率等方面出发,结合区块链技术和云边协同技术,提出了基于云边协同和区块链的能源互联网大数据知识共享交易机制,通过云边协同的提取架构实现多方快捷知识提取,通过区块链技术保证了数据共享全过程的数据安全性和共享交易可靠性、可信性,对于提高能源大数据共享效率、推动形成能源互联网大数据价值生态具有借鉴价值。