卜飛飛,王圓圓,白宏坤,華遠鵬,韓丁,王涵,賈一博,辛玉華
(1. 國網河南省電力公司經濟技術研究院,鄭州市 450052;2.北京恒華偉業科技股份有限公司,北京市 100011)
世界電力市場改革不斷推進,電力行業由過去的供應側管理走向供應側和需求側雙向管理[1]。我國需求側管理工作自2004年啟動以來,其管理手段已經發展包括分時電價、移峰填谷、能效電廠、需求側響應等[2]。需求側響應強調電力用戶根據市場情況對自身的負荷需求或者用電模式做出主動調整。電力產品豐富化、電力價格差異化[3]、參與主體多樣化才能在競爭環境下使市場各方做出最優投資決策,發揮需求側響應兼顧穩定市場和保證電網穩定性的作用。
需求側響應的參與者涉及電力用戶、負荷集成商、政府部門和電力公司等主體,需求側響應涉及負荷控制、效果判定、補貼分配等流程,參與者、執行者及收益獲得者之間存在利益分配不均的矛盾,不同主體之間信任成本高、響應頻次低、交易效率低是當前需求側響應效果發揮的障礙。
自2008年比特幣被提出以來[4],區塊鏈技術經過區塊鏈1.0、區塊鏈2.0,現已發展到區塊鏈3.0[5]。區塊鏈底層核心技術仍在不斷發展,當前較為公認的區塊鏈平臺架構分為5層,即應用層、合約層、共識層、網絡層和數據層,現有多個能源領域的區塊鏈平臺設計方案基于此框架結構延伸[6-9]。區塊鏈在能源行業的應用研究在國內走在前列,已在電動汽車充電樁共享[10-12]、綜合能源服務[13]、分布式電力交易[14-15]等能源領域開展研究。
已有部分研究人員研究需求側響應中的區塊鏈應用問題。文獻[16]從電力管理交易系統架構、交易系統模塊以及交易流程框架3個方面提出了基于區塊鏈技術的綜合需求側響應資源交易體系框架。文獻[17]從信息注冊、信息更新、自動交易和自動結算方面探討了需求側區塊鏈的安全性、全局效率和智能合約全局優化問題。文獻[18]在分析了自動需求側響應業務運行規則、業務流程基礎上,探討了補貼結算、違約懲罰等的安全性,操作行為公證性等方面的技術保障,及工作量證明機制、互聯共識、智能合約、信息安全等方面區塊鏈應用的關鍵問題。文獻[19]提出將區塊鏈技術應用于需求側響應計劃管理,利用區塊鏈技術存證能量消耗信息,基于智能合約實現財務結算,保障交易的靈活性。文獻[20]分析了區塊鏈與需求側響應的契合點,設計了基于區塊鏈的需求側響應系統。文獻[21]提出了基于區塊鏈的需求側管理資源信用管理方法,設計了交易各階段的智能合約并部署在以太坊測試鏈上,探討在不同信用值下用戶的響應效果。當前研究缺乏將需求側響應應用的各個環節都詳細設計呈現(如網絡設計方案、跨鏈設計方案等)、落地指導性及對區塊鏈應用效益的全面研究。
本文提出基于個人通用身份賬戶,利用聯盟鏈的方式解決需求側響應中,納入各主體監督、驗證數據可信性的解決方案的關鍵技術環節,即區塊鏈需求側響應的整體架構、交易流程、數據上鏈設計、智能合約設計、網絡搭建方案等,并仿真搭建由7個節點組成的區塊鏈聯盟鏈網絡實驗環境,驗證設計的可行性;最后以河南情況為例對構建需求側響應區塊鏈應用的效益進行測算,說明區塊鏈技術在需求側響應上的應用經濟可行。
區塊鏈是由按照時間順序將數據區塊以順序相連的方式組合成的一種鏈式數據結構,是區塊鏈技術體系的核心[22],這一特性可解決需求側響應過程中主體身份數據認證及身份數據、響應數據、激勵數據的不一致性檢測、溯源等問題。
區塊鏈信息模型包含UTXO(unspent transaction outputs)、基于鍵值對和賬戶模型3種類型[23]。數據以區塊鏈信息模型存儲前,需要進行默克爾樹處理,處理過程如圖1所示,即對所需存證上鏈的原始數據進行哈希處理,再對相鄰數據進行加和,重復哈希處理的過程,直至剩余一個根哈希。

圖1 默克爾樹處理過程示意Fig.1 Schematic diagram of Merkle tree processing process
區塊鏈數據結構的關聯驗證性賦予存儲于區塊鏈的數據特有的防篡改性,數據的關聯驗證過程如圖2所示,即區塊N-1的哈希值和區塊N的存儲內容作為區塊N整體的存儲內容,區塊N整體存儲內容的哈希存儲于區塊N+1,其中一個區塊內容變更會引起其他區塊數據的變化,以此完成區塊間的關聯驗證。

圖2 區塊鏈數據關聯驗證示意Fig.2 Schematic diagram of blockchain data association verification
數據加密現常用算法包括Rabin(一種非對稱加密算法,基于計算模合數平方根困難性問題的公鑰密碼算法)、橢圓曲線加密算法(elliptic curve cryptography,ECC)等。A使用B的公鑰對交易簽名,B僅能通過私鑰驗證數字簽名才可創建一筆交易,這種以公鑰基礎標識用戶,以私鑰驗證身份的機制,較大程度保護了交易者的隱私。
共識機制是區塊鏈的關鍵技術,直接影響區塊鏈系統的性能效率、可擴展性、資源消耗[22]。現在常用的共識算法有證明(proof of X,PoX)類、拜占庭容錯(Byzantine fault tolerance,BFT)類和非拜占庭容錯(crash fault tolerance,CFT)類基礎共識協議[23]。PoX類共識協議包含工作量證明(proof of work,PoW)、股權證明(poof of stake,PoS)協議,這類協議特點為設計證明依據,以令誠實節點證明其合法性。BFT類協議包含實用拜占庭容錯算法(practical Byzantine fault tolerance,PBFT)、BFT-SMaRt(一種基于SSL/TLS標準的BFT算法)等協議,其特征為解決了拜占庭容錯問題。CFT類協議包含Raft(一種基于分布式共識算法)、Paxos(一種基于消息傳遞且具有高度容錯特性的一致性算法)、Kafka(時間輪算法)等協議,以身份證明等手段規避節點作惡,實現崩潰容錯目的。
本文方案的搭建采用聯盟鏈,由于聯盟鏈節點數量有限,需要使用具有高度優化的共識機制,故采用適合聯盟鏈使用的改進的伊斯坦布爾拜占庭容錯(Istanbul Byzantine fault tolerance,IBFT)共識算法作為需求側響應區塊鏈平臺的共識機制,其容錯率為1/3,在保留即時確認關鍵特性的同時,極大地提高了去中心化的程度。其共識可以保證上鏈的區塊是確定的,也就是說鏈不會出現分叉,同時每一個有效的區塊都會插入到鏈上。區塊鏈需求側響應平臺共識機制基于IBFT做了改進,可以實現無交易不出塊,改進的IBFT共識機制的投票過程如圖3所示。

圖3 改進的IBFT共識機制狀態切換示意Fig.3 Schematic diagram of IBFT consensus mechanism design
IBFT分為3個階段:
1)預準備階段:每次進入到新一輪投票時,就會開始三階段中的第一個階段,即預準備階段。在該階段中,提議節點生成一個提議區塊,并廣播給所有的驗證節點。接著區塊提議節點進入到預準備狀態。其他驗證節點接收到有效消息后進入到預準備狀態。
2)準備階段:在這一階段,驗證節點廣播準備消息給其他驗證節點,并等待接收超過2/3的有效準備消息從而進入到準備完畢狀態。
3)確認階段:在這一階段,驗證節點廣播確認消息給其他驗證節點,并等待接收超過2/3的有效確認消息從而進入到完成確認狀態。
智能合約最初于1994年由尼克·薩博[24]提出,智能合約是合同條款的程序體現,區塊鏈技術去中心化為智能合約提供了天然的分布式可信執行環境[22]。現有常見區塊鏈平臺的智能合約對比如表1所示。

表1 現有區塊鏈平臺智能合約對比Table 1 Comparison of smart contracts in existing blockchain platform
智能合約技術的引入在保證安全的前提下大大提高了交易速度,尤其針對復雜交易場景,優勢更為突出,智能合約在區塊鏈上的部署如圖4所示。

圖4 基于區塊鏈的智能合約部署方式Fig.4 Intelligent contract deployment based on blockchain
區塊鏈網絡基礎通信方式是對等網絡,區別于傳統中心化的服務端和客戶端的服務模式。區塊鏈的組網結構可以分為混合對等網絡、結構化對等網絡、無結構對等網絡[25]。通信機制建立在TCP(transmission control protocol)和UDP(user datagram protocol)之上,位于計算機網絡協議的應用層。區塊鏈點對點的傳輸機制中數據和消息的傳輸直接在節點之間完成,節點可以選擇在任意時刻加入或退出網絡。
考慮技術經濟性,在基于中心化的管理方式的需求側響應平臺現有功能的基礎上,利用區塊鏈技術進行分布式存儲、智能合約改造,另外考慮到當前區塊鏈技術發展限制,區塊鏈存儲數據有限,采用鏈下管理源數據、結果數據、哈希值數據,僅將默克爾樹處理得到的根哈希數據存證上鏈的方式進行數據存證。改造模式及區塊鏈需求側響應系統數據交互及服務處理框架如圖5所示。

圖5 區塊鏈需求側響應平臺關鍵數據交互及服務框架Fig.5 Key data exchange and service framework of blockchain demand response system
需求側響應活動整體可劃分為前期準備、響應執行、效果評估和補貼核發4個階段,在利用區塊鏈技術對需求側響應系統進行改造后,在需求側響應前期準備階段,基于區塊鏈的需求側響應前期準備階段流程如圖6所示。

圖6 區塊鏈需求側響應前期準備階段流程Fig.6 Flow chart of blockchain demand response in pre-preparation stage
基于區塊鏈技術改造后,可以通過智能合約自動結算補貼費用(此處考慮補貼模式的需求側響應模式),區塊鏈需求側響應響應執行及核算階段流程如圖7所示。

圖7 區塊鏈需求側響應響應執行及核算階段流程Fig.7 Flowchart of the preparatory phase of the blockchain demand response
業務數據存證至需求側響應鏈過程如圖8所示。當前的數字身份存在身份數據分散、不同機構需重復認證、身份數據被冒用或盜用的風險較高、容易造成個人信息大規模泄露等痛點。W3C分散式標識符(W3C decentralized identifiers,W3C DID)[26]利用規范、生產和可驗證的一種新型標識符為解決參與者身份全局唯一性、高可用性、可解析性和加密可驗證性提供了解決方案。去中心化標志符的架構如圖9所示,用戶在分布式服務器注冊響應主題的DID,DID代表了DID主題,可解析為DID文檔,DID和DID文檔均錄制于驗證數據注冊表;DID URL引用DID文檔的內容,并包含DID的內容;DID控制器控制DID文檔。

圖8 業務數據存證至需求側響應鏈過程Fig.8 The process from business data storage to audit chain

圖9 DID架構概述和基本組件的關系Fig.9 Overview of DID architecture and the relationship of the basic components
DID規范定義的數據模型如圖10所示。基于區塊鏈的去中心化標識符具有全局唯一性、高可用性、可解析性和加密可驗證性,具有分布式、自主可控、跨鏈復用等優勢。基于區塊鏈分布式存儲,避免了身份數據被單一的中心化權威機構所控制,即使存儲于單一中心化節點,也可以設置調閱過程記錄在冊;身份自主可控,基于分布式公鑰基礎設施(decentralized public key infrastructure,DPKI),個人能自主管理自己的身份數據;可信的數據交換,身份數據錨定于區塊鏈上,認證過程簡單可信,不容易被盜用,同時可以實現多個信息系統的數據互通,無需重復認證。

圖10 DID文檔數據結構條目Fig.10 The entries in a DID document
智能合約作為合同條款的程序體現,在可信的基礎上較大程度提高了合約的履行效率。本文給出智能合約中的主要函數,即身份認證函數、存證函數、自動響應函數、自動結算函數。
1)身份認證函數。基于W3C DID標準,個體可根據需要生成用特定場景驗證的DID身份認證文檔。基于身份認證函數,對用戶身份進行認證,判斷用戶身份類別,如判斷用戶為電力用戶還是負荷集成商,進而對用戶進行響應權益分配。
2)數據存證函數。數據存證函數用于按照規則監聽數據變化和接受系統指令及時將數據默克爾樹根哈希值存證。需求側響應事務中,關鍵數據存證采用所在表根哈希存證的策略,不同數據的存證合約時機不同,如表2所示,其中基線負荷數據的存證時間視其計算方式而定。

表2 需求側響應存證的關鍵數據Table 2 Key data of demand response certificate
3)自動響應函數。用于按照約定的觸發條件自動開展需求側響應。對于自動開展響應的情況,需要電力用戶的設備支持遠程控制功能。在約定響應或實時情況下,基于用戶設備的響應條件,觸發自動調用響應智能合約。
4)自動結算函數。自動結算函數用于按照約定的觸發條件自動開展需求側響應。不同的省份自動結算的規則不同,故需要按照各省份的結算規則進行結算。對于自動開展進行自動結算的情況,設計通過跨鏈機制與銀行金融鏈的資金信息進行交互,設計的落地需要多方在管理制度、技術平臺等多方面達成共識,方可實現在約定響應或實時情況下基于基線負荷情況自動結算用戶補貼費用。
按照準入機制,現有區塊鏈形式可分為3種類型,即公有鏈、聯盟鏈和私有鏈[3],聯盟鏈是目前普遍認為最具有應用前景的區塊鏈類型。本文采用的搭建方案為公有鏈。
基于當前需求側響應平臺內外網數據分離的管理機制,可以通過各省公司搭建覆蓋內外網子節點互通的自有鏈,與其他公司通過跨鏈機制進行信息交互,搭建方式如圖11所示。

圖11 需求側響應區塊鏈網絡層級設計Fig.11 Hierarchical design of demand response blockchain network
當需求側響應區塊鏈網絡具有跨鏈需求時,需要明確需求側響應任務內容及跨鏈業務合約(需要連接的區塊鏈名稱及數據內容),提交至區塊鏈跨鏈服務,由區塊鏈服務模塊跨鏈事件Handler(處理)服務模塊、跨鏈交易構造及簽名服務模塊提交服務至跨鏈服務Agent(代理),以此模式完成與外部區塊鏈網絡的交互,如圖12所示。

圖12 需求側響應區塊鏈與外部區塊鏈跨鏈轉換示意圖Fig.12 Schematic diagram of cross-chain conversion between demand-response blockchain and external blockchain
假定區塊鏈技術應用之后的信息化系統未增加運維費用,故成本分析時,未計入運維成本;假設平臺節點復用現有硬件設備;故而效益分析中僅考慮了平臺建設成本。以現有技術開發團隊的時間、人工單價平均值核算平臺建設成本,建設成本Cdl計算方式為:
Cdl=WTeNSUM
(1)
式中:WTe為項目管理、需求分析、開發及測試等技術人員公司均值,取10 000元/(人·月);NSUM為以上開發過程涉及的所有工種的人月總和。
區塊鏈技術的利用可節約以往合同簽訂的人力成本、耗材成本,提高合約簽訂和執行效率,提高用戶體驗和利于環境的可持續發展。為了簡化分析,本文僅從財務角度對經濟效益開展分析,并假定除了合同管理、送審材料審核環節是基于紙質介質開展,其他環節均已通過信息化方式進行管理。另外,對時間效益進行分析。
1)經濟效益Btotal。Btotal表示年成本縮減經濟效益。
Btotal=Bau+Bco+Bac
(2)
式中:Bau為上鏈前審核階段費用縮減效益;Bco為上鏈前簽合同階段費用縮減效益;Bac為上鏈前補貼結算階段費用縮減效益。
Bau=N1[Hk+(Tfi+Tsu)W]
(3)
式中:N1為年新增用戶申報量;Hk為申報、合同簽訂、補貼核算所需郵寄、打印耗材、設備折損等費用;Tfi為審核人員資料歸檔時間;Tsu為送審人員打印、郵寄、簽訂的時間;W為各個主體所需要消耗的人工成本均值。
Bco=XN2[Hk+(Tco+Tma)W]
(4)
式中:X為每年需求側響應活動啟動次數;N2為單次需求側響應活動參與用戶數;Tco為資料管理人員合同歸檔時間;Tma為電力用戶或負荷集成商打印、修訂合同、郵寄及簽訂的時間。
Bac=Y(Hk+TseW)
(5)
式中:Y為一年補貼結算的次數;Tse為補貼結算材料打印所用時間。
2)年時間縮減效益BT。BT表示基于區塊鏈技術的電力需求側響應交易可節約年度作業時間。
BT=N1(Tfi+Tsu)+N2(Tco+Tma)+YTse
(6)
3)安全效益分析。區塊鏈以其特有的技術特性,為需求側響應業務提供用戶身份、數據、流程模型等多方面的安全可信保障。
(1)身份安全可信。基于W3C DID標準管理數字身份標識,利用區塊鏈技術的身份合約為每一個需求側響應用戶生成鏈上數字身份標識DID,在需求側響應業務中可基于用戶DID標識在鏈上唯一確定用戶身份信息;基于需求側響應用戶數字身份標識DID的唯一性,為用戶的用電信息以及需求側響應數據進行加密確權,只有經過授權認證后才被允許訪問,為用戶數據和交易安全提供保障。
(2)數據安全可信。將業務數據加密處理,可以通過分布式存儲的哈希值變化情況,及時發現需求側響應數據變更情況。針對數據不同版本情況,用戶可按照時間線追溯數據的變化情況。
(3)流程模型可信。將數據存證、自動響應、自動結算等業務處理過程均通過智能合約(確定狀態、變量)構建可執行的程序,買賣雙方完全自治,處理過程均有跡可循,保證了交易的安全。
考慮效益及成本的時間價值,計算動態投資回收期和投入產出比。
1)投入產出比。
n年費用縮減效益折現值P計算公式為:
(7)
式中:P為區塊鏈技術應用n年的累計費用縮減效益折現值;Btotali為區塊鏈技術應用第i年的費用縮減值,簡化認為每年的費用縮減效益折減值相同,簡稱Btotali為A;n為折算年數。
假設區塊鏈研發費用發生在第1年年初,后期運維費用較之研發費用較少,n年的研發成本現值以Cdl計。
n年投入產出比R的計算公式為:
R=P/Cdl
(8)
2)投資回收期。
動態投資回收期Pt=(累計凈現金流量現值出現正值的年數-1)+上一年累計凈現金流量現值的絕對值/出現正值年份凈現金流量的現值,即滿足式(9)條件出現的年份。
P-Cdl≥0
(9)
需求側響應鏈節點搭建數量須遵循IBFT共識機制要求,節點總數為3F+1,其中F為拜占庭錯誤節點,取值范圍為[1,2,3,…],則節點數量至少為4。仿真采用7臺電腦作為節點(節點符合3F+1的要求)進行響應活動的仿真,在需求側響應鏈的運行和維護階段,可以動態添加注冊新的鏈節點。節點中的硬件配置為內存2核8 GB,硬盤配置為1 TB;軟件操作系統均為Windows。依據需求側響應區塊鏈節點程序,為需求側響應鏈每個節點生成節點賬戶和私鑰,并放到了節點服務器指定目錄下。聯盟鏈涉及的各主體確定需求側響應自有鏈的區塊鏈網絡ID、出塊策略、共識節點賬戶等參數,基于這些信息,為每個節點提供需求側響應鏈創世塊配置文件。對系統進行了簡單測試,區塊鏈原生需求側響應數據存證TPS達到1 000筆/s,需求側響應智能合約交易執行TPS達到300筆/s。
場景設定:仿真需求側響應的類型為約定響應,響應的目標為降低負荷,提前4 h進行邀約。邀約過程中的應邀容量數據、實際響應容量數據由前端頁面人工模擬輸入產生。為體現市場化,仿真中使用最高限價與需求側響應主體報價相結合的方式,需求側響應最高限價15元/(kW·h)。需求側響應用戶的出價數據如圖13所示,可見在報價中耗時最長的為120 s,由于當前需求側響應過程中,對時間要求相對寬裕,120 s在可接受的范圍內。結算確認耗時與補貼費用數據如圖14所示,可見結算確認耗時整體均較短,最高耗時由用戶1產生為48 s,最短耗時由用戶3產生,為即時結算確認。

圖13 需求側響應用戶的出價數據Fig.13 The demand responds to the bid data of the user

圖14 結算確認耗時與補貼費用數據Fig.14 Settlement confirmation time-consuming and subsidy cost data
平臺前端展示在現有頁面基礎上進行完善,增加了數據的溯源及不一致性比對,功能設計如圖15所示,如不同用電表的用電數據存證時間均有記錄,存證中的電表數值顯示“等待中”,當有業務數據與存證數據不一致時,在不一致檢測欄中顯示“×”,并可查看不同數據存證前后版本值。

圖15 電力用戶電數據溯源及不一致性檢測設計示例Fig.15 Design example of traceability and inconsistency detection of power consumption data of power users
以河南省2019年、2020年的需求側響應數據為計算依據,該省2019年約定響應用戶為145戶,2020年約定響應用戶為455戶,其他參數設定如表3所示。

表3 效益分析參數設定Table 3 Parameter setting of benefit analysis
將以上參數代入式(6),計算得BT=763.1 h/a。由此可見,年度可節約各環節成本為763.1 h,可大大降低相關環節職責人員的工作強度。將表3的參數代入式(2),得到:
Btotal=(12 245+77 805X+55.5Y)元
(10)
假設收益率i取值為3%,暫考慮10年內的效益情況,即n∈[1,2,…,10],(P/A,i,n)見年金現值系數表,此處不贅述。假設年需求側響應活動X=1,Y=1,R隨著區塊鏈技術應用年限的增加變化如圖16所示。
由圖 16可見,在區塊鏈技術應用投資的第3年,即達到R>1的情況,表明區塊鏈技術應用的經濟效益明顯。當Y=1時,R隨著X的變化趨勢如圖17所示。

圖16 R隨區塊鏈技術應用年限n的變化趨勢Fig.16 The changing trend of ROI with the technical reform years n of blockchain
當前由于種種原因,各省份年度啟動的需求側響應活動次數有限,為了充分挖掘需求側響應潛力,可以適當增加需求側響應的頻次,由圖 17可見,需求側響應平臺區塊鏈技術應用R隨著X值的增加而增加,故可以適當增加需求側響應活動頻次。經計算,投資回收期Pt=1.59 a,即在1.59年可以收回投資成本。

圖17 R隨需求側響應活動啟動次數X的變化趨勢Fig.17 The changing trend of ROI with the start-up times X of demand response activities
區塊鏈技術可用于解決需求側響應常態化運行中用戶參與需求側響應困難及運營成本比較高的問題。本文研究將區塊鏈智能合約應用于需求側響應流程鏈條,設計了區塊鏈需求側響應平臺的整體框架、交易流程、數據上鏈策略、智能合約、網絡搭建方案、共識機制等,并給出了需求側響應電力用戶進行數據溯源和不一致性檢測的設計參考,解決了目前電力用戶、負荷集成商需求側響應數據被動獲知、無法驗證和溯源的問題,并分析了區塊鏈技術應用的效益性。仿真算例表明,在現行的區塊鏈技術服務方式下,需求側響應的投入產出比R隨區塊鏈技術應用時間和需求側響應活動的增加顯著增加,相關信任環節的人工耗時顯著下降。需求側響應價格博弈機制目前尚不完善,希望本文能為進一步研究區塊鏈技術在完善價格機制下需求側響應的廣泛應用提供參考。