首頁 > 行業(yè)資訊

分布式新能源接入下的區(qū)塊鏈共識機制研究

來源:新能源網(wǎng)
時間:2019-09-02 09:11:44
熱度:

分布式新能源接入下的區(qū)塊鏈共識機制研究方 響,馬 笛,侯偉宏,孫智卿,楊 翾,劉 劍(國網(wǎng)浙江省電力有限公司杭州供電公司,杭州 310009)方響, 馬笛, 侯偉宏等. 分布式新能

方 響,馬 笛,侯偉宏,孫智卿,楊 翾,劉 劍

(國網(wǎng)浙江省電力有限公司杭州供電公司,杭州 310009)

方響, 馬笛, 侯偉宏等. 分布式新能源接入下的區(qū)塊鏈共識機制研究[J]. 浙江電力, 2019, 38(7):1-6.

0 引言

目前,以光伏為代表的新能源已逐漸取代傳統(tǒng)的集中式煤炭、天然氣發(fā)電,能源生產(chǎn)逐步向可再生能源轉(zhuǎn)型。根據(jù)中國電力企業(yè)聯(lián)合會數(shù)據(jù)統(tǒng)計,分布式光伏發(fā)電以70%以上的速度持續(xù)增長,高比例可再生能源將成為未來電網(wǎng)的重要特征,電網(wǎng)系統(tǒng)靈活性將大幅提升,但隨之而來的是對電網(wǎng)網(wǎng)架安全性、可靠性的更高要求,對電網(wǎng)調(diào)度專業(yè)調(diào)控能力、風險控制能力的更高要求。

新能源具有分布分散、潮流可控、產(chǎn)用靈活等特點,這些特點天然與區(qū)塊鏈技術相契合。通過將區(qū)塊鏈技術引入到正在逐步成型的分布式新能源共享服務平臺中,可以有效促進信息與物理系統(tǒng)的進一步融合,實現(xiàn)新能源電力數(shù)據(jù)共享傳輸?shù)亩嘣偷统杀净痆1-2]。區(qū)塊鏈技術從提出至今已經(jīng)過十余年的優(yōu)化發(fā)展,在加密算法等領域技術已較為成熟,然而作為區(qū)塊鏈技術靈魂的共識機制領域,仍在隨著區(qū)塊鏈技術應用領域的不斷擴展而推陳出新,選取合適恰當?shù)墓沧R機制算法將從本質(zhì)上影響該鏈的傳輸性能、容錯能力。目前各領域已獲得成熟應用的共識機制包括PBFT(實用拜占庭容錯)機制、POW(工作量證明)機制、POS(股權證明)機制、DPOS(委托權益證明)機制、PAXOS(提案選舉)機制、RAFT(領導者選舉)機制等。文獻[3]介紹了比特幣所采用的POW 機制,該機制將大量算力投入到防止惡意攻擊打垮比特幣網(wǎng)絡中,作為一種強一致性共識機制,效率較低。POS 機制、DPOS 機制作為基于POW 的改進型共識機制,在一定程度上減小了POW 的算力浪費和去中心化負面影響,但是仍未形成質(zhì)的飛躍。文獻[4]介紹了PBFT 機制,該機制基于拜占庭容錯技術,可以有效處理網(wǎng)絡中斷、惡意攻擊等問題,算法復雜度已降為多項式級;文獻[5]介紹了以PAXOS 機制、RAFT機制為代表的在不存在惡意節(jié)點的可信環(huán)境下使用的共識機制,該類機制在算法復雜度、容錯率等性能上有較大優(yōu)勢。

由于以分布式新能源為代表的電力信息數(shù)據(jù)傳輸業(yè)務存在實時性需求,對所選用區(qū)塊鏈技術具有較高的傳輸速度要求[6-7],以比特幣為代表的數(shù)字貨幣領域所使用的共識機制復雜度通常為多項式級甚至指數(shù)級,無法滿足電力領域的要求。PAXOS 和RAFT 等共識機制算法在復雜度等方面可以有效滿足相應要求,但對于區(qū)塊鏈節(jié)點要求滿足拜占庭容錯條件,即鏈中不存在惡意節(jié)點,只有可能存在故障節(jié)點,保證通信過程中避免在不可靠信道上探尋數(shù)據(jù)信息傳遞的一致性[14]。本文對電力信息數(shù)據(jù)傳輸場景滿足拜占庭容錯條件進行了說明,并以RAFT 算法作為本場景下的共識算法[8],構(gòu)建分布式新能源信息互聯(lián)模式。

1 區(qū)塊鏈技術原理

1.1 區(qū)塊鏈層次架構(gòu)

區(qū)塊鏈技術所具有的多方維護特性使得其在各個行業(yè)領域得到了廣泛應用,有助于打破信息數(shù)據(jù)壁壘,推動顛覆性業(yè)務整合。區(qū)塊鏈層次架構(gòu)如圖1 所示,主要包含數(shù)據(jù)層、網(wǎng)絡層、共識層、應用層[9]。其中,數(shù)據(jù)層通過加密算法和數(shù)字簽名等手段對數(shù)據(jù)進行處理,以區(qū)塊形式進行數(shù)據(jù)信息存儲。網(wǎng)絡層使區(qū)塊鏈中各個節(jié)點通過網(wǎng)絡通信協(xié)議進行約定,以及對數(shù)據(jù)傳輸?shù)恼鎸嵭浴⒑戏ㄐ赃M行驗證。共識層基于以POW 機制為代表的共識機制來確保數(shù)據(jù)的正確性和系統(tǒng)的可用性,共識機制的算法決定了該區(qū)塊鏈系統(tǒng)的整體復雜度以及相應的信息傳輸速度。在應用層,基于智能合約的可編程性特點,可以在許多領域及產(chǎn)業(yè)獲得相關應用,且合約具有的自動判斷特性可以免除第三方的監(jiān)督。

圖1 區(qū)塊鏈層次架構(gòu)

1.2 區(qū)塊鏈鏈式數(shù)據(jù)結(jié)構(gòu)

區(qū)塊鏈是一串使用密碼學方法相關聯(lián)產(chǎn)生的數(shù)據(jù)塊,每一個數(shù)據(jù)塊中都包含一次發(fā)用電的所有相關信息。該類信息不以交易的原始數(shù)據(jù)形式進行保存,而是利用hash 算法將數(shù)據(jù)轉(zhuǎn)化為固定長度的二進制形式的hash 值,并由區(qū)塊鏈系統(tǒng)采用Merkle 樹對這些信息進行歸納表示。當一次電能轉(zhuǎn)化確實發(fā)生后,區(qū)塊鏈系統(tǒng)還會為其蓋上正確的時間戳,表明該電能量區(qū)塊所屬權已發(fā)生轉(zhuǎn)移,自動避免重復需求情況的發(fā)生[4,11]。區(qū)塊鏈的該算法流程既可用于驗證其發(fā)用電信息的有效性,同時還可生成下一個區(qū)塊,單個區(qū)塊的數(shù)據(jù)結(jié)構(gòu)如圖2 所示。

圖2 分布式新能源區(qū)塊結(jié)構(gòu)

1.3 區(qū)塊鏈共識機制介紹

1.3.1 共識機制概念

區(qū)塊鏈呈現(xiàn)出的諸多特性,如去中心化、集體維護性、智能合約、安全可信等,為分布式能源并網(wǎng)和運維的數(shù)據(jù)互操作和信息安全問題提供了新的解決方案,也使得利用區(qū)塊鏈技術構(gòu)建新型電網(wǎng)運行模式成為可能,使系統(tǒng)中不需要集中的中央存儲,所有節(jié)點都可以部分或全部地備份區(qū)塊鏈中的信息,任意節(jié)點的數(shù)據(jù)丟失都不會影響到系統(tǒng)的正常運行,因此在數(shù)據(jù)存儲上有很強的魯棒性和可靠性。

在共識機制中,所有參與的相關方均利用信息通信技術互聯(lián),通過區(qū)塊鏈技術實現(xiàn)授權和交互,并且交易中所有的操作、合約均會被記錄和追溯,數(shù)據(jù)將無法被篡改。共識機制可以保證任何分布式新能源相關方都可以通過注冊機制參與共識,任何信息都會被所有參與者記錄實現(xiàn)公開和透明,以及歷史交易數(shù)據(jù)幾乎無法篡改。

1.3.2 傳統(tǒng)基于證明機制的區(qū)塊鏈共識

以比特幣為代表的數(shù)字貨幣區(qū)塊鏈是一種對全網(wǎng)完全公開,不包含全局地址記錄的鏈式系統(tǒng),以個體用戶為主體的任意節(jié)點均可在系統(tǒng)中進行記賬及區(qū)塊驗證,可隨時任意加入或退出區(qū)塊鏈系統(tǒng)。系統(tǒng)對用戶節(jié)點的掌握度較弱,無法明確節(jié)點之間的聯(lián)通狀況。

以POW 機制為例,該共識機制為全網(wǎng)節(jié)點提供一個較復雜的計算問題,由全網(wǎng)節(jié)點(礦機)開始同步計算。問題具有難計算、易驗證的特性,當某一節(jié)點完成計算后,將計算結(jié)果與記錄內(nèi)容統(tǒng)一打包為區(qū)塊,傳播給聯(lián)通的所有其他節(jié)點(礦機)進行正確性驗證,驗證通過后接受該區(qū)塊[12-13]。

1.3.3 拜占庭容錯

拜占庭容錯是以區(qū)塊鏈為代表的分布式領域的經(jīng)典容錯問題。拜占庭是東羅馬帝國的首都,因為國土遼闊,所以需要避免戰(zhàn)爭時期不同位置的將軍可能存在叛變和間諜問題,實現(xiàn)全拜占庭軍隊范圍內(nèi)的一致共識。在現(xiàn)代通信中的含義即為如何在存在消息丟失的不可靠信道上探尋數(shù)據(jù)信息傳遞的一致性[14]。該問題廣泛存在于以比特幣為代表的貨幣區(qū)塊鏈應用中,也因此衍生出了包括POW 和POS 等一系列的共識機制。然而,對于以電網(wǎng)分布式新能源為代表的區(qū)塊鏈應用領域,本身依靠電力系統(tǒng)、電網(wǎng)合約等形式的約束,可以確保參與區(qū)塊鏈的分布式新能源節(jié)點不存在擅自修改信息數(shù)據(jù)的可能性。同時,電網(wǎng)分布式新能源信息傳輸具有對于算力、傳輸速度、算法復雜度等方面的高標準和高要求,因此,提出使用基于RAFT 共識算法的電力區(qū)塊鏈機制。

2 RAFT 共識算法

2.1 復制狀態(tài)機理論

相較于以比特幣為代表的數(shù)字貨幣區(qū)塊鏈,電網(wǎng)分布式新能源區(qū)塊鏈具有半開放特性,即參與節(jié)點(分布式電站)需通過電網(wǎng)公司審核、簽訂協(xié)議后方可加入。該類區(qū)塊鏈不存在拜占庭容錯問題,可以采用基于復制狀態(tài)機理論的算法作為共識機制,一般常見的有PAXOS 和RAFT 等。復制狀態(tài)機主要進行復制日志工作,通過各個模塊質(zhì)檢互相通信,來確保每個日志以相同的順序被復制[15]。在正確復制的前提下,每個模塊的狀態(tài)機按照日志順序進行命令處理,并將處理結(jié)果反饋給客戶端,過程如圖3 所示。

2.2 RAFT 算法原理

2.2.1 算法概述

RAFT 是一種基于PAXOS 的改進型算法,相較于PAXOS 算法,在具備同等容錯性、傳輸特性的基礎上,架構(gòu)更簡化,適用于實際的生產(chǎn)環(huán)境[16]。RAFT 主要包含節(jié)點選舉、日志復制兩大重要功能。參與節(jié)點被定義為主導者、跟隨者、候選人3 種狀態(tài)。其中,主導者節(jié)點負責處理系統(tǒng)的服務請求,跟隨者節(jié)點負責被動接收及回復主導者節(jié)點發(fā)送的信息,候選人節(jié)點為在主導節(jié)點發(fā)生故障宕機狀態(tài)下重新進行節(jié)點選舉時的過渡狀態(tài)。

圖3 狀態(tài)機復制流程

2.2.2 節(jié)點選舉

節(jié)點選舉發(fā)生在建鏈初始化階段或主導者節(jié)點任期滿后停止發(fā)信后的重新選舉過渡階段。其中,在初始化階段,所有節(jié)點均作為候選人節(jié)點,向所有其他節(jié)點發(fā)送選舉請求,當某候選人節(jié)點獲得超過半數(shù)其他節(jié)點的支持,將當選為主導者節(jié)點;若沒有候選人節(jié)點滿足選舉條件,在節(jié)點內(nèi)置時鐘經(jīng)過一定周期后,再重新進行選舉。對于主導者節(jié)點在內(nèi)置時鐘周期滿后停止發(fā)信的狀況下,由于其他所有跟隨者節(jié)點在內(nèi)置時鐘經(jīng)過一定周期后都無法獲得主導者節(jié)點傳輸?shù)男畔?,自動進入過渡階段,進行重新選舉。由于每個節(jié)點內(nèi)置時鐘的周期不完全一致,因此在過渡階段為最先達到周期條件的節(jié)點作為候選人節(jié)點進行選舉。節(jié)點選舉流程如圖4 所示。對于主導者節(jié)點因外部原因?qū)е鹿收匣蝈礄C,其情況同重新選舉過渡階段,由于其他所有節(jié)點停止收到主導者節(jié)點發(fā)送的信息而提前進入重新選舉。

圖4 節(jié)點選舉轉(zhuǎn)換流程

2.2.3 日志復制

RAFT 算法的日志復制流程總體遵循狀態(tài)機復制的原則和流程,其核心在于節(jié)點內(nèi)置時鐘周期及跟隨者節(jié)點反饋機制。其中,內(nèi)置時鐘周期主要服務于節(jié)點選舉機制,確保主導節(jié)點的輪換及故障宕機情況下的系統(tǒng)可持續(xù)性。

跟隨者節(jié)點反饋機制是讓主導者節(jié)點確認日志條目已被跟隨者節(jié)點安全接收及復制,主要用于處理跟隨者節(jié)點可能出現(xiàn)的故障宕機、網(wǎng)絡延遲等問題,主導者節(jié)點通過不斷重復發(fā)送追加日志條目的方式來確保跟隨者節(jié)點存儲的日志條目與本身一致,實現(xiàn)共識。另外,在跟隨者節(jié)點向主導者節(jié)點進行反饋后,不會立即將日志條目進行同步,必須等待主導者節(jié)點提供的下一輪日志條目中包含了主導者節(jié)點已將上一輪條目同步的確認信息,再將條目進行同步,具體流程如圖5所示。

圖5 日志復制流程

3 分布式新能源接入下的改進型RAFT算法

3.1 基于數(shù)據(jù)中心的領導者節(jié)點選舉

根據(jù)國網(wǎng)公司提出的“三型兩網(wǎng)”發(fā)展戰(zhàn)略,各省市都在積極探索推進“三站合一”建設方案,即將原有變電站改造為變電站、充換電站、數(shù)據(jù)中心的多功能合一站所。傳統(tǒng)RAFT 共識算法中的選舉機制不考慮節(jié)點間的差異性,具有普適性的特點??紤]到數(shù)據(jù)中心相較于區(qū)塊鏈中其他節(jié)點具備的高性能、高可靠性優(yōu)勢,極為適合作為領導者節(jié)點。同時,未來數(shù)據(jù)中心將在各地區(qū)進行多點布局,因此本文在傳統(tǒng)RAFT 算法的基礎上,將選舉機制中可作為候選者的節(jié)點由鏈中所有節(jié)點縮減為數(shù)據(jù)中心站所在節(jié)點。即當主導者節(jié)點時鐘周期滿后,由布置在其他數(shù)據(jù)中心站的候選節(jié)點進行選舉,非數(shù)據(jù)中心站節(jié)點將不再有資格作為候選者節(jié)點或領導者節(jié)點,如圖6 所示。

圖6 改進型選舉機制

該改進方法充分利用了數(shù)據(jù)中心站節(jié)點相較于其他節(jié)點的高可靠性,解決了原有RAFT 算法在主導者節(jié)點故障宕機情況下需重新選舉而存在真空期的問題。同時,如圖5 所示,假設n 為節(jié)點總數(shù),其中主導者節(jié)點數(shù)量為1,跟隨者節(jié)點數(shù)量應為n-1,主導者節(jié)點在日志復制流程中所需進行的數(shù)據(jù)交換次數(shù)分別為發(fā)送日志階段n 次、反饋確認階段n-1 次、同步完成階段n 次,而對任意跟隨者節(jié)點,所需進行數(shù)據(jù)交換次數(shù)為3 次,即主導者節(jié)點所做數(shù)據(jù)交換次數(shù)為跟隨者節(jié)點的pagenumber_ebook=8,pagenumber_book=5倍,需要以數(shù)據(jù)中心站為強大的算力支撐。

3.2 電網(wǎng)解列情況下的共識組狀態(tài)

電力系統(tǒng)在遭受到巨大干擾后可能發(fā)生失穩(wěn)及解列等情況,大電網(wǎng)系統(tǒng)分解成為幾個部分單獨運行,無法同步。在未來分布式新能源分布量足夠巨大的前提下,區(qū)塊鏈也應能繼續(xù)保持正常運作。在該狀態(tài)下,區(qū)塊鏈內(nèi)節(jié)點也根據(jù)解列情況劃分為幾個獨立的信息交換共識組,如圖7 所示。各個共識組的運作模式和機制與傳統(tǒng)RAFT共識算法一致。

圖7 解列后共識組劃分

當電網(wǎng)故障恢復,各個獨立子系統(tǒng)恢復同步運行后,各共識組也將重新合一。針對組合前后主導者節(jié)點數(shù)量不一致問題,遵循比較組內(nèi)跟隨者節(jié)點數(shù)量來進行判定。對于組內(nèi)跟隨者節(jié)點較少的共識組,在其主導者節(jié)點內(nèi)置時鐘周期滿后自動降為跟隨者節(jié)點,所有該組節(jié)點統(tǒng)一歸入較大的共識組中。

3.3 節(jié)點數(shù)據(jù)容錯分析

本文選擇RAFT 算法是基于分布式新能源接入不存在拜占庭問題為基礎,但是針對節(jié)點共識過程或日志訪問過程中可能存在的數(shù)據(jù)傳輸誤碼性錯誤,仍然需要進行分析。如圖8 為跟隨者節(jié)點1 和跟隨者節(jié)點2 分別在共識階段和訪問階段出現(xiàn)數(shù)據(jù)傳輸錯誤的情況。

圖8 節(jié)點數(shù)據(jù)傳輸錯誤情況

該類節(jié)點數(shù)據(jù)傳輸錯誤情況可能發(fā)生在共識階段和數(shù)據(jù)訪問階段,假設系統(tǒng)錯誤節(jié)點數(shù)量為m,則應當滿足關系:

式中:Consensusfault為共識階段錯誤節(jié)點數(shù);Queryfault為數(shù)據(jù)訪問階段錯誤節(jié)點數(shù)。

以圖8 中3 節(jié)點情況為例,當且僅當數(shù)據(jù)錯誤發(fā)生在同一個節(jié)點的共識和訪問過程中,此時客戶端訪問得到結(jié)果為2 個正確節(jié)點及1 個錯誤節(jié)點信息,可以判斷篩除錯誤信息保證容錯。如如圖8 所示,跟隨者節(jié)點1 發(fā)生共識錯誤,跟隨者節(jié)點2 發(fā)生訪問錯誤,則最終客戶端無法通過篩除獲得正確信息。綜上所述,系統(tǒng)可容錯節(jié)點數(shù)量m 與系統(tǒng)總節(jié)點數(shù)量n 的關系應為:

pagenumber_ebook=8,pagenumber_book=5

3.4 節(jié)點算法復雜度分析

RAFT 算法的核心共識過程即為如圖5 所示的日志復制,根據(jù)3.1 所述,在該過程中的數(shù)據(jù)交互總數(shù)應為主導者節(jié)點進行3n-1 次、n-1 個跟隨節(jié)點分別交換3 次,共計6n-3 次,總體算法復雜度僅為n 的倍數(shù)級,記為O(n),對硬件設備要求較低。

4 結(jié)語

本文提出的針對分布式新能源接入的區(qū)塊鏈共識算法充分利用了電力系統(tǒng)內(nèi)不存在惡意節(jié)點的拜占庭情況,同時,根據(jù)未來國網(wǎng)公司大力推廣“三站合一”模式進行提前布局,將主導者節(jié)點選舉機制改為轉(zhuǎn)讓機制,充分利用未來數(shù)據(jù)中心站的高可靠性、易維護性,采用的基于RAFT 的電網(wǎng)改進型算法適用于處理電網(wǎng)獨有的故障解列問題。另外,相比于其他共識算法,該算法具備的高容錯性、低復雜度特性可以更好地滿足電力信息傳輸?shù)募磿r性要求。

參考文獻:(略)