发明内容
有鉴于此,本发明提供了一种基于异步共识的电力交易撮合方法,能够基于区块链的网络分片、交易分片技术,通过构建信息异步共识机制,实现电力交易的实时撮合。
本发明提供了一种基于异步共识的电力交易撮合方法,包括:
对用户进行身份注册以及生成身份区块;
在业务办理时,对已完成注册的用户进行身份认证;
用户通过身份认证后,进行电能供/需申报量、供/需电能价格的加密提报;
基于预设的交易方式进行交易的撮合;
获取用户实际发/用电量数据以及用户申报量范围;
通过管理员节点、共识节点和验证节点将交易数据进行网络分片和交易分片,以及通过跨分片异步共识机制完成数据的高效、可信分享;
基于用户实际发/用电量与上一交易周期中标电量之间的偏差,进行交易结算。
优选地,所述对用户进行身份注册以及生成身份区块,包括:
在完成手机号码验证后,获取用户的基本身份信息和生物特征信息;
利用加密算法对所述基本身份信息和生物特征信息进行哈希运算,并将哈希运算结果传输至身份认证服务系统;
在所述身份认证服务系统基于所述哈希运算结果对身份信息进行核对通过时,完成用户身份注册并设置用户的初始信誉值;
在用户完成身份注册后,对基于用户的身份标识产生的公钥进行计算生成区块地址。
优选地,所述在业务办理时,对已完成注册的用户进行身份认证,包括:
获取用户登录名、用户移动端使用私钥对身份哈希的值、时间戳信息和实时身份签名值;
基于所述用户登录名、用户移动端使用私钥对身份哈希的值、时间戳信息和实时身份签名值生成实时身份二维码;
读取用户的实时身份二维码,并基于所述实时身份二维码进行身份认证。
优选地,所述用户通过身份认证后,进行电能供/需申报量、供/需电能价格的加密提报,包括:
获取用户输入的购/售电的申报量和密封报价;
判断申报量是否越限,若否,则:
全网广播密封报价;
获取用户公开报价;
判断公开报价与密封报价是否相等,若是,则:
进入交易撮合。
优选地,所述基于预设的交易方式进行交易的撮合,包括:
将用户置入购电/售电队列;
判断是否能够按交易规则撮合匹配,若是,则完成交易撮合。
一种基于异步共识的电力交易撮合系统,包括:
用户注册模块,用于对用户进行身份注册以及生成身份区块;
身份认证模块,用于在业务办理时,对已完成注册的用户进行身份认证;
主体报价模块,用于用户通过身份认证后,进行电能供/需申报量、供/需电能价格的加密提报;
交易撮合模块,用于基于预设的交易方式进行交易的撮合;
数据集成模块,用于获取用户实际发/用电量数据以及用户申报量范围;
数据处理模块,用于通过管理员节点、共识节点和验证节点将交易数据进行网络分片和交易分片,以及通过跨分片异步共识机制完成数据的高效、可信分享;
余量平衡模块,用于基于用户实际发/用电量与上一交易周期中标电量之间的偏差,进行交易结算。
优选地,所述用户注册模块具体用于:
在完成手机号码验证后,获取用户的基本身份信息和生物特征信息;
利用加密算法对所述基本身份信息和生物特征信息进行哈希运算,并将哈希运算结果传输至身份认证服务系统;
在所述身份认证服务系统基于所述哈希运算结果对身份信息进行核对通过时,完成用户身份注册并设置用户的初始信誉值;
在用户完成身份注册后,对基于用户的身份标识产生的公钥进行计算生成区块地址。
优选地,所述身份认证模块具体用于:
获取用户登录名、用户移动端使用私钥对身份哈希的值、时间戳信息和实时身份签名值;
基于所述用户登录名、用户移动端使用私钥对身份哈希的值、时间戳信息和实时身份签名值生成实时身份二维码;
读取用户的实时身份二维码,并基于所述实时身份二维码进行身份认证。
优选地,所述主体报价模块具体用于:
获取用户输入的购/售电的申报量和密封报价;
判断申报量是否越限,若否,则:
全网广播密封报价;
获取用户公开报价;
判断公开报价与密封报价是否相等,若是,则:
进入交易撮合。
优选地,所述交易撮合模块具体用于:
将用户置入购电/售电队列;
判断是否能够按交易规则撮合匹配,若是,则完成交易撮合。
综上所述,本发明公开了一种基于异步共识的电力交易撮合方法,首先对用户进行身份注册以及生成身份区块,然后在业务办理时,对已完成注册的用户进行身份认证;用户通过身份认证后,进行电能供/需申报量、供/需电能价格的加密提报;基于预设的交易方式进行交易的撮合,获取用户实际发/用电量数据以及用户申报量范围;通过管理员节点、共识节点和验证节点将交易数据进行网络分片和交易分片,以及通过跨分片异步共识机制完成数据的高效、可信分享;基于用户实际发/用电量与上一交易周期中标电量之间的偏差,进行交易结算。本发明能够基于区块链的网络分片、交易分片技术,通过构建信息异步共识机制,实现电力交易的实时撮合。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明公开的一种基于异步共识的电力交易撮合方法实施例1的方法流程图,所述方法可以包括以下步骤:
S101、对用户进行身份注册以及生成身份区块;
当需要完成电力交易撮合时,首先系统通过用户注册模块,获取用户的身份信息,系统考核用户的市场准入条件,对满足准入条件的用户,生成用户的身份凭证和初始信誉值。
具体的,如图2所示,用户在移动客户端或PC端注册时,采取手机动态口令验证手机号码的真实性。完成手机号码验证以后,用户填写基本身份信息ID t (包含姓名、企业名称、身份信息、企业证照信息等),同时,完成用户生物特征信息ID f (如人脸、指纹等)的获取,以及设置用户登录名ID 0 和登录口令P 0 。系统后台利用加密算法对文本信息和图片信息进行哈希运算,将H(ID t || ID f )传输至身份认证服务系统(包含公安系统对身份信息的认证以及工商机构对企业信息的认证),然后身份认证系统对身份信息进行核对,核对通过,用户完成系统的注册,同时系统设置用户的初始信誉值。
如图3所示,用户完成注册后,公安认证服务系统签发用户的身份标识tID(如eID、CTID等,根据系统对接的具体的认证服务系统有所不同,统一命名为tID)。用户通过ECDSA算法(在ECDSA算法中,有几个参数很重要:G—椭圆曲线的基点;n—相当于G基点的打点次数)产生公钥P A 和私钥d A 。其中,P A =[d A ]G=(x A ,y A ),将dA加密存储于用户本地,通过SM3短发对用户tID、身份信息、生物特征信息等进行哈希运算得到用户身份的哈希值H ID =H(tID|| ID t || ID f )。利用SM2签名算法对H ID 和注册时间戳T r 进行签名,设M 0 ={H ID ,T r },之后得到注册身份签名值SIG r =(r,s)。
基于区块链的分布式电力交易系统将消息M={P A, M 0, SIG r }发送至公安认证服务系统,公安认证服务系统计算用户的H ID ,通过P A 计算SIG r 。若验证通过,系统对P A 进行计算生成区块地址Addr,作为该用户的身份认证区块标识,同时在该区块中记录用户的H ID 、T r 和SIG r 。公安认证服务系统内部计算资源通过共识机制完成区块的生成。
S102、在业务办理时,对已完成注册的用户进行身份认证;
当用户需要进行电力交易报价等系统行为时,系统会启动身份认证模块,通过用户信息的数字摘要和公钥,进行信息解密,将用户现有信息与历史信息对比,实现用户的身份认证,保障电力交易的安全可信准入。
具体的,如图4所示,用户登录时,需要输入用户登录名
ID 0 、登录口令
P 0 以及上传生
物特征
ID f ,同时用户移动端会使用私钥d
A 对身份哈希
H ID 、时间戳信息T
ui进行实时签名,置
M i ={
H ID ,T ui },产生实时身份签名值
=(
r i ,s i )。系统根据
ID 0 、
H ID 、T
ui和
,产生实时
身份二维码
R i ,系统设置的二维码刷新时间为
t 0 (
t 0 为一个常数定值,如1min、2min、5min
等)。
身份认证模块通过读取用户的实时身份二维码
R i ,获取消息
。首先判断
R i 的时效性,如果当前时间
t c 与时间戳信息T
ui
差值小于
t 0 ,则
R i 时效性通过验证,系统进一步使用
P A 计算验证签名
。签名验证通过
后,计算
Addr,访问用户身份区块,对比
H ID 是否一致,计算验证
SIG r ,若验证通过,则用户身
份认证成功。
S103、用户通过身份认证后,进行电能供/需申报量、供/需电能价格的加密提报;
用户通过身份认证后,可在系统平台进行电能供/需申报量、供/需电能价格的加密提报,系统首先判断用户的申报量是否合规,如果合规且系统的申报时间截止,系统则自动进入交易撮合阶段。
具体的,如图5所示,用户通过身份认证后,需要输入自己的购/售电的申报量和密封报价,其中密封报价有用户真实报价v通过哈希加密生成P,即
。同时系统将对用户的申报量进行检验,若用户申报量超过其约束条件,在有效时间内需要重新申报需求,则跳过交易阶段,等本周期交易结束后,直接进入余量平衡模块。而对于满足申报量约束条件的用户申报信息,系统会将密封报价及对应的申报量进行网络广播。申报时间截止,完成主体报价的用户,系统会再次要求用户提报公开报价,若公开报价与之前网络广播的密封报价相等,系统则会进入交易撮合模块,否则等本周期交易结束后,直接进入余量平衡模块。
S104、基于预设的交易方式进行交易的撮合;
在交易撮合阶段,系统会将买方和卖方按照规则,排成两个序列,再通过马歇尔算法,进行交易撮合,同时系统设置了多种交易模式,包括边际统一出清、高低匹配出清等,各省级交易中心可按照本省的出清规定,在智能合约模块中选择相应的交易模式,启动电力智能化交易。
具体的,如图6所示,系统首先区分用户的售/购电类型,优先绿电。系统会将绿电售电需求按报价从低到高的顺序排列置入绿电售电队列,将绿电购电需求按报价从高到低的顺序置入绿电购电队列;同时,将非绿电交易需求的用户按上述规则再进行排序置入非绿电售/购电队列。当价格相同时,按照提交报价的时间和用户的信誉值综合进行排序。排序完成后,系统按照马歇尔算法完成购/售电双方的交易匹配。即在买方报价高于卖方报价的前提下,撮合最高价买方和最低价卖方,在撮合次高价买方和次低价卖方。以此类推,直到剩余所有买方报价低于卖方报价则本轮撮合结束。优先对绿电产消者进行撮合匹配,余下的产消者再置入非绿电售/购电队列,再按上述规则进行一轮交易。每次撮合的成交价格按照出清模式计算,若为高低匹配出清方式,则成交价格为交易双方的均价,若为边际统一出清方式,则成交价格为边际成交价。
S105、获取用户实际发/用电量数据以及用户申报量范围;
为实现精准结算,系统通过数据集成模块对接内网业务系统,一是完成用户实际发/用电量数据的采集;二是获取用户申报量的合理范围。其中,输入数据为:用户实际发/用电量数据、电网模型提供的用户申报量合理范围;输出数据为:实际发/用电量数据输出给余量平衡模块,用户申报量合理范围输出给主体报价模块。
系统使用Web前端、Js后端和Python后端技术,同时为了保证网络信息安全,网络链路中设置防火墙、隔离装置,实现电能信息、申报量信息的读取和传输,并参与市场交易。其网络架构如图7所示。
S106、通过管理员节点、共识节点和验证节点将交易数据进行网络分片和交易分片,以及通过跨分片异步共识机制完成数据的高效、可信分享;
然后通过数据处理模块完成系统数据的处理以及系统所处联盟链节点间共识数据的处理。(输入数据:包含用户的身份信息、电力交易信息相关信息、数据集成模块获取的业务系统及模型信息等;输出数据:需要与联盟链上其他节点共识的数据,包含身份区块、申报信息、交易撮合结果信息等。)其中:
管理员节点:该节点主要服务于分片间的通信,用来进行消息的传递。本模型引入基于信誉的投票机制,为节点设置信誉值和信誉等级,通过在所有分片上选择最终票数高的节点作为分片管理员节点。同时,分片管理员节点定期进行更新。
共识节点:分片的管理员节点随机选择
个分片,加上本分片的主节点,
构建一个分片逐节点集合,该集合内除了管理员节点外的节点,称之为共识节点。
验证节点:每个分片初始运作时,投票选择性能优秀的
个节点作为
验证节点,验证节点通过PBFT共识算法来验证分片内的交易是否满足分片一致性。
系统将需要处理的交易数据进行网络分片和交易分片,为防止双花交易风险,系统建立了跨分片间的异步共识机制。建立分片管理员节点来协调跨分片的通信,同时结合节点信誉动态选举管理员节点,保证系统的安全可信性,通过管理员节点和共识节点完成分片间信息的异步共识,从而提升系统共识的可靠性、安全性,以及共识效率。其原理如图8所示。
具体的,系统依据交易处理数据的不同,设置两种异步共识机制,一种是时间异步:管理员节点通过分析数据处理流量压力,形成动态策略,生成相应的共识节点共识顺序列表,再按照列表顺序,将需要共识的数据发送至缓存队列,最后将缓存队列中的共识数据发送给对应的共识节点,在发送缓冲数据过程中,可依据系统需要,处理优先级更高的事件,共识节点收到数据后,对数据进行校验,若为重复数据则进行丢包处理,否则将共识数据进行片内共识;一种是事件异步处理,由节点的不同权限和管辖数据的不同,分别设置不同的节点处理整个交易数据中的部分内容,再将相关节点处理的结果汇集到管理员节点,由管理员节点完成更上一层结果的处理。异步共识处理可以显著减少线程等待,从而在高吞吐量的电力交易场景中,极大提升系统的整体性能,显著降低时延,提升用户体验。
S107、基于用户实际发/用电量与上一交易周期中标电量之间的偏差,进行交易结算。
然后,通过余量平衡模块根据数据集成模块采集到的电表实际电量与用户在上一交易周期中标电量之间的偏差,进行交易结算。(输入数据:用户实际发/用电量数据以及用户中标电量;输出数据:用户实际发/用电量与中标电量偏差的结算数据。)
对于消费者来说,当消费者实际消耗电量小于交易电量时,则不对其进行退款;当消费者实际消耗电量多于交易电量时,则消费者需要从电网购电以满足电量消耗需求。考虑预测误差时,单个消费者平衡支出H为:
其中:Cb为电网买入电价;△W为消费者的预测偏差,△W<0表示实际耗电量小于预测值,反之则大于预测值。
对于生产者来说,当生产者实际发出电量多于交易电量时,则其与电网交易多余电量;而当生产者实际发出电量小于交易电量时,则需要从电网购买电量以弥补自身出力不足。单个生产者的平衡支出F为:
其中:Cs为电网售电价格;△Q为生产者的预测偏差,△Q<0表示实际发电量小于预测值,反之则大于预测值。
具体的,本发明还可以进一步通过考评奖惩模块对参与节点/用户的行为进行评价,依据用户申报量准确度以及用户操作行为、履约情况进行综合考量。(输入数据:节点/用户在上一轮交易验证中,节点的验证结果以及交易最终的验证结果;输出数据:节点/用户的信誉值)。
对于申报数量准确度更高,用户履约良好的用户,可以奖励一定数量的信誉值,信誉值最高为100,用户初始信誉值为60;对于申报数量准确度较低,或者出现不良履约行为的用户,系统会扣除一定数量的信誉值。当用户信誉值低于50时,系统将收回用户的操作权限。系统在每一轮交易验证结束后,会全网广播各节点的信誉值。
每个节点的信誉值的计算公式如下:
V i = V 0 + Vr i ×T i (3)
其中: V i 表示第i个节点的当前信誉值,V 0 表示第i个节点的初始信誉值,Vr i 表示第i个节点验证交易所获得的奖励或惩罚,T i 表示相应的惩罚或奖励的次数。
综上所述,本发明利用电子签名技术,实现了系统用户的注册认证;其次,通过数字摘要,保证了交易主体报价的隐私性、可信性和安全性,兼备分布式存储技术,满足了海量数据的高频次、高性能存储访问需求,为分布式电力交易市场的高效、有序运行提供了技术支撑;再次,结合马歇尔算法,设计了高低匹配出清和边际统一出清两种机制,兼容多省的电力交易出清模式,实现了交易双方点对点交易的撮合,提升了交易撮合效率,同时借助于电网模型的安全考核运算,对市场交易结果进行规范,兜底电网安全运行;从次,利用智能合约机制,设计了交易触发条件及执行流程,减少了人为执行操作的弊端,保证了交易结算的可信性和高效性;最后,通过建立合理的奖惩机制,可促进可再生能源电力消纳,构建竞争有序的市场交易模式,对外提供可信交易信息,方便透明监管。
如图9所示,为本发明公开的一种基于异步共识的电力交易撮合系统实施例的结构示意图,所述系统可以包括:
用户注册模块901,用于对用户进行身份注册以及生成身份区块;
身份认证模块902,用于在业务办理时,对已完成注册的用户进行身份认证;
主体报价模块903,用于用户通过身份认证后,进行电能供/需申报量、供/需电能价格的加密提报;
交易撮合模块904,用于基于预设的交易方式进行交易的撮合;
数据集成模块905,用于获取用户实际发/用电量数据以及用户申报量范围;
数据处理模块906,用于通过管理员节点、共识节点和验证节点将交易数据进行网络分片和交易分片,以及通过跨分片异步共识机制完成数据的高效、可信分享;
余量平衡模块907,用于基于用户实际发/用电量与上一交易周期中标电量之间的偏差,进行交易结算。
本实施例公开的基于异步共识的电力交易撮合系统的工作原理与上述基于异步共识的电力交易撮合方法实施例的工作原理相同,在此不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。