基于区块链的能源电力数据验证与溯源模型
李达1,3 , 郭庆雷2,3 , 王栋1,3 , 王伟贤4 , 周冬旭5
(1. 国网数字科技控股有限公司, 北京 100053; 2. 国网区块链科技(北京)有限公司, 北京 100053; 3. 国家电网有限公司区块链技术实验室, 北京 100053; 4. 国网北京市电力公司, 北京 100031; 5. 国网江苏省电力有限公司南京供电分公司, 江苏 南京 210019)
摘要: 针对能源电力项目工程数据生成过程中多节点之间信息流转不及时、信息易被篡改以至于数据追溯和存证验证困难的问题,设计了基于区块链的能源电力数据验证与追溯模型,利用访问控制和身份认证对数据进行上链验证存储,并且通过智能合约自动授权将数据开放给特定权限的用户,实现相关参与角色之间的信息互通,使得上链数据可以有效追溯。同时,引入链上数据评分卡机制,对相关人员的数据上链操作进行在线评价督促,提出了加入跨链实时验证方法,以确保链上文件数据内容的跨链有效可验,从而解决了能源电力场景中存在的数据存取验证与追溯模型机制关联性的问题。
引文信息
李达, 郭庆雷, 王栋, 等. 基于区块链的能源电力数据验证与溯源模型[J]. 中国电力, 2023, 56(5): 203-208.
LI Da, GUO Qinglei, WANG Dong, et al. Research on electric power data verification and traceability method based on blockchain technology[J]. Electric Power, 2023, 56(5): 203-208.
引言
能源电力项目工程过程数据[1] 涉及跨业务流程多节点电子数据类型,以至频发以下问题:1)能源电力项目过程数据档案的信息跨链验证能力普遍薄弱[2] ,导致项目关键数据的溯源能力偏弱;2)建设过程中数据涉及角色多且协作机制不统一,导致数据溯源和真实性验证困难;3)基建文件归档滞后,影响能源电力工程数据质量和信息化管理水平。区块链技术[3] 起源于比特币,具有去中心化、不可篡改、可追溯的特点。目前,大部分项目信息管理[4] 在没有区块链技术支持下数据比较容易被篡改。与此同时,电力基建工程类数据类型复杂,极可能带来一系列隐患。为此,文献[5]提出了基于蚁群算法的电力基建工程物联网全数据校验和管理方法,但不能防止数据被篡改。文献[6]提出利用企业资源计划(enterprise resource planning,ERP)实现电力基建项目管理的信息化,但ERP系统安全性不高,无法满足电力基建系统严密性的要求。文献[7]提出了基于Java业务流程管理(java business process management,JBPM)技术的信息管理系统,解决了服务器-客户机(client/server,C/S)架构下系统之间功能高度耦合的问题,但其抗攻击性和系统安全性无法保证。综上,设计一种保证基建数据及时上传且数据真实有效、不可篡改的模型愈发重要。本文设计了基于区块链的能源电力项目关键数据链上溯源模型。针对节点间数据认证验证,提出了区块链上数据存证验证算法。在模型的数据要素和节点要素机制支撑下,提出了对数据上链时效评估卡机制。
1 基于区块链的能源电力工程数据业务追溯模型设计
在不影响基建程序正常实施的情况下,将能源电力基建业务追溯流程进行简化梳理,具体流程如图1所示。本模型采用联盟链的部署方式,其中链上参与的节点以基建处为核心,以一个电力基建项目的生命周期为主题,利用终端采集设备,收集各个环节的数据信息,并上传至区块链系统。链上信息保证了施工完成之后的基建项目能被可信追溯[8-10] 。所提方法具体步骤如下。
图1 能源电力基建业务追溯流程
Fig.1 Energy and power infrastructure process
1)搭建能源电力基建的联盟链。构建包括省电力公司、政府相关部门、计划处等主体在内的电力基建联盟链,然后在不同阶段将有关文件上链[11] ,保证了基建信息追溯可查。2)计划处对各类文件上链。对于同意批文、科研型报告等文书进行上链,并对基建项目的合规性进行有效解释,便于文件整理与保存[12] 。3)设计方对设计方案上链。设计单位的设计方案需要不断根据地理情况、施工状况、人为因素等进行修改[13] ,每一版的方案都实时进行数据上链,方便日后对于基建方案的回顾与审查。4)局招物处对招标的文件、合同上链。在招标过程中,将招标信息进行上链,以便对招标的公正性流程进行解释。5)施工方对物资采购信息上链。将施工材料的数据上传至区块链,按照标准上传材料信息。6)监理方对施工单位的不同阶段完成情况拍照上链[14] 。在施工过程中,施工单位通过实时拍照,将施工的数据上传至区块链,便于施工进程的记录和督查。7)基建处在整理设计方、施工方、监理方的数据之后,审核设计方的图纸规划符合所申请许可证的要求,施工方按照设计方的规划进行建设,监理方对设计方和施工方的监管负责严格到位。
2 链上数据节点访问控制与认证验证算法
基于能源电力基建流程,采用集中式的节点身份管理[15] ,对于进入区块链系统的用户区分身份进行分布式的管理[16] ,过程中要用设备将文件、图纸、电子合同等进行拍照记录,将数据从源头上链,以摆脱对于第三方身份认证服务器的依赖[17] ,从而具备更高的独立性和安全性。部署面向电力基建的联盟链平台。接入的用户首先要注册账号,账号加密采用非对称加密方式,其中公钥以证书格式公开,私钥节点自身保管。在此基础上基于联盟链部署智能合约[18] ,完成授权访问控制。模型策略控制步骤如下。1)请求授权。区块链管理员部署登录合约,此合约首先声明了设备持有者、哈希地址、原始令牌、随机数的消息,并且定义了授权用户。如果链上其他用户要进行访问,要先发送请求,然后进行身份验证。2)登录验证。用户调用登录的智能合约进行登录,智能合约通过区块链地址对用户是否是授权用户进行验证,验证通过后使用函数创建一个随机哈希,对区块链地址、时间戳以及随机函数进行哈希计算之后创建令牌,并通过用户地址返回物联网设备和用户。3)交互,发送验证签名。当身份认证通过以后,智能合约会广播访问令牌和区块链地址,用户和设备接收到广播信息之后,将两者连接在一起。令牌的制作方法为:使用Keccak256算法对用户地址进行哈希处理,验证所得哈希的最后40个字节与智能合约事件中收到的地址是否一致。若一致,则生成消息,如图2所示。
图2 地址一致后智能合约生成的脚本信息
Fig.2 Script information generated by the smart contract after the addresses are consistent
用户使用私钥对包含访问令牌、用户网际互联协议(internet protocol,IP)地址、访问有效期和公钥的消息进行签名,然后与公钥组成身份验证包一起发送到物联网设备,并可以对身份验证包进行加密。4)验证,授权。物联网设备通过客户端连接到步骤1)中部署的智能合约,对事件进行监听。事件发生时,调用身份验证令牌和用户地址。收到身份验证数据包后进行以下验证:① 验证包和消息的格式与脚本信息是否一致;② 消息签名是否一致;③ 身份验证包中的公钥与脚本信息消息中的公钥是否一致;④ 消息中的令牌是否与智能合约中的令牌一致;⑤ 消息中的IP地址与身份验证包发送者的IP地址是否一致;⑥ 对消息中的公钥进行哈希处理,获取的最后40个字节与智能合约中的用户地址是否一致。若以上验证存在不一致,则拒绝该访问请求。在以上验证均一致以后,才会在有效期内允许用户的授权访问。针对电力基建区块链上的各类数据,实时存证以后进行公证,为之后的真伪核验、解决纠纷提供法律依据[19] 。互联网法院作为节点加入电力基建区块链当中,实时地对区块链上的文件进行追溯,并使用加密算法生成的唯一防伪码,确保链上文件内容的可审计性。数据在链上进行实时存证与公证,如图3所示。
图3 数据在链上的实时存证与公证
Fig.3 Real-time storage and notarization of documents on the chain
3 模型数据要素共性支撑机制
由于节点间是相互独立流转状态,无法实现数据交互。基于区块链的电力基建溯源模型的思路是通过区块链,在保护数据安全的基础上,为各部门之间的系统搭建桥梁。基于区块链的电力基建管理模型如图4所示。
图4 数据支撑要素集
Fig.4 Energy and power infrastructure management model based on blockchain
以能源电力基建业务交互的数据要素为突破点,基于区块链的追溯模型包括4类要素:1)工程生命周期内的参与主体,包括省公司、政府相关部门、计划处、基建处、局招物处、设计方、施工方、监理方;2)具备资质的第三方证书颁发机构(certification authority,CA),为参与主体提供身份认证服务;3)互联网法院,将链上上传的信息实时同步给法院;4)运营平台的区块链技术公司,需要对平台进行管理,为线上的数据制定标准化模板,如合同签订标准模板、材料产品规格数据标准、区块链技术标准等[20] 。电力基建生命周期内的主体[21] 在系统内的活动步骤为:先经过身份认证,加入该区块链平台;在身份认证通过之后,按照需求,根据标准化体系对数据进行上链,并经计算后形成唯一的区块链代码保存到区块链上。
4 电力基建存证与追溯模型节点要素分析
利用区块链的基建数据实现对于电力基建联盟链上数据的存证与追溯,具体以电力基建案例为例,如图5所示。
图5 能源电力基建追溯业务的节点要素
Fig.5 Traceability process of energy and power infrastructure
1)计划处将需要开展前期以及建设的项目进行汇总,上报市发改委进行审批,获得市发改委的批文同意,然后向省发改委上报项目建设申请,获得省的开展前期工作同意审核,并进行可研,落实所址政府相关部门的支持性文件。将以上的批复文件写至电力基建联盟链的分布式网络账本。2)基建处受计划处的委托,成立建设该项目的班子,根据发改委的核准文件,组织开展项目实施。对于各类因素进行实地考察,对政府主管部门意见文件、现场踏勘的勘测资料、现场数据采集、定位、终端视频进行上链存证,用于解决后续占地赔偿不合理诉求及司法仲裁[22-23] 。基建处作为一个节点加入电力基建联盟链当中。3)局招物处负责基建处提出设计的招标申请,开展招标工作。招标单位对基建所需要的设计方、施工方、监理方以及材料商进行招标,其中招标文书、招标成功之后签订的电子合同均要进行上链,同时授权给中标企业,在链上完成存证,防止任意一方篡改合同内容[24] 。将资料授权给基建处,以便审查。4)设计方对该项目进行详细的设计。设计单位的设计方案需要不断进行修改,每一版的方案都实时进行数据上链,实时将设计图纸授权给基建处。基建处接到图纸之后,对工程规划设计进行报批工作,签订用地补偿,负责施工图的审查。5)施工方按照图纸进行施工。施工单位需要与设计单位进行交接,保证工程在设计单位的要求下进行。施工过程中的材料需要在不同的材料商之间进行交接,其中对于材料商交付的原材料按照数据标准体系写入分布式账本,以便对于原材料的清点与盘查。6)监理方需要在建设工期内实时地对施工单位进行监管,质监站进行质量检查,安监处进行安全监督,以保证施工的质量和安全符合要求。监理方应当按照数据标准体系将施工的不同时段报告进行填写及上链,并授权给基建处,从而利于基建处对于工程的掌握。
5 链上数据验证评估卡模型
关键数据上链可以有效解决存档篡改和验证难问题,针对溯源模型中常见的归档滞后问题,在模型中引入评估卡模型来提升上链流程效率[25] 。通过设置科学评分模型,保证评级过程简单高效、结果公正合理,提高存证效率。结合数据文件的实际情况,设定信息采集指标,并赋予合理分值,测试内容包括基本项和补充项。基本项采用百分制,包括入档的时间。补充项为数据存档的完整度。在电力基建数据上链评估中,存档文件要符合预先设定的格式规范和时间节点,具体操作如下。1)制定规范。一种方法是根据专家经验制定规则的经验驱动方法,另一种是数据驱动的评分卡建模方法。对于评分卡模型,要通过业务模型进行校准。评分卡的一般步骤包括数据、评分卡、业务模型的建模过程,并基于逻辑回归来实现从数据到打分的过程。其中回归概率 R 为 式中: α 为常数项; βk 为第k 项指标的偏回归系数; xik 为第i 组第k 项的指标分值。2)对执行了存档,但未在规定时间范围内完成的操作,则延迟入档。3)对延迟入档行为进行识别,判断存证过程以及存证内容是否符合规范要求,并对其进行跟踪。4)对文档内容进行验证,且操作过程也符合规范要求。5)建立了将不符合规范的文档升级到适当管理层的权限。6)管理层确保已升级的不规范文档存证问题项得到解决。
6 结语
如何保证关键工程数据可信无篡改、真实有效可追溯,已成为影响能源电力项目实施交互链数据验证与存证溯源的关键难题。本文提出了一种基于区块链的数据验证和追溯模型,通过数据验证模型实现对授权用户相关的信息进行有效访问控制,为能源电力工程建设提供更多的存取验证和溯源信息化手段,从而提高了能源电力工程信息管理水平。(责任编辑 杨彪)
作者介绍
李达(1991—),男,工程师,从事电力系统及其自动化、区块链、信息技术等研究,E-mail:lida@sgdt.sgcc.om.cn.com; ★
郭庆雷(1988—),男,通信作者,高级工程师,从事电力系统控制与保护、物联网、区块链技术等研究,E-mail:guoqinglei@sgdt.sgcc.com.cn; ★
王栋(1985—),男,高级工程师,从事电力信息通信、区块链等研究,E-mail:wangdong@sgdt.sgcc.com.cn; ★
王伟贤(1987—),女,高级工程师,从事电动汽车、区块链技术等研究,E-mail:wwx1989_1@163.com.