周強,張良
(1.綿陽職業(yè)技術學院信息工程系,四川 綿陽 621000;2.西南科技大學信息工程學院,四川 綿陽 621000)
伴隨經濟飛速發(fā)展,各類電氣化應用在各行各業(yè)不斷豐富和普及,用電的需求量隨之加劇。微電網[1]能夠有效解決單純拓張電網規(guī)模的方式所帶來的運維難度高、成本開銷大的難題,并將環(huán)保、高效、可靠和靈活的分布化可再生能源融入大電網。此外,微電網作為集分布化的負荷與發(fā)電為一體的小型發(fā)配電體系,能夠有效地規(guī)避集中供電運維開銷大、受到黑客攻擊或出現故障時所帶來的大面積系統(tǒng)癱瘓、信息透明度和能源利用率低的問題。
傳統(tǒng)的電力交易模式采用集中化[2]的方式,即設定單一的機構完成交易的過程,這種電力交易模式往往存在交易壓力大、管理機制缺乏監(jiān)督等問題。此外,新能源供電不同于傳統(tǒng)長期發(fā)電交易固定的特點,存在發(fā)電的不確定性和分時交易的特點。而隨著微電網的大力發(fā)展,國家鼓勵端到端(peer to peer,P2P)的微網用戶內部交易模式,即采用電力交易的主體和電力交易機制多元化交易模式能夠最大程度地削減電能的損失,從而實現降低成本的目的,并減弱對大電網存在的依賴性。區(qū)塊鏈[3]具有去中心化、開放性、透明性和對等性的特點,該技術存在特殊的鏈式存儲結構,并具備智能合約等應用,可保障電力交易各主體的信任度,并最大程度地減少重建或維持信任的成本。在電力交易過程中選用密碼學原理,可保證交易數據的完整度、難篡改性和契約度。國內外學者對區(qū)塊鏈技術融入電能交易展開了探索,Aitzhan[4]提出采用區(qū)塊鏈技術解決分布式電力交易的安全性問題,并完成了模擬評估;Munsing[5]則結合智能合約策略設計了P2P微電網能源交易架構;國內學者王輝[6]在配電網電能交易中引入了去中心化思想,構建了去中心化交易方式;王健[7]則具體研究了區(qū)塊鏈科技在電能交易進程中的數據流程。
本文針對微網P2P電能的交易特征提出了一種多鏈式能源區(qū)塊鏈工作模式,并基于該工作模式設計了一種多鏈式能源區(qū)塊鏈結構下的動態(tài)分區(qū)算法,對優(yōu)化微網P2P電能交易具有重要的意義。
區(qū)塊鏈的基本層如圖1所示,包含了數據、網絡、共識、激勵與應用五層。其中,數據層位于區(qū)塊鏈的最底端,并采用Merkel樹的架構保存了全部數據,在區(qū)塊構建的進程中加入了數字加密與時間戳策略。網絡層包含了各連通節(jié)點與交互的P2P網絡。共識層則實現達成節(jié)點的共識。應用層給該技術的各類實際運用場景提供操作系統(tǒng),尤其是在智能合約拓展功能后,為編碼運用提供了設計體系。
圖1 區(qū)塊鏈的基本層Fig.1 The basic layer of the blockchain
微電網系統(tǒng)的各個節(jié)點均保存在一個完整的區(qū)塊鏈中,其數據架構存在高分散與冗余度,當系統(tǒng)被少量節(jié)點所攻擊時,系統(tǒng)可以保持穩(wěn)定性。區(qū)塊鏈中的各個區(qū)塊均記載了某時間中所有節(jié)點的交易數據,這些數據都通過Hash計算[8]并采用Merkle樹的形式構成新的區(qū)塊,并在數據的區(qū)頭加入時間戳,依據先后順序連接,使得數據能夠溯源,從而提升信息偽造難度水平,保證數據可信程度。并將不對稱加密策略融入區(qū)塊鏈中,使得數據無法篡改,用戶隱私得以保障。區(qū)塊鏈架構與連接模式如圖2、圖3所示。
圖2 區(qū)塊鏈的架構Fig.2 The architecture of blockchain
圖3 區(qū)塊鏈的連接模式Fig.3 The connection mode of blockchain
發(fā)用電量權益機制(proof of power generation consumption,PPGC)是一種與能源區(qū)塊鏈相適應的機制。在實際的電力系統(tǒng)中所流通的電能,被利用后即會寫入到能源區(qū)塊鏈之中,并且無法篡改,并作為使用者的權益證明。
本文將電力系統(tǒng)中所流通的電能視為隱形代幣,并假設電網的各方均占用了大部分隱形代幣。
PPGC機制應滿足三點假設:1)維持微電網穩(wěn)定運行的要求,與實際流通電能成正比;2)分布化電能應在局部電力交易中被消費;3)局部電力交易中的各節(jié)點應實現弱同步。
相同的供電網絡中,若分區(qū)數目增多,所包含的能源區(qū)塊鏈[9]數目也相應增加。而區(qū)塊鏈僅需要在小范圍內完成傳播,單個區(qū)塊所包含的交易數目并不能滿足需求,隨著交易數量的增加,需要設置更多區(qū)塊才能夠完成交易,而這又將消耗更多的時間,從而減慢交易速度。采用多鏈式能源區(qū)塊鏈結構下的動態(tài)分區(qū)算法可保證每秒所完成的交易數目,從而實現去中心化。
2.1.1 能源區(qū)塊鏈的去中心化約束
為減弱去中心化帶來的風險,本文引入基尼參數K完成PPGC機制下的能源區(qū)塊鏈去中心化狀態(tài)分析?;釁礙能夠估測各個節(jié)點占據該機制比值的均衡水平,如下式所示:
式中:m為能源區(qū)塊鏈中的待選記賬員總數目;η為待選記賬員PPGC機制的均值;ui,uj分別為能源區(qū)塊鏈中的待選記賬員所擁有的PPGC機制的總權益和權益。
2.1.2 能源區(qū)塊鏈的可延展約束
能源區(qū)塊鏈在端到端網絡中的傳播進程為具備記賬權限的節(jié)點對其他能源區(qū)塊廣播生成新的區(qū)塊,各個節(jié)點不斷校驗內容并完成轉發(fā),如圖4所示。
圖4 多鏈式能源區(qū)塊鏈P2P傳播模型Fig.4 Propagation model of multi-chain energy blockchain P2P
記賬節(jié)點a朝周邊節(jié)點傳送區(qū)塊所需要的時間ta1如下式所示:
式中:n為發(fā)送節(jié)點所構建P2P網絡的周邊節(jié)點數目;V為區(qū)塊容量;D為帶寬。
利用節(jié)點校驗后,讓區(qū)塊第二次轉發(fā),則校驗所花費的時長如下所示:
式中:g為校驗所花費的比例參數。
因此,記賬節(jié)點a朝周邊節(jié)點傳送單獨區(qū)塊所花費的時間ta如下所示:
t(n+1)表示記賬節(jié)點a向周邊n+1節(jié)點傳送單獨區(qū)塊所花費的時間,記賬節(jié)點a朝P2P網絡中n+1區(qū)塊傳播所需要的總時長tsum如下所示:
網絡拓撲關聯往往對區(qū)塊傳播時長的影響很大,所以應利用仿真測算傳播時間與節(jié)點數目關聯完成近似解析,從而估測單個區(qū)塊傳播網絡所需要的時長。通常而言,衡量區(qū)塊鏈的延展性采用單位時間完成交易數Os進行評估,如下式:
而側鏈交易應滿足多個區(qū)塊。
假設實現側鏈交易的區(qū)塊數目為e,則可利用計算e個區(qū)塊內所實現的交易數目P,并結合所求得時間t獲得Os來衡量區(qū)塊的可拓展性。
式中:Ωe為某側鏈區(qū)塊鏈中的記賬候選者的組合;ra為單次交易的字節(jié)大小;R為某個區(qū)塊的字節(jié)大??;Bu為側鏈交易占據總交易的比值;emin為進行側鏈交易的最小區(qū)塊數目。
本文提出的多鏈式能源區(qū)塊鏈結構下的動態(tài)分區(qū)算法應滿足去中心化標準[10]即基尼參數小于給定值的條件,此外也應滿足可延展性指標。該算法依據區(qū)塊鏈節(jié)點的電網電氣關聯、電能交易頻率和各個區(qū)塊鏈節(jié)點的PPGC機制,實現分區(qū)優(yōu)化。即將供電網絡的終端使用者視為葉子節(jié)點,進而針對葉子節(jié)點完成劃分。本文算法可完成空間內組合的遍歷,找到不同電能交易頻率的節(jié)點分配區(qū)域區(qū)塊鏈的最優(yōu)解。
多鏈式能源區(qū)塊鏈結構下的動態(tài)分區(qū)算法的目標解析式為最大化單位時間完成交易總數O′s:
式中:ΩE為某配電網絡中的區(qū)塊鏈的組合;Osx為第x個側鏈上的交易均值。
算法還應當滿足基尼參數約束條件:
式中:Ki為某側鏈區(qū)塊鏈的基尼參數;Kmax為基尼參數的上限結果。
多鏈式能源區(qū)塊鏈結構下的動態(tài)分區(qū)算法的整體思路即設定兩個矩陣分別保存電力交易的相關數據和區(qū)塊鏈節(jié)點間的連接模式,并采用多鏈式能源區(qū)塊鏈結構下的動態(tài)分區(qū)算法將不同電能交易頻率的節(jié)點分配到不同的區(qū)域區(qū)塊鏈內,在滿足去中心化約束和可延展性約束的基礎上,可實現最大化單位時間完成交易總數O′s。
根據電能交易頻率對能源區(qū)塊鏈進行分區(qū)調整的方式如下,設定分區(qū)數為e,采用陣列V表示葉子節(jié)點間的電氣連接模式,節(jié)點之間在周期T的電能交易量表示為VP,周期T內的各葉子節(jié)點的電能交易總量為P。
本文算法的具體步驟如下:
1)首先輸入葉子節(jié)點間的電氣連接模式陣列V;
2)采用隨機函數初始化分區(qū)數e和陣列VP,P;
3)采用多鏈式能源區(qū)塊鏈結構下的動態(tài)分區(qū)算法完成配電網的各個葉子節(jié)點的分區(qū)優(yōu)化,即采用多鏈式能源區(qū)塊鏈結構下的動態(tài)分區(qū)算法將不同電能交易頻率的節(jié)點分配到不同的區(qū)域區(qū)塊鏈內,判斷是否滿足去中心化約束和可延展性約束,若滿足約束條件則可獲得最佳分區(qū)模式;
4)如果時間到達下個周期T,則重復2)與3)。
多鏈式能源區(qū)塊鏈結構下的動態(tài)分區(qū)微網P2P電能交易模型如圖5所示。分布式的發(fā)電模式與微網P2P電能交易都具有完全化分布和無等級的特征,任意節(jié)點的加入與脫離具有獨立性,而且具有隨機分布特征。多鏈式架構分成物理層,網絡層,協(xié)議層與虛擬層幾個部分。其中,物理層作為能源節(jié)點的連接,去中心化網絡的生成是區(qū)塊鏈網絡層作為能源節(jié)點的映射,協(xié)議層則包含了智能合約[11]、共識機制[12]與激勵機制[13]等,實際的電力運用、電力交易、市場機制則處于應用層。
圖5 電能交易模型Fig.5 Electric energy trading model
采用多側鏈的工作模式,不僅能分別管理設備數據、發(fā)電數據與電能交易數據,而且能最大程度地提升安全性,避免大量各類數據混雜而出現的數據泄露問題。
3.2.1 交易鏈工作模式
交易鏈作為微網電力交易的共有鏈,保存并記載了全部交易數據和智能合約,并且完成不同時間節(jié)點的交易合約確認,圖6為交易側鏈的結構圖。由于參與微網電能交易的主體多,如發(fā)電方、用電方和代理商等,需應用股份授權證明機制,并讓區(qū)塊鏈網絡中的全部成員推選記賬者,令其監(jiān)管權力。記賬者校驗電能數據,完成向交易鏈的打包上傳,智能合約再依據電能信息測算交易信息,再由記賬者打包上傳,各個記賬者間互相認知,保障數據準確性并傳播。
圖6 交易鏈的結構Fig.6 Structure of the transaction chain
3.2.2 電能鏈工作模式
電能鏈作為自建的私有區(qū)塊鏈,只服務區(qū)域內同一電壓級下的用戶,保存節(jié)點與能源數據,并完成交易,從而保證節(jié)點數據的真實度、完整度與隱私度。通過獲取交易側鏈的交易狀況,檢驗是否滿足PPGC機制,采用多鏈式能源區(qū)塊鏈動態(tài)分區(qū)算法調整節(jié)點的分區(qū)。交易與電能多側鏈的多向互動可實現多區(qū)域的微網電能交易,并保證整個過程完整、可監(jiān)督和真實。圖7為電能鏈的結構圖。
圖7 電能鏈的結構Fig.7 Structure of the power chain
多鏈式能源區(qū)塊鏈結構下的動態(tài)分區(qū)微網P2P電能交易架構如圖8所示,交易鏈包括資產數據側鏈與交易數據側鏈,電能鏈則設計了和微電網交易側鏈、和用戶端到端交易側鏈兩種。其中,資產數據側鏈主要寫入分布式發(fā)電裝備數據、負荷需求數據和配電網數據;交易數據側鏈則依據不同的交易模式寫入交易完成狀況。電能鏈的微電網交易側鏈、和用戶端到端交易側鏈則均需要滿足PPGC機制與去中心化約束、可延展約束條件,此外,還應與功率和供需平衡相適應。
圖8 電能交易架構Fig.8 Power trading framework
多鏈式能源區(qū)塊鏈結構下的動態(tài)分區(qū)微網P2P電能交易的流程如下:
1)微電網中的各主體把資本數據利用客戶端傳送到區(qū)塊鏈體系中,并在全網范圍廣播發(fā)電裝備的容量[14]、發(fā)電時段等數據。將歸總后的可交易電能、交易時間段、標價數據和獎罰機制采用交易數據側鏈完成全網廣播;
2)通過功率與供需平衡約束校驗各節(jié)點的交易數據,判斷交易模式,并檢驗可否滿足中心化約束和可延展約束條件;
3)依據電壓級別和線路的功率與供需平衡約束,采用多鏈式能源區(qū)塊鏈結構下的動態(tài)分區(qū)算法調整微電網中的區(qū)塊數和節(jié)點數目,指定交易決策,從而判定可交易電量與時段,并將數據回傳交易鏈。最終依據發(fā)用電的實際狀況,完成電能的交易結算。
本文在配置為Intel酷睿i7 2.6 GHz CPU,8 GB運行內存的計算機上,采用Matlab 2017a調用python程序,ns3網絡模擬器適配python代碼模擬多鏈式能源區(qū)塊鏈動態(tài)分區(qū)下的微網P2P電能交易過程,分析多鏈式能源區(qū)塊鏈結構下的動態(tài)分區(qū)算法對微網P2P電能交易過程的影響。通過隨機產生節(jié)點的拓撲網絡,模擬記賬員和葉子節(jié)點向區(qū)塊傳播的進程,獲得區(qū)塊在微網中的傳播時間。電能交易數據采用隨機函數生成,并約定葉子節(jié)點[15]間的電力交易數目隨關聯度減弱而減弱。
模擬節(jié)點數目為1 200的微電網端到端電能交易,采用隨機函數初始化葉子節(jié)點之間在周期T的電能交易數量,并統(tǒng)計在周期T內的各葉子節(jié)點的電能交易總量。設置不同的分區(qū),并根據多鏈式能源區(qū)塊鏈結構下的動態(tài)分區(qū)算法分別完成單位時間完成交易總數O′s的計算,結果如圖9所示,正方塊為不同分區(qū)獲得的O′s結果,并擬合曲線分析O′s的走向。
圖9 初始分區(qū)數對微網P2P電能交易的影響Fig.9 The impact of the initial number of partitions on P2P energy trading on the microgrid
從實驗結果可知,當分區(qū)數為18時,模擬節(jié)點數目為1 200的微電網端到端電能交易獲得最優(yōu)的 O′s,單位時間完成交易總數 O′s在分區(qū)數目為12以內時,伴隨分區(qū)數目的增長緩慢增長;當分區(qū)數目在12~18之間,O′s快速增長;當分區(qū)數目大于18時,O′s快速下降。
針對4.1節(jié)中給出的總節(jié)點數為1 200的微電網中,依據電能交易頻率采用本文算法對區(qū)塊鏈進行分區(qū)調整,即采用多鏈式能源區(qū)塊鏈結構下的動態(tài)分區(qū)算法將不同電能交易頻率的節(jié)點分配到不同的區(qū)域區(qū)塊鏈內。并完成單位時間實現交易總數O′s的仿真計算,可優(yōu)化能源區(qū)塊鏈的可延展性能。對比分區(qū)調整之前和之后的O′s,并擬合曲線分析O′s的走向,圖10為電能交易頻率對微網P2P電能交易影響的實驗結果圖。由圖10給出的實驗結果可知分區(qū)數目在12以下的效果不太顯著,這是因為分區(qū)數目小于12的跨側鏈交易情況比較少,交易多在單個側鏈內完成。
圖10 電能交易頻率對微網P2P電能交易的影響Fig.10 Impact of frequency of energy trading on microgrid P2P energy trading
依據電能交易頻率對能源區(qū)塊鏈進行分區(qū)調整,優(yōu)化了微網P2P單位時間完成交易總數O′s、各分區(qū)的Os和基尼系數K,如表1所示。
表1 最優(yōu)分區(qū)數目下的微網P2P電能交易參數Tab.1 P2P energy trading parameters of microgrid under the optimal number of partitions
4.3.1 區(qū)塊大小對單個區(qū)塊鏈的影響
本文將節(jié)點數目設定為120個,進一步研究了區(qū)塊大小不同的情況下,當單個區(qū)塊鏈完成20%,50%和80%的節(jié)點的區(qū)塊傳播時,所需要的傳播時間,圖11為區(qū)塊大小對單個區(qū)塊鏈影響的實驗結果圖。由圖11的實驗結果可知,隨著區(qū)塊大小的增大,相同數目的節(jié)點所需要的傳播時間增加。
圖11 區(qū)塊大小對單個區(qū)塊鏈的影響Fig.11 Impact of block size on a single blockchain
4.3.2 節(jié)點數目對單個區(qū)塊鏈的影響
本文將區(qū)塊大小[16]設定為1 MB,進一步研究了節(jié)點數目不同的情況下,當單個區(qū)塊鏈完成20%,50%和80%的節(jié)點的區(qū)塊傳播時,所需要的傳播時間,圖12為節(jié)點數目對單個區(qū)塊鏈影響的實驗結果圖。由圖12的實驗結果可知,隨著節(jié)點數目的增多,相同大小的區(qū)塊所需要的傳播時間增加。這是由于節(jié)點數目增多,節(jié)點間的電力點對點交易數量也隨著增加,在微電網中傳播相同大小的區(qū)塊所需要的時間增加。
圖12 節(jié)點數目對單個區(qū)塊鏈的影響Fig.12 The impact of the number of nodes on a single blockchain
伴隨我國智慧城市的建設和發(fā)展,可再生電能逐漸替代了傳統(tǒng)電能,區(qū)塊鏈技術與微網端到端電能交易結合,能夠適應新能源多主體、分時段的交易特征。
本文的創(chuàng)新點如下:
1)針對微網P2P電能交易特征提出了一種多鏈式能源區(qū)塊鏈工作模式,采用交易鏈和電能鏈兩類區(qū)塊鏈為主鏈搭建微網P2P電能交易架構,并分別設置交易與電能多側鏈的多向互動可實現多區(qū)域的微網電能交易,可保證整個過程完整、可監(jiān)督和真實。
2)在PPGC機制下,即滿足去中心化標準和可延展性指標的條件下,設計了一種多鏈式能源區(qū)塊鏈結構下的動態(tài)分區(qū)算法,該算法可保證每s所完成的交易數目,從而實現去中心化。該算法依據區(qū)塊鏈節(jié)點的電網關聯、電能市場交易頻率和各個區(qū)塊鏈節(jié)點的PPGC機制,完成分區(qū)優(yōu)化。
通過Matlab 2017a設置四組實驗,模擬多鏈式能源區(qū)塊鏈結構下的動態(tài)分區(qū)微網P2P電能交易過程,模擬初始分區(qū)數對微網P2P電能交易影響,當分區(qū)數為18,節(jié)點數目為1 200的微電網端到端電能交易獲得最優(yōu)的O's;模擬電能交易頻率對微網P2P電能交易影響,仿真結果可知依據電能交易頻率對能源區(qū)塊鏈進行分區(qū)調整,可優(yōu)化能源區(qū)塊鏈的可延展性能;并模擬仿真區(qū)塊大小與節(jié)點數目對單個區(qū)塊鏈的影響,實驗結果可知隨著區(qū)塊大小的增大,相同數目節(jié)點所需要的傳播時間增加;隨著節(jié)點數目的增多,相同大小的區(qū)塊所需要的傳播時間也隨之增加。
多鏈式能源區(qū)塊鏈的維護過程需要損耗一定的算力,下一步的研究主要針對采用更少的算力保障能源區(qū)塊鏈的有效性計算。