《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 智能制造CPS中基于節(jié)點有效度的共識算法
智能制造CPS中基于節(jié)點有效度的共識算法
2019年電子技術(shù)應(yīng)用第4期
喬靜煒,肖 紅,李穗生,柳少峰,周玉彬,張 騁
廣東工業(yè)大學(xué) 計算機學(xué)院,廣東 廣州510006
摘要: 智能制造信息物理融合系統(tǒng)(Cyber-Physical System,CPS)中設(shè)備在系統(tǒng)運行過程中產(chǎn)生大量通信信息和設(shè)備數(shù)據(jù),這些數(shù)據(jù)存在被修改和竊取的風(fēng)險。以分布式存儲為核心的區(qū)塊鏈技術(shù)有利于保障CPS系統(tǒng)的數(shù)據(jù)安全,但現(xiàn)有共識算法存在數(shù)據(jù)記錄權(quán)限集中在少數(shù)節(jié)點、易被惡意節(jié)點劫持的問題。通過引入節(jié)點有效度,可以反映節(jié)點行為動態(tài)變化的情況。實驗結(jié)果表明,基于節(jié)點有效度的共識機制可使得獲得數(shù)據(jù)記錄權(quán)限的節(jié)點分布更加分散,更好地體現(xiàn)系統(tǒng)的去中心化特性,提高了數(shù)據(jù)的安全性。
中圖分類號: TP301.6
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.190079
中文引用格式: 喬靜煒,肖紅,李穗生,等. 智能制造CPS中基于節(jié)點有效度的共識算法[J].電子技術(shù)應(yīng)用,2019,45(4):118-121,126.
英文引用格式: Qiao Jingwei,Xiao Hong,Li Suisheng,et al. Consensus algorithm based on node validity in CPS[J]. Application of Electronic Technique,2019,45(4):118-121,126.
Consensus algorithm based on node validity in CPS
Qiao Jingwei,Xiao Hong,Li Suisheng,Liu Shaofeng,Zhou Yubin,Zhang Cheng
School of Computers,Guangdong University of Technology,Guangzhou 510006,China
Abstract: In the Cyber-Physical system(CPS), equipment generates a large amount of communication information and equipment data during the operation of the system, which are at risk of being modified and stolen. Block chain technology with distributed storage as the core is conducive to ensuring the data security of CPS system, but the existing consensus algorithms have the problem that data recording rights are concentrated in a few nodes and are easy to be hijacked by malicious nodes. By introducing node validity, the dynamic change of node behavior can be reflected. The experimental results show that the consensus mechanism based on the validity of nodes makes the distribution of nodes with access to data records more decentralized, better reflects the de-centralization characteristics of the system, and improves the security of data.
Key words : intelligent manufacturing;blockchain;consensus algorithm;decentralization

0 引言

    智能制造CPS系統(tǒng)是計算機和物理進程的統(tǒng)一體,是集計算、通信和控制于一體的智能系統(tǒng)。CPS與物聯(lián)網(wǎng)、工業(yè)控制系統(tǒng)、工業(yè)互聯(lián)網(wǎng)等有著集成、融合的關(guān)系[1]。智能制造CPS系統(tǒng)中存在著大量的節(jié)點設(shè)備,這些設(shè)備之間需要進行相互通信來完成資源的配置、協(xié)調(diào)企業(yè)內(nèi)部資源[2],如此大量的節(jié)點設(shè)備以及節(jié)點間的通信需求使得系統(tǒng)中的數(shù)據(jù)量極為龐大。

    數(shù)據(jù)安全是智能制造系統(tǒng)可靠性、可用性的核心問題[3-4],也是智能制造CPS系統(tǒng)能夠應(yīng)用在實際生產(chǎn)環(huán)境中的首要前提。系統(tǒng)中龐大的數(shù)據(jù)量給傳統(tǒng)第三方數(shù)據(jù)存儲系統(tǒng)造成了巨大的壓力。

    區(qū)塊鏈是比特幣底層的核心技術(shù),本質(zhì)上是一個去中心化的分布式賬本,節(jié)點間基于一套共識機制共同維護整個區(qū)塊鏈系統(tǒng);任意節(jié)點失效或退出,整個系統(tǒng)的運行不受影響,解決了傳統(tǒng)中心化模式容易遭受攻擊、篡改的問題。共識算法是區(qū)塊鏈技術(shù)的核心,現(xiàn)有共識算法應(yīng)用于智能制造CPS系統(tǒng),還存在節(jié)點資源受限以及如何在滿足系統(tǒng)可擴展性的同時保證安全性等問題。本文針對上述問題,提出改進的共識算法。

1 相關(guān)研究

    目前,學(xué)術(shù)界對共識機制做了較為廣泛的研究,其優(yōu)缺點總結(jié)[5]如表1所示。

jsj5-b1.gif

    關(guān)于區(qū)塊鏈在智能制造CPS系統(tǒng)中的應(yīng)用研究較少,但是物聯(lián)網(wǎng)在許多方面與智能制造CPS系統(tǒng)是相似的。許多專家學(xué)者對于區(qū)塊鏈在物聯(lián)網(wǎng)中的應(yīng)用研究做出了相關(guān)的探索。

    針對物聯(lián)網(wǎng)節(jié)點設(shè)備眾多且設(shè)備資源受限的特點,提出了兩種應(yīng)對方法,一是構(gòu)建多層物聯(lián)網(wǎng)安全模型[6],將較低層中的所有節(jié)點視為較高層中的一個節(jié)點,區(qū)塊鏈部署在邊緣層(edge layer)以外的各個層級,在各節(jié)點間執(zhí)行共識;二是采用消除消耗較大的工作量證明(POW)機制的方法[7],由礦工為每個事務(wù)使用唯一的鍵,所有交易都要由礦工進行檢查,并對采礦者進行授權(quán),該文重點關(guān)注了通信過程中相關(guān)事務(wù)的公鑰加密。

    另外,物聯(lián)網(wǎng)中眾多的智能設(shè)備帶來龐大的數(shù)據(jù)量[8],使得集中式數(shù)據(jù)中心(如云存儲)無法負擔(dān)相應(yīng)的管理任務(wù)。為此,提出基于區(qū)塊鏈的分布式云架構(gòu),在網(wǎng)絡(luò)的邊緣使用軟件定義網(wǎng)絡(luò),對邊緣節(jié)點進行控制,針對此架構(gòu)提出了Proof-of-Service機制,在該機制中,對服務(wù)提供商使用區(qū)塊鏈技術(shù)進行管理,服務(wù)請求者根據(jù)得到的服務(wù)對服務(wù)提供商進行支付和獎勵,從而維持區(qū)塊鏈網(wǎng)絡(luò)中的共識,但是沒有對該算法的性能進行分析和評價。

    對于區(qū)塊鏈在物聯(lián)網(wǎng)系統(tǒng)中用戶數(shù)據(jù)隱私保護方面[9],區(qū)塊鏈技術(shù)雖然可以實現(xiàn)較為安全的數(shù)據(jù)存儲,防止惡意節(jié)點篡改數(shù)據(jù)或偽造區(qū)塊而獲取利益[10],但是保證數(shù)據(jù)安全的共識機制對資源消耗較大,物聯(lián)網(wǎng)系統(tǒng)中資源受限的設(shè)備并不能滿足其要求。文獻[11]針對區(qū)塊鏈中的工作量證明機制的可靠性、安全性及其自身存在的潛在的威脅做了詳細的分析。

    使用區(qū)塊鏈對個人信息進行分散管理的平臺設(shè)計[12]中,采用了改進的共識算法——信譽評分證明算法。該算法根據(jù)節(jié)點所簽署的合約數(shù)量進行動態(tài)可信評價。與POW算法不同,該算法不再關(guān)注節(jié)點所做的工作量,而是關(guān)注節(jié)點的可信評分。但該算法需要考慮節(jié)點所簽署合約的真實性和有效性。

    以上研究主要針對物聯(lián)網(wǎng)節(jié)點資源受限的特點,從體系架構(gòu)和共識算法兩個方面,通過減少節(jié)點資源消耗或直接將資源受限節(jié)點排除在共識流程之外來解決相關(guān)問題。區(qū)塊鏈系統(tǒng)本質(zhì)上通過節(jié)點共同管理來維持系統(tǒng)的安全性。但已有方法在考慮節(jié)點資源受限時犧牲了一部分安全性、削弱了系統(tǒng)的去中心化特性。本文提出一種基于節(jié)點動態(tài)有效度的共識機制,兼顧系統(tǒng)的去中心化特性與減少資源消耗。

2 算法改進

2.1 現(xiàn)有共識算法分析

    工作量證明機制POW通過節(jié)點計算難題來獲得數(shù)據(jù)記錄權(quán)限,這種機制會消耗節(jié)點大量的計算資源,造成資源浪費。

    權(quán)益證明機制POS根據(jù)各節(jié)點擁有的幣齡進行計算難題的難度分配:幣齡越大,節(jié)點所需要解決難題的難度越低。這使得幣齡越大的節(jié)點越容易得到數(shù)據(jù)記錄權(quán)限,繼而得到越多的獎勵。該算法導(dǎo)致系統(tǒng)中節(jié)點間的貧富差距越來越大,最終,系統(tǒng)中可以得到數(shù)據(jù)記錄權(quán)限的節(jié)點只集中在小部分擁有大量幣齡的節(jié)點中。該算法使系統(tǒng)的去中心化特性遭到了破壞,與存儲在第三方數(shù)據(jù)庫中一樣,一旦遭到惡意節(jié)點的攻擊,系統(tǒng)的安全性將大大降低。

2.2 本文所提出的共識算法

    針對現(xiàn)有共識算法存在的問題,提出基于節(jié)點有效度的共識算法。首先對算法中的說法做如下約定:

    約定1 將獲得數(shù)據(jù)記錄權(quán)限節(jié)點在系統(tǒng)中的分布情況稱為節(jié)點的分散性,分散性越好,越能維護系統(tǒng)的去中心化特性。

    約定2 節(jié)點通信的有效性:一個節(jié)點在執(zhí)行給定目標任務(wù)時,其行為如同預(yù)期,則稱該節(jié)點的本次通信是有效的。

Input: data_for_deal、expect_value

Output:True or False

    得到輸出結(jié)果的偽代碼如下:

def func_comm_valid(data_for_deal,expect_value):

    result = data_deal_function(data_for_deal)

    IF result == expect_value:

        return True

    ELSE:

        return False

其中,data_for_deal表示該設(shè)備接收到的待處理數(shù)據(jù),expect_value表示與待處理數(shù)據(jù)一同傳入的預(yù)期結(jié)果。當(dāng)該設(shè)備通過data_deal_function函數(shù)對data_for_deal處理后得到結(jié)果result,判斷處理結(jié)果與預(yù)期結(jié)果是否相同,如果相同,則本次通信是有效的,返回True,否則返回False。

    約定3 節(jié)點有效度:指系統(tǒng)中某一節(jié)點可以有效通信的性能。描述為:一段時間內(nèi)某一節(jié)點有效通信次數(shù)與該節(jié)點在這段時間內(nèi)總共的通信次數(shù)之比。有效度越高,節(jié)點越可信。

def func_valid_percent (times_total, times_valid):

    valid_percent = times_valid / times_total

其中,valid_percent表示節(jié)點的有效度,times_valid表示有效通信的次數(shù),times_total表示該節(jié)點總的通信次數(shù)。

    在單位時間(約定的一段時間)內(nèi),節(jié)點之間進行信息通信,根據(jù)各節(jié)點在這段時間內(nèi)的行為計算出這段時間內(nèi)各節(jié)點的有效度并廣播至整個系統(tǒng)網(wǎng)絡(luò)。系統(tǒng)根據(jù)節(jié)點在近幾個單位時間內(nèi)的有效度評價節(jié)點的可信性:有效度合格,則節(jié)點可信,記為Trusted;有效度不合格,則節(jié)點定為可疑節(jié)點;對于可疑節(jié)點,調(diào)用func_wait()函數(shù)根據(jù)接下來的行為對其進行可信評估;對于可信節(jié)點,可信度越高的節(jié)點獲得數(shù)據(jù)記錄權(quán)限的機會越大。這樣,選取具有數(shù)據(jù)記錄權(quán)限節(jié)點的這一過程就是動態(tài)變化的,降低了因節(jié)點的某些固有特性而獨占數(shù)據(jù)記錄權(quán)限所帶來的安全問題。算法偽代碼如下:

WHILE

    IF valid_percent >= valid_qualified:

        node = Trusted

    ELSE

        IF func_wait(node) >= valid_qualified_value

            node = Trusted

        ELSE

            node = Trobled

其中,valid_qualified表示有效度的合格值。

    在該算法中,各節(jié)點的有效度成為影響節(jié)點獲取數(shù)據(jù)記錄權(quán)限的重要因素。因此,需要將系統(tǒng)中各節(jié)點的有效度排序列表進行記錄,節(jié)點有效度排序成為節(jié)點是否能夠被選為具有數(shù)據(jù)記錄權(quán)限節(jié)點的有效憑證;同時,為保證節(jié)點有效度排序列表不被篡改,提出將節(jié)點有效度排序列表的哈希值記錄在區(qū)塊頭的方法。改進后的區(qū)塊頭字段如表2所示,列表中的最后一個字段為新增加的字段。

jsj5-b2.gif

    在區(qū)塊鏈與智能制造CPS系統(tǒng)相結(jié)合的過程中,節(jié)點之間的信息交互以節(jié)點的可信性為基礎(chǔ)。當(dāng)誠實節(jié)點變?yōu)閻阂夤?jié)點后,直接影響該節(jié)點的有效度。為了更直觀地看到節(jié)點有效度的變化,及時發(fā)現(xiàn)惡意節(jié)點,提出將單位時間內(nèi)的通信有效度作為研究對象的方法,每個單位時間內(nèi)都重新記錄相關(guān)數(shù)據(jù)。同時,保證節(jié)點的通信對象不能夠局限在某個或某幾個單一節(jié)點內(nèi),且不能是在某個單位時間內(nèi)高頻次數(shù)據(jù)通信的節(jié)點,最大限度防止惡意節(jié)點的攻擊。

3 實驗

    本文以智能制造CPS系統(tǒng)中各節(jié)點有效度排序作為分配數(shù)據(jù)記錄權(quán)限的指標。實驗?zāi)M了擁有4個節(jié)點的典型CPS場景,通過統(tǒng)計各節(jié)點獲得數(shù)據(jù)記錄權(quán)限的次數(shù)對典型共識算法進行驗證,并與本文提出的共識算法作對比,以此來分析本文所提出的共識算法在數(shù)據(jù)記錄權(quán)限分布的分散性方面的優(yōu)勢。

    本文通過Python語言編寫程序,模擬系統(tǒng)設(shè)備交互情況;另外,為模擬節(jié)點設(shè)備計算能力不同的情況,設(shè)置了4個數(shù)據(jù)處理能力不同的節(jié)點,從節(jié)點1到節(jié)點4依次減弱。

    實驗條件如下:

    (1)各個節(jié)點之間進行隨機不間斷的UDP通信;

    (2)進行4次時長為1小時模擬實驗,在這1小時內(nèi),系統(tǒng)多次執(zhí)行共識算法來選擇具有數(shù)據(jù)記錄權(quán)限的節(jié)點,統(tǒng)計各節(jié)點獲得數(shù)據(jù)記錄權(quán)限的次數(shù);

    (3)實驗結(jié)果使用nodei和Hi分別表示4個節(jié)點和為期一個小時的實驗周期,i為變量。將節(jié)點的有效度valid_percent縮寫為vp,將節(jié)點在相應(yīng)有效度下獲得數(shù)據(jù)記錄權(quán)限的次數(shù)記為vt。

3.1 傳統(tǒng)共識算法的實驗結(jié)果及分析

3.1.1 POW共識算法實驗結(jié)果及分析

    實驗結(jié)果如表3所示。圖1是該算法的實驗結(jié)果可視化展示。

jsj5-b3.gif

jsj5-t1.gif

    結(jié)果分析:數(shù)據(jù)處理能力強的節(jié)點1獲取數(shù)據(jù)記錄權(quán)限的次數(shù)最多,系統(tǒng)去中心化特性較差。

3.1.2 POS共識算法實驗結(jié)果及分析

    (1)設(shè)各節(jié)點的幣齡初始值為0,實驗結(jié)果如表4所示。圖2是該算法的實驗結(jié)果可視化展示。

jsj5-b4.gif

jsj5-t2.gif

    結(jié)果分析:各節(jié)點初始幣齡相同時,數(shù)據(jù)記錄權(quán)限的分配受節(jié)點數(shù)據(jù)處理能力影響較大,依然集中在節(jié)點1,去中心化特性較差。

    (2)各節(jié)點幣齡初始值不同:設(shè)節(jié)點4幣齡初始值為10,其他節(jié)點幣齡初始值為0,實驗結(jié)果如表5所示。圖3是該算法的實驗結(jié)果可視化展示。

jsj5-b5.gif

jsj5-t3.gif

    結(jié)果分析:幣齡初始值不同時,獲得數(shù)據(jù)記錄權(quán)限次數(shù)較多的是數(shù)據(jù)處理能力較強的節(jié)點1和幣齡初始值較大的節(jié)點4。該算法中擁有幣齡較多的節(jié)點占據(jù)了較大的優(yōu)勢,去中心化特性差。

3.2 本文所提共識算法的實驗結(jié)果及分析

    統(tǒng)計每個實驗周期中各節(jié)點通信的有效度均值,以此進行數(shù)據(jù)記錄權(quán)限的分配。表6是在節(jié)點有效度變化的情況下得到的各節(jié)點獲取數(shù)據(jù)記錄權(quán)限次數(shù)。

jsj5-b6.gif

    圖4是該算法的實驗結(jié)果可視化展示,其中,圖4(a)展示了4個節(jié)點獲得數(shù)據(jù)記錄權(quán)限次數(shù)的變化,圖4(b)展示了4次模擬實驗中,節(jié)點有效度與節(jié)點獲得數(shù)據(jù)記錄權(quán)限次數(shù)的變化趨勢之間的關(guān)系。

jsj5-t4.gif

    結(jié)果分析:從圖4(a)中可以看出,獲得數(shù)據(jù)記錄權(quán)限的節(jié)點具有較好的分散性;從圖4(b)可以看出,節(jié)點獲得數(shù)據(jù)記錄權(quán)限次數(shù)與節(jié)點有效度變化趨勢基本一致,即節(jié)點是否可以獲得數(shù)據(jù)權(quán)限主要與節(jié)點的有效度相關(guān)。

    綜上可得,本文所提出的共識算法使獲得數(shù)據(jù)記錄權(quán)限的節(jié)點隨節(jié)點有效度變化呈動態(tài)分布,具有較好的分散性,較好的維護系統(tǒng)的去中心化特性。

    通過節(jié)點有效度的不同分配節(jié)點的數(shù)據(jù)記錄權(quán)限,可以使得系統(tǒng)中活躍且可信的節(jié)點獲得更多的數(shù)據(jù)記錄權(quán)限。這樣,數(shù)據(jù)記錄權(quán)限將不再集中分布于系統(tǒng)中小部分節(jié)點,提高了系統(tǒng)的安全性。

3.3 算法時間復(fù)雜度等特性分析

    已有共識算法與本文提出的共識算法的復(fù)雜度與可擴展性對比如表7所示。

jsj5-b7.gif

    各共識算法的執(zhí)行時間復(fù)雜度[13]如表7所示。本文所提出的算法主要時間消耗用來處理節(jié)點有效度的排序操作。由表7可以看出,本文的算法在時間復(fù)雜度方面占有一定的優(yōu)勢,此外,擴展性較好,且維護了系統(tǒng)的去中心化特性,保障了系統(tǒng)的安全。

4 結(jié)論

    本文針對現(xiàn)有的共識算法在執(zhí)行過程中消耗較大的計算資源、破壞了系統(tǒng)的去中心化特性的問題,提出基于節(jié)點有效度的共識機制。實驗結(jié)果表明,改進后的共識算法使得活躍且可信的節(jié)點有更大的概率獲得數(shù)據(jù)記錄權(quán)限,且兼顧系統(tǒng)的去中心化特性與減少資源消耗問題。未來需進一步考慮節(jié)點行為評價方法及降低算法復(fù)雜性。

參考文獻

[1] Cyber-Physical Systems.信息物理系統(tǒng)白皮書(2017)[R].中國信息物理系統(tǒng)發(fā)展論壇,2017.

[2] 李馥娟,王群,錢煥延.信息物理融合系統(tǒng)研究[J].電子技術(shù)應(yīng)用,2018,44(9):24-28.

[3] LIU B,YU X L,CHEN S,et al.Blockchain based data integrity service framework for IoT data[C].2017 IEEE International Conference on Web Services(ICWS),Honolulu,HI,2017:468-475.

[4] 崔麗珍,徐錦濤,丁福星,等.基于物聯(lián)網(wǎng)的農(nóng)業(yè)大棚氣象數(shù)據(jù)監(jiān)測系統(tǒng)設(shè)計[J].電子技術(shù)應(yīng)用,2018,44(12):73-76,80.

[5] Du Mingxiao,Ma Xiaofeng,Zhang Zhe,et al.A review on consensus algorithm of blockchain[C].2017 IEEE International Conference on Systems,Man,and Cybernetics(SMC),Banff,AB,2017:2567-2572.

[6] LI C,ZHANG L J.A blockchain based new secure multilayer network model for Internet of Things[C].2017 IEEE International Congress on Internet of Things(ICIOT),Honolulu,HI,2017:33-41.

[7] DORRI A,KANHERE S S,JURDAK R,et al.Blockchain for IoT security and privacy: the case study of a smart home[C].2017 IEEE International Conference on Pervasive Computing and Communications Workshops(PerCom Workshops),Kona,HI,2017:618-623.

[8] SHARMA P K,CHEN M Y,PARK J H.A software defined fog node based distributed blockchain cloud architecture for IoT[J].IEEE Access,2017,6:115-124.

[9] POLYZOS G C,F(xiàn)OTIOU N.Blockchain-assisted information distribution for the Internet of Things[C].2017 IEEE International Conference on Information Reuse and Integration(IRI),San Diego,CA,2017:75-78.

[10] HUH S,CHO S,KIM S.Managing IoT devices using blockchain platform[C].2017 19th International Conference on Advanced Communication Technology(ICACT),Bongpyeong,2017:464-467.

[11] CHRISTIDIS K,DEVETSIKIOTIS M.Blockchains and smart contracts for the Internet of Things[J].IEEE Access,2016,4:2292-2303.

[12] Fu Dongqi,F(xiàn)ang Liri.Blockchain-based trusted computing in social network[C].2016 2nd IEEE International Conference on Computer and Communications(ICCC),Chengdu,2016:19-22.

[13] 黃宇翔,梁志宏,黃苾,等.基于區(qū)塊鏈的供應(yīng)鏈可信數(shù)據(jù)管理[J].計算機系統(tǒng)應(yīng)用,2018,27(12):9-17.



作者信息:

喬靜煒,肖  紅,李穗生,柳少峰,周玉彬,張  騁

(廣東工業(yè)大學(xué) 計算機學(xué)院,廣東 廣州510006)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。