CN112257102A - 基于区块链的能源交易隐私保护方法 - Google Patents

基于区块链的能源交易隐私保护方法 Download PDF

Info

Publication number
CN112257102A
CN112257102A CN202011042277.2A CN202011042277A CN112257102A CN 112257102 A CN112257102 A CN 112257102A CN 202011042277 A CN202011042277 A CN 202011042277A CN 112257102 A CN112257102 A CN 112257102A
Authority
CN
China
Prior art keywords
electricity
plan
matching
power
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011042277.2A
Other languages
English (en)
Other versions
CN112257102B (zh
Inventor
艾崧溥
张桐
郑湘涵
马媛媛
卢晓亮
林晓炜
曹军威
容淳铭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mingshu Technology Qingdao Co ltd
Original Assignee
Mingshu Technology Qingdao Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mingshu Technology Qingdao Co ltd filed Critical Mingshu Technology Qingdao Co ltd
Priority to CN202011042277.2A priority Critical patent/CN112257102B/zh
Publication of CN112257102A publication Critical patent/CN112257102A/zh
Application granted granted Critical
Publication of CN112257102B publication Critical patent/CN112257102B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/06Electricity, gas or water supply
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S10/00Systems supporting electrical power generation, transmission or distribution
    • Y04S10/50Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications

Abstract

本发明公开了一种基于区块链的能源交易隐私保护方法。其中,该方法利用零知识证明算法以及同态加密算法,以解决现有的区块链能源交易中存在的数据隐泄露问题以及用户身份暴露的技术问题。具体的,本发明使用零知识证明算法,在实现保护用户身份隐私的情况下对区块链能源交易中各个流程进行验证;本发明使用同态加密算法,在实现保护数据隐私的同时支持用户之间的匹配计算,在不泄露具体数值的情况下完成最优匹配;通过以上两种算法的结合,既保证用户在区块链中存储的数据不被探知和分析,又能够保护能源交易过程中双方用户的身份隐私,实现了对区块链能源交易中用户身份隐私和数据隐私的双重保护。

Description

基于区块链的能源交易隐私保护方法
技术领域
本发明属于隐私保护技术领域,特别涉及一种基于区块链的能源交易隐私保护方法。
背景技术
近年来,能源行业形势日趋复杂,诸如光、风、热等清洁可再生能源迅速发展,导致现有的能源架构难以满足不断增长的能源消耗和多样化的能源需求,而能源互联网通过融合互联网技术和分布式可再生能源技术,来构建新型能源供需架构,获得了广泛的关注。
现阶段在能源互联网中,实现满足用户需求的能源交易是重中之重。一方面,大量个体发电用户涌现并加入能源互联网,可供用户选择的电力能源类型逐渐增多,电力交易逐渐从单一的能源集中交易发展为多元化的综合能源交易;另一方面,需要考虑电力传输成本和环境保护,尽可能实现能源就近消纳,以降低电力传输成本,增加清洁能源的使用比例。而传统的能源交易方式已不再适用,能源交易体系的建立急需一种新的技术结构。
区块链是一种去中心化的分布式数据账本,由多个对等节点组成,所有节点共同维护一个公开的数据账本,账本数据通过共识机制达成一致,去中心化是区块链最主要的特征。而能源互联网也强调开放、互联、对等以及分享的设计理念,与区块链的特性高度契合。同时,智能合约技术可以让区块链系统能够完成更加复杂的程序计算,且能够保证程序运行的自动化和正确性,因此可以更好地实现能源互联网中复杂的多元化综合能源交易。
然而,将区块链应用于能源交易也有一些缺陷,具体体现在如下方面:
(1)区块链中的用户交易数据公开透明,随之带来的是用户的隐私保护问题。攻击者能够通过分析交易记录获得有价值的信息,例如资金流向和交易内容等,而用户往往不希望这些信息被其他人探知。(2)在某些交易流程中,攻击者甚至可以探知交易计划和匹配记录,进而掌握用户交易动向,破坏市场秩序。(3)此外,区块链去中心化的网络分布结构,难以阻断交易数据的传播和外泄,因此,用户的匿名性也就是身份隐私也需要考虑在内。
发明内容
本发明的目的在于提出一种基于区块链的能源交易隐私保护方法,以解决现有的区块链能源交易中存在的数据隐泄露问题以及用户身份暴露问题。
本发明为了实现上述目的,采用如下技术方案:
基于区块链的能源交易隐私保护方法,包括如下步骤:
S1.售电用户结合自身的发电记录,制定售电计划,并根据发电记录和售电计划生成零知识证明,同时生成售电计划密文;
将发电记录、售电计划、零知识证明和售电计划密文发送到区块链中进行验证并存储;
S2.购电用户结合自身需求制定购电计划,并根据购电用户的账户余额和购电计划生成零知识证明,同时生成购电计划密文;
将账户余额、购电计划、零知识证明和购电计划密文发送到区块链中进行验证并存储;
S3.管理者依据现有的售电计划,为购电计划进行匹配计算,将生成的匹配记录上传到区块链中进行存储,并将匹配记录参数通过链下告知匹配双方;
其中,管理者进行匹配计算的具体过程如下:
对于一个购电计划,从现有的售电计划中取一个售电计划,利用该购电计划对应的购电计划密文与当前售电计划对应的售电计划密文进行匹配计算;
重复以上匹配计算过程,直到现有的售电计划中所有售电计划均与该购电计划完成匹配计算,然后选取匹配结果最优的售电计划与该购电计划进行匹配,得到匹配记录;
匹配记录参数包括售电计划、购电计划、交易电量以及交易价格;
管理者使用同态加密算法将匹配记录参数中的交易电量进行加密处理,生成交易电量密文;将生成的交易电量密文与匹配记录一起存储;
S4.匹配双方分别生成零知识证明,并上传到区块链中验证并存储,确认匹配记录;
S5.匹配双方分别按照经过确认后的匹配记录进行供电和用电,进而得到实际供/用电记录,实际供/用电记录由硬件设备接口提供并上传;
硬件设备接口使用同态加密算法将实际供/用电量加密,生成实际供/用电量密文;
管理者基于交易电量密文与实际供/用电量密文,利用偏差计算函数,计算交易电量与实际供/用电量之间的偏差,根据偏差是否合理,确定结算定量;
S6.匹配双方分别生成零知识证明,发送到区块链中验证,确认参与交易并完成结算。
优选地,步骤S1中,售电用户使用同态加密算法将售电计划中的出售电量、售电价格以及用于匹配计算的参数进行加密,生成售电计划密文,售电计划密文与售电计划一起存储。
优选地,步骤S2中,购电用户使用同态加密算法将购电计划中的购买电量、购电价格以及用于匹配计算的参数进行加密,生成购电计划密文,购电计划密文与购电计划一起存储。
优选地,步骤S4中,确认匹配记录的具体过程如下:
对于匹配记录参数中的售电计划,售电用户需要生成零知识证明,证明该售电用户是匹配记录中的售电方,验证通过后,售电确认完成;
同时,对于匹配记录参数中的购电计划,购电用户需要生成零知识证明,证明该购电用户是匹配记录中的购电方,验证通过后,购电确认完成。
优选地,步骤S5中,判断偏差是否合理的具体过程为:
设定容忍偏差,判断偏差值是否小于容忍偏差值;
经过判断,若偏差小于容忍偏差,则按照匹配记录中的交易电量进行结算;若偏差不小于容忍偏差,则按照实际供/用电量进行结算;得到结算电量。
优选地,步骤S6的具体过程为:
购电用户依据实际供/用电记录,从其账户余额中减去交易费用;购电用户生成的零知识证明需要证明其对账户余额的更新,还要证明该购电用户参与了交易过程;
售电用户依据实际供/用电记录,在其账户余额中加上交易费用;售电用户生成的零知识证明需要证明其对账户余额的更新,还要证明该售电用户参与了交易过程;
另外,售电用户需要在区块链中减去交易电量,同时售电用户的发电记录也需要更新。
优选地,零知识证明算法采用zk-SNARK算法。
本发明具有如下优点:
如上所述,本发明述及了一种基于区块链的能源交易隐私保护方法。其中,该方法使用零知识证明算法,在实现保护用户身份隐私的情况下对区块链能源交易中各个流程进行验证;同时,该方法还使用同态加密算法,在实现保护数据隐私的同时支持用户之间的匹配计算,能够在不泄露具体数值的情况下完成最优匹配;本发明方法基于零知识证明算法与同态加密算法,既保证用户在区块链中存储的数据不被探知和分析,又能够保护能源交易过程中双方用户的身份隐私,实现了对区块链能源交易中用户身份隐私和数据隐私的双重保护。
附图说明
图1为本发明实施例中基于区块链的能源交易隐私保护方法的流程示意图。
图2为本发明实施例中匿名资产的实现原理图;
图3为本发明实施例中匿名交易计划的实现原理图;
图4为本发明实施例中匹配记录的表示示意图;
图5为本发明实施例中实际供/用电记录的表示示意图;
图6为本发明实施例中基于区块链的能源交易隐私保护方法中参与用户的示意图。
具体实施方式
术语解释:
1、零知识证明:
一种用于隐私保护的密码学技术,证明者可以证明一组数据满足某种关系,而不透露该数据的具体内容。零知识证明技术可以用来实现私密状态下的数据验证,以实现隐私保护。
2、同态加密:
同态加密是基于数学难题的计算复杂性理论的密码学技术。
对经过同态加密的数据进行处理得到一个输出,将这一输出进行解密,其解密后的结果与用同一方法处理未加密的原始数据得到的输出结果是一样的。
下面结合附图以及具体实施方式对本发明作进一步详细说明:
如图1所示,基于区块链的能源交易隐私保护方法,包括如下步骤:
S1.售电用户结合自身的发电记录,制定售电计划,并根据发电记录和售电计划生成零知识证明,将发电记录、售电计划以及零知识证明发送到区块链中进行验证并存储。
同时,售电用户使用同态加密算法将售电计划中的出售电量、售电价格以及用于匹配计算的参数进行加密,生成售电计划密文,售电计划密文与售电计划一起存储。
本实施例中发电记录至少包括发电量以及私密值。
其中,发电记录在区块链中的存储形式为发电量和私密值合并生成的哈希值。
本实施例中售电计划至少包括售电量、售电价格以及私密值。
其中,售电计划在区块链中的存储形式为售电量、售电价格、私密值合并生成的哈希值。
S2.购电用户结合自身需求制定购电计划,并根据购电用户的账户余额和购电计划生成零知识证明,将账户余额、购电计划以及零知识证明发送到区块链中进行验证并存储。
同时,购电用户使用同态加密算法将购电计划中的购买电量、购电价格以及用于匹配计算的参数进行加密,生成购电计划密文,购电计划密文与购电计划一起存储。
本实施例中账户余额至少包括余额数量以及私密值。
其中,账户余额在区块链中的存储形式为余额数量、私密值合并生成的哈希值。
本实施例中购电计划至少包括购电量、购电价格以及私密值。
其中,购电计划在区块链中的存储形式为购电量、购电价格、私密值合并生成的哈希值。
S3.管理者依据现有的售电计划,为购电计划进行匹配计算,将生成的匹配记录上传到区块链中进行存储,并将匹配记录参数通过链下告知匹配双方。
其中,匹配计算指的是使用购电计划和售电计划中的密文以某种匹配算法进行计算,得出最优的匹配结果。需要说明的是,匹配算法有多种,本实施例对此并不作具体限制。
具体的,管理者进行匹配计算的具体过程如下:
对于一个购电计划,从现有的售电计划中取一个售电计划,利用该购电计划对应的购电计划密文与当前售电计划对应的售电计划密文进行匹配计算;
重复以上匹配计算过程,直到现有的售电计划中所有售电计划均与该购电计划完成匹配计算,然后选取匹配结果最优的售电计划与该购电计划进行匹配,得到匹配记录。
其中,匹配记录参数至少包括售电计划、购电计划、交易电量、交易价格以及私密值;匹配记录参数在区块链中的存储形式为以上信息合并生成的哈希值。
管理者使用同态加密算法将匹配记录参数中的交易电量进行加密处理,生成交易电量密文;将生成的交易电量密文与匹配记录一起存储。
S4.匹配双方分别生成零知识证明,并上传到区块链中验证并存储,确认匹配记录。
确认匹配记录的具体过程如下:
对于匹配记录参数中的售电计划,售电用户需要生成零知识证明,证明该售电用户是匹配记录中的售电方,验证通过后,售电确认完成;
同时,对于匹配记录参数中的购电计划,购电用户需要生成零知识证明,证明该购电用户是匹配记录中的购电方,验证通过后,购电确认完成。
S5.匹配双方分别按照经过确认后的匹配记录进行供电和用电,进而得到实际供/用电记录,实际供/用电记录由硬件设备接口提供并上传。
实际供/用电记录至少应包括匹配记录、实际供/用电量、私密值。实际供/用电记录在区块链中的存储形式为匹配记录、实际供/用电量、私密值合并生成的哈希值。
硬件设备接口使用同态加密算法将实际供/用电量加密,生成实际供/用电量密文;
管理者基于交易电量密文与实际供/用电量密文,利用偏差计算函数,计算匹配记录中交易电量与实际供/用电量之间的偏差,根据偏差是否合理,确定结算定量。
其中,判断偏差是否合理的具体过程为:
设定容忍偏差,判断偏差值是否小于容忍偏差值;
经过判断,若偏差小于容忍偏差,则按照匹配记录中的交易电量进行结算;若偏差不小于容忍偏差,则按照实际供/用电量进行结算;
通过以上偏差判断方式,进而得到结算电量。
S6.匹配双方分别生成零知识证明,发送到区块链中验证,确认参与交易并完成结算。
该步骤S6的具体过程为:
购电用户依据实际供/用电记录,从其账户余额中减去交易费用;购电用户生成的零知识证明需要证明其对账户余额的更新,还要证明该购电用户参与了交易过程;
售电用户依据实际供/用电记录,在其账户余额中加上交易费用;售电用户生成的零知识证明需要证明其对账户余额的更新,还要证明该售电用户参与了交易过程;
另外,售电用户需要在区块链中减去交易电量,同时售电用户的发电记录也需要更新。
本实施例优选采用zk-SNARK算法作为零知识证明算法。
在对本发明具体算法过程说明之前,先介绍一下零知识证明和同态加密算法。
零知识证明技术,指的是根据要证明的关系等式预设证明密钥gk及验证密钥vk,使用gk生成证明proof,使用vk验证proof的正确性。
生成函数用Gen(gk,data)表示;验证函数用Ver(vk,data)表示。
生成proof需要使用关系等式中包含的所有参数,而验证proof只能用公开的参数。
同态加密技术,指的是非对称同态加密,即使用公钥pk进行加密,使用私钥sk进行解密。加密函数用Enc(pk,data)表示;解密函数用Dec(sk,data)表示。
该基于区块链的能源交易隐私保护方法所提及的隐私保护处理,包括能源用户在区块链中的匿名资产,以及匿名交易计划。
匿名资产是利用零知识证明技术实现的链上数据资产,这种数据资产不直接标明所有者的身份,所有者通过持有一组私密数据来获取该资产,并通过生成零知识证明来对外验证资产的所有权。匿名资产没有明确的身份标记,不能通过系统直接转账的方式进行资产转移。
匿名资产的实现原理如图2所示,表征链上资产的数据被隐藏在一个哈希值当中。匿名资产可以用h表示,h的计算方法为:h=H(data||r)。
data指的是表征该资产的具体数据,例如该资产为发电记录,则data应包含发电量等数据;r为一个随机的私密值,其作用为防止资产被暴力破解。
由于匿名资产不带有身份标识,因此除所有者以外的用户无法从链上得知资产的归属。
匿名资产的使用规则为:
用户根据资产中包含的数据生成零知识证明proof;
在使用过程中附带该proof用于验证,共识过程中,其他用户将会计算该proof是否满足验证需要,满足则可以证明该用户拥有该项资产。
例如:用户要使用发电记录,则该用户用发电记录G、发电量v、私密值r生成零知识证明proof,证明其满足的关系为:G=H(v||r)。
所有参数中可以公开的仅仅为G和proof,其他用户在对该事务进行共识时,只需要使用G来验证proof的正确性,即可承认该用户对该匿名资产使用的合法性。
考虑到某项资产使用后会有剩余,则剩余资产仍以该形式表示,用户需要为剩余资产生成新的私密值,该新资产同样需要证明。
例如某用户账户余额B的数值为b,使用部分余额bn后,剩余余额B’的数值为b’,则该用户应当为剩余余额提供一个新的私密值r’,且证明这些数据满足如下关系:
1)B=H(b||r);
2)B’=H(b’||r’);
3)b-bn=b’;
对于该关系下生成的proof,其他用户可以用公开的B和B’来验证proof的正确性。
匿名交易计划的实现原理如图3所示,主要有售电计划和购电计划两种类型,其结构是相似的,可以用P来表示,P的计算方法为:
P=H(v||p||r);其中,v表示计划售/购电量;p表示计划售/购电价格;r为一个随机的私密值,其作用为防止资产被暴力破解。
对于售电计划来说,其售电量不能超过该用户所拥有的发电量。售电用户要制定一个售电计划时,需要构造上述参数并生成零知识证明,证明其满足如下关系:
1)G=H(vg||rg);
2)Ps=H(vs||ps||rs);
3)vg>=vs
其中公开用于验证的参数为发电记录G和售电计划Ps
对于购电计划来说,其购电计划的总费用不能超过该用户所拥有的余额。购电用户要制定一个购电计划,需要构造上述参数并生成零知识证明,证明其满足如下关系:
1)B=H(b||rb);
2)Pp=H(vp||pp||rp);
3)b>=vp×pp
其中,公开用于验证的参数为账户余额B和购电计划Pp
如图6所示,本实施例中基于区块链的能源交易隐私保护方法中的用户分为三类:
第一类是普通用户,普通用户可以作为售电用户或者购电用户参与能源交易;
第二类是管理者,即负责管理系统的密钥和参与隐私保护交易的处理和监督;
第三类是硬件设备、充值接口,负责提供可靠的数据记录和资产。
其中,普通用户拥有gk、vk和pk;管理者拥有全部类型的密钥,包括gk、vk、pk和sk,能够与普通用户进行数据分享;硬件设备、充值接口拥有pk,能够与普通用户进行数据分享。
从功能模块上来说,与本发明实施例中区块链的能源交易隐私保护方法相对应的区块链的能源交易隐私保护系统,大致分为以下四个功能模块:
M1、匿名资产模块:
用于记录所有用户的匿名资产,参与者为普通用户和硬件设备、充值接口。
所述匿名资产,至少应包括发电记录和账户余额,对于某项匿名资产,只有该资产的所有者知道其明确数值且具有使用权,区块链中的其他用户则无法得知。
该匿名资产模块的功能为:
新增一项资产记录;查找某个特定的资产记录;删除使用过的资产记录。
其中,匿名资产包括发电记录和账户余额,发电记录由相应的硬件设备接口上传存储;账户余额可以通过相关充值接口获取,也可以通过交易获取。
M2、交易计划模块:
用于用户制定并记录交易计划,参与者为售/购电用户。
该交易计划模块的功能为:依据发电记录制定售电计划;依据账户余额制定购电计划。
M3、交易匹配模块:
用于完成购电和售电用户的最佳匹配,参与者为管理者、售/购电用户。
该交易匹配模块的功能为:对系统中存在的售/购电计划执行匹配计算,完成最佳匹配;生成匹配记录;交易双方对匹配记录进行确认。
M4、交易结算模块:
用于完成购电用户与售电用户间的结算,其中购电用户根据实际用电记录支付费用,并生成支付记录,售电用户将支付费用转入自己的账户;
交易结算模块的参与者为管理者、售/购电用户、硬件设备接口。
该交易结算模块的功能为:上传实际供/用电记录;计算实际供/用电量与匹配记录中电量的偏差;购电用户支付费用;售电用户收取费用。
本实施例中区块链指的是一般意义下的区块链技术。特殊地,出于该方法的目的需要,即隐私保护需要,该方法流程中未提及使用数字签名的步骤中将不包含数字签名。
该基于区块链的能源交易隐私保护方法中所使用到的参数,除非直接说明其公开或存储于区块链中,默认只有操作者知晓,且使用过程不被区块链所记录。
下面对利用零知识证明算法以及同态加密算法以实现本发明的具体算法过程进行说明:
S1.售电用户结合自身的发电记录,制定售电计划,并根据发电记录和售电计划生成零知识证明,发送到区块链中进行验证并存储。
售电用户拥有的发电量为vg,其发电记录G表示为:
G=H(vg||rg);
其中,rg表示一个随机的私密值;
售电用户计划的出售电量为vs,售电价格为ps,其售电计划Ps表示为:
Ps=H(vs||ps||rs)
其中,rs表示一个随机的私密值;
售电用户使用参数G、vg、rg、Ps、vs、ps、rs生成零知识证明proofs,其生成方法为:
proofs=Gens(gk,G,vg,rg,Ps,vs,ps,rs);
其中,gk表示证明秘钥;
售电用户将发电记录G、售电计划Ps以及零知识证明proofs发送到区块链中验证并存储,区块链中其他用户验证该售电计划Ps是否合法的方法为:
1)发电记录G为区块链中存在的发电记录;
2)r=Vers(vk,G,Ps,proofs)且r为真;
其中,vk表示验证秘钥;验证通过后该售电计划Ps合法,并存储到区块链中。
同时,售电用户还要使用同态加密算法将出售电量vs、售电价格ps以及其他用于匹配计算的参数paras加密生成密文,密文的生成方法为:
CTs=Enc(pk,vs,ps,paras)
其中,pk表示公钥,CTs表示售电计划密文;
将生成的售电计划密文CTs与售电计划Ps放在一起存储。
S2.购电用户结合自身需求制定购电计划,并根据账户余额和购电计划生成零知识证明,发送到区块链中进行验证并存储。
购电用户的账户余额B表示为:
B=H(b||rb);
其中,b表示账户余额B的数值,rb表示一个随机的私密值;
购电用户计划的购买电量为vp,购电价格为pp,其购电计划Pp表示为:
Pp=H(vp||pp||rp);
其中,rp表示一个随机的私密值;
购电用户使用参数B、b、rb、Pp、vp、pp、rp生成零知识证明proofp,其生成方法为:
proofp=Genp(gk,B,b,rb,Pp,vp,pp,rp);
其中,gk表示证明秘钥;
购电用户将账户余额B、购电计划Pp以及零知识证明proofp发送到区块链中验证并存储,区块链中其他用户验证该购电计划Pp是否合法的方法为:
1)账户余额B为区块链中存在的账户余额;
2)r=Verp(vk,B,Pp,proofp)且r为真;
其中,vk表示验证秘钥;验证通过后该购电计划合法,并存储到区块链中;
同时,购电用户还要使用同态加密算法将购买电量vp、购电价格pp以及其他用于匹配计算的参数parap加密生成购电计划密文,密文的生成方法为:
CTs=Enc(pk,vp,pp,parap)
其中,pk表示公钥,CTs表示购电计划密文;
将生成的购电计划密文CTp与购电计划Pp放在一起存储。
S3.管理者依据现有的售电计划和购电计划进行匹配计算,将加密匹配结果上传到区块链中进行存储,并将解密后的结果由链下告知双方。
管理者进行匹配计算的方法为:
对于一个购电计划Pp,取一个售电计划Ps,使用购电计划密文CTp和售电计划密文CTs进行安全计算,交易最佳匹配算法表示为F,则匹配计算的方法为:
1)CTr=F(CTp,CTs);
2)t=Dec(sk,CTr);
其中,CTr为加密的匹配结果,t为解密后的匹配结果,sk表示私钥;
管理者重复以上匹配计算过程,直到所有售电计划均与该购电计划完成匹配计算,然后选取匹配结果最优的售电计划与该购电计划进行匹配;
如图4所示,匹配记录MR表示为:MR=H(Ps||Pp||vm||pm||rm);
其中,vm为交易电量,pm为交易价格,rm为私密值;
管理者将匹配记录MR发送到区块链中存储,并将匹配记录的参数通过链下告知双方;
管理者使用同态加密算法将交易电量vm加密生成密文,密文的生成方法为:
CTm=Enc(pk,vm);
其中,pk表示公钥,CTm表示交易电量密文;
将生成的交易电量密文CTm与匹配记录MR放在一起存储。
S4.售电和购电用户分别生成零知识证明确认匹配记录,并上传到区块链中进行存储。
匹配记录生成后不会立即生效,需要等待匹配双方(即交易双方)进行确认,任何一方不进行确认(不同意匹配结果),交易都不会进行下去。
售电用户进行确认时需要证明自己是该匹配记录的售电方,而拥有售电计划的证明是拥有全部参数vs、ps、rs,因此:
对于匹配记录中的售电计划Ps,售电用户需要生成零知识证明proofms证明如下关系:
1)MR=H(Ps||Pp||vm||pm||rm);
2)Ps=H(vs||ps||rs);
其中,MR和Ps公开用于验证;零知识证明proofms的生成方法为:
proofms=Genms(gk,MR,Ps,Pp,vm,pm,rm,vs,ps,rs);
其他用户验证该确认操作是否合法的方法为:
1)匹配记录MR为区块链中存在的匹配记录;
2)r=Verms(vk,MR,Ps,proofms)且r为真;
验证通过后,售电用户售电确认完成。
购电用户进行确认时需要证明自己是该匹配记录的购电方,而拥有购电计划的证明是拥有全部参数vp、pp、rp,因此:
对于匹配记录中的购电计划Pp,购电用户需要生成零知识证明proofmp证明如下关系:
1)MR=H(Ps||Pp||vm||pm||rm);
2)Pp=H(vp||pp||rp);
其中,MR和Pp公开用于验证;零知识证明proofmp的生成方法为:
proofmp=Genmp(gk,MR,Ps,Pp,vm,pm,rm,vp,pp,rp);
其他用户验证该确认操作是否合法的方法为:
1)匹配记录MR为区块链中存在的匹配记录;
2)r=Vermp(vk,MR,Pp,proofmp)且r为真;
验证通过后,购电用户购电确认完成。
S5.售电用户和购电用户分别按照经双方确认的匹配记录进行供电和用电,得到实际供/用电记录,并与匹配记录进行比对,确定结算电量。
实际供/用电记录由硬件设备接口提供并上传,如图5所示,实际供/用电记录AR表示为:
AR=H(MR||va||ra);
其中,va为实际供/用电量,ra为私密值,va和ra与售电用户和购电用户共享;硬件设备接口使用同态加密算法将实际供/用电量va加密生成密文,密文的生成方法为:
CTa=Enc(pk,va);
其中,CTa表示实际供/用电量密文;
考虑到实际情况下用户用电很难与计划完全一致,管理者将实际供/用电量va与匹配记录中的交易电量vm进行比对,以确定实际传输中的偏差是否在合理的范围内。
偏差计算函数表示为Dev,该偏差计算方法为:
1)CTd=Dev(CTa,CTm);
2)d=Dec(sk,CTd);
其中,CTd表示加密的偏差结果,d表示解密的偏差结果;
判断偏差是否在合理的范围内的方式为:
设定容忍偏差σ,判断偏差d是否小于容忍偏差σ;经过判断:
若偏差d小于容忍偏差σ,则按照匹配记录中的交易电量vm进行结算;若偏差d不小于容忍偏差σ,则按照实际供/用电量va进行结算,并对实际交易过程中违规的一方进行处罚;
最终,结算电量用vf表示。
S6.双方生成零知识证明,并发送到区块链中进行验证,证明参与交易,并完成结算。
购电用户依据实际供/用电记录,从自己的账户余额中减去交易费用;购电用户不仅需要证明其对账户余额的更新,还要证明购电用户参与了交易过程。
其中,交易费用即结算电量vf与交易价格pm的乘积。
因此,购电用户需要生成零知识证明prooffp,证明如下关系:
1)Bp=H(bp||rbp);
2)Bp’=H(bp’||rbp’);
3)bp’=bp-vf×pm
4)MR=H(Ps||Pp||vm||pm||rm);
5)AR=H(MR||va||ra);
6)vf=vm或va
其中,bp表示账户余额Bp的数值,bp’表示表示账户余额Bp’的数值;rbp、rbp’分别表示一个随机私密值;参数Bp、Bp’、MR、AR公开用于验证;
区块链中其他用户验证该确认操作是否合法的方法为:
1)Bp为区块链中存在的账户余额;
2)AR为区块链中存在的实际供/用电记录;
3)r=Verfp(vk,Bp,MR,AR,Bp’,prooffp)且r为真;
验证通过后账户余额Bp更新为账户余额Bp’,购电用户付款完成;
售电用户依据实际供/用电记录,在自己的账户余额中加上交易费用;售电用户不仅需要证明其对账户余额的更新,还要证明其参与了交易过程;
此外,售电用户需要在区块链中减去交易的电量,发电记录也需要更新;
因此,售电用户需要生成零知识证明prooffs,证明如下关系:
1)Bs=H(bs||rbs);
2)Bs’=H(bs’||rbs’);
3)bs’=bs+vf×pm
4)MR=H(Ps||Pp||vm||pm||rm);
5)AR=H(MR||va||ra);
6)vf=vm或va
7)G=H(vg||rg);
8)G’=H(vg’||rg’);
9)vg’=vg-vf
其中,bs表示表示账户余额Bs的数值,bs’表示账户余额Bs’的数值;rbs、rbs’分别表示一个随机私密值;参数Bs、Bs’、MR、AR、G、G’公开用于验证;
区块链中其他用户验证该确认操作是否合法的方法为:
1)Bs为区块链中存在的账户余额;
2)AR为区块链中存在的实际供/用电记录;
3)G为区块链中存在的发电记录;
4)r=Verfs(vk,Bs,Bs’,MR,AR,G,G’,prooffs)且r为真;
验证通过后,账户余额Bs更新为Bs’,发电记录G更新为G’,售电用户收款完成。
由以上算法过程不难看出,本发明方法使用零知识证明算法,能够在实现保护用户身份隐私的情况下,对区块链能源交易中各个流程进行验证;
同时,本发明方法还使用同态加密算法,能够在实现保护数据隐私的同时,支持用户之间的匹配计算,在不泄露具体数值的情况下完成最优匹配;
本发明方法通过以上零知识证明算法与同态加密算法的组合,既保证用户在区块链中存储的数据不被探知和分析,又能够保护能源交易过程中双方用户的身份隐私。
当然,以上说明仅仅为本发明的较佳实施例,本发明并不限于列举上述实施例,应当说明的是,任何熟悉本领域的技术人员在本说明书的教导下,所做出的所有等同替代、明显变形形式,均落在本说明书的实质范围之内,理应受到本发明的保护。

Claims (7)

1.基于区块链的能源交易隐私保护方法,其特征在于,包括如下步骤:
S1.售电用户结合自身的发电记录,制定售电计划,并根据发电记录和售电计划生成零知识证明,同时使用同态加密算法生成售电计划密文;
将发电记录、售电计划、零知识证明和售电计划密文发送到区块链中进行验证并存储;
S2.购电用户结合自身需求制定购电计划,并根据购电用户的账户余额和购电计划生成零知识证明,同时使用同态加密算法生成购电计划密文;
将账户余额、购电计划、零知识证明和购电计划密文发送到区块链中进行验证并存储;
S3.管理者依据现有的售电计划,为购电计划进行匹配计算,将生成的匹配记录上传到区块链中进行存储,并将匹配记录参数通过链下告知匹配双方;
其中,管理者进行匹配计算的具体过程如下:
对于一个购电计划,从现有的售电计划中取一个售电计划,利用该购电计划对应的购电计划密文与当前售电计划对应的售电计划密文进行匹配计算;
重复以上匹配计算过程,直到现有的售电计划中所有售电计划均与该购电计划完成匹配计算,然后选取匹配结果最优的售电计划与该购电计划进行匹配,得到匹配记录;
匹配记录参数包括售电计划、购电计划、交易电量以及交易价格;
管理者使用同态加密算法将匹配记录参数中的交易电量进行加密处理,生成交易电量密文;将生成的交易电量密文与匹配记录一起存储;
S4.匹配双方分别生成零知识证明,并上传到区块链中验证并存储,确认匹配记录;
S5.匹配双方分别按照经过确认后的匹配记录进行供电和用电,进而得到实际供/用电记录,实际供/用电记录由硬件设备接口提供并上传;
硬件设备接口使用同态加密算法将实际供/用电量加密,生成实际供/用电量密文;
管理者基于生成的交易电量密文与实际供/用电量密文,利用偏差计算函数,计算交易电量与实际供/用电量之间的偏差,根据偏差是否合理,确定结算定量;
S6.匹配双方分别生成零知识证明,发送到区块链中验证,确认参与交易并完成结算。
2.根据权利要求1所述的基于区块链的能源交易隐私保护方法,其特征在于,
所述零知识证明算法采用zk-SNARK算法。
3.根据权利要求1所述的基于区块链的能源交易隐私保护方法,其特征在于,
所述步骤S1中,售电用户使用同态加密算法将售电计划中的出售电量、售电价格以及用于匹配计算的参数进行加密,生成售电计划密文,售电计划密文与售电计划一起存储。
4.根据权利要求1所述的基于区块链的能源交易隐私保护方法,其特征在于,
所述步骤S2中,购电用户使用同态加密算法将购电计划中的购买电量、购电价格以及用于匹配计算的参数进行加密,生成购电计划密文,购电计划密文与购电计划一起存储。
5.根据权利要求1所述的基于区块链的能源交易隐私保护方法,其特征在于,
所述步骤S4中,确认匹配记录的具体过程如下:
对于匹配记录参数中的售电计划,售电用户需要生成零知识证明,证明该售电用户是匹配记录中的售电方,验证通过后,售电确认完成;
同时,对于匹配记录参数中的购电计划,购电用户需要生成零知识证明,证明该购电用户是匹配记录中的购电方,验证通过后,购电确认完成。
6.根据权利要求1所述的基于区块链的能源交易隐私保护方法,其特征在于,
所述步骤S5中,判断偏差是否合理的具体过程为:
设定容忍偏差,判断偏差值是否小于容忍偏差值;
经过判断,若偏差小于容忍偏差,则按照匹配记录中的交易电量进行结算;若偏差不小于容忍偏差,则按照实际供/用电量进行结算;得到结算电量。
7.根据权利要求1所述的基于区块链的能源交易隐私保护方法,其特征在于,
所述步骤S6的具体过程为:
购电用户依据实际供/用电记录,从其账户余额中减去交易费用;购电用户生成的零知识证明,需要证明其对账户余额的更新,还要证明该购电用户参与了交易过程;
售电用户依据实际供/用电记录,在其账户余额中加上交易费用;售电用户生成的零知识证明,需要证明其对账户余额的更新,还要证明该售电用户参与了交易过程;
另外,售电用户需要在区块链中减去交易电量,同时售电用户的发电记录也需要更新。
CN202011042277.2A 2020-09-28 2020-09-28 基于区块链的能源交易隐私保护方法 Active CN112257102B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011042277.2A CN112257102B (zh) 2020-09-28 2020-09-28 基于区块链的能源交易隐私保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011042277.2A CN112257102B (zh) 2020-09-28 2020-09-28 基于区块链的能源交易隐私保护方法

Publications (2)

Publication Number Publication Date
CN112257102A true CN112257102A (zh) 2021-01-22
CN112257102B CN112257102B (zh) 2022-03-11

Family

ID=74234404

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011042277.2A Active CN112257102B (zh) 2020-09-28 2020-09-28 基于区块链的能源交易隐私保护方法

Country Status (1)

Country Link
CN (1) CN112257102B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113988865A (zh) * 2021-12-29 2022-01-28 国网电子商务有限公司 电力结算隐私保护方法及装置
CN114760071A (zh) * 2022-06-13 2022-07-15 深圳市永达电子信息股份有限公司 基于零知识证明的跨域数字证书管理方法、系统和介质
CN115801474A (zh) * 2023-02-13 2023-03-14 天聚地合(苏州)科技股份有限公司 基于隐私计算的电力交易方法和系统、用电端和发电端
CN115994806A (zh) * 2023-02-16 2023-04-21 天聚地合(苏州)科技股份有限公司 一种基于区块链和隐私计算的电力交易方法、装置和系统
CN117391754A (zh) * 2023-12-12 2024-01-12 国网数字科技控股有限公司 电力市场交易的结算方法、相关装置及计算机存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170161439A1 (en) * 2007-07-03 2017-06-08 Eingot Llc Records access and management
US20180204195A1 (en) * 2017-01-03 2018-07-19 Soo Hyang KANG System and method for customer initiated payment transaction using customer's mobile device and card
CN110852595A (zh) * 2019-11-07 2020-02-28 国网浙江省电力有限公司 一种基于联盟链的电力物资全寿命周期管理机制
CN111191280A (zh) * 2019-12-24 2020-05-22 远光软件股份有限公司 基于加密数据的区块链交易方法、电子设备和存储介质
US20200193292A1 (en) * 2018-12-04 2020-06-18 Jinan University Auditable privacy protection deep learning platform construction method based on block chain incentive mechanism
CN111429138A (zh) * 2020-03-25 2020-07-17 中国工商银行股份有限公司 区块链节点数据安全交互方法及第一交互节点

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170161439A1 (en) * 2007-07-03 2017-06-08 Eingot Llc Records access and management
US20180204195A1 (en) * 2017-01-03 2018-07-19 Soo Hyang KANG System and method for customer initiated payment transaction using customer's mobile device and card
US20200193292A1 (en) * 2018-12-04 2020-06-18 Jinan University Auditable privacy protection deep learning platform construction method based on block chain incentive mechanism
CN110852595A (zh) * 2019-11-07 2020-02-28 国网浙江省电力有限公司 一种基于联盟链的电力物资全寿命周期管理机制
CN111191280A (zh) * 2019-12-24 2020-05-22 远光软件股份有限公司 基于加密数据的区块链交易方法、电子设备和存储介质
CN111429138A (zh) * 2020-03-25 2020-07-17 中国工商银行股份有限公司 区块链节点数据安全交互方法及第一交互节点

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113988865A (zh) * 2021-12-29 2022-01-28 国网电子商务有限公司 电力结算隐私保护方法及装置
CN113988865B (zh) * 2021-12-29 2022-03-29 国网电子商务有限公司 电力结算隐私保护方法及装置
CN114760071A (zh) * 2022-06-13 2022-07-15 深圳市永达电子信息股份有限公司 基于零知识证明的跨域数字证书管理方法、系统和介质
CN114760071B (zh) * 2022-06-13 2022-10-28 深圳市永达电子信息股份有限公司 基于零知识证明的跨域数字证书管理方法、系统和介质
CN115801474A (zh) * 2023-02-13 2023-03-14 天聚地合(苏州)科技股份有限公司 基于隐私计算的电力交易方法和系统、用电端和发电端
CN115994806A (zh) * 2023-02-16 2023-04-21 天聚地合(苏州)科技股份有限公司 一种基于区块链和隐私计算的电力交易方法、装置和系统
CN117391754A (zh) * 2023-12-12 2024-01-12 国网数字科技控股有限公司 电力市场交易的结算方法、相关装置及计算机存储介质

Also Published As

Publication number Publication date
CN112257102B (zh) 2022-03-11

Similar Documents

Publication Publication Date Title
CN112257102B (zh) 基于区块链的能源交易隐私保护方法
CN110309634B (zh) 一种基于区块链的可信广告数据管理系统
Baza et al. Privacy-preserving blockchain-based energy trading schemes for electric vehicles
CN109889504B (zh) 去中心化数据访问权交易方法及系统
CN112434343B (zh) 一种基于双重区块链技术的虚拟电厂安全调度与交易方法
Zhang et al. A privacy protection scheme of microgrid direct electricity transaction based on consortium blockchain and continuous double auction
JP2021518688A (ja) ゼロ知識証明を可能にするためのコンピュータ実装されたシステム及び方法
CN113657978B (zh) 一种基于区块链和隐私保护的分布式能源拍卖方法及系统
CN111178880A (zh) 一种零信任和保护数据隐私的安全数据流通方法
CN112884554A (zh) 一种基于联盟链的物联网数据拍卖系统的拍卖方法
CN112613861B (zh) 一种基于联盟链的电力预售交易方法、装置及系统
CN110728576A (zh) 一种基于零知识证明的去中心化匿名数据交易方法
CN113283957B (zh) 一种基于区块链的实体产品交易方法
Cha et al. Blockchain based sensitive data management by using key escrow encryption system from the perspective of supply chain
CN114565386A (zh) 多方协同隐私保护的区块链托管交易方法及系统
CN112801785A (zh) 基于区块链智能合约的公平数据交易方法及装置
CN116545773A (zh) 一种处理隐私数据的方法、介质及电子设备
CN114491636A (zh) 一种基于场景的数据使用结果的交易方法
WO2019186978A1 (ja) 電子取引システム、取引サーバ、検証サーバ、電子取引方法及びプログラム
Huang et al. Building private blockchains over public blockchains (PoP) an attribute-based access control approach
CN112926958A (zh) 一种基于混合区块链的微电网社区安全能源交易方法
Devidas et al. Identity verifiable ring signature scheme for privacy protection in blockchain
CN117056984A (zh) 一种数据安全计算的方法、系统、计算机设备及存储介质
CN110020538A (zh) 基于区块链的交易数据加解密方法及系统
CN114547695A (zh) 一种物联网中基于同态加密的区块链交易隐私保护方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information

Inventor after: Ai Songbu

Inventor after: Zhang Tong

Inventor after: Zheng Xianghan

Inventor after: Ma Yuanyuan

Inventor after: Lu Xiaoliang

Inventor after: Lin Xiaowei

Inventor after: Cao Junwei

Inventor after: Rong Chunming

Inventor before: Ai Songbu

Inventor before: Zhang Tong

Inventor before: Zheng Xianghan

Inventor before: Ma Yuanyuan

Inventor before: Lu Xiaoliang

Inventor before: Lin Xiaowei

Inventor before: Cao Junwei

Inventor before: Rong Chunming

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant