基于区块链和账户映射的智能电网电力交易隐私保护方法

文档序号:36156399发布日期:2023-11-23 04:07阅读:42来源:国知局
基于区块链和账户映射的智能电网电力交易隐私保护方法

本发明涉及区块链、预言机、账户映射和隐私保护等,具体是一种基于区块链和账户映射的智能电网电力交易隐私保护方法。


背景技术:

1、随着太阳能、智能电网等现代能源和网络技术的进步,使得用户不仅能够在电力交易系统中购买电能,而且能够生成、出售电力。传统的电力交易系统是建立一个集中式的控制中心来处理、管理和交付电力交易,虽然集中式的电力交易系统易于管理和更新,但是存在单点故障、隐私和匿名性差等缺陷。

2、区块链具有去中心化、透明和不可篡改的特性,利用区块链构建去中心化平台可以有效的解决集中式系统中的这些缺陷,因此,现有的很多研究将其应用于电力交易中。现有的区块链可以分为三类:公有链、联盟链、私有链,相比与公有链的完全公开和私有链的集中化,联盟链的特性介于两者之间,允许参与者在一定程度上保持隐私和控制权,同时又能够享受区块链的分布式特性,用在电力交易中更加灵活。

3、然而,存储在联盟链上的信息仍然容易遭受隐私泄漏的风险,许多数据挖掘算法将区块链中的公开信息与其他数据集进行链接,以检测用户的身份,或者分析电力消耗的差异推断用户的生活习惯的隐私信息,例如家电的使用情况、用户何时出门等,对用户的隐私造成了威胁。因此,需要为电力交易系统设计一个隐私保护机制。

4、基于区块链的电力交易场景的隐私保护方案可以由三种方法来实现:数据加密、零知识证明和差分隐私。与其他的隐私保护方法相比,差分隐私方案具有低开销、易操作的特点,可以更好地解决上述问题。差分隐私利用随机噪声扰乱敏感数据,同时确保一些数据值或数据属性保持不变。为了解决上述问题,本文提出了一种基于联盟区块链和账户映射的电力交易隐私保护方法,以确保存储在区块链上的电力交易信息的隐私。


技术实现思路

1、本发明目的在于解决智能电网电力交易场景下的用户交易隐私泄露的问题,提出了一种基于区块链和账户映射的智能电网电力交易隐私保护方法。这种方法可以实现存储在区块链上的数据隐私,并抵御数据挖掘算法发起的链接攻击。

2、实现本发明目的的技术方案是:

3、基于区块链和账户映射的智能电网电力交易隐私保护方法,包括认证机构ca、电力交易聚合商pta、账户生成中心agc、买方b、卖方s、预言机节点、电网运营商go多方实体,所述方法包括如下步骤:

4、1)系统初始化:该阶段为系统的初始化阶段,需要完成电力交易前所需的区块链初始化,即将pta和想要参加电力交易的用户部署到联盟区块链网络中,作为联盟区块链的节点;假设pta是可信实体,作为联盟链中的共识节点,链接联盟链中的卖方和买方,处理买卖双方的交易请求,对买卖双方进行匹配;交易完成后,对新生成的区块执行共识过程,而想要参加电力交易的用户作为联盟链中的轻节点,不参与共识;

5、2)身份注册:联盟链中包括pta和用户节点,向ca提交注册请求,注册请求包含用户的个人信息,假设ca是一个可信实体,ca收到注册请求后会对用户提供的身份信息进行验证,一旦用户的身份信息通过验证,ca会为该用户生成一个密钥对<pk,sk>,其中,公钥pk是用户唯一的身份标识,私钥sk用于后续的身份认证,注册成功后将这个密钥对返回给用户;

6、3)用户生成账户:在首次完成身份注册后,用户需要向账户生成中心agc申请生成一个账户,用于在联盟区块链上进行交易,具体步骤如下:

7、3.1)用户向agc发送账户生成请求,请求中包含了用户的公钥pk,用于身份认证;

8、3.2)agc向ca发送用户的身份认证请求,ca收到请求后对用户的身份进行验证,若pk已经注册并且待验证的用户是真实的用户,则认证通过;否则,认证失败;ca向agc返回认证结果;

9、3.3)若返回认证通过,agc为用户创建一个新的账户,并返回账户地址,创建的新的账户不包含用户的身份信息,只用于交易的结账环节;

10、4)发布交易订单:卖方若有富余的电量发布出售订单,则将自己多余电量出售给买方;买方有购电的需求将会发布购买订单,从卖方购买电量;订单的结构表示为:o=<id,b/s,e,th>,其中,id是交易的唯一标识符;b/s为标识订单是由卖方或买方产生的;e表示电力出售量或者电力需求量,当订单由卖方产生时,e表示电力出售量,当订单由买方产生时,e表示电力需求量;th表示订单生成者的交易历史,订单生成后将被发送给pta;

11、5)判断用户状态:pta在收到由用户发布的订单后,引入一个约束c,用于判断用户是否为活跃用户;根据交易历史计算出用户最近一个月的电力交易量em,若em≥c,则用户为活跃用户;反之,用户为不活跃用户;pta将卖方的活跃用户和不活跃用户分别存放在sa和sia两个集合中,将买方的活跃用户和不活跃用户分别存放在ba和bia两个集合中;

12、6)账户映射:对于活跃用户,pta将计算出单个用户在近一个月的交易量的近似最大估计值ame,然后将这个估计值ame作为边界l,用户近一个月的实际电力交易量用表示,若用户则用现有的账户进行交易;若用户则请求用步骤3.3)创建的新的账户进行交易;对于不活跃用户,预设一个约束zia,zia>0,用于pta判定是否创建虚拟账户,pta计算出不活跃账户的比例pia,若pia≤zia,则创建一个虚拟账户,并向虚拟账户中存入虚拟代币,虚拟账户不与真实的用户进行映射,虚拟代币不能用于交易,只用于隐藏真实账户特征,对活跃用户具体的步骤如下:

13、6.1)首先设置一个初始预测值用于计算用户最近一次交易的预测交易量;

14、6.2)对于卖方活跃用户sa,pta使用指数加权平均移动方法计算出单个卖方s最近一次交易的预测交易量:

15、

16、其中,表示第i次交易的预测交易量,表示第i-1次交易的预测交易量,表示第i-1次交易的实际交易量,α表示平滑系数,α取值范围为(0,1),α控制着当前交易量和过去平均值的权重分配,能根据实际情况自行设置;

17、6.3)pta计算卖方s近一个月的交易量的近似最大估计值ame,即界限l:

18、

19、其中,表示近一个月内卖方s直到第i-1次交易的实际交易量累加值;

20、6.4)pta计算卖方s近一个月的实际电力交易量用

21、

22、其中,表示卖方s此次交易所要出售的电量;

23、6.5)若卖方s用已有的账户与买方进行交易;若pta请求卖方s创建新的账户进行交易,卖方执行步骤3.3)创建的新的账户;

24、6.6)对买方活跃用户ba执行与6.2)-6.5)相同的操作,需要区别的是公式(1)、(2)、(3)中的电力交易量,卖方s表示的是电力出售量,买方b表示的是电力需求量;

25、对不活跃用户具体的步骤如下:

26、6.7)首先设置一个约束zia,0<zia<1,用于判定是否创建虚拟账户;

27、6.8)对于卖方不活跃用户sia,pta计算出非活跃账户的所占的比例pia:

28、

29、其中,n(sia)表示非活跃账户的个数,n(sa)表示活跃账户的个数;

30、6.9)若pia≤zia,pta执行步骤3)向agc申请生成一个账户,由pta申请的账户用作虚拟账户,并随机向虚拟账户中添加虚拟代币,虚拟代币的数量应少于卖方此次的交易量;

31、6.10)对于买方不活跃用户bia执行6.7)-6.9)的相同的操作;

32、7)获取电价:使用预言机从国家电网获取实时的电力价格,具体的步骤如下:

33、7.1)数据请求:编写用于从国家电网获取实时电力价格的智能合约,向预言机发送数据请求,数据请求由预言机合约生成相应的区块链事件;

34、7.2)数据获取:链下预言机节点监听链上的事件请求,在监听到事件后,预言机节点将根据数据请求任务从国家电网收集实时的电力价格price;

35、7.3)数据验证:为确保数据的可信性和真实性,预言机会对收集到的数据进行验证和验证签名;

36、7.4)数据提交:经过验证和验证签名处理后,预言机将最终的数据结果提交给智能合约;

37、7.5)数据使用:智能合约收到预言机提供的数据后,将实时的电力价格price上链,用于买方和卖方进行交易;

38、8)匹配交易对象:pta将买方和卖方按照订单中的电力需求量eb和电力出售量es分别进行升序排列,对两个序列进行遍历,若es-eb≥0则对应的买方和卖方匹配成功并进行交易,卖方多余的电量由电网运营商购入;

39、9)完成交易:交易对象匹配成功后,将完成电力交易,具体步骤如下:

40、9.1)对于买方,若在步骤6)中没有创建新账户,买方使用现有账户支付电费给pta,并将账户地址发送给pta;若创建了新账户,买方将所要购买的电力需求量随机分为两部分,每部分都满足使用现有账户和新建账户分别支付购买这两部分电力需求量的电费,并将账户地址发送给pta;

41、9.2)对于卖方,将电力出售量传输到电网,若在步骤6)中没有创建新账户,卖方将现有账户地址发送给pta,若创建了新账户,卖方将现有账户地址和新建的账户地址发送给pta;

42、9.3)pta生成交易记录<id,adds,addb,e,price,t>,其中adds,addb表示卖方和买方账户的地址,e表示双方的电力交易量,price表示交易单价,t表示交易时间;若买卖双方没有创建新账户,则生成一条交易记录;若创建了新账户则生成多条交易记录,pta将交易记录广播至共识节点进行验证,通过共识过程后,交易记录被打包成区块添加到联盟区块链中;

43、9.4)交易记录上链后,pta将电费转移给对应的卖方账户;

44、10)电力调度:完成交易后,买卖双方向电网运营商支付服务费,电网运营商开始进行电力调度,通过物理线路将卖方的电能传输给买方,交易完成。

45、本技术方案对活跃用户,采用创建新账户的方法来出售或购买电能,以其隐藏的销售趋势和交易分布,同时通过映射交易到多个账户,避免了常见的基于数据挖掘的链接攻击。对不活跃用户,采用创建虚拟账户并添加虚拟代币的方法,以隐藏用户的身份信息。另外,由于电力价格的不确定性,可能会导致电力市场的波动性增加、供需不平衡、电力成本的不可预测性等问题,为了解决这些问题,本技术方案方法采用预言机技术从电网运营商获取实时的电价。

46、现有技术相比,本技术方案具有以下优势:

47、1.基于区块链和账户映射的电力交易隐私保护方法,解决了基于区块链的电力交易系统中的隐私泄露问题。本技术方案使用了账户映射技术,防止了攻击者获取用户的身份信息与交易记录的关联性。尽管实施联盟区块链需要在链上公开存储数据,但通过创建帐户,成功隐藏活跃用户和非活跃用户的帐户特征。帐户创建的方法基于用户的使用情况,实现了保护隐私和交易存储的目标。

48、2.使用预言机技术从电网运营商获取实时的电价,解决了由于电力价格的不确定性,导致的电力市场的波动性增加、供需不平衡、电力成本的不可预测性等问题。国内的电力价格需要经过国家电网的调控,使用预言机的方法符合国内的实际情况。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1