李大偉,宋春曉,李斌,顧智敏,王梓瑩
(1.南京工程學院計算機工程學院,江蘇 南京 211167;2.南京工程學院能源研究院,江蘇 南京 211167;3.江蘇省電力試驗研究院有限公司,江蘇 南京 211103)
2020年3月,國家電網(wǎng)公司提出了建設“具有中國特色國際領先的能源互聯(lián)網(wǎng)企業(yè)”的最新戰(zhàn)略目標。能源是主體,互聯(lián)網(wǎng)是手段,建設能源互聯(lián)網(wǎng)需要充分借鑒互聯(lián)網(wǎng)在數(shù)據(jù)共享和業(yè)務互聯(lián)互通中的成功經(jīng)驗,實現(xiàn)傳統(tǒng)電網(wǎng)業(yè)務的數(shù)字化轉(zhuǎn)型。2020年4月20日,國家發(fā)改委首次明確新型基礎設施的3個方面,其中信息基礎設施包括以人工智能、云計算、區(qū)塊鏈等為代表的新技術基礎設施。區(qū)塊鏈技術契合了能源互聯(lián)網(wǎng)的發(fā)展需要,區(qū)塊鏈與電網(wǎng)業(yè)務結(jié)合,有利于促進電網(wǎng)生產(chǎn)管理和運營方式向智能化、網(wǎng)絡化方向轉(zhuǎn)型,對于電網(wǎng)產(chǎn)業(yè)結(jié)構調(diào)整具有積極的作用[1—3]。
互聯(lián)網(wǎng)飛速發(fā)展的推動力之一就是以云計算、大數(shù)據(jù)中心為代表的互聯(lián)網(wǎng)基礎設施的演進和發(fā)展。2020年6月,國家電網(wǎng)公司發(fā)布“數(shù)字新基建”十大重點建設任務,聚焦大數(shù)據(jù)中心、工業(yè)互聯(lián)網(wǎng)、5G、人工智能等領域,總體投資約247億元,預計可拉動社會投資約1 000億元,內(nèi)容包括以能源區(qū)塊鏈應用為代表的10種應用。
區(qū)塊鏈是一種按照時間順序?qū)?shù)據(jù)區(qū)塊以鏈表的方式組織的分布式總賬,是集成了對等網(wǎng)絡(peer-to-peer,P2P)技術、密碼學、共識機制以及分布式存儲技術的可信分布式系統(tǒng)[4],具有去中心化、不可篡改和可審計等特點,目前已經(jīng)在各領域廣泛應用[5]。能源互聯(lián)網(wǎng)是連接能源生產(chǎn)和能源消費的基礎平臺,基于區(qū)塊鏈的能源互聯(lián)網(wǎng)能夠?qū)崿F(xiàn)各方的身份認證和互信,優(yōu)化能源流程[6]。區(qū)塊鏈技術可支撐能源互聯(lián)網(wǎng)中源、網(wǎng)、荷、儲、人等不同主體在計量認證、市場交易、協(xié)同組織、能源金融等不同環(huán)節(jié)中協(xié)調(diào)互動,實現(xiàn)互聯(lián)網(wǎng)式的雙向交互、平等共享及服務增值,目前電力領域已有越來越多的落地項目。
但區(qū)塊鏈技術具有復雜性且發(fā)展迅速[7],既包括公有鏈、聯(lián)盟鏈、許可鏈等不同形態(tài)[8],又有以太坊、超級賬本、商用區(qū)塊鏈操作系統(tǒng)(enterprise operation system,EOS)等多種實現(xiàn)平臺。已有的項目多按照自身需求進行定制化開發(fā),自成體系,缺少統(tǒng)一的建設標準和基礎設施支持[9],難以支撐能源互聯(lián)網(wǎng)背景下多主體多環(huán)節(jié)數(shù)據(jù)有效協(xié)同共享的需求[10—11]。
文中首先介紹了區(qū)塊鏈技術的原理及特點,分析區(qū)塊鏈如何體現(xiàn)能源互聯(lián)網(wǎng)理念。在此基礎上從建設需求、高可用計算資源、分布式存儲、多平面網(wǎng)絡、數(shù)字資產(chǎn)和業(yè)務中臺等方面探討了區(qū)塊鏈技術設施的建設原則和規(guī)范。
相較于其他行業(yè),電網(wǎng)覆蓋面廣、終端設備種類多、數(shù)量大、業(yè)務場景豐富、實時性和安全性要求高[12]。電力區(qū)塊鏈基礎設施建設需要結(jié)合電網(wǎng)需求,支撐數(shù)據(jù)安全、智能合約、跨鏈交互等關鍵技術,快速構建能源互聯(lián)網(wǎng)應用[13—14]。
區(qū)塊鏈系統(tǒng)架構可以分為6層,從底層往上依次是數(shù)據(jù)層、網(wǎng)絡層、共識層、激勵層、合約層和應用層,每層基礎設施能力需求和功能如圖1所示。

圖1 區(qū)塊鏈系統(tǒng)技術架構Fig.1 Architecture of blockchain system
其中,數(shù)據(jù)層的功能由底層計算和存儲基礎設施支撐,其特征是高速讀寫訪問以及安全性;網(wǎng)絡層主要實現(xiàn)P2P網(wǎng)絡基礎設施,確保去中心化互聯(lián)互通;共識層封裝各類共識算法,為區(qū)塊鏈應用提供基座;激勵層和合約層為上層業(yè)務邏輯提供中臺,通過腳本、算法和智能合約為區(qū)塊鏈系統(tǒng)提供可編程特性和自動化智能化支持;應用層通過各種接口和軟件開發(fā)套件(software development kit,SDK)為快速構建電力業(yè)務應用提供支撐。
電力業(yè)務可靠性[15]和實時性要求電力區(qū)塊鏈基礎設施應具有多中心高速互聯(lián)、高可用并發(fā)處理和高性能分布式存儲,以實現(xiàn)對上層應用場景的支撐[16]。電力區(qū)塊鏈基礎設施架構如圖2所示。

圖2 電力區(qū)塊鏈基礎設施架構Fig.2 Power blockchain infrastructure
硬件基礎設施層包含分布式存儲資源、高可用計算資源、多平面組網(wǎng)設備及配套的安全防護平臺等系統(tǒng)運行必需的基礎設施。通過可配置的接口和數(shù)據(jù)安全交換中間件實現(xiàn)區(qū)塊鏈系統(tǒng)和已有業(yè)務系統(tǒng)的無縫對接和鏈上鏈下互動協(xié)同[17—18]。
平臺層是實現(xiàn)區(qū)塊鏈功能的核心組成部分。包含服務化區(qū)塊鏈中臺(blockchain as a service,BaaS)平臺、管控平臺和綜合管理系統(tǒng)。利用區(qū)塊鏈基礎設施把能源互聯(lián)網(wǎng)業(yè)務中的各類數(shù)據(jù)進行hash索引上鏈,實現(xiàn)數(shù)據(jù)融合,并保證數(shù)據(jù)、算法、結(jié)果三者的安全性,相比傳統(tǒng)的數(shù)據(jù)匯聚方式,可信區(qū)塊鏈實現(xiàn)了完全的分布式方式的數(shù)據(jù)生態(tài)。數(shù)據(jù)源不需要把數(shù)據(jù)上鏈或者上云,可以放在自己的機房,在需求方、算法方、投放方、監(jiān)管方等整個生態(tài)打通的條件下,能通過安全多方計算實現(xiàn)對數(shù)據(jù)源、算法和結(jié)果的有效安全控制。
業(yè)務支撐層根據(jù)不同的電力業(yè)務應用場景數(shù)據(jù)融合需求,基于平臺層提供的定制化服務,通過區(qū)塊鏈應用研發(fā)平臺的軟件可定義能力,迅速實現(xiàn)能源互聯(lián)網(wǎng)業(yè)務與區(qū)塊鏈平臺的生成和對接。
電力區(qū)塊鏈系統(tǒng)對于事務處理和響應能力有更高的要求,須采用高可用服務器集群,通過高并發(fā)處理能力和內(nèi)存計算,實現(xiàn)系統(tǒng)資源的共享和彈性調(diào)配。
在具體設計時,應用輕量級虛擬化和微服務架構,獲得系統(tǒng)級容錯、應用級高可用、虛擬機在線遷移、資源動態(tài)負載均衡等能力。將這些功能集成到一個計算單元中,形成區(qū)塊鏈一體機。區(qū)塊鏈一體機設計及其部署如圖3所示。

圖3 區(qū)塊鏈一體機設計與部署Fig.3 Design and deployment of blockchain all in one machine
每個一體機由基本系統(tǒng)資源和定制化區(qū)塊鏈操作系統(tǒng)組成,通過配置模塊,區(qū)塊鏈一體機可配置成為排序節(jié)點、記賬節(jié)點、備份節(jié)點等不同角色,共同完成區(qū)塊鏈應用。每個區(qū)塊鏈一體機還包括系統(tǒng)管理、配置模塊、區(qū)塊鏈模塊、接口模塊、組網(wǎng)模塊等功能模塊,實現(xiàn)鄰居發(fā)現(xiàn)、節(jié)點配置、接口管理、安全策略、以及數(shù)據(jù)管理等功能。區(qū)塊鏈一體機通過感知算法實現(xiàn)鄰居的動態(tài)發(fā)現(xiàn)、互聯(lián)和賬本同步,可根據(jù)業(yè)務狀態(tài)進行彈性擴展。
區(qū)塊鏈一體機集群形成“松耦合”的電力區(qū)塊鏈應用的計算資源池,為各類上層服務提供靈活的基礎架構,通過智能合約滿足電力業(yè)務場景的定制化需求。計算資源池通過調(diào)度系統(tǒng)實現(xiàn)對資源的調(diào)度分配。同時,根據(jù)上層區(qū)塊鏈應用系統(tǒng)的并發(fā)需求實現(xiàn)負載自動感知均衡和資源按需協(xié)同。在組網(wǎng)方面,對新加入和退出的節(jié)點進行鄰居發(fā)現(xiàn),對不同用戶進行隔離。運維保障方面,通過自動檢測故障和系統(tǒng)熱點,保證業(yè)務穩(wěn)定可靠運行。在系統(tǒng)架構中設計賬本冷備份機制,通過服務鏡像創(chuàng)建,故障切換、自動重保護和計劃內(nèi)遷移,減少系統(tǒng)不能提供服務的時間。
區(qū)塊鏈的計算性能主要體現(xiàn)在區(qū)塊鏈網(wǎng)絡的交易吞吐量,一般以每秒并發(fā)事務數(shù)量(transaction per second,TPS)描述。假設N(t)為單位時間t內(nèi)電力業(yè)務請求的數(shù)量,B(t)為單位時間t內(nèi)區(qū)塊鏈上記錄的業(yè)務數(shù)量,隨著電力業(yè)務的增加,N(t)>B(t)的臨界點記錄的交易數(shù)量代表區(qū)塊鏈系統(tǒng)單位時間能夠完成交易的最高個數(shù)。提高系統(tǒng)性能的方法除了提高單節(jié)點運算速度外,還可以通過分層網(wǎng)絡架構和區(qū)塊分片發(fā)送的原則降低廣播和處理的數(shù)據(jù)量。
區(qū)塊鏈系統(tǒng)運行需要高性能的P2P網(wǎng)絡支持,多個節(jié)點之間通過高速冗余的網(wǎng)絡進行互聯(lián)互通。電力區(qū)塊鏈系統(tǒng)搭建一般采用主中心和從節(jié)點的方式部署,即將系統(tǒng)平臺、海量存儲、管控系統(tǒng)、安全監(jiān)控等集中部署[19],成為電力區(qū)塊鏈數(shù)據(jù)中心,從節(jié)點部署于各地的業(yè)務現(xiàn)場,主中心和從節(jié)點之間采用電力專網(wǎng)互聯(lián)。
區(qū)塊鏈數(shù)據(jù)中心網(wǎng)絡部署為具有軟件定義網(wǎng)絡(software defined network,SDN)能力的多平面架構,實現(xiàn)專網(wǎng)專用,相互隔離,容災備份,分段維護的目的。具體分為:業(yè)務平面、存儲平面和管理平面,其架構如圖4所示。

圖4 網(wǎng)絡架構Fig.4 Network architecture
區(qū)塊鏈節(jié)點的網(wǎng)絡為對等網(wǎng)絡,系統(tǒng)運行時,每個節(jié)點都對外提供服務,因此區(qū)塊鏈數(shù)據(jù)中心的網(wǎng)絡采取高性能、扁平化、多平面、冗余備份、安全隔離的設計方法?;诟咝阅芙M網(wǎng)設備和智能化網(wǎng)絡運維系統(tǒng)的下一代軟件可定義組網(wǎng)架構,實現(xiàn)區(qū)塊鏈應用場景中數(shù)據(jù)的安全快速交換。其中,業(yè)務平面是P2P網(wǎng)絡的核心,連接所有區(qū)塊鏈節(jié)點,支撐區(qū)塊鏈系統(tǒng)運行。存儲平面連接分布式存儲設備,實現(xiàn)區(qū)塊和賬本數(shù)據(jù)的快速存儲和交換,特別是新節(jié)點加入時的賬本更新,需要通過數(shù)據(jù)平面進行底層復制,以縮短同步時間??刂破矫婊赟DN技術,實現(xiàn)對網(wǎng)絡系統(tǒng)的管理、監(jiān)控、負載均衡和安全功能。
BaaS是區(qū)塊鏈軟件基礎設施,作為區(qū)塊鏈系統(tǒng)運行的中樞,BaaS系統(tǒng)賦予用戶區(qū)塊鏈管理和平臺管理的功能。其中,區(qū)塊鏈管理功能偏向于研發(fā)相關的區(qū)塊鏈的搭建和配置,而平臺管理功能則偏向于運維相關的區(qū)塊鏈運行狀態(tài)監(jiān)控。根據(jù)區(qū)塊鏈云服務管理平臺常見模塊的功能,可以將模塊分為3個層次:資源管理層、區(qū)塊鏈管理層和平臺管理層。如圖5所示。

圖5 BaaS中臺架構Fig.5 Baas middle platform architecture
資源管理層中的模塊負責和基礎設施服務(infrastructure as a service,IaaS)層的云平臺交互,管理虛擬機和網(wǎng)絡等相關資源。區(qū)塊鏈管理層負責區(qū)塊鏈的創(chuàng)建、管理和運維監(jiān)控,提供聯(lián)盟內(nèi)各成員組織組建區(qū)塊鏈功能,包含節(jié)點管理、合約管理和賬本管理等。
中臺管理層的模塊負責區(qū)塊鏈服務平臺自身的賬戶、計費、日志和統(tǒng)計報表等管理功能,面向的是平臺管理員和用戶。平臺管理層提供的相關功能包括聯(lián)盟管理、成員管理、監(jiān)控管理等。
BaaS中臺可實現(xiàn)區(qū)塊鏈系統(tǒng)的快速安裝、配置、以及初始化等操作,以便在部署大規(guī)模區(qū)塊鏈網(wǎng)絡時,可以有效縮短安裝部署時間。區(qū)塊鏈服務平臺需要支持用戶可以定制符合業(yè)務場景的區(qū)塊鏈和計算資源。例如,配置適當?shù)膮^(qū)塊鏈運行參數(shù)(出塊時間,區(qū)塊大小,交易數(shù)量等),選擇適當?shù)墓沧R算法,設置各類節(jié)點的數(shù)量以及各個節(jié)點的CPU、內(nèi)存、存儲、網(wǎng)絡帶寬等計算資源。
分布式記賬是區(qū)塊鏈的重要特征之一,該方式通過數(shù)據(jù)冗余實現(xiàn)了不同節(jié)點對記賬數(shù)據(jù)一致性的驗證。運行過程中,區(qū)塊鏈上每個節(jié)點都實時同步完整的賬本數(shù)據(jù),該方式的弊端一是單節(jié)點存儲數(shù)據(jù)量大,存儲開銷大,檢索和同步困難,二是單節(jié)點存儲容量會成為系統(tǒng)存儲的短板。
動態(tài)賬本存儲優(yōu)化機制結(jié)合賬本分片和鏈下擴容技術。其中,賬本分片的基本思想是:根據(jù)電網(wǎng)業(yè)務,將賬本分為多個分片進行存儲,每個節(jié)點僅存儲邊緣計算所屬區(qū)域的賬本數(shù)據(jù),如果需要跨域數(shù)據(jù),須通過區(qū)塊鏈網(wǎng)關節(jié)點進行路由實現(xiàn)。鏈下擴容則依據(jù)電力業(yè)務對上鏈數(shù)據(jù)進行封裝和優(yōu)化,將鏈上交易遷移到鏈下系統(tǒng)和數(shù)據(jù)庫中進行存儲,僅把交易狀態(tài)、計算結(jié)果等關鍵數(shù)據(jù)上傳到目標區(qū)塊鏈,以解決目標區(qū)塊鏈存儲、計算等資源受限的問題。
假設電力區(qū)塊鏈節(jié)點數(shù)為N,分為節(jié)點數(shù)量相同的m個分片,則每個分片的節(jié)點數(shù)C=N/m。若某電力區(qū)塊鏈分片的唯一標識分為d,賬本分布式存儲優(yōu)化方法如下:
選取一組hash函數(shù):Hi(x)(i=1,…,n)。設賬本片段為t,計算哈希值Hi(d)和Hi(t)。
對于任意i,如果判別因子δ=mind{|Hi(t)-Hi(d)|},則將賬本片段t存儲到分片d中。
電力業(yè)務數(shù)據(jù)上鏈存儲需要運行共識算法,為提系統(tǒng)存儲效率和處理速度,需根據(jù)業(yè)務需求進行數(shù)據(jù)封裝,將原本置于鏈上處理的各類計算、事務,放到鏈下處理,而鏈上僅作數(shù)據(jù)驗證,以此間接提升區(qū)塊鏈處理數(shù)據(jù)的速度。具體算法如圖6所示。

圖6 鏈下擴容流程Fig.6 Offline expansion process
電力區(qū)塊鏈系統(tǒng)支撐能源互聯(lián)網(wǎng)中“源、網(wǎng)、荷、儲”多環(huán)節(jié)高互動數(shù)據(jù)處理,系統(tǒng)應具備彈性擴展能力。參與共識的節(jié)點應能實現(xiàn)鄰居發(fā)現(xiàn)維護,并支持節(jié)點根據(jù)負載情況靈活加入和退出。
區(qū)塊鏈節(jié)點根據(jù)區(qū)塊鏈性能等標準選擇最佳的鄰居視圖。若將分片內(nèi)g個已知的共識節(jié)點作為參照系,通過測量節(jié)點在參照系中的相似度指標,確定節(jié)點鄰居屬性。設電力區(qū)塊鏈節(jié)點資源評價指標為{Rj|j=1,…,n},例如CPU、內(nèi)存等,節(jié)點x的相似度為式(1),其中rij為相應資源的利用率。
(1)
所有相似度在設定閾值范圍內(nèi)的節(jié)點均可以加入本分片。通過周期性測試每個節(jié)點的相似度可以及時刪除無用節(jié)點,提高電力區(qū)塊鏈系統(tǒng)的整體性能。
智能合約是電力區(qū)塊鏈中運行業(yè)務邏輯的主要機制,其安全性和合規(guī)性需要得到充分保證。默認情況下,智能合約可以訪問所有的系統(tǒng)資源,而使用沙箱機制,將處理邏輯在虛擬環(huán)境中進行運行和驗證,可以實現(xiàn)智能合約功能的離線模擬和測試,不僅可以減小錯誤合約上鏈的概率,還能降低調(diào)試合約的成本。
智能合約沙箱功能包括需求分析、合約設計、自然語言描述、形式化描述、模型驗證、代碼生成、試運行和一致性測試等。
將智能合約分解成有限狀態(tài)空間中的指令集合。應用狀態(tài)空間搜索的方法檢測有限狀態(tài)系統(tǒng)是否滿足設計規(guī)范。智能合約沙箱通過簡單的Promela解釋器(simple promela interpreter,SPIN)建模工具進行建模和驗證,具體步驟如下。
步驟一:將智能合約中的操作或處理看作一個有限狀態(tài)自動機,建立Promela語義模型,定義變量、消息、通道、進程、遷移等要素;
步驟二:基于從一個給定的狀態(tài)開始的某條路徑上的事件,建立線性時序邏輯(linear temporal logic,LTL);
步驟三:由LTL描述的系統(tǒng)性質(zhì)進行自動機異步交錯積獲取智能合約系統(tǒng)的行為模型并迭代;
步驟四:計算LTL對應自動機與全局有限狀態(tài)自動機的同步積,形成一個新的自動機,如果自動機接受為空,表示驗證通過。判斷方法是先檢驗有沒有一個從初始狀態(tài)開始可達的環(huán)路包括至少一個接受狀態(tài)。
國家電網(wǎng)公司“數(shù)字新基建”十大重點建設任務之一是要求建設能源區(qū)塊鏈公共服務平臺,推動線上產(chǎn)業(yè)鏈金融等典型應用,建成“一主兩側(cè)多側(cè)”的國網(wǎng)鏈,探索12類試點應用。隨著區(qū)塊鏈應用的增多,電力應用中多條同構或異構區(qū)塊鏈的跨鏈數(shù)據(jù)流通需求相應增加。因此,圍繞電力區(qū)塊鏈應用需求及模式,建立統(tǒng)一資源描述和格式規(guī)范、設計跨鏈架構和編程接口,對支持開發(fā)人員快速構建跨鏈應用具有重要的意義。
電力區(qū)塊鏈跨鏈技術通過定義數(shù)據(jù)資產(chǎn)和區(qū)塊鏈路由,形成支持條件隱私的電力主從鏈架構,實現(xiàn)可信接入的區(qū)塊鏈跨鏈交互與通信優(yōu)化,提供基于電力區(qū)塊鏈的對內(nèi)、對外互信服務。
目前有3類跨鏈技術,分別是公證人機制(notary schemes)、側(cè)鏈/中繼(sidechains/relays)、哈希鎖定(Hash-locking)。其中側(cè)鏈/中繼技術通過智能合約和加密哈希樹等技術進行跨鏈交易驗證和狀態(tài)確認,驗證邏輯可運行于輕量級智能終端中,適用于電力區(qū)塊鏈應用場景。
側(cè)鏈技術基于簡化的交易驗證(simplified payment verification,SPV)驗證機制的雙向錨定實現(xiàn),具體如下。
步驟一:主鏈鎖定,向從鏈發(fā)起SPV驗證,等待對方確認;
步驟二:從鏈運行智能合約,完成數(shù)據(jù)交換處理;
步驟三:從鏈鎖定,發(fā)送SPV驗證給主鏈,等待對方確認;
步驟四:主鏈運行智能合約,解除鎖定狀態(tài),雙向錨定結(jié)束。
區(qū)塊鏈的作用之一是多方數(shù)據(jù)可信共享和業(yè)務協(xié)同。同傳統(tǒng)區(qū)塊鏈系統(tǒng)一樣,電力區(qū)塊鏈中數(shù)據(jù)共享可分為鏈上鏈下數(shù)據(jù)協(xié)同和鏈間數(shù)據(jù)共享2種類型。
2.5.1 鏈上鏈下數(shù)據(jù)協(xié)同
鏈上鏈下數(shù)據(jù)協(xié)同是指區(qū)塊鏈賬本中的數(shù)據(jù)與鏈下信息系統(tǒng)中的數(shù)據(jù)協(xié)同。由于區(qū)塊鏈是相對閉環(huán)的體系,因此將鏈下系統(tǒng)數(shù)據(jù)庫中數(shù)據(jù)進行提取封裝并上鏈存儲,實現(xiàn)鏈下物理世界的信息到鏈上信息世界的數(shù)據(jù)映射尤為重要。例如,配電自動化系統(tǒng)中的監(jiān)控數(shù)據(jù)采集、故障處理、數(shù)據(jù)分析應用,以及與能量管理系統(tǒng)EMS、生產(chǎn)管理系統(tǒng)PMS、電力GIS、營銷管理系統(tǒng)CIS、95598客戶服務系統(tǒng)、用電信息采集系統(tǒng),以及調(diào)度管理系統(tǒng)OMS等相關應用系統(tǒng)與區(qū)塊鏈的互聯(lián),需要大量的鏈上鏈下數(shù)據(jù)協(xié)同。
目前常見的數(shù)據(jù)上鏈多采用業(yè)務平臺對接的方式,難以保證上鏈前數(shù)據(jù)源的可信性和上鏈前后數(shù)據(jù)的一致性。因此電力區(qū)塊鏈系統(tǒng)獲取鏈下信息系統(tǒng)中的數(shù)據(jù)應該通過預言機實現(xiàn)。預言機是一種可為區(qū)塊鏈提供數(shù)據(jù)源的單向數(shù)字代理,可以查找和驗證鏈下信息系統(tǒng)中的數(shù)據(jù),并以加密的方式提供給智能合約處理,從而實現(xiàn)數(shù)據(jù)上鏈。
2.5.2 鏈間數(shù)據(jù)共享
鏈間數(shù)據(jù)共享是跨鏈技術解決的問題之一。電力區(qū)塊鏈系統(tǒng)中鏈間數(shù)據(jù)共享的關鍵點還包括電力數(shù)據(jù)資源的描述規(guī)范和跨鏈事務機制。
電力區(qū)塊鏈數(shù)據(jù)資源雖然具有多維異構特性,但其核心功能可歸納為靜態(tài)屬性、動態(tài)屬性和記賬屬性3類,因此可建立統(tǒng)一資源范式,如圖7所示。

圖7 統(tǒng)一資源范式Fig.7 Unified resource paradigm
電力區(qū)塊鏈系統(tǒng)通過事務機制保證數(shù)據(jù)資產(chǎn)和交易的真實性和一致性。特別是在跨鏈環(huán)境下,事務機制可以確保一條鏈上的數(shù)據(jù)資產(chǎn)轉(zhuǎn)出和另一條鏈上的資產(chǎn)轉(zhuǎn)入同步完成。
電力區(qū)塊鏈系統(tǒng)事務機制可采用哈希時間鎖定(Hashed time lock contract,HTLC)機制進行原子級的事務處理。處理過程包括正常事務處理和錯誤回滾操作,事務中任何步驟未完成將觸發(fā)回滾機制,確保事務的同步和數(shù)據(jù)一致性。
安全督查作為國家電網(wǎng)公司在信息安全領域的一項基礎性工作,在隱患消缺、數(shù)據(jù)防泄露、重大事件保障、網(wǎng)絡安全人才培養(yǎng)等方面發(fā)揮了重要作用[12]。然而,某省級電網(wǎng)公司在安全督查工作執(zhí)行過程中也逐漸暴露出督查臺帳不清晰、工作執(zhí)行效率低等不足?;趨^(qū)塊鏈技術的某省級電網(wǎng)公司信息資產(chǎn)全生命周期安全督查管理系統(tǒng),具備“資產(chǎn)臺帳可溯、運維過程可管、漏洞整改可控、督查效果可視”的能力。
區(qū)塊鏈安全督查系統(tǒng)從資產(chǎn)上線前安全檢測,資產(chǎn)安全運行,資產(chǎn)銷毀下線3個時間跨度,實現(xiàn)信息資產(chǎn)的全生命周期管理,其架構如圖8所示。

圖8 區(qū)塊鏈安全督查系統(tǒng)架構Fig.8 Architecture of blockchain security supervision system
基于上述需求,搭建區(qū)塊鏈基礎設施如圖9所示。其中,計算資源由區(qū)塊鏈一體機組成,分為中心和分布式節(jié)點2種部署方式,共有21個共識節(jié)點和40個同步節(jié)點;存儲資源為光纖連接的存儲設備,可用存儲空間為200 TB;網(wǎng)絡資源中,業(yè)務平面通過10 Gbps高速交換機實現(xiàn)各節(jié)點之間的P2P組網(wǎng),控制平面通過SDN控制器連接所有設備進行一體化管控,數(shù)據(jù)平面通過高速光網(wǎng)絡實現(xiàn)數(shù)據(jù)和賬本的訪問。

圖9 基礎設施部署Fig.9 Infrastructure deployment
原型系統(tǒng)將信息管理大區(qū)的在運行設備、系統(tǒng)和應用等納入督查資產(chǎn)生命周期管理體系,從全生命周期的角度對資產(chǎn)的測試報告、部署區(qū)域、基線現(xiàn)狀、防護策略、開放端口、操作系統(tǒng)版本、軟件版本、更新記錄、漏洞記錄等信息等進行記錄管理,非敏感數(shù)據(jù)使用區(qū)塊鏈記錄。
對系統(tǒng)性能進行測試,結(jié)果如表1所示。其中,單節(jié)點CPU為intel i7-8700@3.20 GHz,6核心12線程,單節(jié)點內(nèi)存為4 GB DDR4 2666,操作系統(tǒng)為Ubuntu 18.04。

表1 系統(tǒng)性能統(tǒng)計表Table 1 Statistical table of system performance
其中,出塊速度為單節(jié)點單通道測得,當共識節(jié)點數(shù)量增加時,由于共識需要的通信量增多,出塊時間會相應增加。內(nèi)存和CPU占用率為主進程占用的資源量。TPS為模擬場景中安全督察管理系統(tǒng)業(yè)務并發(fā)量測算得出,該TPS可支撐省級安全督察管理需要。
電力系統(tǒng)是專業(yè)化程度高的信息系統(tǒng),使用現(xiàn)有技術構建可擴展的區(qū)塊鏈網(wǎng)絡的設置復雜且難以管理。例如,要創(chuàng)建區(qū)塊鏈網(wǎng)絡,每個網(wǎng)絡成員需要手動預置硬件、安裝軟件、創(chuàng)建和管理用于訪問控制的證書,以及配置網(wǎng)絡組件。文中在分析區(qū)塊鏈實現(xiàn)技術的基礎上,借鑒云計算基礎設施設計和部署方法,研究了區(qū)塊鏈基礎設施設計和部署的方案,并通過電力安全督查管理應用系統(tǒng)驗證了該方案的可行性。
本文得到江蘇省高校自然科學基金資助項目(19KJB520036),南京工程學院人才引進項目(YKJ201721),江蘇省電力試驗研究院有限公司科技項目“基于區(qū)塊鏈的網(wǎng)絡安全督查技術研究及平臺研制”資助,謹此致謝!