首页> 中国专利> 一种基于区块链的能源系统控制方法及能源系统

一种基于区块链的能源系统控制方法及能源系统

摘要

本发明涉及一种系统控制的技术领域,公开了一种基于区块链的能源系统控制方法,包括:利用以太坊建立区块链;区块链节点通过共识算法选举出共识节点,能源系统中的各能源节点将能源数据、能源节点访问控制策略信息打包为交易并上传到区块链网络;将通过共识的交易存储到对应的区块链节点中,区块链节点对存储交易进行加密;用户向能源系统申请访问控制,能源系统对用户的身份进行验证;为用户发起的能源系统访问控制请求的关键字生成搜索陷门,将搜索陷门同能源节点访问控制策略信息进行匹配,根据匹配结果,能源系统执行用户所发起的控制策略。本发明还提供了一种基于区块链的能源系统。本发明实现了利用区块链控制能源系统。

著录项

  • 公开/公告号CN113824703A

    专利类型发明专利

  • 公开/公告日2021-12-21

    原文格式PDF

  • 申请/专利权人 中国人民解放军国防科技大学;

    申请/专利号CN202111036120.3

  • 发明设计人 马武彬;吴亚辉;邓苏;周浩浩;

    申请日2021-09-06

  • 分类号H04L29/06(20060101);H04L12/24(20060101);H04L9/32(20060101);G06F21/31(20130101);G06K9/62(20060101);G06Q50/06(20120101);

  • 代理机构43236 长沙大珂知识产权代理事务所(普通合伙);

  • 代理人伍志祥

  • 地址 410073 湖南省长沙市开福区德雅路109号

  • 入库时间 2023-06-19 13:46:35

说明书

技术领域

本发明涉及区块链的技术领域,尤其涉及一种基于区块链的能源系统控制方法及能源系统。

背景技术

随着经济的发展,我国能源消耗速度不断增加,能源供求关系日益紧张,如何实现更为高效的能源管控成为当前研究领域的热门话题。现有能源系统采用“中心化”的管理模式,很容易出现单点故障,数据丢失以及故障难以追踪等问题。区块链技术作为一种崭新的分布式存储系统架构,其去中心化、不可篡改、可追溯等其他特性使其得到了广泛的关注。

鉴于此,如何利用区块链技术实现能源系统的控制管理,成为本领域技术人员亟待解决的问题。

发明内容

本发明提供一种基于区块链的能源系统控制方法,能源系统中各能源节点构成区块链,其中能源系统中的各能源节点对应区块链中的节点,区块链节点通过共识算法选举出共识节点,能源系统中的各能源节点将能源数据、能源节点访问控制策略信息打包为交易并上传到区块链网络,经共识节点验证后将交易上链加密存储;对能源系统访问控制用户进行身份验证,若通过用户身份验证,则为用户发起的能源系统访问控制请求的关键字生成搜索陷门,将搜索陷门同能源节点访问控制策略信息进行匹配,根据匹配结果,能源系统执行用户所发起的控制策略。

为实现上述目的,本发明提供的一种基于区块链的能源系统控制方法,包括:

利用以太坊建立区块链,并将能源系统中各能源节点对应到区块链中的节点;

区块链节点通过共识算法选举出共识节点,能源系统中的各能源节点将能源数据、能源节点访问控制策略信息打包为交易并上传到区块链网络;

区块链中的共识节点对上传的交易进行共识,将通过共识的交易存储到对应的区块链节点中,区块链节点对存储交易进行加密;

用户向能源系统申请访问控制,能源系统对用户的身份进行验证;

若通过用户身份验证,则为用户发起的能源系统访问控制请求的关键字生成搜索陷门,将搜索陷门同能源节点访问控制策略信息进行匹配,根据匹配结果,能源系统执行用户所发起的控制策略。

可选地,所述利用以太坊建立区块链,包括:

创建L个区块链节点,所述区块链节点由包含元数据的区块头以及区块体组成,在本发明一个具体实施例中,每个区块链节点对应不同的能源节点,所述能源节点包括能源生产节点,用来执行能源的生产,以及能源消费节点,用来执行能源的消费;所述区块头中包含了Merkle根、前一个区块的Hash值、区块的时间戳信息,所述区块体用来存储能源系统中个节点的能源数据、能源节点访问控制策略信息;

根据区块头中的时间戳信息,将每一个区块链节点按照生成时间的顺序逐个连接起来,形成区块链;在区块链中,第一个区块链节点被称为创世节点,该节点的区块高度为0,从创世节点开始,此后区块链节点的区块高度依次递增,所有节点逐个用前一区块Hash值顺接串联,形成了区块链。

可选地,所述区块链节点通过共识算法选举出共识节点,包括:

各区块链节点对其余区块链节点进行投票,被投票选取的节点会产生一个初始化信用积分,所述初始化信用积分的计算公式为:

其中:

M表示区块链节点获得的投票票数;

L表示区块链节点的总数;

选取信用积分最高的

当节点提供了有效的服务可以增加信用积分,若是节点签署了无效的区块、作假或者进行代理密文转换时出错将会丢失其信用积分;

实时计算各区块链节点的信用积分Score′,当存在共识节点的信用积分不是最高的

其中:

M′表示重新投票后区块链节点获得的投票票数;

选取信用积分最高的

进一步地,能源系统中的各能源节点将能源数据、能源节点访问控制策略信息打包为交易并上传到区块链网络,在本发明一个具体实施例中,所述能源节点包括负责生产能源的节点以及负责消费能源的节点,能源数据包括生产或消费能源的数据信息,能源节点访问控制策略信息表示控制能源节点执行操作信息,详细地,能源生产节点仅可执行能源生产操作,因此能源生产节点的访问控制策略信息仅包括控制能源生产节点生产能源的类型、时间、地点、生产能源量等,能源消费节点仅可执行能源消费操作,因此能源消费节点的访问控制策略信息仅包括控制能源消费节点消费能源的类型、时间、地点、消费能源量等。

可选地,所述区块链中的共识节点对上传的交易进行共识,包括:

1)能源节点向区块链发起交易信息,共识节点检查交易信息是否合法,包括签名是否完整,数据格式是否正确,并在本地模拟交易,若交易不合格,共识节点将拒绝能源节点上传的交易,并将驳回交易信息反馈给能源节点;

2)待上传的交易信息确认无误后,共识节点按照预先设定的协商一致性算法对能源节点上传的交易进行共识;

3)若共识节点达成共识,则将能源节点上传的交易添加到能源节点对应的区块链节点中,并向整个网络进行消息广播;若在节点正常的情况下未达成共识,则驳回交易信息,将驳回交易信息反馈给能源节点。

可选地,所述区块链节点对存储交易进行加密,包括:

1)能源系统选取双线性映射G

每个能源节点对应的区块链节点L

2)每个区块链节点L

若不成立,则由区块链节点L

3)系统生成加密主密钥s和公钥t:

4)对区块链节点中所存储得交易进行加密:

m′=me(t,h

其中:

r表示加密参数,将其设置为3;

m表示未加密的交易;

m′表示加密后的交易;

id表示有权限对该交易进行共享的用户id列表;

5)提取交易的关键字{w

En(m′,w

得到该交易的加密索引:Index(m′)={En(m′,w

可选地,所述能源系统对用户的身份进行验证,包括:

用户向能源系统发起访问控制请求,能源系统对访问控制请求进行遍历,查询到访问控制请求中对应的区块链节点,将当前用户U的用户id

若匹配成功,则为用户U生成身份私钥

其中:

s表示能源系统生成的加密主密钥。

可选地,所述若通过用户身份验证,则为用户发起的能源系统访问控制请求的关键字生成搜索陷门,将搜索陷门同能源节点访问控制策略信息进行匹配,包括:

若能源系统通过对用户U身份的验证,则为用户发起的能源系统访问控制请求的关键字w生成搜索陷门F(w):

F(w)=[F

其中:

e,g表示能源系统参数;

t表示能源系统生成的公钥;

将搜索陷门F(w)发送给智能合约,且用户向智能合约支付一笔搜索押金;

将当前用户U的用户id

计算h

此外,为实现上述目的,本发明还提供一种基于区块链的能源系统,所述系统包括:

区块链创建装置,用于利用以太坊建立区块链,并将能源系统中各能源节点对应到区块链中的节点,区块链节点通过共识算法选举出共识节点,能源系统中的各能源节点将能源数据、能源节点访问控制策略信息打包为交易并上传到区块链网络;

数据处理器,用于区块链中的共识节点对上传的交易进行共识,将通过共识的交易存储到对应的区块链节点中,区块链节点对存储交易进行加密;

能源系统控制装置,用于用户向能源系统申请访问控制,能源系统对用户的身份进行验证,若通过用户身份验证,则为用户发起的能源系统访问控制请求的关键字生成搜索陷门,将搜索陷门同能源节点访问控制策略信息进行匹配,根据匹配结果,能源系统控制装置控制能源系统执行用户所发起的控制策略。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有能源系统控制程序指令,所述能源系统控制程序指令可被一个或者多个处理器执行,以实现如上所述的基于区块链的能源系统控制的实现方法的步骤。

相对于现有技术,本发明提出一种基于区块链的能源系统控制方法,该技术具有以下优势:

首先,本发明将每个区块链节点对应能源系统中不同的能源节点,所述能源节点包括能源生产节点,用来执行能源的生产,以及能源消费节点,用来执行能源的消费,由于本发明中的所有区块链节点对应的能源节点在现实生活中都是可信赖的,节点作弊的可能性较低,因此本发明设置投票选取共识节点的模式:各区块链节点对其余区块链节点进行投票,被投票选取的节点会产生一个初始化信用积分,所述初始化信用积分的计算公式为:

其中:M表示区块链节点获得的投票票数;L表示区块链节点的总数;选取信用积分最高的

其中:M′表示重新投票后区块链节点获得的投票票数;选取信用积分最高的

同时,本发明提出一种区块链加密算法,所述区块链节点对所存储的交易进行加密处理,所述加密流程为:能源系统选取双线性映射G

若不成立,则由区块链节点L

t=g

所述加密密钥以及公钥的生成依赖于各区块链节点随机生成的多项式,具有较高的加密性,因此利用加密公钥对区块链节点中所存储得交易进行加密:

m′=me(t,h

其中:r表示加密参数,将其设置为3;m表示未加密的交易;m′表示加密后的交易;id表示有权限对该交易进行共享的用户id列表;提取交易的关键字{w

En(m′,w

得到该交易的加密索引:Index(m′)={En(m′,w

由于本发明对加密交易的关键字生成了加密索引,当用户发起能源系统访问控制请求时,则为用户发起的能源系统访问控制请求的关键字w生成搜索陷门F(w):

F(w)=[F

其中:e,g表示能源系统参数;t表示能源系统生成的公钥;将搜索陷门F(w)发送给智能合约,且用户向智能合约支付一笔搜索押金,通过缴纳押金的方式,一方面可保证搜索方案中的搜索公平性,另一方面可保证区块链网络上的节点能够诚实地执行搜索服务;将当前用户U的用户id

计算h

附图说明

图1为本发明一实施例提供的一种基于区块链的能源系统控制方法的流程示意图;

图2为本发明一实施例提供的一种基于区块链的能源系统的结构示意图;

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

能源系统中各能源节点构成区块链,其中能源系统中的各能源节点对应区块链中的节点,区块链节点通过共识算法选举出共识节点,能源系统中的各能源节点将能源数据、能源节点访问控制策略信息打包为交易并上传到区块链网络,经共识节点验证后将交易上链加密存储;对能源系统访问控制用户进行身份验证,若通过用户身份验证,则为用户发起的能源系统访问控制请求的关键字生成搜索陷门,将搜索陷门同能源节点访问控制策略信息进行匹配,根据匹配结果,能源系统执行用户所发起的控制策略。参照图1所示,为本发明一实施例提供的基于区块链的能源系统控制方法示意图。

在本实施例中,基于区块链的能源系统控制方法包括:

S1、利用以太坊建立区块链,并将能源系统中各能源节点对应到区块链中的节点。

首先,本发明利用以太坊建立区块链,所述区块链的构建流程为:

创建L个区块链节点,所述区块链节点由包含元数据的区块头以及区块体组成,在本发明一个具体实施例中,每个区块链节点对应不同的能源节点,所述能源节点包括能源生产节点,用来执行能源的生产,以及能源消费节点,用来执行能源的消费;所述区块头中包含了Merkle根、前一个区块的Hash值、区块的时间戳信息,所述区块体用来存储能源系统中个节点的能源数据、能源节点访问控制策略信息;

根据区块头中的时间戳信息,将每一个区块链节点按照生成时间的顺序逐个连接起来,形成区块链;在区块链中,第一个区块链节点被称为创世节点,该节点的区块高度为0,从创世节点开始,此后区块链节点的区块高度依次递增,所有节点逐个用前一区块Hash值顺接串联,形成了区块链。

S2、区块链节点通过共识算法选举出共识节点,能源系统中的各能源节点将能源数据、能源节点访问控制策略信息打包为交易并上传到区块链网络。

区块链节点通过共识算法选举出共识节点,由于本发明中的所有区块链节点对应的能源节点在现实生活中都是可信赖的,节点作弊的可能性较低,因此本发明设置投票选取共识节点的模式:

各区块链节点对其余区块链节点进行投票,被投票选取的节点会产生一个初始化信用积分,所述初始化信用积分的计算公式为:

其中:

M表示区块链节点获得的投票票数;

L表示区块链节点的总数;

选取信用积分最高的

当节点提供了有效的服务可以增加信用积分,若是节点签署了无效的区块、作假或者进行代理密文转换时出错将会丢失其信用积分;

实时计算各区块链节点的信用积分Score′,当存在共识节点的信用积分不是最高的

其中:

M′表示重新投票后区块链节点获得的投票票数;

选取信用积分最高的

进一步地,能源系统中的各能源节点将能源数据、能源节点访问控制策略信息打包为交易并上传到区块链网络,在本发明一个具体实施例中,所述能源节点包括负责生产能源的节点以及负责消费能源的节点,能源数据包括生产或消费能源的数据信息,能源节点访问控制策略信息表示控制能源节点执行操作信息,详细地,能源生产节点仅可执行能源生产操作,因此能源生产节点的访问控制策略信息仅包括控制能源生产节点生产能源的类型、时间、地点、生产能源量等,能源消费节点仅可执行能源消费操作,因此能源消费节点的访问控制策略信息仅包括控制能源消费节点消费能源的类型、时间、地点、消费能源量等。

S3、区块链中的共识节点对上传的交易进行共识,将通过共识的交易存储到对应的区块链节点中,区块链节点对存储交易进行加密。

区块链中的共识节点对能源节点上传的交易进行共识,将通过共识的交易存储到能源节点对应的区块链节点中,所述共识流程为:

1)能源节点向区块链发起交易信息,共识节点检查交易信息是否合法,包括签名是否完整,数据格式是否正确,并在本地模拟交易,若交易不合格,共识节点将拒绝能源节点上传的交易,并将驳回交易信息反馈给能源节点;

2)待上传的交易信息确认无误后,共识节点按照预先设定的协商一致性算法对能源节点上传的交易进行共识;

3)若共识节点达成共识,则将能源节点上传的交易添加到能源节点对应的区块链节点中,并向整个网络进行消息广播;若在节点正常的情况下未达成共识,则驳回交易信息,将驳回交易信息反馈给能源节点。

进一步地,区块链节点对所存储的交易进行加密处理,所述加密流程为:

1)能源系统选取双线性映射G

每个能源节点对应的区块链节点L

2)每个区块链节点L

若不成立,则由区块链节点L

3)系统生成加密主密钥s和公钥t:

t=g

4)对区块链节点中所存储得交易进行加密:

m′=me(t,h

其中:

r表示加密参数,将其设置为3;

m表示未加密的交易;

m′表示加密后的交易;

id表示有权限对该交易进行共享的用户id列表;

5)提取交易的关键字{w

En(m′,w

得到该交易的加密索引:Index(m′)={En(m′,w

S4、用户向能源系统申请访问控制,能源系统对用户的身份进行验证。

进一步地,用户向能源系统发起访问控制请求,能源系统对访问控制请求进行遍历,查询到访问控制请求中对应的区块链节点,将当前用户U的用户id

若匹配成功,则为用户U生成身份私钥

其中:

s表示能源系统生成的加密主密钥。

S5、若通过用户身份验证,则为用户发起的能源系统访问控制请求的关键字生成搜索陷门,将搜索陷门同能源节点访问控制策略信息进行匹配,根据匹配结果,能源系统执行用户所发起的控制策略。

进一步地,若能源系统通过对用户U身份的验证,则为用户发起的能源系统访问控制请求的关键字w生成搜索陷门F(w):

F(w)=[F

其中:

e,g表示能源系统参数;

t表示能源系统生成的公钥;

将搜索陷门F(w)发送给智能合约,且用户向智能合约支付一笔搜索押金;

将当前用户U的用户id

计算h

下面通过一个算法实验来说明本发明的具体实施方式,并对发明的处理方法进行测试。本发明算法的硬件测试环境为:Inter(R)Core(TM)i7-6700K CPU,软件为Matlab2018b;对比方法为基于HBase的能源系统控制方法以及基于Hadoop的能源系统控制方法。

在本发明所述算法实验中,数据集为10000条的能源系统控制指令。本实验通过将能源系统控制指令输入到算法模型中,将能源系统执行的准确率作为算法可行性的评价指标,其中能源系统执行的准确率越高,则说明算法的有效性、可行性越高。

根据实验结果,基于HBase的能源系统控制方法的能源系统控制准确率为85.16%,基于Hadoop的能源系统控制方法的能源系统控制准确率为85.42%,本发明所述方法的能源系统控制准确率为89.91%,相较于对比算法,本发明所提出的基于区块链的能源系统控制方法能够实现更有效的能源系统控制。

发明还提供一种基于区块链的能源系统。参照图2所示,为本发明一实施例提供的基于区块链的能源系统的内部结构示意图。

在本实施例中,所述基于区块链的能源系统1至少包括区块链创建装置11、数据处理器12、能源系统控制装置13,通信总线14,以及网络接口15。

其中,区块链创建装置11可以是PC(Personal Computer,个人电脑),或者是智能手机、平板电脑、便携计算机等终端设备,也可以是一种服务器等。

数据处理器12至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。数据处理器12在一些实施例中可以是基于区块链的能源系统1的内部存储单元,例如该基于区块链的能源系统1的硬盘。数据处理器12在另一些实施例中也可以是基于区块链的能源系统1的外部存储设备,例如基于区块链的能源系统1上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,数据处理器12还可以既包括基于区块链的能源系统1的内部存储单元也包括外部存储设备。数据处理器12不仅可以用于存储安装于基于区块链的能源系统1的应用软件及各类数据,还可以用于暂时地存储已经输出或者将要输出的数据。

能源系统控制装置13在一些实施例中可以是一中央处理器(Central ProcessingUnit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,包括监控单元,用于运行数据处理器12中存储的程序代码或处理数据,例如能源系统控制程序指令16等。

通信总线14用于实现这些组件之间的连接通信。

网络接口15可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该系统1与其他电子设备之间建立通信连接。

可选地,基于区块链的能源系统1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在基于区块链的能源系统1中处理的信息以及用于显示可视化的用户界面。

图2仅示出了具有组件11-15以及基于区块链的能源系统1,本领域技术人员可以理解的是,图1示出的结构并不构成对基于区块链的能源系统1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

在图2所示的基于区块链的能源系统1实施例中,数据处理器12中存储有能源系统控制程序指令16;能源系统控制装置13执行数据处理器12中存储的能源系统控制程序指令16的步骤,与基于区块链的能源系统控制方法的实现方法相同,在此不作类述。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有能源系统控制程序指令,所述能源系统控制程序指令可被一个或多个处理器执行,以实现如下操作:

利用以太坊建立区块链,并将能源系统中各能源节点对应到区块链中的节点;

区块链节点通过共识算法选举出共识节点,能源系统中的各能源节点将能源数据、能源节点访问控制策略信息打包为交易并上传到区块链网络;

区块链中的共识节点对上传的交易进行共识,将通过共识的交易存储到对应的区块链节点中,区块链节点对存储交易进行加密;

用户向能源系统申请访问控制,能源系统对用户的身份进行验证;

若通过用户身份验证,则为用户发起的能源系统访问控制请求的关键字生成搜索陷门,将搜索陷门同能源节点访问控制策略信息进行匹配,根据匹配结果,能源系统执行用户所发起的控制策略。

需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号