基于区块链的含安全约束分布式电力交易方法
3分布式电力交易合约设计
基于区块链的智能合约是实现区块链技术应用的关键,通过智能合约中定义的状态变量
( state variables)、结构类型( struct types)、函数( functions)、事件( event)等内容实现具体应用的开发。
本文设计的用于电力交易的智能合约按照时间 顺 序 可 以 分 为 4 个 阶 段 : 交 易 信 息 投 标 、P2P 交易、安全校核、交易清算。
买卖双方的信息在区块链智能合约中定义为结构体类型,包含:用户信息结构体( struct buyer、struct seller)、地址( address owner)、报价( uint price)、电量( int amount)、节点在网络中的位置(uint position)。
结构体 Buyer/Seller 通过映射( mapping)建立用户地址与信息的关系。
本文针对分布式电力市场交易流程的 4 个阶段设计了不同函数,具体函数如下。
3.1电力需求提交阶段
3.1.1标准设定函数(Standard)
由区块链上的成员(包括电网公司、充电站等)在新的交易周期开始前调用,用于设定/修改市场标准电价、以太币和交易平台支付货币Token 之间的汇率,市场电价具体数值一般以地方分时电价为准。以太币市场价格波动较大,因此本文选择基于以太坊的 ERC20 Token 作为支付货币,通过区块链成员在每个交易周期初期根据以太币与人民币的汇率修正以太币(单位为 eth, 以太币与人民币的汇率在 2018 年 10 月 15 日为1eth≈1 349 元)与 Token 的汇率,将充电站交易平台内 Token 的价格锚定在 1 元=100 Token,平抑以太币的价格波动。
3.1.2交易信息投标
本阶段包含买方预报价函数( BuyerAmount) 和卖方预报价函数(SellerAmount)。各个用户通过预报价函数提交交易,将用户欲购/售电量存入positionToamount[_position] 之中,与用户在电力网络中节点位置映射确定。在提交报价申请的同时需要提交一定的保证金。
用户提交的保证金主要用途有:
( 1)用于P2P 交易市场中,产消者之间电费的支付结算;
( 2)用于交割时段,产消者发用电量的保证。若生产者产出电能不符合交易时段结果,则保证金扣除。
3.2电力 P2P交易阶段
3.2.1报价排序
本阶段包括报价投标函数( blindBid)、报价排序函数(revealBid)和成交函数(bidSuccess)。
各个用户若想购/售电能,为了保证投标过程的安全公平,用户调用 blindBid 开展报价,该函数利用哈希函数将报价与自设字符串加密形成字符串。随后用户将调用 revealBid,提交 blindBid 中输入的报价、字符串以及欲购数量,由区块链核准,若和先前加密形成字符串一致,则投标成功并揭露报价,同时完成买/卖报价集合的排序;反之则用户投标失败并丧失保证金。
3.1.1P2P交易
本阶段包括限价交易函数、市价交易函数以及撤单函数。
(1))限价交易函数(LimitOrder)。若购/售方决定修改自身报价或者数量,可调用该函数修改报价、数量并向区块链发布限价订单。限价订单发布之后, 在 P2P交易结束之前,该订单可被其他产消者响应,并以限价订单设定的价格成交相应数量,直到成交数量达到限价订单设定数量时交易终止。订单响应后,矿工将通过智能合约函数运算完成交易结算转账,并修改交易双方交割时段充电权。
(2))市价交易函数(MarketOrder)。若购/售方决定按照当前市场最优价成交,则调用该函数,输入自身计划成交数量,由矿工执行智能合约函数逻辑,按照市场最优价为其匹配交易, 直到满足计划成交数量或者匹配完全、报价队列清空,交易终止。矿工同时完成结算转账并修改成交双方充电权,最后将所有相关信息在区块链上更新。
(3))撤单函数(DeleteOrder)。若购/售方决定退出交易市场,可调用该函数,清空自身报价队列中的报价信息。
3.1安全校核及修正
本阶段包括安全校核函数( securityCheck)及潮流修正函数(modify)。
通过 security Check 函数,得到无线路容量裕度下的潮流理论计算值,将其与线路容量裕度对比,反馈是否越限。随后调用 modify 函数对各条线路修正潮流,同时修正各中标用户可购/ 售电量。
3.2交易清算
本阶段包括交易结算函数( transSettlement), 用户通过该函数完成交易转账,由区块链确认结果,未支付的用户将无法取回保证金。
实际上,目前以太坊智能合约还存在无法主动执行、安全性较差等问题。因此本文在智能合约中添加了区块链行业开发中最常用的 safemath 库,防止数值计算溢出等安全问题,并使用函数修饰符限制相关函数操作权限,防止恶意调用等安全问题。随着智能合约技术的进一步完善和发展,基于以太坊智能合约的充电权多边交易方法也会随之完善和改进,实现安全性和高效性的协调统一。
4算例分析
为验证本文所述机制的有效性,本节在实验室环境下将考虑安全约束下的多边电力交易智能合约发布在以太坊私有链,模拟配网环境进行测试。其中配电网结构采用改进的 IEEE 33 节点配电系统。该配电系统中包含 9 个电力产消者,如图 2所示。
以买方市场为例,其中设定分布式供电(卖电)方为 1、2、10、22、24、28 号节点,用电(买电)方为 3、6、20 号节点,本文选择基于以太坊的 ERC20 Toke n 作为结算货币,单位为token。由于以太坊区块链本身计算性能有限,本算例只考虑电力系统有功功率平衡问题。报价与电量如表 1 所示,无线路容量约束条件下的结算如表 2、3所示。
由以上可知,在不考虑线路传输裕度的情况下,由报价低的售电投标节点优先供电,由报价最低的 1、24、10 向 3、6、20 节点售电,节点1 和 24 出售完全部的电量,节点 10 出售 0.71 kW·h 的电量满足购电用户的总需求,此时买卖双方所购售下个周期的电量均为 13.27 kW·h,可满足电量平衡,进而可满足配电网功率平衡。成交单价按照式(4)计算为 195 token/(kW·h)。配电网各支路传输容量裕度如表 4所示。
由表 4 及表 2 可知,线路 1—2 、3—2 4 存在潮流越限情况,需要修正。按照文中第 2 节潮流修正机制及第 3节智能合约功能对线路潮流修正,智能合约计算结果及 Matpower计算结果如表 5 所示,潮流修正后电力交易结算情况如表 6 所示。
由以上可知,在考虑线路传输裕度的情况下,节点售电数量受到线路裕度限制,修正潮流越限情况后, 1节点及 24节点分别出售 4.2kW·h、1.27 kW·h 电能,未能完全出售投标数量;10 节点出售了更多的电量,达到 1.23 kW·h; 22 节点和28 节点作为新的出售方,分别出售 2.96 kW·h、
3.61 kW·h 电能。此时买卖双方所购售下个周期的电量均为 13.27 kW·h,可满足电量平衡,进而满足配电网功率平衡。
通过在以太坊私有链上的仿真表明:(1)潮流越限情况下,成功实现了售电方的传输电能自调整;( 2)用户可在以太坊区块链上使用以太坊代币 Token 完成电力交易,该过程公开透明, 结算由智能合约自动完成,保证了安全性;
( 3)考虑安全约束下基于区块链的分布式电力交易智能合约可顺利完成交易投标、报价排序、安全校核及修正、交易清算等功能。
5结语
本文设计了“ 多买多卖,分布式电能交易” 去中心化的交易模型与机制,在以太坊区块链上,依托智能合约实现了配电网去中心化电能多边交易流程,并引入配电网的潮流约束限制条件,将理论进一步贴合实际应用。
区块链在分布式电力多边交易中的运用值得深入研究,后续可能的方向包括:基于区块链的分布式电力多边交易最优规模研究,适用于分布式电力交易的区块链共识机制设计等。
原标题:基于区块链的含安全约束分布式电力交易方法
责任编辑:叶雨田
-
5大重点任务11个重点细分 河北加快构建省级能源大数据中心
-
能源互联网注入数字经济新动能 电力大数据实现更多价值
2020-07-21能源互联网,电力大数据,电力企业 -
中国首个100%利用清洁能源运营的大数据产业园投运
2020-07-21清洁能源,清洁能源消纳,青海
-
探索大数据 区块链实现与能源互联网良好契合
2020-06-09区块链,电力行业,能源互联网 -
基于区块链的含安全约束分布式电力交易方法
-
区块链在能源交易与协同调度的应用前景:提升电力交易的自由度和实时响应效率
2019-11-04区块链在能源交易与协同
-
5大重点任务11个重点细分 河北加快构建省级能源大数据中心
-
中国首个100%利用清洁能源运营的大数据产业园投运
2020-07-21清洁能源,清洁能源消纳,青海 -
大数据产业园四处开花
2019-03-05大数据产业园
-
能源互联网注入数字经济新动能 电力大数据实现更多价值
2020-07-21能源互联网,电力大数据,电力企业 -
全国人大代表、贵州六盘水市市长李刚:借力大数据综合试验区 建设六盘水5G示范城
2020-05-27大数据,5G,电力,六盘水,物联网 -
融媒体平台建设及县域融媒体平台软件系统
2019-04-03融媒体平台