甄自競,劉 柱,王利民,宋澤華
(1.電力規(guī)劃總院有限公司,北京 100032;2.國網(wǎng)信息通信產(chǎn)業(yè)集團有限公司,北京 102200;3.國網(wǎng)國際發(fā)展有限公司,北京 100032)
區(qū)塊鏈技術(shù)自問世以來,一直受到廣泛的關(guān)注。區(qū)塊鏈技術(shù)本質(zhì)上是一種由多個節(jié)點共同參與維護的分布式賬本技術(shù),可以實現(xiàn)數(shù)據(jù)的分布式存儲、在多個主體之間建立信任機制以及保證數(shù)據(jù)不可篡改等功能。隨著區(qū)塊鏈技術(shù)原理、共識機制和應(yīng)用研究方面的發(fā)展,其在金融、物聯(lián)網(wǎng)、分布式存儲、能源等領(lǐng)域的應(yīng)用更加深入和廣泛[1-4]。在能源領(lǐng)域,對于區(qū)塊鏈技術(shù)的應(yīng)用探索主要集中在分布式能源交易[5-9]、虛擬電廠調(diào)度[10]、數(shù)字身份認(rèn)證[11]以及數(shù)據(jù)的去中心化存儲[12-15]等方面。文獻[5-6]建立了以區(qū)塊鏈技術(shù)為基礎(chǔ)的去中心化交易系統(tǒng)來滿足電力系統(tǒng)日趨復(fù)雜的交易場景。文獻[7]提出采用異構(gòu)區(qū)塊鏈技術(shù)來解決跨鏈通信問題,并在此基礎(chǔ)上構(gòu)建了多能交易系統(tǒng)。文獻[8]采用運行在區(qū)塊鏈上的智能合約來執(zhí)行充電站的購電策略,達到降低購電成本的目的。文獻[9]提出了基于區(qū)塊鏈技術(shù)的微網(wǎng)能源交易機制。文獻[10]將區(qū)塊鏈技術(shù)引入到虛擬電廠的調(diào)度運行當(dāng)中。文獻[11]利用區(qū)塊鏈技術(shù)來對電力系統(tǒng)的資產(chǎn)數(shù)據(jù)、安全數(shù)據(jù)進行分布式存儲,優(yōu)化數(shù)據(jù)存儲模式。
目前將區(qū)塊鏈技術(shù)應(yīng)用于配電網(wǎng)數(shù)據(jù)存儲的研究相對較少,文獻[12]雖然提出配電網(wǎng)數(shù)據(jù)池的構(gòu)想,但是側(cè)重于管理架構(gòu)的創(chuàng)新,并未將區(qū)塊鏈技術(shù)和配電網(wǎng)臺區(qū)設(shè)備相結(jié)合,無法從根源上確保配電網(wǎng)臺區(qū)數(shù)據(jù)的完整和有效。文獻[13]提出了將區(qū)塊鏈技術(shù)和電力物聯(lián)網(wǎng)設(shè)備相結(jié)合的構(gòu)想,但并未進一步給出詳細(xì)的技術(shù)方案和系統(tǒng)的運行機制。
現(xiàn)行的配電物聯(lián)網(wǎng)的總體架構(gòu)如圖1 所示,臺區(qū)終端在架構(gòu)中屬于感知層部分,負(fù)責(zé)將智能電表、故障診斷設(shè)備、開關(guān)設(shè)備等臺區(qū)設(shè)備所采集的數(shù)據(jù)進行收集,做初步處理后上送到平臺層的云主站端,云主站對數(shù)據(jù)進行存儲,并將數(shù)據(jù)提供給應(yīng)用層?,F(xiàn)行的配電物聯(lián)網(wǎng)總體架構(gòu)本質(zhì)上是一種中心化的數(shù)據(jù)存儲和處理模式,會帶來以下三方面問題:
圖1 配電物聯(lián)網(wǎng)總體架構(gòu)
(1)過于中心化
在現(xiàn)行架構(gòu)中,所有臺區(qū)的數(shù)據(jù)最終都要匯總并且存儲到云主站端,主站是整個系統(tǒng)的核心,系統(tǒng)功能的實現(xiàn)依賴于云主站的正常運行,一旦主站發(fā)生故障,會導(dǎo)致整個系統(tǒng)癱瘓。同時,雖然配電終端具備一定的數(shù)據(jù)存儲能力,但是如果某個臺區(qū)對應(yīng)的終端和主站發(fā)生故障,則重要數(shù)據(jù)仍然會丟失,無法真正實現(xiàn)數(shù)據(jù)的去中心化存儲。
(2)無法保證安全性
在現(xiàn)行架構(gòu)下,所有臺區(qū)數(shù)據(jù)均存儲在主站中,而主站端的數(shù)據(jù)備份數(shù)量有限,如果主站遭受惡意攻擊,導(dǎo)致數(shù)據(jù)被篡改或丟失,數(shù)據(jù)的安全性難以得到保證。
(3)不適用于分布式能源交易
去中心化能源交易概念的提出和微網(wǎng)技術(shù)的成熟,使得不同臺區(qū)的分布式能源之間實現(xiàn)“點-點”的去中心化交易成為可能,也將成為未來分布式能源的主要交易方式之一。而現(xiàn)有中心化架構(gòu)并不適用于分布式能源的去中心化交易方式。
上述問題產(chǎn)生的實質(zhì)在于現(xiàn)行配電物聯(lián)網(wǎng)數(shù)據(jù)存儲架構(gòu)過于中心化,而采用區(qū)塊鏈技術(shù)將臺區(qū)數(shù)據(jù)進行分布式存儲可以一定程度上彌補中心化存儲的問題。本文遵循這個思路提出基于區(qū)塊鏈技術(shù)的分布式終端系統(tǒng),試圖將區(qū)塊鏈技術(shù)和電力物聯(lián)網(wǎng)技術(shù)相融合,構(gòu)建配電網(wǎng)數(shù)據(jù)主鏈,確保臺區(qū)數(shù)據(jù)的安全、有效和不可篡改。本文將對分布式終端的系統(tǒng)架構(gòu)、共識機制和運行機制做出詳細(xì)的說明。
分布式配電網(wǎng)終端系統(tǒng)主要由配電網(wǎng)臺區(qū)終端構(gòu)成,由配電網(wǎng)所有的臺區(qū)終端作為節(jié)點共同組建成區(qū)塊鏈網(wǎng)絡(luò),臺區(qū)終端之間通過無線專網(wǎng)/公網(wǎng)實現(xiàn)端-端通信,臺區(qū)終端收集到的數(shù)據(jù)除了向主站上送外,其中重要的數(shù)據(jù)也會傳輸給全網(wǎng)其他終端;同時配電網(wǎng)臺區(qū)數(shù)據(jù)以區(qū)塊鏈的形式存儲在所有臺區(qū)終端中,由此可以在配電網(wǎng)終端間建立起端-端通信和分布式存儲的架構(gòu)。分布式終端系統(tǒng)在終端之間建立端-端通信通道,終端之間的通信不再需要經(jīng)過主站,當(dāng)主站發(fā)生故障或者不穩(wěn)定時,臺區(qū)重要數(shù)據(jù)仍能在終端間進行傳輸,確保系統(tǒng)不會癱瘓;同時由于臺區(qū)數(shù)據(jù)采取分布式存儲的模式,使得每一臺終端內(nèi)都有相應(yīng)數(shù)據(jù)備份,在主站遭受惡意攻擊或者人為篡改后,所有終端保存著完整的數(shù)據(jù)備份,并且數(shù)據(jù)采用的是鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),從而保證了數(shù)據(jù)不會丟失和被篡改,大大提高了數(shù)據(jù)的安全性。
需要說明的是,目前配電終端數(shù)據(jù)存儲能力是有限的,因此本文所提出的系統(tǒng)中,分布式臺區(qū)終端系統(tǒng)并不具備存儲大量臺區(qū)實時數(shù)據(jù)的條件,需要根據(jù)臺區(qū)具體需求來確定儲存的數(shù)據(jù)內(nèi)容。根據(jù)目前的臺區(qū)終端試點和工程實際來看,可以將分布式能源的交易數(shù)據(jù)、終端數(shù)字ID、臺區(qū)停電信息、臺區(qū)設(shè)備故障信息和臺區(qū)用電量等較為重要的數(shù)據(jù)采用區(qū)塊鏈技術(shù)進行存儲,而實時性要求較高的數(shù)據(jù),例如實時電壓、電流等還是需要上送到云主站進行存儲。
從這個角度而言,本文提出的分布式配電網(wǎng)終端系統(tǒng)是對現(xiàn)行中心化數(shù)據(jù)存儲模式的補充,將臺區(qū)最為重要的數(shù)據(jù)進行去中心化存儲,用來解決中心化存儲的缺點,而不是徹底取代現(xiàn)有中心化模式。兩種模式相輔相成,才能更好發(fā)揮配電網(wǎng)臺區(qū)終端的作用,在保證配電網(wǎng)臺區(qū)數(shù)據(jù)實時性的同時,確保數(shù)據(jù)的真實性和可靠性。隨著電力物聯(lián)網(wǎng)技術(shù)的發(fā)展,臺區(qū)終端的計算能力和存儲能力也在不斷增強,未來分布式終端可以存儲的臺區(qū)數(shù)據(jù)內(nèi)容也將會更加豐富。
在本文所提出的分布式終端系統(tǒng)架構(gòu)中,臺區(qū)終端是核心,每一個臺區(qū)終端都作為完整節(jié)點共同參與區(qū)塊鏈網(wǎng)絡(luò)的維護當(dāng)中。作為區(qū)塊鏈網(wǎng)絡(luò)的節(jié)點,需要存儲整個區(qū)塊鏈網(wǎng)絡(luò)的主鏈數(shù)據(jù),因此相比于現(xiàn)行架構(gòu)中處于感知層的終端,分布式終端系統(tǒng)中的終端不僅需要收集數(shù)據(jù),還需要具備更強的數(shù)據(jù)存儲能力和計算能力。
在分布式終端系統(tǒng)中,終端間的通信不再需要經(jīng)過云平臺,通過制定端-端通信協(xié)議,并在終端之間建立通信通道就可以確保終端之間實現(xiàn)端-端通信機制,使得整個系統(tǒng)的運行不再依賴于某幾個中心節(jié)點,實現(xiàn)了真正意義上的去中心化。
終端收集到其對應(yīng)臺區(qū)的數(shù)據(jù)后,需要向整個系統(tǒng)中其他終端傳輸該數(shù)據(jù),這個過程稱為全網(wǎng)廣播。當(dāng)一個終端收到其他終端的數(shù)據(jù)時,需要將該數(shù)據(jù)進一步傳輸給相鄰終端,這個過程稱為轉(zhuǎn)發(fā)。終端A 收集到其對應(yīng)臺區(qū)的數(shù)據(jù)后,進行全網(wǎng)廣播,終端B 收到終端A 傳輸?shù)臄?shù)據(jù),立即轉(zhuǎn)發(fā)給終端C 和D,終端C 和D 再轉(zhuǎn)發(fā)給相鄰終端。由此,當(dāng)某個終端需要向全網(wǎng)其他終端傳輸數(shù)據(jù)時,只需先轉(zhuǎn)發(fā)給自己的相鄰終端即可,由其相鄰終端再進一步轉(zhuǎn)發(fā),從而使得全網(wǎng)所有終端都收到該數(shù)據(jù)。
分布式終端系統(tǒng)中的臺區(qū)數(shù)據(jù)以區(qū)塊的方式進行存儲,每一個區(qū)塊由區(qū)塊頭和臺區(qū)數(shù)據(jù)列表構(gòu)成,區(qū)塊頭又包含區(qū)塊版本、前一個區(qū)塊的哈希值、該區(qū)塊的創(chuàng)建時間,臺區(qū)數(shù)據(jù)列表包含該區(qū)塊所存儲的臺區(qū)數(shù)據(jù),區(qū)塊之間通過哈希值相連接,形成鏈?zhǔn)降臄?shù)據(jù)結(jié)構(gòu)即配電網(wǎng)主鏈,如圖2 所示。每過一段時間都會有新的區(qū)塊產(chǎn)生,這段時間內(nèi)臺區(qū)數(shù)據(jù)將會存儲在新的區(qū)塊上,新區(qū)塊通過在區(qū)塊頭中記錄上一個區(qū)塊的哈希值來連接到主鏈上。當(dāng)一個終端將一段時間的臺區(qū)重要數(shù)據(jù)和上一個區(qū)塊的哈希值按照區(qū)塊的結(jié)構(gòu)形成新的區(qū)塊并連接到主鏈時,稱之為打包。
圖2 配電網(wǎng)主鏈
目前終端硬件主要由交采板、主控板和通信模塊組成,交采板主要包括交采芯片,用于臺區(qū)數(shù)據(jù)的采集;主控板包括主控芯片,內(nèi)嵌操作系統(tǒng)和各種嵌入式APP,是整個終端的核心組件;通信模塊包括載波通信模塊和無線通信模塊等。硬件方面需要新增一個可信芯片,作為終端區(qū)塊功能的硬件載體。
軟件層面,終端采用的是軟硬件解耦的設(shè)計方式,通過在主控芯片上的嵌入式APP 來確保終端功能的實現(xiàn)。分布式終端系統(tǒng)中,需要保證終端具備端-端通信功能、區(qū)塊生成功能和區(qū)塊廣播功能。為此需要開發(fā)區(qū)塊數(shù)據(jù)APP 來保證上述功能的實現(xiàn),區(qū)塊APP 需要嵌入到可信芯片上。
在區(qū)塊鏈系統(tǒng)中,為了維護系統(tǒng)安全,會采用共識機制來激勵節(jié)點進行記賬,一個節(jié)點只有在和其他節(jié)點的競爭中勝出才擁有將一段時間內(nèi)交易信息打包的權(quán)利,即記賬權(quán)。在分布式終端系統(tǒng)中,如果采用工作量證明機制或者權(quán)益證明機制,將會造成大量計算資源的浪費,影響終端其他功能,為此本文提出一種基于可信芯片的POR(隨機數(shù)證明)機制,計算功能由可信芯片完成,并不占用主控板的系統(tǒng)資源,可信芯片中內(nèi)嵌區(qū)塊APP,使得終端具備生成區(qū)塊、廣播區(qū)塊、驗證區(qū)塊等功能。在系統(tǒng)運行過程中由可信芯片內(nèi)嵌入的區(qū)塊APP 來運行可驗證隨機數(shù)生成程序,不同終端生成隨機數(shù)的時間是不同的,用時最短的終端會被選為記賬節(jié)點,由于芯片是可信的,并且隨機數(shù)生成的時間也是隨機的,因此,并不需要消耗大量計算資源對記賬權(quán)進行競爭,從而可以更快地在系統(tǒng)內(nèi)實現(xiàn)共識,降低對計算資源的消耗。當(dāng)其他終端收到該新區(qū)塊時需要對隨機數(shù)進行驗證,驗證通過則其他終端會將新區(qū)塊寫入主鏈,此時整個配電網(wǎng)主鏈更新完畢,隨后再運行隨機數(shù)生成程序生成新的隨機數(shù),來確定擔(dān)任下一個記賬節(jié)點的終端。
為了證明隨機數(shù)證明機制的優(yōu)越性,從傳播時間、吞吐量和CPU 占用率這3 個維度對POW(工作量證明)、POS(權(quán)益證明)和POR 進行對比。仿真系統(tǒng)見參考文獻[14-15],仿真系統(tǒng)是由多個終端組成的區(qū)塊鏈網(wǎng)絡(luò),其中每個終端都作為區(qū)塊鏈網(wǎng)絡(luò)中的一個節(jié)點,在進行仿真時,分別選取100,200,300,400,500 個節(jié)點這5 個層次的網(wǎng)絡(luò)規(guī)模來對比3 種共識機制,仿真系統(tǒng)基于ns3 開源程序編寫,可用于模擬不同網(wǎng)絡(luò)規(guī)模下區(qū)塊鏈網(wǎng)絡(luò)的區(qū)塊生成和傳播過程。
傳播時間是指一個新區(qū)塊生成后,新區(qū)塊傳播到全網(wǎng)所有節(jié)點的時間。仿真系統(tǒng)模擬不同網(wǎng)絡(luò)規(guī)模下分別采用3 種共識機制的系統(tǒng)運行情況,圖3 給出了區(qū)塊傳播時間的仿真結(jié)果。
圖3 區(qū)塊傳播時間對比
由圖3 可知,采用POR 的系統(tǒng)區(qū)塊傳播時間顯著小于采用POW 和POS 的系統(tǒng),意味著POR機制可以更加迅速地形成共識,系統(tǒng)運行效率更高。
區(qū)塊鏈系統(tǒng)的吞吐量是指一個區(qū)塊鏈系統(tǒng)每秒所能處理的交易數(shù)量,是區(qū)塊鏈系統(tǒng)的重要性能指標(biāo),吞吐量越高,意味著系統(tǒng)處理數(shù)據(jù)的效率越高。在分布式終端系統(tǒng)中,吞吐量特指系統(tǒng)每秒所能處理的臺區(qū)數(shù)據(jù)數(shù)量。圖4 給出了采用3 種不同機制的系統(tǒng)吞度量對比結(jié)果。
圖4 系統(tǒng)吞吐量對比
從圖4 中可以看出,采用POR 共識機制的系統(tǒng)吞吐量明顯高于POW 和POS,而且隨著系統(tǒng)節(jié)點數(shù)的上升,POR 吞吐量下降并不明顯,說明采用POR 的系統(tǒng)運行效率更高,相同時間內(nèi)能處理的數(shù)據(jù)量更大。
采用不同共識機制,對終端主控板的CPU占用率也不一樣,圖5 中給出對比結(jié)果。
由圖5 中可知,在節(jié)點數(shù)到達400 時,采用POW 和POS 共識機制的主控板CPU 占用率達到100%,意味著終端將會死機,無法正常工作,顯然在實際工程中是不能采用POW 和POS 共識機制的。而采用POR 共識機制對主控板CPU 的占用率一直在1%左右,并未隨著節(jié)點數(shù)量的增加而大幅增加,這是因為在POR 共識機制下,計算功能主要由可信芯片來完成,對主控板CPU 占用率可以忽略不計。因此POR 共識機制更具備工程實用性。
圖5 系統(tǒng)CPU 占用率對比
綜上,通過區(qū)塊傳播時間、吞吐量、CPU 占用率3 個方面的對比,POR 共識機制顯著優(yōu)于POW 和POS 共識機制,因此在分布式終端系統(tǒng)中,選取POR 作為系統(tǒng)的共識機制。
在確定系統(tǒng)的共識機制后,本節(jié)對分布式終端系統(tǒng)的運行機制進行詳細(xì)說明,系統(tǒng)運行機制如圖6 所示。所有臺區(qū)終端作為節(jié)點共同組成了區(qū)塊鏈網(wǎng)絡(luò),臺區(qū)數(shù)據(jù)將在區(qū)塊鏈網(wǎng)絡(luò)中進行端-端傳輸和分布式存儲,每個節(jié)點均存儲有配電網(wǎng)主鏈和未進入?yún)^(qū)塊的數(shù)據(jù)緩沖區(qū),數(shù)據(jù)緩存區(qū)中存儲有未進入?yún)^(qū)塊的臺區(qū)數(shù)據(jù)。
圖6 系統(tǒng)運行機制
假設(shè)臺區(qū)a 的數(shù)據(jù)被終端收集到,該終端會首先將數(shù)據(jù)存入到數(shù)據(jù)緩存區(qū)中,同時該終端將數(shù)據(jù)轉(zhuǎn)發(fā)給相鄰終端,相鄰終端也將數(shù)據(jù)存儲到數(shù)據(jù)緩存區(qū),同時進一步轉(zhuǎn)發(fā),直到數(shù)據(jù)存儲到全網(wǎng)所有終端的數(shù)據(jù)緩存區(qū)中。
在臺區(qū)數(shù)據(jù)進行全網(wǎng)廣播后,終端的可信芯片會運行可驗證隨機數(shù)生成程序,由隨機數(shù)決定擔(dān)任記賬節(jié)點的終端,記賬節(jié)點終端將臺區(qū)數(shù)據(jù)打包成新區(qū)塊,寫入主鏈中,同時將數(shù)據(jù)從數(shù)據(jù)緩存區(qū)中刪除;記賬節(jié)點隨后將新區(qū)塊進行全網(wǎng)廣播,其他終端在接收到新區(qū)塊后,對隨機數(shù)進行驗證,驗證通過后將新區(qū)塊連接到配電網(wǎng)主鏈上,并將數(shù)據(jù)池緩存區(qū)的臺區(qū)數(shù)據(jù)刪除,至此所有終端的配電網(wǎng)主鏈均已被加入了新的區(qū)塊,臺區(qū)數(shù)據(jù)實現(xiàn)了分布式存儲。
通過對示例系統(tǒng)運行機制的說明,可以看到分布式終端系統(tǒng)中的臺區(qū)數(shù)據(jù)從產(chǎn)生到存儲到全網(wǎng)所有終端中的整個過程,在臺區(qū)數(shù)據(jù)產(chǎn)生后,首先會進入終端內(nèi)未進入?yún)^(qū)塊的數(shù)據(jù)緩沖區(qū)中,在系統(tǒng)選取記賬節(jié)點后,被選為記賬節(jié)點的終端將數(shù)據(jù)緩沖區(qū)中所有數(shù)據(jù)進行打包形成新的區(qū)塊,并全網(wǎng)廣播,隨后全網(wǎng)所有終端將這個新的區(qū)塊連接到各自存儲的配電網(wǎng)主鏈上,新區(qū)塊內(nèi)的臺區(qū)數(shù)據(jù)將會分布存儲在臺區(qū)的所有終端內(nèi),實現(xiàn)了臺區(qū)數(shù)據(jù)的分布式存儲。
本文詳細(xì)描述了分布式終端系統(tǒng)的系統(tǒng)架構(gòu)、共識機制和運行機制,得出以下主要結(jié)論:
(1)分布式終端系統(tǒng)在大量分散的終端間建立了協(xié)作機制,使得整個系統(tǒng)的運行不再依賴于中心節(jié)點,即便云主站發(fā)生故障,分布式終端系統(tǒng)仍能正常運行,彌補了現(xiàn)行配電物聯(lián)網(wǎng)架構(gòu)過于中心化的缺點,也在一定程度上緩解了云主站的存儲壓力。
(2)臺區(qū)數(shù)據(jù)均以配電網(wǎng)主鏈的形式存儲在系統(tǒng)的所有終端內(nèi),難以被篡改,即便云主站和部分終端發(fā)生故障造成數(shù)據(jù)丟失,其他終端仍存有完整的數(shù)據(jù)備份,可以最大限度保證臺區(qū)數(shù)據(jù)的安全和完整。
(3)本文提出的基于可信芯片的POR 共識機制在性能上顯著優(yōu)于目前主流的POW 機制和POS 機制,可以在大量終端間快速形成共識,更適用于在電力設(shè)備間建立協(xié)作機制,具備工程實用性。
(4)區(qū)塊鏈技術(shù)和電力系統(tǒng)硬件設(shè)備相結(jié)合的應(yīng)用尚屬空白,隨著大量臺區(qū)終端接入到配電網(wǎng)中,逐漸形成了大量臺區(qū)終端分布式的結(jié)構(gòu),非常適合采用區(qū)塊鏈技術(shù)在分布式終端間建立協(xié)作機制,同時電力物聯(lián)網(wǎng)技術(shù)的成熟和臺區(qū)終端設(shè)備存儲、計算能力的不斷提升也使得分布式終端系統(tǒng)的實現(xiàn)成為可能。分布式終端系統(tǒng)是將區(qū)塊鏈技術(shù)和電力物聯(lián)網(wǎng)技術(shù)相結(jié)合的有益探索和嘗試,也為區(qū)塊鏈技術(shù)在能源領(lǐng)域的應(yīng)用提供了新的思路。分布式終端系統(tǒng)會進一步在實際電力系統(tǒng)的臺區(qū)中進行試點驗證,根據(jù)實際運行情況有針對性地做出改進和優(yōu)化。