薛文琦,李培強,王繼飛,穆 亮,高雅潔,孟玲梅
(1.湖南大學電氣與信息工程學院,長沙 410082;2.國網冀北電力有限公司張家口供電公司,張家口 075000)
隨著傳統化石能源急劇枯竭,全球環境危機不斷加重,可持續發展成為當今主題。在具有清潔與可再生特點的新能源中,發電量最大的是太陽能[1]。光伏發電能夠有效緩解能源緊缺和環境污染[2]。在國家的提倡鼓勵[3]下,光伏產業規?;l展迅猛[4-6],但其發電出力有較強間歇性和波動性[7],使電力系統受到巨大沖擊[8-9]。
與此同時“大云物移鏈”等新一代通信技術向各行業加速滲透[10],傳統電力行業與之融合成為趨勢[11],能源互聯網已成為轉型的重要方向[12]。其中,區塊鏈技術[13]作為價值互聯網新紀元的起點[14],與能源互聯網有良好的兼容性,這使其成為推動能源互聯網發展的關鍵支撐技術[15]。
國外區塊鏈與傳統電力融合已進入應用階段[16],荷蘭的Vattenfall Energy公司推出Power Peers平臺來滿足電力消費者分布式應用需求;美國的LO3Eenergy公司也推出了Trans Active Grid項目,建立了全球首個互動式分布式光伏銷售平臺;2018年上線的We Power區塊鏈發行了加密貨幣We Power,以便鄰居間將太陽能剩余電力進行交易。但國內相關應用還未落地實施。我國配電系統分布式電源滲透率日益提升[17],光伏用戶群[18-19]隨之壯大,大量產消者產生和接入勢必形成電能的直接自由交易[20]。為鼓勵分布式電源的就地消納,國家能源局與發改委出臺了《關于開展分布式發電市場化交易試點的通知》。實時電力市場平臺是新一代電力系統實現源-網-荷互動平衡的重要途徑和方法[21],電能共享可有效提高資源利用,加快經濟發展[22]。但建立一個存在中間運營商的管理機制運行成本高、易受攻擊、用戶隱私難以保障[23]。故本文提出采用區塊鏈技術建立一種去中心化的信任管理機制,完成戶用光伏電能交易的線上平臺設計。該平臺具有去中心化、去信任、可溯源數據透明、難以修改、資源共享的特點,與“泛在電力物聯網”發展計劃中促進清潔能源消納、打造智慧能源綜合服務平臺的建設內容相呼應,也是解決電力物聯網網絡安全問題[24]的有效方案。相關研究將有力推動電網企業實現能源數字化轉型[25]和“兩型三網、世界一流”的戰略目標。
區塊鏈(blockchain),即共享數據庫,是一種基于密碼學原理的分布式點對點P2P(peer to peer)網絡共信智能賬本技術[26],是集合分布式數據存儲、點對點傳輸、共識機制、加密算法等計算機技術的新型應用模式[27]。其框架主要分為5個層面,如圖1所示。

圖1 區塊鏈基本框架Fig.1 Basic frame of blockchain
區塊鏈以時間軸遞增的鏈式作為存儲結構,鏈上包含高度密集的區塊,區塊由區塊頭和區塊體組成如圖2所示。區塊頭鏈接上一區塊的哈希值,區塊體主要包括各節點之間交易的主體信息,其是以多份拷貝形式存在于P2P網絡上且只可以在總賬數據庫上追加,如圖3所示。

圖2 區塊結構Fig.2 Block structure

圖3 區塊鏈示意Fig.3 Schematic of blockchain
起初區塊鏈是比特幣的底層技術[15]。區塊鏈分為3類:公有鏈、聯盟鏈和私有鏈,三者在開放程度上逐次遞減。目前,從以太網平臺應用角度來看,比特幣應用屬于區塊鏈1.0,以太網智能合約設計屬于區塊鏈2.0,行業應用(金融、能源、版權管理等)屬于區塊鏈3.0[28]。區塊鏈技術可以說是“第2代互聯網”,其體現在4各方面:①在2009年誕生后,推動信息互聯網進入價值互聯網;②將人類社會從消費互聯網帶入產業互聯網;③從現有完全透明的公開互聯網走向加密互聯網階段;④使互聯網從中心式走向了分布式。區塊鏈的核心技術包括:①非對稱加密算法,即同時生成公開密鑰和專用密鑰,只有對應的公鑰和私鑰才可解密信息;②以資產數據庫為基礎,能夠在不同節點、位置和平臺上共享和交互數據,每個節點都可以擁有完全相同的數據副本;③采用智能合約,降低成本的同時,還能防止單方毀約,保障整套系統代碼按規定運行[29]。因此,在開展分布式能源交易及交易主體信用管理上,區塊鏈具有先天優勢[17]。
1.2.1 平臺結構設計
該交易平臺基于3類用戶群構成,如圖4所示。

圖4 交易平臺用戶群構成圖Fig.4 Composition of user groups on the trading platform
為促進戶用光伏的普及和平臺推廣,提高新能源應用比例,將其歸為一條特殊的公有鏈。平臺的所有用戶均各自對應為一個區塊鏈網絡中的節點,相當于一個備份數據庫,擁有系統所有信息,所有數據公開透明,資源共享。而且用戶可以通過賬戶地址查看任何節點的信息,各個節點之間平等交易,無需擔心資產值被篡改。這些公有鏈特性將有效保障平臺用戶對于交易公平、可靠的信任度。而其特殊性在于電能并非一般商品,為了保證輸配電的統一規劃和有序運行,電力公司雖然與其他普通節點一樣無權干涉系統運行和平臺內交易,但是所有用戶在使用該交易平臺前需先網上注冊,由電力公司進行開戶,設定賬戶類別和分配賬戶地址,然后用戶自行設置用戶名和密碼。故電力公司存有所有平臺用戶的賬戶地址,可實時查看分析用戶的賬戶情況,便于調度部門安全、經濟、高效的工作,同時也為下一步系統的研究與升級提供有效數據。
1.2.2 平臺交易模式設計
由于光伏發電會受氣象等因素影響,波動性較大[30],當產消者的光伏產能大于自身所需時,戶主可以選擇將用戶名和愿出售的電量值掛于平臺,供其他用戶購買。電力公司設置保證輸配電適當盈利的最低電價,產消者用戶可在常規電價和最低電價之間自行標定出售價格,根據情況決定是否適當降價以促進銷售。這樣的運營模式將為能源市場競價提供一種激勵機制,促進設備安裝的同時,提高新能源應用比例。平臺僅掛出用戶名,不公布賬戶地址,保護了用戶的隱私。
交易分為主動交易和觸發交易兩種。主動交易即用戶發起的購電行為。觸發交易的啟動則由電能計量器N和時間M決定,當N或者M其一滿足條件時即觸發智能合約,執行合約內容,從而賬戶充入相應數量的資產。整個網絡共用一個智能合約。
交易過程示意如圖5所示,粗箭頭代表輸配電,虛線和實線單箭頭表示用戶節點之間的信息交流(購買資產、轉移資產)。當賬戶內資產消耗至零時,用戶將被停電,此時戶主需要從電力公司或其他產消者處購買電能,才可恢復供電。

圖5 交易過程示意Fig.5 Schematic of trading process
需要特別說明的是,電力傳輸與賬戶資產轉移互不影響、相互隔離,戶用光伏所產電能即時流入電力系統網絡,受電網企業管理和調度。綜合考慮負荷和經濟等各項因素后配送傳輸,本文不作詳細研究。電能計量器數值是持續累加的,當電能計量器N達到平臺設定值或其整數倍時,觸發合約執行。計時器在每次智能合約觸發的同時清零,循環計時,當計時器M達到設定值時也會觸發合約執行。主動交易則僅是賬戶資產轉移,當產能過剩時,用戶電費使用不完,等價轉讓或低價出售給其他用戶消費,以賺取現金。
1.2.3 平臺交易原理
交易由客戶端發起,經數字簽名認證。該份交易被發送到區塊鏈系統中的節點并等待交易信息校驗,確認完成后下一個區塊會記錄相關數據,隨后所有節點使用共識算法對新區塊進行共識,共識完成后寫入區塊鏈,表示所有節點認同新區塊。戶用光伏多邊交易平臺的交易原理如圖6所示。

圖6 交易原理解析Fig.6 Analysis of trading principle
交易構建過程共有3步校驗程序:①在存入交易池之前,進行數據檢驗(nonce是否合法、操作類型校驗參數和交易池是否已滿?),檢驗成功的數據才可以存入交易池;②在執行共識之前,需要濾出異常和錯誤交易,共識交易數太大(32 M)與nonce太大屬于異常情況,而nonce太小屬于錯誤,只有正常才可繼續執行;③在共識過程中將會再次對每筆交易進行校驗。交易構建過程將有效保障交易的安全性、穩定性、抗攻擊性。
該平臺在主流操作系統Ubuntu中建立,程序組成如圖7所示。

圖7 平臺模塊架構Fig.7 Architecture ofplatform module
賬戶分為創世賬戶、電網賬戶和普通用戶賬戶3種。電網賬戶創建用戶賬戶,而電網賬戶由創世賬戶創建。創世賬號即該區塊鏈平臺的首個賬戶,其信息在config文件中配置,可以通過API接口獲取查看。
在去中心化的區塊鏈系統中,所有賬戶均內嵌智能合約,每位用戶都是合約用戶。賬戶結構組成如圖8所示。

圖8 賬戶結構圖Fig.8 Structure of account
電網與其他用戶的賬號屬性相同。創建用戶賬戶時需指定用戶賬戶權限,設置用戶賬戶不具備發行資產權限。|tx_threshold|optional,default 0,表示該賬號的最低權限,轉移資產類型為1,設置threshold小于閾值。電網賬戶創建普通用戶賬戶與創世賬戶創建電網賬戶的步驟相同。修改源地址及設置所創建的用戶賬戶權限。類型為2的交易為發行資產,threshold小于tx_threshold沒有執行權限。
每個賬戶都被分配了1個賬戶地址,任一節點均可通過Account地址查看到該地址節點的交易信息。信息由4部分組成,包括地址前綴(1 byte);加密類型(1 byte);摘要算法(SHA-256)獲取公鑰hash除去前12位得到的值;再次hash得到新的hase;加Crc8或者Crc16對新的hash得到的校驗碼(1 byte)。注冊時使用者經實名認證,賬戶名和密碼由戶主設置。
對于該多邊交易平臺中電力公司和所有用戶,不論是否安裝了光伏發電設備,均同為資源、服務和內容的提供者和獲取者,共享所擁有的部分硬件資源。系統采用P2P作為運行依賴的網絡結構,使共能被其他對等節點直接訪問。整個網絡不依賴專用的集中服務器,也沒有專用的工作站。節點通信網絡的原理如圖9所示。

圖9 P2P模塊原理Fig.9 Principle for P2P module
P2P是對分布式概念的成功拓展,其將傳統方式下的服務器負擔分配到網絡中的每個節點上,每個節點都將承擔有限的存儲與計算任務,加入到網絡中的節點越多,節點貢獻的資源也就越多,其服務質量也就越高。P2P程序流程如圖10所示。

圖10 網絡模塊程序流程Fig.10 Flow chart of network module program
數據層的數據存儲主要基于Merkle樹,通過區塊的方式和鏈式結構實現,大多數情況以KV(keyvalue)數據庫的方式實現持久化。賬號數據存儲于account.db;存儲共識數據存儲于keyvalue.db;區塊數據存儲于ledger.db。其數據存儲原理如圖11所示。

圖11 數據存儲原理Fig.11 Principle for data storage
Merkle Hash Tree即哈希樹或校驗樹。葉子節點為每個數據塊的hash值,父節點為葉子節點hash值串聯在hash得到。
智能合約是用戶發起交易或者電能計量器達到設定值時觸發運行的一段代碼,其采用Javascript v8引擎實現,其執行依賴于轉移資產操作,轉移資產流程如圖12所示。

圖12 轉移資產流程Fig.12 Flow chart of transfer assett
智能合約內容如下:

加密具有維護網絡安全、切實抵抗黑客攻擊的功能。每個賬戶發起一筆交易成功,則nonce的值加1。nonce可以防黑客攻擊和交易偽造。一個交易需經過多重驗證,以及區塊鏈中2/3節點的認可才能生效。底層數據存儲結構為16叉Merkle樹,并且添加深度前綴,增強了加密力度。系統主要用到的加密算法如圖13所示。

圖13 加密模塊組成Fig.13 Composition of encryption module
區塊鏈安全一部分基于加密算法,另一部分基于記賬式的共識。常用的共識算法有拜占庭共識PBFT(practical byzantine fault tolerance)算法、PoW(工作量證明機制)和PoS(權益證明機制)。本系統采用PBFT算法,共識的最大容錯率為33%。
PBFT算法具有絕對一致性,是一種狀態機副本復制算法,即服務作為狀態機進行建模,狀態機在分布式系統的不同節點進行副本復制。每個狀態機的副本都保存了服務的狀態,同時也實現了服務的操作,每個節點上的數據絕對一致,當有節點數據與其他節點數據不一致時,可通過PBFT算法使節點數據進行同步。而PoW和PoS都不是強一致性共識算法,且共識效率低。若要提高共識效率,則又會犧牲共識協議的安全性。PoS應用于挖礦,簡單來說就是資本主義,按錢分配,包括DPoS在內均存在“富豪統治”問題。而PoW機制的弊端在于:一是浪費大量的算力,只用來競爭挖礦權,并沒有更多實際或科學價值;二是類似于RAFT共識,當記賬節點為作惡節點時系統將檢測不出。故該系統選擇PBFT算法。
圖14為日志與配置模塊構成,配置文件分為6個部分貫穿整個系統,輸出對應等級的日志信息。

圖14 日志與配置模塊構成Fig.14 Composition of log and configuration module
電能交易是該區塊鏈平臺的主要部分與中心環節。每筆交易的上鏈在底層中包含3個步驟:創建交易、交易簽名和提交交易。圖15為平臺初始化流程。

圖15 平臺初始化流程Fig.15 Flow chart of platform initialization
電力公司接收火電廠、風電場、戶用光伏所發電能為其賬戶總資產,其資產量隨實際擁有電量值變化。
為了簡化實驗過程,在本實驗中僅啟動A、B、C、D、E、F、薛**、李**和電力公司9個節點。假設電網總電量保持為10 GW·h。各用戶在未購電或產電時電能資產為0。電能計量器N設為10的整數倍,計時器M為10 min。假設此時天氣為晴天,時間為12:00,A、B、C用戶每分鐘每戶光伏發電為1 kW·h,而李**、D、E、F因位置等原因每分鐘每戶發電0.35 kW·h。故電力公司初始界面顯示如圖16所示?;疑脩裘麨楫a消者,黑色為普通消費者用戶。界面左上角由字母和數字組成的代碼a0020a52c701ebf5b7170 291b89cf0624b0c6c5681e659,即電力公司Account地址。

圖16 12:00電網賬戶界面Fig.16 Grid account’s interface at 12:00
隨著時間推移,戶用光伏持續產能。15:45時電力公司界面顯示如圖17所示。此時Account地址為a0029a42e5518bea59c200dab073bda4670b617 351cb55的李**查看賬戶余額后,認為77 kW·h不夠用。圖18為15:45時產消者李**界面。單擊“選擇賣方”按鈕,瀏覽平臺,確定意向賣家后,輸入小于賣方售電量的數值,購買支付即可。由于A最便宜,故選擇從A處購買200 kW·h。

圖17 15:45電網賬戶界面Fig.17 Grid account’s interface at 15:45

圖18 15:45時產消者李**界面Fig.18 Producer-consumer Li’s interface at 15:45
李**賬號成功充值200 kW·h。此時,哈希值為b0017d9c341ba14d0bb18518721c332c4ec1938b87 661af8cab4c0a172075e7a04b36b,公鑰為6eef7e43a 012e27ed3fd94fa87e851678b30fa0ea168ebd54432fb9 71a75a666。李**賬戶轉入資產200 kW·h,且成功上鏈。由于在該筆交易之前,光伏產能觸發交易22次,nonce為23。
在5 min后,由于薛**的賬戶資產為0,已被停電。故登錄賬戶,決定從電力公司購電1 000 kW·h,15:50時消費者薛**界面如圖19所示。此時,由于用戶A已經售電200 kW·h,故平臺更新賣方列表清單,用戶A僅有10 kW·h可出售電量。電網賬戶界面如圖20所示。此時電網賬戶的資產余額為9 999 000 kW·h。

圖19 15:50時消費者薛**界面Fig.19 Consumer Xue’s interface at 15:50

圖20 15:50電網賬戶界面圖Fig.20 Grid account’s interface at 15:50
本文采用區塊鏈技術搭建了光伏型電源安裝于用戶側的多邊交易平臺,雖然用戶界面友好性有待提高,但實驗表明該系統可行性較高、數據透明可溯源,對日后可能落地使用的戶用光伏交易平臺具有很大的借鑒意義,有力推動“大云物移鏈”等新一代通信技術與傳統電力行業的融合,加快其數字化轉型。
區塊鏈技術能夠滿足光伏交易平臺未來規范發展、防范風險的需要,但要真正嵌入傳統電力行業,解決日后戶用光伏用戶群壯大而形成的電能直接自由交易問題,目前還面臨3方面挑戰[31]。
(1)區塊鏈本身。由于相關標準并不統一,不同區塊鏈目前難以連通互聯,這種割裂會在一定程度上削弱區塊鏈電力交易的優勢。
(2)現實法律。各國對數字貨幣和區塊鏈的立法與監管并不同步,但立法落后于實踐是一個整體特征?,F階段,對于時間戳、區塊鏈等新技術在證據規則中的應用問題,最高人民法院仍在調研的起步階段[31]。
(3)光伏產業還未成熟,需其他技術同步跟進。
未來區塊鏈技術的演進和新能源的進一步發展將使電力交易領域從本質上有大的飛躍?;趨^塊鏈技術所建立的多邊交易平臺,將會從本質上顛覆電力交易的載體形式。