基于區塊鏈的含安全約束分布式電力交易方法
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融媒體平臺