CN112102033B - 基于区块链的电力分布式交易嵌套共识方法、系统及应用 - Google Patents

基于区块链的电力分布式交易嵌套共识方法、系统及应用 Download PDF

Info

Publication number
CN112102033B
CN112102033B CN202010917152.3A CN202010917152A CN112102033B CN 112102033 B CN112102033 B CN 112102033B CN 202010917152 A CN202010917152 A CN 202010917152A CN 112102033 B CN112102033 B CN 112102033B
Authority
CN
China
Prior art keywords
generator
final
generators
power
candidate
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.)
Active
Application number
CN202010917152.3A
Other languages
English (en)
Other versions
CN112102033A (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.)
Xi'an Lianrong Technology Co ltd
Xidian University
Original Assignee
Xi'an Lianrong Technology Co ltd
Xidian University
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 Xi'an Lianrong Technology Co ltd, Xidian University filed Critical Xi'an Lianrong Technology Co ltd
Priority to CN202010917152.3A priority Critical patent/CN112102033B/zh
Publication of CN112102033A publication Critical patent/CN112102033A/zh
Application granted granted Critical
Publication of CN112102033B publication Critical patent/CN112102033B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/06Energy 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
    • Y04S50/00Market activities related to the operation of systems integrating technologies related to power network operation or related to communication or information technologies
    • Y04S50/10Energy trading, including energy flowing from end-user application to grid

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Public Health (AREA)
  • Water Supply & Treatment (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • Primary Health Care (AREA)
  • Development Economics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明属于电力分布式交易和区块链应用技术领域,公开了一种基于区块链的电力分布式交易嵌套共识方法、系统及应用,所有参与者注册身份信息,调用注册智能合约;用户将电量需求全网广播,发电者通过嵌套共识协议确定i个最终发电者ai供电;确定i*n个最终输电者;确定出i个最终发电者和i*n个最终输电者,最终发电者和最终输电者分别发电、输电;用户的智能电表检测收到电能后触发智能合约自动转账。本发明的协议可以保证在最初使用一套规则达成一致的共识结果之后,继续使用内部的共识算法达成最终的一致性,外部的共识和内部的共识具有包含和递进的关系,从而有效的保障共识协议的一致性、高效性与安全性。

Description

基于区块链的电力分布式交易嵌套共识方法、系统及应用
技术领域
本发明属于电力分布式交易和区块链应用技术领域,尤其涉及一种基于区块链的电力分布式交易嵌套共识方法、系统及应用。
背景技术
目前,现有技术在电力交易中结合了区块链技术,区块链具有去中心化、不可篡改、可以追溯、集体维护、公开透明等特点,这为电力交易提供了有效的解决方式。基于区块链的电力交易大多以撮合交易为主,主要是通过基于区块链的交易中心和平台或者智能合约进行交易双方的匹配,将交易的对象和内容记录在区块链上,保证交易的不可篡改、公平公正和可追溯。
然而,传统的基于区块链的电力交易大多根据参与方的报价来确定交易双方,但是考虑到分布式发电设备成本高、维护昂贵,再伴随着电力生产者的激增,传统的方式大多都依赖撮合中心将交易双方进行配对,且采用电力用户和电力生产者一对一的模式,一对一模式不能更好的保证电力生产者的参与程度和积极性,也不能保证电力交易模式的多样性,而现在对于电力用户和电力生产者一对多的模式的研究几乎没有,多个电力生产者供电的挑战在于,如何对电力参与方进行身份验证,如何保证多个电力生产者之间的互信,如何保证多方参与的公平性,如何保证多方参与达成一致的共识结果,如何保证交易的准确性和公开透明,如何克服多方参与导致的流程复杂、效率低下的问题。
通过上述分析,现有技术存在的问题及缺陷为:现有的基于区块链的电力交易模式单一,绝大多数为一对一的模式,而且都依赖撮合中心将交易双方进行配对,这样难以保证电力生产者的高参与度和积极性,而对于电力交易一对多模式的研究几乎没有,在用户提出用电需求后,如何在多方利益相关的情况下如何达成共识确定多个发电者供电。
解决以上问题及缺陷的难度为:在没有中心化机构的情况下,多个发电者之间如何达成共识确定多个发电者为用户供电,如何在各个发电者之间利益相关的情况下达成互信和共识,如何保证共识过程的公平性,共识结果的不可篡改和可追溯性,脱离了中心化的机构如何解决公平性和安全性得不到保障、效率低的问题。
解决以上问题及缺陷的意义为:在没有第三方可信机构的情况下打破了传统电力交易单一的交易模式,参与者身份可验证,发电者之间互相信任能够达成共识,使共识结果一致、共识过程高效、可监督,保证电力交易参与方的公平性、积极性和交易模式的多样性。
发明内容
针对现有技术存在的问题,本发明提供了一种基于区块链的电力分布式交易嵌套共识方法、系统及应用。
本发明是这样实现的,一种基于区块链的电力分布式交易嵌套共识方法,所述基于区块链的电力分布式交易嵌套共识方法包括:
所有参与者注册身份信息,调用注册智能合约;
用户将电量需求全网广播,发电者通过嵌套共识协议确定i个最终发电者ai供电;
确定i*n个最终输电者;
确定出i个最终发电者和i*n个最终输电者,最终发电者和最终输电者分别发电、输电;
用户的智能电表检测收到电能后触发智能合约自动转账。
进一步,所述基于区块链的电力分布式交易嵌套共识方法的所有参与者注册身份信息包括:用户调用注册智能合约,登记用户信息包括:IDc,公钥pkc,钱包地址addressc,位置Lc;发电者调用注册智能合约,登记发电者信息包括:IDa,公钥pka,钱包地址addressa,位置La和发电量Q;输电者调用注册智能合约,登记输电者信息包括:IDb,公钥pkb,钱包地址addressb,位置Lb
进一步,所述基于区块链的电力分布式交易嵌套共识方法的确定i*n个最终输电者,用户和i个最终发电者ai和确定后,根据实际输电物理线路和设备的对应关系,每个发电者和用户之间确定了k个备选输电者,且i个最终发电者之间的k个备选输电者是互不相同的,每个发电者都将发电量平均分成k个等份给对应的k个备选输电者,每个输电者都将获得其中的1份,k个备选输电者经过以下过程竞争确定n个输电者为最终输电者:每个发电者向对应的k个备选输电者发出输电请求,按照对发电者输电请求的响应速度,每个发电者确定响应最快的n个为最终输电者,最后由i个最终发电者一共确定了i*n个最终输电者。
进一步,所述基于区块链的电力分布式交易嵌套共识方法的用户的智能电表检测收到电能后触发智能合约自动转账,电量的单价是统一的p0,按照发电者和输电者的电量转账,每度电中发电者得到的金额为β*p0,输电者得到的金额为(1-β)*p0
进一步,所述基于区块链的电力分布式交易嵌套共识方法的确定i个最终发电者ai的嵌套共识协议如下:
第一阶段:用户发布电量需求消息。用户调用需求智能合约,运行过程如下:
用户输入需求电量信息;
合约首先注册需求信息MSGreq={Qd,addressc,pkc,σreq},其中Qd为用户需求电量,addressc为用户钱包地址,pkc为用户公钥,σreq为用户私钥签名;
合约通过用户公钥pkc验证签名;
合约通过addressc调用提前部署好的查询智能合约验证用户账户余额是否大于等于p0*Qd
如果智能合约验证通过,则用户需求上链,用户账户内用于购买电量需求Qd的金额p0*Qd被锁定,主节点打包区块时,同时广播信号signal,触发第二阶段共识过程;
第二阶段:确定候选发电者列表,过程如下:
发电者收到主节点的广播信号signal,如果希望参与发电者竞争,则全网广播参与信息MSGjoin={pka,timestamp,σjoin},其中pka为发电者的公钥,timestamp为时间戳,σjoin为发电者私钥对该消息的签名;
主节点广播信号signal触发第二阶段共识的同时设置倒计时,主节点收集发电者参与信息MSGjoin,倒计时结束之后,验证发电者参与信息MSGjoin的合法性:①签名正确②发电者和用户的距离在规定范围内③发电者的发电量在规定区间内,验证通过后根据时间戳排序,取前2imax个发电者为候选发电者;
主节点将2imax个候选发电者的公钥信息上链,指定最新区块里的时间戳为种子广播给2imax个候选发电者,触发第三阶段共识。
第三阶段:候选发电者选提案人,由提案人确定i个最终发电者;
由第二阶段的共识已经确定了2imax个候选发电者,在第三阶段的过程需要继续由这2imax个候选发电者通过一套完整的共识方法达成最终的共识,即先确定出一个提案人,再由提案人提出提案,所有候选发电者验证通过后确定出i个最终发电者;
具体的共识过程如下:
2imax个候选发电者收到上一步主节点广播的种子后,用VRF可验证随机函数计算随机数,广播各自的随机数;
候选发电者将收到的随机数进行验证和对比,取其中最大的随机数对应的节点信息进行广播,互相确认;候选发电者节点r向其他节点发送确认最大随机数的消息其中nonce0为最大的随机数,/>为最大随机数对应的节点的公钥,σr为节点r对该消息的签名,当候选发电者节点r收到/>个节点的确认消息后,进入下一步;
候选发电者发送确认消息给最大随机数对应的节点,该节点若收到个候选发电者节点的确认消息,则说明2imax个候选发电者已经达成共识确定该节点为提案人;
提案人首先成为第一个最终发电者,再从候选发电者列表里选出i-1个发电者,按照以下规则选取完成后,提案人广播提案,i个最终发电者;
按照和提案人距离最近原则从候选发电者列表里选一个候选发电者,按照计算加入该候选发电者后的误差值ε,若ε<0,则将该候选发电者加入提案中;
继续按照距离最近从候选发电者列表选取,直到满足ε>0,就凑齐了i个最终发电者;
候选发电者收到提案人广播的提案后,验证是否符合规则,若验证通过,则将签名消息返回给提案人,提案人收到个节点的签名消息后,提案即验证通过,即确定了i个最终发电者;
当2imax个候选发电者已经达成共识确定提案人后,提案人需要向2imax个候选发电者发送心跳信息,证明提案人节点正常运行;如果2imax个候选发电者节点检测到提案人节点作恶或者下线,会触发超时机制重新确认2imax个候选发电者节点中随机数第二大的候选发电者为提案人。
进一步,所述基于区块链的电力分布式交易嵌套共识方法的第二阶段,规定:
只有发电者和用户的距离|Lc-La|在25公里以内才有资格参与本轮发电者的竞争;
只有发电量Q在区间[(1-α)Qd,(1+α)Qd]内的发电者才有资格参与本轮发电者的竞争;
α为一个优化参数,且α受k、n的约束,满足:因此α要满足条件:
最终发电者i的数量通过以下关系计算出来,一定在区间[imin,imax]内:i的最小值imin:最坏的情况由最大发电量的i个发电者承担所有的用户需求:得出i的最小值/>
i的最大值imax:最坏的情况由最小发电量的i个发电者承担所有的用户需求:得出i的最大值/>
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
所有参与者注册身份信息,调用注册智能合约;
用户将电量需求全网广播,发电者通过嵌套共识协议确定i个最终发电者ai为供电;
确定i*n个最终输电者;
确定出i个最终发电者和i*n个最终输电者,最终发电者和最终输电者分别发电、输电;
用户的智能电表检测收到电能后触发智能合约自动转账。
本发明的另一目的在于提供一种实施所述基于区块链电力分布式交易嵌套共识方法的基于区块链的电力分布式交易嵌套共识系统,所述基于区块链的电力分布式交易嵌套共识系统包括:
智能合约注册模块,用于实现所有参与者注册身份信息,调用注册智能合约;
最终发电者确定模块,用于用户将电量需求全网广播,发电者通过嵌套共识协议确定i个最终发电者ai为供电;
最终输电者确定模块,用于确定i*n个最终输电者;
发电和输电模块,用于确定出i个最终发电者ai和i*n个最终输电者,最终发电者和最终输电者分别发电、输电;
智能合约自动转账触发模块,用于实现用户的智能电表检测收到电能后触发智能合约自动转账。
本发明的另一目的在于提供一种分布式发电系统,所述分布式发电系统搭载所述的基于区块链的电力分布式交易嵌套共识系统。
本发明的另一目的在于提供一种终端,所述终端搭载所述的分布式发电系统。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明在上述系统下设计了一种嵌套的共识协议,用户在提出用电需求后,发电者之间通过嵌套的共识协议确定最终发电者,因为是电力分布式交易,可能存在发电者供应电量不足或者不稳定的情况,所以为了保障用户用电的可靠性和电力交易的多方参与性,用户将需求的电量广播出去,由嵌套共识协议确定多个发电者为用户供电。该协议可以保证在最初使用一套规则达成一致的共识结果之后,继续使用内部的共识算法达成最终的一致性,外部的共识和内部的共识具有包含和递进的关系,从而有效的保障共识协议的一致性、高效性与安全性。
本发明能保证电力交易多方参与时的互信和公平性。电力交易参与方的身份都需要提前注册且可以验证,用户的用电需求通过提前部署的智能合约达成共识,有效防止用户发布虚假和干扰信息,用户账户用于购买电能的金额提前锁定并在得到电能后由智能合约自动支付,保证了结算的公开、高效和简洁。
本发明在系统下设计了一种嵌套的共识协议,用户在提出用电需求后,发电者之间通过嵌套的共识协议确定最终发电者,即先由外部的共识达成一致选出候选发电者后,再由内部的共识达成一致选出最终发电者。其中内部的共识算法选择提案人的过程通过VRF函数保证选择的随机性、不可预测性和公平性,同时内部算法还具有双向选择性,候选发电者先通过VRF函数进行提案人的选择,提案人需要再对候选发电者进行反选,最终确定为用户供电的发电者。该协议可以保证所有节点最初使用一套规则达成一致的共识结果之后,继续使用内层的共识算法使候选发电者节点达成最终共识结果的一致性,外层和内层的共识具有包含和递进的关系,从而保障整个共识协议的一致性、高效性与安全性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于区块链的电力分布式交易嵌套共识系统流程图。
图2是本发明实施例提供的基于区块链的电力分布式交易嵌套共识系统的结构示意图;
图2中:1、智能合约注册模块;2、最终发电者确定模块;3、最终输电者确定模块;4、发电和输电模块;5、智能合约自动转账触发模块。
图3是本发明实施例提供的基于区块链的电力分布式交易系统流程图。
图4是本发明实施例提供的基于区块链的电力分布式交易系统电能流向图。
图5是本发明实施例提供的候选发电者确定i个最终发电者ai的信息交互图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种基于区块链的电力分布式交易嵌套共识方法、系统及应用,下面结合附图对本发明作详细的描述。
如图1所示,本发明提供的基于区块链的电力分布式交易系统包括以下步骤:
S101:所有参与者注册身份信息,调用注册智能合约;
S102:用户将电量需求全网广播,发电者通过嵌套共识协议确定i个最终发电者ai供电;
S103:确定i*n个最终输电者;
S104:确定出i个最终发电者和i*n个最终输电者,最终发电者和最终输电者分别发电、输电;
S105:用户的智能电表检测收到电能后触发智能合约自动转账。
本发明提供的基于区块链的电力分布式交易嵌套共识方法业内的普通技术人员还可以采用其他的步骤实施,图1的本发明提供的基于区块链的电力分布式交易嵌套共识方法仅仅是一个具体实施例而已。
如图2所示,本发明提供的基于区块链的电力分布式交易嵌套共识系统包括:发电者a、输电者b和用户c,这三种参与方均为同一个联盟链的节点,联盟链采用PBFT共识机制,在联盟链已经提前部署了注册智能合约和需求智能合约,其中注册智能合约用于注册和查询参与者的基本信息,需求智能合约用于注册和验证用户提出的电量需求。
智能合约注册模块1,用于实现所有参与者注册身份信息,调用注册智能合约;
最终发电者确定模块2,用于用户将电量需求全网广播,发电者通过嵌套共识协议确定i个最终发电者ai为供电;
最终输电者确定模块3,用于确定i*n个最终输电者;
发电和输电模块4,用于确定出i个最终发电者ai和i*n个最终输电者,最终发电者和最终输电者分别发电、输电;
智能合约自动转账触发模块5,用于实现用户的智能电表检测收到电能后触发智能合约自动转账。
本发明提出的基于区块链的电力分布式交易系统流程如下:
步骤一:所有参与者注册身份信息。
用户调用注册智能合约,登记用户信息包括:IDc,公钥pkc,钱包地址addressc,位置Lc;发电者调用注册智能合约,登记发电者信息包括:IDa,公钥pka,钱包地址addressa,位置La和发电量Q;输电者调用注册智能合约,登记输电者信息包括:IDb,公钥pkb,钱包地址addressb,位置Lb
步骤二:用户将电量需求全网广播,发电者通过嵌套共识协议确定i个最终发电者ai为用户供电。
步骤三:确定i*n个最终输电者。在本系统中,用户和i个最终发电者ai和确定后,根据实际输电物理线路和设备的对应关系,假设每个发电者和用户之间确定了k个备选输电者,且i个最终发电者之间的k个备选输电者是互不相同的,每个发电者都将发电量平均分成k个等份给对应的k个备选输电者,每个输电者都将获得其中的1份。k个备选输电者经过以下过程竞争确定n个输电者为最终输电者:每个发电者向对应的k个备选输电者发出输电请求,按照对发电者输电请求的响应速度,每个发电者确定响应最快的n个为最终输电者,最后由i个最终发电者一共确定了i*n个最终输电者。
步骤四:由以上步骤确定出i个最终发电者ai和i*n个最终输电者,最终发电者和最终输电者分别发电、输电。
步骤五:用户的智能电表检测收到电能后触发智能合约自动转账。电量的单价是统一的p0,按照发电者和输电者的电量转账,每度电中发电者得到的金额为β*p0,输电者得到的金额为(1-β)*p0
本发明提出的确定i个最终发电者ai的嵌套共识协议如下:
第一阶段:用户发布电量需求消息。用户调用需求智能合约,运行过程如下:
用户输入需求电量信息。
合约首先注册需求信息MSGreq={Qd,addressc,pkc,σreq},其中Qd为用户需求电量,addressc为用户钱包地址,pkc为用户公钥,σreq为用户私钥签名。
合约通过用户公钥pkc验证签名。
合约通过addressc调用提前部署好的查询智能合约验证用户账户余额是否大于等于p0*Qd
如果智能合约验证通过,则用户需求上链,用户账户内用于购买电量需求Qd的金额p0*Qd被锁定,主节点打包区块时,同时广播信号signal,触发第二阶段共识过程。
第二阶段:确定候选发电者列表。过程如下:
发电者收到主节点的广播信号signal,如果希望参与发电者竞争,则全网广播参与信息MSGjoin={pka,timestamp,σjoin},其中pka为发电者的公钥,timestamp为时间戳,σjoin为发电者私钥对该消息的签名。
主节点广播信号signal触发第二阶段共识的同时设置倒计时,主节点收集发电者参与信息MSGjoin,倒计时结束之后,验证发电者参与信息MSGjoin的合法性:①签名正确②发电者和用户的距离在规定范围内③发电者的发电量在规定区间内,验证通过后根据时间戳排序,取前2imax个发电者为候选发电者。(假设在倒计时内一定有大于等于2imax个发电者参与为用户供电的竞争)
主节点将2imax个候选发电者的公钥信息上链,指定最新区块里的时间戳为种子广播给2imax个候选发电者,触发第三阶段共识。
规定:
只有发电者和用户的距离|Lc-La|在25公里以内才有资格参与本轮发电者的竞争。
只有发电量Q在区间[(1-α)Qd,(1+α)Qd]内的发电者才有资格参与本轮发电者的竞争。
α为一个优化参数,且α受k、n的约束。为避免1个发电者就可以承担发出所有的电,所以要满足:因此α要满足条件:/>
最终发电者i的数量可以通过以下关系计算出来,一定在区间[imin,imax]内:i的最小值imin:最坏的情况由最大发电量的i个发电者承担所有的用户需求:从而得出i的最小值/>
i的最大值imax:最坏的情况由最小发电量的i个发电者承担所有的用户需求:从而得出i的最大值/>
第三阶段:候选发电者选提案人,由提案人确定i个最终发电者。
由第二阶段的共识已经确定了2imax个候选发电者,在第三阶段的过程需要继续由这2imax个候选发电者通过一套完整的共识方法达成最终的共识,即先确定出一个提案人,再由提案人提出提案,所有候选发电者验证通过后确定出i个最终发电者。
具体的共识过程如下:
2imax个候选发电者收到上一步主节点广播的种子后,用VRF可验证随机函数计算随机数,广播各自的随机数。
候选发电者将收到的随机数进行验证和对比,取其中最大的随机数对应的节点信息进行广播,互相确认。例如候选发电者节点r向其他节点发送确认最大随机数的消息其中nonce0为最大的随机数,/>为最大随机数对应的节点的公钥,σr为节点r对该消息的签名,当候选发电者节点r收到/>个节点的确认消息后,进入下一步。
候选发电者发送确认消息给最大随机数对应的节点,该节点若收到个候选发电者节点的确认消息,则说明2imax个候选发电者已经达成共识确定该节点为提案人。
提案人首先成为第一个最终发电者,再从候选发电者列表里选出i-1个发电者,按照以下规则选取完成后,提案人广播提案(i个最终发电者)。
按照和提案人距离最近原则从候选发电者列表里选一个候选发电者,按照计算加入该候选发电者后的误差值ε,若ε<0,则将该候选发电者加入提案中。
继续按照距离最近从候选发电者列表选取,直到满足ε>0,就凑齐了i个最终发电者。
候选发电者收到提案人广播的提案后,验证是否符合规则,若验证通过,则将签名消息返回给提案人,提案人收到个节点的签名消息后,提案即验证通过,即确定了i个最终发电者。
当2imax个候选发电者已经达成共识确定提案人后,提案人需要向2imax个候选发电者发送心跳信息,证明提案人节点正常运行。如果2imax个候选发电者节点检测到提案人节点作恶或者下线,会触发超时机制重新确认2imax个候选发电者节点中随机数第二大的候选发电者为提案人。
下面结合附图对本发明的技术方案作进一步的描述。
本发明在此系统中电力交易参与方有三种身份:发电者、输电者和用户。发电者包括火电厂、核电厂、水电厂和大型风电厂,以及分布式光伏、风力用户等,用户包括分布式电力产消者、居民以及大型工厂等,输电者负责提供输配电线路、变压器以及其他设备。本发明提出的新的电力交易的分布式模式基于区块链,使参与方都有公平参与的资格,在没有可信第三方机构的情况下即可点对点的完成多方参与的交易过程。
在本发明中,电力分布式交易系统的主体为发电者a、输电者b和用户c,这三种参与方均为同一个联盟链的节点,联盟链采用PBFT共识机制,在联盟链已经提前部署了注册智能合约和需求智能合约,其中注册智能合约用于注册和查询参与者的基本信息,需求智能合约用于注册和验证用户提出的电量需求。
用户c打算购买100度电,因为是电力分布式交易,可能存在发电者供应电量不足或者不稳定的情况,所以为了保障用户用电的可靠性,用户将需求的电量广播出去,由所有节点通过嵌套共识协议达成一致确定为用户供电的多个发电者。该系统的电量单价统一为10token。
在本发明实施例中,k取5,n取3,根据嵌套共识协议的第二阶段的规定,发电量区间的取值受约束,需要满足所以本发明实施例中取/>可以计算出发电者的发电量在区间[50,150]内才能参与竞争为该用户发电,同时根据该区间计算出发电者数量i的最大值/>发电者人数i的最小值/>所以最终发电者i的数量一定在区间[imin,imax]=[2,4]内。
如图3所示,按照本发明提出的基于区块链分布式电力交易系统流程进行:
步骤一:所有参与者注册身份信息。
用户c调用注册智能合约,登记用户信息包括:IDc,公钥pkc,钱包地址addressc,位置Lc;发电者A,B,C,D,E,F,G,H,I,J,K,L,M,N,O调用注册智能合约,登记发电者信息包括:IDa’公钥pka,钱包地址addressa,位置La和发电量Q;输电者调用注册智能合约,登记输电者信息包括:IDb,公钥pkb,钱包地址addressb,位置Lb
步骤二:用户将电量需求全网广播,发电者通过嵌套共识协议确定3个最终发电者J,A,F为用户供电。
步骤三:确定i*n=3*3=9个最终输电者。在本系统中,用户和3个最终发电者J,A,F确定后,根据实际输电物理线路和设备的对应关系,假设每个发电者和用户之间的5个备选输电者是确定的,且最终发电者J,A,F各自对应的的5个备选输电者是互不相同的。每个发电者都将发电量平均分成5个等份给对应的5个备选输电者,每个输电者都将获得其中电量的1份。5个备选输电者经过以下过程竞争确定3个输电者为最终输电者:例如最终发电者J向对应的5个备选输电者发出输电请求,按照对最终发电者J的输电请求的响应速度,最终发电者J确定响应最快的前3个为最终输电者。最终发电者A,F确定对应的输电者的过程与最终发电者J类似。最终发电者J,A,F一共确定了9个最终输电者。
步骤四:由以上步骤确定出的3个最终发电者J,A,F和9个最终输电者,最终发电者和最终输电者分别发电、输电。如果对应的最终发电者和最终输电者不能供应相应的电能,则由备选输电者输电。
步骤五:用户的智能电表检测收到电能后触发智能合约自动转账。电量的单价是统一的10token,按照发电者和输电者的电量转账,每度电中发电者得到的金额为β*p0=0.7*10=7token,输电者得到的金额为(1-β)*p0=0.3*10=3token。因此发电者J得到的金额为发电者A得到的金额为/>token,发电者F得到的金额为/>发电者J对应的输电者得到的金额为其中每个输电者得到40token,发电者A对应的输电者得到的金额为/>其中每个输电者得到31token,发电者F对应的最终输电者得到的金额为/>其中每个输电者得到29token。
在该实施例中本发明提出的确定3个最终发电者J,A,F的嵌套共识过程:
第一阶段:用户发布电量需求消息。用户调用需求智能合约,运行过程如下:
用户输入电量需求信息100度电。
合约首先注册需求信息MSGreq={100,addressc,pkc,σreq},其中addressc为用户钱包地址,pkc为用户公钥,σreq为用户私钥签名。
合约通过用户公钥pkc验证签名。
合约通过addressc调用注册智能合约查询验证用户账户余额是否大于等于p0*Qd=10*100=1000token。
如果需求智能合约验证通过,则用户需求上链,智能合约锁定用户账户内用于购买电量需求100度电的1000token,主节点打包区块时,同时广播信号signal,触发第二阶段共识过程。
第二阶段:确定候选发电者列表。过程如下:
所有发电者收到主节点的广播信号signal,如果希望参与发电者竞争,则全网广播参与信息NSGjoin={pka,timestamp,σjoin},其中pka为发电者的公钥,timestamp为时间戳,σjoin为发电者私钥对该消息的签名。
主节点广播信号signal触发第二阶段共识的同时设置倒计时,主节点收集发电者参与信息MSGjoin。在倒计时结束之后,主节点收到了15个发电者A,B,C,D,E,F,G,H,I,J,K,L,M,N,O发来的参与消息,主节点首先验证发电者参与信息MSGjoin的合法性:①签名正确②发电者与用户的距离在规定范围内③发电量在规定区间内,验证后发现:发电者C的签名错误,发电者M与用户的距离不在25公里内,发电者E的发电量不在[50,150]的区间内,于是舍弃这3个发电者,将剩下的12个发电者根据时间戳排序为D,A,I,J,B,F,G,L,N,K,O,H,,取前2imax=8个发电者为候选发电者,候选发电者即为D,A,I,J,B,F,G,L。
主节点将8个候选发电者的公钥信息上链,指定最新区块里的时间戳为种子广播给8个候选发电者,触发第三阶段共识。
第三阶段:候选发电者选提案人,由提案人确定i个最终发电者。
具体的共识过程如下:
8个候选发电者收到上一步主节点广播的种子后,用VRF可验证随机函数计算随机数,广播各自的随机数。
候选发电者将收到的随机数进行验证和对比,其中最大随机数对应的节点为节点J,则这8个候选发电者将节点J的信息进行广播,互相确认。例如候选发电者D向其他节点发送确认最大随机数的消息 其中nonce0为节点J对应的最大的随机数,/>为节点J的公钥,σD为节点D对该消息的签名,当候选发电者D收到个节点的确认消息后,进入下一步。
候选发电者发送确认消息给节点J,节点J若收到个节点的确认消息,则说明8个候选发电者已经达成共识,节点J被确定为提案人。
节点J首先成为第一个最终发电者,再从候选发电者列表里选出其余的最终发电者,按照以下规则选取后,节点J广播提案。
按照和提案人距离最近原则从8个候选发电者列表里选一个候选发电者,节点J计算剩余的7个候选发电者中与候选发电者A距离最近,则按照计算加入候选发电者A后的误差值ε,计算得/>则将候选发电者A加入提案中。
继续按照距离最近从候选发电者列表选取,此时候选发电者F距离最近,计算满足ε>0,则确定了提案为候选发电者J,A,F,即候选发电者J,A,F为3个最终发电者。
假设节点J查询剩余7个候选发电者的信息,并计算和节点J的距离,结果如下:
8个候选发电者收到提案人节点J广播的提案后,验证生成是否符合共识规则,若验证通过,则将签名消息返回给节点J,节点J收到个节点的签名消息后,提案即验证通过,即确定了候选发电者J,A,F为3个最终发电者。
通过本实施例可以看出使用本发明提出基于区块链的电力分布式交易嵌套共识方法可以确定多个发电者为用户供电,多个发电者通过嵌套共识协议最终得出了唯一的共识结果,在共识过程中每一步都有依据且经过验证。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。

Claims (8)

1.一种基于区块链的电力分布式交易嵌套共识方法,其特征在于,所述基于区块链的电力分布式交易嵌套共识方法包括:
所有参与者注册身份信息,调用注册智能合约;
用户将电量需求全网广播,发电者通过嵌套共识协议确定i个最终发电者ai供电;
确定i*n个最终输电者;
确定出i个最终发电者和i*n个最终输电者,最终发电者和最终输电者分别发电、输电;
用户的智能电表检测收到电能后触发智能合约自动转账;
所述基于区块链的电力分布式交易嵌套共识方法的用户的智能电表检测收到电能后触发智能合约自动转账,电量的单价是统一的p0,按照发电者和输电者的电量转账,每度电中发电者得到的金额为β*p0,输电者得到的金额为(1-β)*p0
所述基于区块链的电力分布式交易嵌套共识方法的确定i个最终发电者ai的嵌套共识协议如下:
第一阶段:用户发布电量需求消息,用户调用需求智能合约,运行过程如下:
用户输入需求电量信息;
合约首先注册需求信息MSGreq={Qd,addressc,pkc,σreq},其中Qd为用户需求电量,addressc为用户钱包地址,pkc为用户公钥,σreq为用户私钥签名;
合约通过用户公钥pkc验证签名;
合约通过addressc调用提前部署好的查询智能合约验证用户账户余额是否大于等于p0·Qd
如果智能合约验证通过,用户账户内用于购买电量需求Qd的金额p0*Qd被锁定,主节点打包区块时,同时广播信号signal,触发第二阶段共识过程;
第二阶段:确定候选发电者列表,过程如下:
发电者收到主节点的广播信号signal,如果希望参与发电者竞争,则全网广播参与信息MSGjoin={pka,timestamp,σjoin},其中pka为发电者的公钥,timestamp为时间戳,σjoin为发电者私钥对该消息的签名;
主节点广播信号signal触发第二阶段共识的同时设置倒计时,主节点收集发电者参与信息MSGjoin,倒计时结束之后,验证发电者参与信息MSGjoin的合法性:①签名正确②发电者和用户的距离在规定范围内③发电者的发电量在规定区间内,验证通过后根据时间戳排序,取前2imax个发电者为候选发电者;
主节点将2imax个候选发电者的公钥信息上链,指定最新区块里的时间戳为种子广播给2imax个候选发电者,触发第三阶段共识;
第三阶段:候选发电者选提案人,由提案人确定i个最终发电者;
由第二阶段的共识已经确定了2imax个候选发电者,在第三阶段的过程需要继续由这2imax个候选发电者通过一套完整的共识方法达成最终的共识,即先确定出一个提案人,再由提案人提出提案,所有候选发电者验证通过后确定出i个最终发电者;
具体的共识过程如下:
2imax个候选发电者收到上一步主节点广播的种子后,用VRF可验证随机函数计算随机数,广播各自的随机数;
候选发电者将收到的随机数进行验证和对比,取其中最大的随机数对应的节点信息进行广播,互相确认;候选发电者节点r向其他节点发送确认最大随机数的消息其中nonce0为最大的随机数,/>为最大随机数对应的节点的公钥,σr为节点r对该消息的签名,当候选发电者节点r收到/>个节点的确认消息后,进入下一步;
候选发电者发送确认消息给最大随机数对应的节点,该节点若收到个候选发电者节点的确认消息,则说明2imax个候选发电者已经达成共识确定该节点为提案人;
提案人首先成为第一个最终发电者,再从候选发电者列表里选出i-1个发电者,按照和提案人距离最近原则从候选发电者列表里选一个候选发电者,计算加入该候选发电者后的误差值ε,若ε<0,则将该候选发电者加入提案中;继续按照距离最近从候选发电者列表选取,直到满足ε>0,就凑齐了i个最终发电者后选取完成,提案人广播提案,i个最终发电者;
候选发电者收到提案人广播的提案后,验证是否符合规则,若验证通过,则将签名消息返回给提案人,提案人收到个节点的签名消息后,提案即验证通过,即确定了i个最终发电者;
当2imax个候选发电者已经达成共识确定提案人后,提案人需要向2imax个候选发电者发送心跳信息,证明提案人节点正常运行;如果2imax个候选发电者节点检测到提案人节点作恶或者下线,会触发超时机制重新确认2imax个候选发电者节点中随机数第二大的候选发电者为提案人。
2.如权利要求1所述的基于区块链的电力分布式交易嵌套共识方法,其特征在于,所述基于区块链的电力分布式交易嵌套共识方法的所有参与者注册身份信息包括:用户调用注册智能合约,登记用户信息包括:IDc,公钥pkc,钱包地址addressc,位置Lc;发电者调用注册智能合约,登记发电者信息包括:IDa,公钥pka,钱包地址addressa,位置La和发电量Q;输电者调用注册智能合约,登记输电者信息包括:IDb,公钥pkb,钱包地址addressb,位置Lb
3.如权利要求1所述的基于区块链的电力分布式交易嵌套共识方法,其特征在于,所述基于区块链的电力分布式交易嵌套共识方法的确定i*n个最终输电者,用户和i个最终发电者ai和备选输电者确定后,根据实际输电物理线路和设备的对应关系,每个发电者和用户之间确定了k个备选输电者,且i个最终发电者之间的k个备选输电者是互不相同的,每个发电者都将发电量平均分成k个等份给对应的k个备选输电者,每个输电者都将获得其中的1份,k个备选输电者经过以下过程竞争确定n个输电者为最终输电者:每个发电者向对应的k个备选输电者发出输电请求,按照对发电者输电请求的响应速度,每个发电者确定响应最快的n个为最终输电者,最后由i个最终发电者一共确定了i*n个最终输电者。
4.如权利要求1所述的基于区块链的电力分布式交易嵌套共识方法,其特征在于,所述基于区块链的电力分布式交易嵌套共识方法的第二阶段,规定:
只有发电者和用户的距离|Lc-La|在25公里以内才有资格参与本轮发电者的竞争;
只有发电量Q在区间[(1-α)Qd,(1+α)Qd]内的发电者才有资格参与本轮发电者的竞争;
α为一个优化参数,且α受k、n的约束,满足:因此α要满足条件:
最终发电者i的数量通过以下关系计算出来,一定在区间[imin,imax]内:i的最小值imin:最坏的情况由最大发电量的i个发电者承担所有的用户需求:得出i的最小值/>
i的最大值imax:最坏的情况由最小发电量的i个发电者承担所有的用户需求:得出i的最大值/>
5.一种基于权利要求1~4任意一项所述基于区块链的电力分布式交易嵌套共识方法的计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
所有参与者注册身份信息,调用注册智能合约;
用户将电量需求全网广播,发电者通过嵌套共识协议确定i个最终发电者ai为供电;
确定i*n个最终输电者;
确定出i个最终发电者和i*n个最终输电者,最终发电者和最终输电者分别发电、输电;
用户的智能电表检测收到电能后触发智能合约自动转账。
6.一种基于权利要求1~4任意一项所述基于区块链的电力分布式交易嵌套共识方法的基于区块链的电力分布式交易嵌套共识系统,其特征在于,所述基于区块链的电力分布式交易嵌套共识系统包括:
智能合约注册模块,用于实现所有参与者注册身份信息,调用注册智能合约;
最终发电者确定模块,用于用户将电量需求全网广播,发电者通过嵌套共识协议确定i个最终发电者ai为供电;
最终输电者确定模块,用于确定i*n个最终输电者;
发电和输电模块,用于确定出i个最终发电者ai和i*n个最终输电者,最终发电者和最终输电者分别发电、输电;
智能合约自动转账触发模块,用于实现用户的智能电表检测收到电能后触发智能合约自动转账。
7.一种分布式发电系统,其特征在于,所述分布式发电系统搭载权利要求6所述的基于区块链的电力分布式交易嵌套共识系统。
8.一种终端,其特征在于,所述终端搭载权利要求7所述的分布式发电系统。
CN202010917152.3A 2020-09-03 2020-09-03 基于区块链的电力分布式交易嵌套共识方法、系统及应用 Active CN112102033B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010917152.3A CN112102033B (zh) 2020-09-03 2020-09-03 基于区块链的电力分布式交易嵌套共识方法、系统及应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010917152.3A CN112102033B (zh) 2020-09-03 2020-09-03 基于区块链的电力分布式交易嵌套共识方法、系统及应用

Publications (2)

Publication Number Publication Date
CN112102033A CN112102033A (zh) 2020-12-18
CN112102033B true CN112102033B (zh) 2023-08-18

Family

ID=73757294

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010917152.3A Active CN112102033B (zh) 2020-09-03 2020-09-03 基于区块链的电力分布式交易嵌套共识方法、系统及应用

Country Status (1)

Country Link
CN (1) CN112102033B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113301114B (zh) * 2021-04-13 2022-03-04 广东电网有限责任公司 区块链共识节点选择方法、装置、计算机设备和存储介质
CN113362067B (zh) * 2021-08-10 2022-03-11 国网区块链科技(北京)有限公司 一种基于异步共识的电力交易撮合方法及系统
CN113779642B (zh) * 2021-09-02 2024-05-28 国网北京市电力公司 数据处理方法及其装置、系统、电子设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109034480A (zh) * 2018-07-31 2018-12-18 湘潭大学 一种基于智能合约的互联微网分布式优化调度方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3460942A1 (en) * 2017-09-20 2019-03-27 Hepu Technology Development (Beijing) Co. Ltd. A smart power meter

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109034480A (zh) * 2018-07-31 2018-12-18 湘潭大学 一种基于智能合约的互联微网分布式优化调度方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
On the use of blockchain-based mechanisms to tackle academic misconduct;Vijay Mohan;《Research Policy》;全文 *

Also Published As

Publication number Publication date
CN112102033A (zh) 2020-12-18

Similar Documents

Publication Publication Date Title
CN112102033B (zh) 基于区块链的电力分布式交易嵌套共识方法、系统及应用
CN112287029B (zh) 一种区块链多链跨链系统及其实现机制
Xia et al. A Bayesian game based vehicle-to-vehicle electricity trading scheme for blockchain-enabled internet of vehicles
Iqbal et al. A secure and decentralized blockchain based EV energy trading model using smart contract in V2G network
CN111090892B (zh) 一种基于vrf和门限签名的区块链共识方法和装置
Guo et al. When blockchain meets smart grids: A comprehensive survey
CN111147228B (zh) 基于以太坊IoT实体轻量级认证方法、系统、智能终端
CN112541757A (zh) 使区块链系统的第一实体能向其它实体证明的方法
CN110855432B (zh) 基于可验证随机函数分配验证者奖励的异步bft&dpos共识机制
Wang et al. Blockchain-based dynamic energy management mode for distributed energy system with high penetration of renewable energy
CN112217683A (zh) 跨异构链数据可达性处理方法、系统、介质、设备、终端
Wang et al. A fast and secured vehicle-to-vehicle energy trading based on blockchain consensus in the internet of electric vehicles
CN113971597A (zh) 一种共享充电桩交易系统、方法、设备及终端
CN113626876B (zh) 一种基于电网区块链的共识方法
Abou El Houda et al. Next-power: Next-generation framework for secure and sustainable energy trading in the metaverse
CN113448694A (zh) 一种提高事务处理能力的区块链共识方法
Li et al. Research on key technologies of P2P transaction in virtual power plant based on blockchain
Song et al. Reliable reputation review and secure energy transaction of microgrid community based on hybrid blockchain
Hou et al. Privacy-preserving energy trading using blockchain and zero knowledge proof
TWI819188B (zh) 用以決定或驗證位置之電腦實施系統及方法
Guo et al. A bike sharing system based on Blockchain platform
Wu et al. Blockchain consensus mechanism for distributed energy transactions
CN116248696A (zh) 基于数据隔离的区块链组网方法、装置、设备及存储介质
Wang et al. Sealed-bid auction scheme based on blockchain and secure multi-party computation
Sun et al. An efficient and secure trading framework for shared charging service based on multiple consortium blockchains

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 710071 Xi'an Electronic and Science University, 2 Taibai South Road, Shaanxi, Xi'an

Applicant after: XIDIAN University

Applicant after: Xi'an Lianrong Technology Co.,Ltd.

Address before: 710071 Xi'an Electronic and Science University, 2 Taibai South Road, Shaanxi, Xi'an

Applicant before: XIDIAN University

Applicant before: XI'AN XIDIAN LIANRONG TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant