| 氢云链 |
1 概述
进入21世纪以来,电力市场化改革已成为我国电力行业发展的主要趋势。虽然目前我国已成功 实现了“政企分开、厂网分开、主辅分开”,在发 电侧构建了竞争态势,但售电侧的市场还未完全开放。因此,还需要进一步深入对售电侧的市场化改革。根据中共中央、国务院发布的《关于进一步深化电力体制改革的若干意见》,“未来参与电力市场交易的发电企业上网电价由用户或售电主体与发电企业通过协商、市场竞价等方式自主确定”。然而在现有的由电力交易中心集中管理电力交易 的模式下,很难实现真正自由开放的电力市场交易。此外,随着电力交易市场开放程度的深入,将吸纳更多交易主体的加入,交易量会随之不断增长,交 易类型也将不断丰富,这对现有交易系统的稳定性也提出了更为严峻的挑战。区块链技术作为一种新 型的分布式数据处理技术,已经被广泛应用于金融等其他领域,并在能源交易领域体现出了巨大的应用潜力。当前,已经有多个 P2P 能源交易项目进入试点应用阶段,例如 LO3 Energy 公司在纽约布鲁克林建立的基于区块链技术的微电网试点项目等。这 些项目的成功说明了基于区块链实现分布式电力交易具有较强的可能性。但是传统的区块链交易仅兼容点对点的直接电力交易,无法支持复杂的电力交易形式(例如,竞价交易等);而基于智能合约虽然可以实现复杂的电力市场交易,但其可能存在未知的漏洞或攻击,因此无法保证电力交易的安全性。
为了解决上述问题,本文在区块链技术的基础上,结合有序聚合签名及保序加密技术,提出了一种安全且高效的电力竞价交易算法。该算法可以被 嵌入到主流的区块链系统中实现可支持多种交易 方式的电力交易系统。
2 背景知识
2.1 区块链技术
区块链技术可以在分布式场景中为彼此互不信任的参与实体之间建立信任,具有去中心化、公开透明、可追溯、不可伪造等性质。区块链系统由分布式节点共同维护,并由这些节点根据共识算法控制区块链的写入进程。
数字签名是一种常用的密码原语,主要涉及签名者和验证者两个实体:签名者首先生成公私钥对;然后调用签名算法对消息生成签名,并将公 钥、消息及签名发送给验证者;验证者调用验签算法对签名进行验证。安全的数字签名算法可以保证签名消息的完整性,实现对签名者的身份认证并防止交易中的抵赖发生。区块链则是基于数字签名实现了安全的货币交易。图1展示了A到B和B到C两笔区块链交易(即第i−1笔和第 i 笔交易)。
图1 基于数字签名的区块链交易
如图 1 所示,交易通过哈希值链接形成交易链。当前交易的发起者利用自己的私钥对前一笔交易 的哈希值、交易接收者的公钥和交易金额生成签名。其中前一笔交易的交易接收者应当为当前发起者。交易接收者及验证者只需利用前一笔交易中规定 的交易接收者的公钥对该签名进行验证即可,若验 证通过且两笔交易的交易金额满足限制条件则说 明新交易有效。根据数字签名的不可伪造性,只有 拥有相应私钥的实体才可生成合法的签名。因此可以确保该笔交易的真实性。因为所有的交易都被记 录在区块链中,交易接收者及验证者均可以通过哈 希值追溯到与当前交易相关的所有历史交易,进而 结合合理的校验机制确保交易的合法性,避免伪造 假币及双重支付等恶意行为的发生。
2.2 有序聚合签名
聚合签名是一种特殊的数字签名,不同的签名者分别对不同的消息生成的签名可以被聚合成一个整体签名,而验证者只需对聚合后的签名进行 验证即可。如果验证通过,则可以确信该聚合签名是由这些签名者合法生成的。相较于传统的数字签名,聚合签名具有更少的通信开销且验证更为高效。有序聚合签名是一类特殊的聚合签名。其不仅可以验证签名是由某些签名者合法生成的,还可以验证消息的签名顺序。
有序聚合签名是由不同的签名者依照顺序对不同的消息生成的,验证者只需对最后生成的聚合 签名进行验证即可。其主要包含以下算法:
1) 系统建立 Setup(𝜆):当输入一个安全参数𝜆时,此 算法将输出一个公共参数串𝑃𝑃。
2) 密钥生成𝐾𝑒𝑦𝐺𝑒𝑛(𝑃𝑃): 当输入一个公共参数串 𝑃𝑃时,此算法将输出一对公私钥(𝑃𝐾,𝑆𝐾)。
3) 聚合签名𝐴𝑔𝑔𝑆𝑖𝑔(𝑀 ̅,𝜎𝑚,𝑃𝐾 ̅̅̅̅,𝑀𝑚+1,𝑆𝐾𝑚+1,𝑃𝑃): 当输入一个消息串𝑀 ̅ = (𝑀1,…,𝑀𝑚)和它们的聚合签名𝜎𝑚以及公钥串𝑃𝐾 ̅̅̅̅ = (𝑃𝐾1,…,𝑃𝐾𝑚),以及 需要聚合的新消息𝑀𝑚+1、私钥𝑆𝐾𝑚+1和公共参 数串𝑃𝑃时,此算法将输出一个新的签名𝜎𝑚+1。当此算法被第一次调用时, (𝑀 ̅,𝜎𝑚,𝑃𝐾 ̅̅̅̅)均为空 字符串,下文记为 “−”。
4) 聚合验签𝐴𝑔𝑔𝑉𝑟𝑓𝑦(𝑀 ̅,𝜎𝑛,𝑃𝐾 ̅̅̅̅,𝑃𝑃):当输入一个 消息串𝑀 ̅ = (𝑀1,…,𝑀𝑛)和它们的聚合签名𝜎𝑛以 及公钥串𝑃𝐾 ̅̅̅̅ = (𝑃𝐾1,…,𝑃𝐾𝑛)以及公共参数串 𝑃𝑃时,此算法将输出 1 或者 0 表示签名有效或 无效。
2.3 保序加密
保序加密是一种特殊的加密技术,指密文保留了明文原有的顺序。因此, 基于该技术可以实现在密文空间上高效地进行顺序查询操作。考虑对称 形式的保序加密,主要包含以下三个算法:
1) 密钥生成𝐺𝑒𝑛(𝜆): 当输入一个安全参数𝜆时,此算法将输出一个私钥𝐾。
2) 加密𝐸𝑛𝑐(𝐾,𝑀): 当输入私钥𝐾及明文𝑀时,此算 法将输出一个密文𝐶。
3) 解密𝐷𝑒𝑐(𝐾,𝐶):当输入私钥𝐾及一个密文𝐶时,此 算法将输出一个明文𝑀。
3 电力竞价交易系统
在当前的电力市场中,电力用户可直接与发电企业交易,其形式主要包括双边交易、集中撮合式交易、集中竞价交易。其中双边交易指电力用户 与发电企业可直接沟通并确定交易意向,或公布本体交易意愿并从中选择确定交易对象,并由电力调度中心进行安全校核,只有满足电网安全约束条件的交易才可成功达成;集中撮合式交易指多个电力用户与发电企业各自申报购、售电意愿,由交易中心根据各方申报意愿,综合考虑各种因素并按一定机制匹配交易;集中竞价交易在各方填报意愿之后 采用统一边际出清电价机制达成交易。在集中撮合式交易及竞价交易形式中,交易中心扮演了不容忽视的角色。然而,基于交易中心的集中式电力交易不仅效率低下,还无法满足用户公平、自由的电力交易需求,不利于真正实现电力交易的市场化。
区块链技术天然具有剔除交易中心、实现分布式电力交易的优势。但当前的区块链交易形式仅适用于电力用户与发电企业之间通过协商定价进行 点对点直接交易,无法实现复杂的市场竞价交易模式;而已有的可实现复杂电力市场交易的方案大多都是基于智能合约的。虽然智能合约具有去中心化、可编程、不可篡改等诸多优势,但是当前智能合约技术自身的发展还并不成熟,存在许多潜在的安全威胁。因此,基于智能合约实现的电力市场交易的安全性是无法保证的。本文基于区块链、有序聚合签名及保序加密技术,提出了一个安全且高效的电力竞价交易算法,可以支持更为复杂的电力交易方式。
3.1 系统模型
系统运行于由三个或以上的节点服务器运行区块链协议而搭建的区块链网络之上,这些节点服务器需要对所有的电力交易进行验证及记录。参与 电力交易的角色包括发电企业及用电客户,其中发电企业为用户提供电力。
因为电力具有难以存储的特性,本文主要考虑预售交易,即用电客户或发电企业事先发布用电需求信息或生产计划,然后由其他实体进行响应。这样的一次交易达成之后,实际上是对未来某段时间 内的电力明确了发电权及用电权的归属。采用与图1相同的方式可实现发电权或用电权的多次转让。
发电企业及用电客户均通过与区块链网络的交互发起一笔交易或者对一笔交易进行响应,由此建立交易双方的联系,如图 2 所示。
3.2 核心算法
方案实现电力竞价交易的核心思想为:由交易发起者首先给出出价信息(例如,用电需求及期望价格等)并附上聚合签名,交易接收者如果接受出价,则可以通过在该聚合签名的基础上生成新的聚合签名的方式使交易达成。基于最终的聚合签名, 可以对交易过程(顺序)和内容进行验证,从而保证任何敌手(甚至是交易参与方)均不能伪造合法的交易记录。针对同一个出价信息,系统内可能存在多个实体进行响应,系统应当按照价高/低者优先(甚至更为复杂)的规则进行记录。但是价格作为 竞价交易中的敏感元素,应当对节点服务器保密。 为了保护数据隐私并保证节点服务器仍然可以对 价格进行比较,采取对价格进行保序加密的方式。因此,方案依赖的底层密码算法包括保序加密算法 OPE(Gen,Enc,Dec) 、有序聚合签名算法 SAS(Setup,KeyGen,AggSig,AggVrfy) 及哈希算法 Hash(其作用是将任意长度的消息映射到签名算法 的消息空间内)。
为了便于描述,首先介绍如下记号:
3.2.1 系统建立
在系统建立阶段,需要:
1)搭建运行环境 完成区块链参数设置,选取至少三个节点服务器,并在节点服务器之间运行区块链协议。
2)生成公共参数串调用SAS.Setup(𝜆)算法生成公共参数串𝑃𝑃。
3)实体准入任意希望加入系统的交易实体:
① 首先调用SAS.KeyGen(𝑃𝑃)算法生成的签名公钥 𝑃𝐾和私钥𝑆𝐾;
② 向系统提供身份信息(例如标识企业的工商和 营业账号、税号和对公银行账号等信息,或标识 个人的身份证号、电话等信息)及签名公钥𝑃𝐾;
③ 在相关部门审核(可离线)通过后,会为其颁 发准入凭证。
3.2.2 交易建立
为实现发电企业与用电客户之间的电力竞价交 易,首先介绍以下四个算法:
一次完整的竞价交易包含出价及应价两个子交易,其中出价者记为竞价交易发起者,应价者记为竞价交易响应者。允许存在多个响应者,节点服 务器会以价格对比结果及是否满足电网安全阻塞条件作为判断依据从中选出最优的应价交易记入 区块链中。由此出价交易及选中的应价交易共同构成了一笔成功的竞价交易。 基于以上四个算法实现电力竞价交易的算法流程如图 3 所示:
图3 电力竞价交易算法流程
1) 竞价交易发起者(用电客户或发电公司)首先给 出出价信息 𝑀𝐼及出价𝑡𝐼,其中出价信息为用电 需求信息(包含用电地址及时间段、应价截止 时间等信息)或者生产计划信息(包括供电区域及时间段、应价截止时间等信息);然后输入 自己的公私钥对(𝑃𝐾𝐼,𝑆𝐾𝐼)调用出价交易生成算法生成(𝑡𝑖𝑑,𝐾,𝐶𝐼,𝜎𝐼);最后将(𝑡𝑖𝑑,𝑃𝐾𝐼,𝐶𝐼,𝑀𝐼,𝜎𝐼) 发送到区块链网络中并将𝐾发送给其希望应价的所有实体。
2) 节点服务器在收到发送到网络中的出价交易之 后,会调用出价交易验证算法。如果输出结果为 1,则将交易记入区块链中,并允许其他实体 (发电公司或用电客户)访问;否则,该交易无效。此外,对每一个有效的出价交易初始化 一个空集合 𝑆𝑡𝑖𝑑,其中𝑡𝑖𝑑为该笔交易的唯一标识符。
3) 在第一步中收到𝐾的实体可以通过访问区块链的方式获取出价信息,给出相应的应价信息𝑀𝑅 和应价 𝑡𝑅;然后调用应价交易生成算法生成 (𝐶𝑅,𝜎𝑅);最后将(𝑡𝑖𝑑,𝑃𝐾𝐼,𝑃𝐾𝑅,𝐶𝐼,𝑀𝐼,𝐶𝑅,𝑀𝑅,𝜎𝑅) 发送到区块链网络中。
4) 节点服务器在收到发送到区块链网络中应价交易之后,调用出价交易验证算法对交易进行验证并得到最终的交易集合。
5) 在应价截止时间达到之后,𝑆𝑡𝑖𝑑中包含了与𝑡𝑖𝑑标识的交易相关的所有有效的应价交易;节点服务器将所有的密文𝐶𝑅与𝐶𝐼进行比较,得到所有比 𝐶𝐼大(或小)的交易排序;寻找满足电网安全阻塞条件的最大(或最小)的交易,并在区块链中记录该笔交易。若不存在满足上述条件的交易,则终止。
备注:因为所有成交交易均被记录到区块链中。若存在某一方违约,则可以结合相应的信用管理机 制对违约者进行降低信用评分的处理。一旦某个实 体的信用评分过低,则可以限制其交易行为。
4 性能评估 分别采用
Neven04方案、LXY+16方案及 SHA3 算法对底层的有序聚合签名、保序加密及哈 希算法进行实例化。并在 Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz 机器上分别对提出的四个核心算法进行了实现。特别地,Neven04 方案的实现基于 Miracle 库𝑦2 = 𝑥3 +𝑎𝑥 +𝑏 𝑚𝑜𝑑 𝑝 椭圆曲线, 安全级别为80比特。表2为测试 5000 次得到的算法的平均运行时间:
从上表中可知新提出的算法十分高效。而基于上述算法实现的电力竞价交易系统中,一笔交易的两个参与者实际只需要各调用1次出价及应价交易生成算法。而主力节点需要对系统内部的所有交易进行验证,其中出价交易验证算法的调用次数与当前时间段内同时发起的出价交易次数相关,而应价 交易验证算法的调用次数与当前时间段内的出价交易及应价交易次数的乘积相关。
假设在一个时间片段内(即,交易发起与截至时间间隔内),针对一笔出价交易发起了 x 笔应价交易,则在仅有一个主力节点时,交易达成时间约 为 4.8+5.0x+ t𝑥 (us),其中 t𝑥 为规模为 x 的排序时 间。采取快速排序算法得到如下图所示的运行时间 趋势,其中横轴为 x 的取值,纵轴为节点运行时间, 单位为毫秒。
图4. 运行时间随交易数量的变化
从图 4 可以看出,节点运行时间与应价交易的 数量呈线性相关的关系。特别地,因为每笔应价交 易的验证是彼此独立的,所以可以采取多节点分布 式交易验证的方式提升系统运行速度:设置多个节点服务器及一个负载均衡服务器;当有交易提交到区块链网络中时,由负载均衡服务器向节点服务器分配交易验证任务;每个节点验证自己负责的所有 应价交易,并将验证结果发送到其他节点处;最终由记账节点(即由共识算法决定的节点)就所有验证通过的交易进行排序对比,并记录最终达成的交易。在此过程中,所有提交的交易及最终达成的交 易都被记录到区块链中,并在每个节点处都存储一个备份。此外,本文仅在普通的台式机上进行了时 间测试,若主力节点部署在高性能的服务器上时, 该时间将大幅度降低。因此,本方案可以被高效地嵌入主流的区块链系统中以实现电力交易系统。
5 结束语
在电力体制改革的大背景下,区块链技术在构建点对点分布式电力交易上具有巨大的优势。然而电力交易市场下的交易形式是复杂且多样的,仅支持点对点的直接电力交易还无法满足需求。为了进一步深化区块链技术在电力市场交易中的应用,提出了一种新的结合有序聚合签名技术及保序加密 技术实现电力竞价交易的系统。基于该方案,不仅可以剔除传统的电力交易中心职能,构建点对点的 直接电力交易,使买卖双方还可以自发地进行竞价交易。相较于其他基于区块链的电力交易方法,更 加提升了交易的安全性及可靠性。从实验结果来看, 提出的方案较为高效,可以达到实用的目的。下一 步的工作重点是将提出的算法嵌入到比特币、以太坊等实际的区块链系统中实现电力交易系统, 解决实际应用带来的新挑战。
编辑:陈丹 校对:杨东川 审核:杨东川
来源:《计算机工程》,中国南方电网有限责任公司,衡星辰,氢云链整理
注:文内信息仅为提供分享交流渠道,不代表本公众号观点
欢迎扫码加入氢云链交流群
文章推荐
探索沃尔沃XC60:豪华SUV中的安全典范 传祺gs4雾灯在哪开 传祺gs4倒车灯型号 比亚迪元用什么机油好 gs4空调滤芯怎么换 gs4自动空调怎么用 传祺gs4水箱在哪里 广汽gs4传祺换车门 传祺gs4仪表盘图标 传祺gs4雨刷怎么用最新文章
探索沃尔沃XC60:豪华SUV中的安全典范 传祺gs4雾灯在哪开 传祺gs4倒车灯型号 比亚迪元用什么机油好 gs4空调滤芯怎么换 gs4自动空调怎么用 传祺gs4水箱在哪里 广汽gs4传祺换车门 传祺gs4仪表盘图标 传祺gs4雨刷怎么用