周少丹
(南方電網(wǎng)物資有限公司,廣東廣州 510000)
供應鏈管理系統(tǒng)可以對供應鏈數(shù)據(jù)進行全過程管理。但是,由于其是集中式結構,管理員可篡改數(shù)據(jù),通常會導致信任問題。此外,集中式系統(tǒng)容易出現(xiàn)單點故障,受到內部攻擊等。
近年來,隨著區(qū)塊鏈技術的迅猛發(fā)展,利用區(qū)塊鏈技術進行電力物資供應鏈管理逐漸成為研究熱點[1]。區(qū)塊鏈技術具有分布式共享、非篡改、數(shù)據(jù)可追溯的特點,可以解決集中式電力物資供應鏈管理系統(tǒng)中的可信和單點故障問題。但是,在電力物資供應鏈場景中,供應鏈中的參與者或設備可以部署到不同的區(qū)塊鏈平臺,每個區(qū)塊鏈平臺都是由一個封閉的網(wǎng)絡構成的,各個區(qū)塊鏈之間沒有互操作性,形成了許多價值孤島。區(qū)塊鏈跨鏈技術是實現(xiàn)鏈間互聯(lián)互通、信息共享和價值轉移的重要技術手段[2]。針對電力物資跨鏈供應問題,本文提出了跨鏈體系架構,并設計了基于跨鏈網(wǎng)關的跨鏈處理流程,以及跨鏈數(shù)據(jù)管理策略,最后通過實驗驗證了本文方法的有效性。
目前主要的跨鏈技術分為3類:公證人機制、側鏈/中繼、哈希鎖定。在這些技術基礎上,Wu等人[3]提出了一個區(qū)塊鏈模型,該模型由一組私有鏈、一個中央公共鏈和一個中央服務器組成,可為私有鏈和中央開放鏈節(jié)點之間的交互提供目錄服務。為了構建產(chǎn)品可追溯性系統(tǒng),Ding等人[4]提出了一種基于許可區(qū)塊鏈的兩層區(qū)塊鏈架構,分別使用聯(lián)盟鏈和私有鏈,以解決性能問題。Leng等人[5]為農業(yè)供應鏈管理系統(tǒng)設計了一個由用戶信息鏈和業(yè)務鏈組成的雙鏈模型,以解決隱私保護問題。總的來說,盡管上述方法提高了區(qū)塊鏈的可用性,但它們未對電力物資供應鏈的跨鏈應用場景進行特定設計與優(yōu)化,不能直接應用。
本文提出的區(qū)塊鏈跨鏈框架如圖1所示。
圖1 體系架構圖
感知層:感知層由物聯(lián)網(wǎng)傳感器和物聯(lián)網(wǎng)代理服務器組成。物聯(lián)網(wǎng)傳感器連接到物聯(lián)網(wǎng)代理服務器。物聯(lián)網(wǎng)傳感器可監(jiān)電力物資控供應鏈中產(chǎn)品的溫度、位置和其他狀態(tài)數(shù)據(jù)。
數(shù)據(jù)層:數(shù)據(jù)層使用物聯(lián)網(wǎng)網(wǎng)絡存儲物聯(lián)網(wǎng)數(shù)據(jù)。Tangle網(wǎng)絡提供了一個移動應用管理通道工具,用于加密和存儲Tangle網(wǎng)絡中的數(shù)據(jù),從而提供物聯(lián)網(wǎng)數(shù)據(jù)的隱私保護。
擴展層:擴展層是跨鏈網(wǎng)關的中間件,負責連接不同區(qū)塊鏈平臺,可靠轉發(fā)不同區(qū)塊鏈之間的跨鏈交易。也就是說,擴展層不僅可以將請求從Fabric網(wǎng)絡路由到Tangle網(wǎng)絡,還可以將Tangle網(wǎng)絡中的請求路由到Fabric網(wǎng)絡。
控制層:控制層使用Fabric網(wǎng)絡,為應用層提供服務,并通過智能合約執(zhí)行訪問控制和智能計算。對于數(shù)據(jù)查詢請求,來自數(shù)據(jù)層的產(chǎn)品收發(fā)請求和物流信息將通過跨鏈網(wǎng)關發(fā)送給最終用戶;其他請求將直接在Fabric區(qū)塊鏈網(wǎng)絡上交互,計算結果最終將返回到應用層。由上述特點可知,本文模型具有隱私保護、權限控制、智能合約等特點。
應用層:應用層由跨鏈架構的應用生態(tài)組成,可用于實現(xiàn)供應鏈、金融、智能家居等不同業(yè)務需求。
從圖1體系架構圖可以看出,跨鏈網(wǎng)關是連接不同區(qū)塊鏈的核心。基于跨鏈網(wǎng)關的跨鏈處理主要包括以下4個步驟:
步驟1:源鏈提交跨鏈事務,并在事務中設置路由的目標鏈。交易完成后,區(qū)塊鏈平臺將生成具有跨鏈身份和路由方向的跨鏈事件。
步驟2:在擴展層中,跨鏈網(wǎng)關節(jié)點偵聽源鏈拋出的跨鏈事件。當收到跨鏈事件時,跨鏈網(wǎng)關節(jié)點會將該事件放入訂閱消息隊列中。
步驟3:在擴展層中,跨鏈網(wǎng)關節(jié)點分析跨鏈事件,獲取生成跨鏈事件的事務ID,并使用該ID達成共識。
步驟4:系統(tǒng)隨機選擇跨鏈網(wǎng)關節(jié)點,從源鏈獲取跨鏈交易內容。然后分析跨鏈交易內容,并將其轉換為目標鏈的交易格式。最后,將轉換的事務標識為跨鏈操作,設置路由的目標鏈,并將其提交給目標鏈。
本文關注的是電力物資供應鏈管理中的多方物流場景,將經(jīng)銷商、零售商、物流和最終用戶等業(yè)務角色分別抽象為賣家、物流和買家,包括以下步驟:
步驟1:在供應鏈管理應用程序中,賣方將產(chǎn)品運輸給買方。控制層的Fabric智能合約提供接口,賣家使用該接口生成物流訂單,并委托物流公司運輸產(chǎn)品。
步驟2:物流公司收到賣方授權后,對產(chǎn)品進行包裝和運輸,并在包裝箱中安裝產(chǎn)品狀態(tài)監(jiān)控傳感器,允許買家和賣家實時監(jiān)控產(chǎn)品狀態(tài)。物流公司使用控制層的Fabric智能合約接口將數(shù)據(jù)上傳到區(qū)塊鏈;同時,觸發(fā)擴展層的跨鏈網(wǎng)關,向數(shù)據(jù)層發(fā)送跨鏈事務,創(chuàng)建移動應用管理通道。
步驟3:數(shù)據(jù)層完成跨鏈事務后,觸發(fā)跨鏈網(wǎng)關將存儲移動應用管理通道密鑰和地址的跨鏈事務發(fā)送到控制層。
步驟4:當產(chǎn)品運輸?shù)劫I方處后,系統(tǒng)觸發(fā)擴展層的跨鏈網(wǎng)關將跨鏈事務發(fā)送到數(shù)據(jù)層,以便獲取移動應用管理通道中的物聯(lián)網(wǎng)數(shù)據(jù)。
步驟5:數(shù)據(jù)層完成跨鏈事務后,觸發(fā)擴展層的跨鏈網(wǎng)關,將物聯(lián)網(wǎng)數(shù)據(jù)的跨鏈事務發(fā)送到控制層。智能合約完成物聯(lián)網(wǎng)數(shù)據(jù)計算后,將最終結果返回應用層。
本節(jié)對上節(jié)提出的跨鏈體系架構進行實驗驗證。本文中的區(qū)塊鏈節(jié)點和其他子系統(tǒng)運行在docker容器中,所有docker容器都運行在一臺Linux服務器上。本文的區(qū)塊鏈網(wǎng)絡由一個Fabric區(qū)塊鏈網(wǎng)絡、一個專用物聯(lián)網(wǎng)網(wǎng)絡、一個跨鏈網(wǎng)關節(jié)點和一個NATS消息隊列節(jié)點組成。在測試中,F(xiàn)abric區(qū)塊鏈客戶端以60TPS(每秒事務數(shù))的速率向Fabric網(wǎng)絡發(fā)送300個事務,同時監(jiān)控來自物聯(lián)網(wǎng)的跨鏈事務確認事件數(shù)。
經(jīng)測試,移動應用管理電力物資供應鏈數(shù)據(jù)通道跨鏈創(chuàng)建的吞吐量為9.3TPS,平均事務確認延遲為10.3s,最大事務確認延遲為19.1s,最小事務確認延遲為1.5s??梢姡谠撃M環(huán)境下,本文設計的跨鏈體系框架可以有效處理管理中的相關事務。
當前的電力物資供應鏈管理存在多個區(qū)塊鏈平臺,且各區(qū)塊鏈之間沒有互操作性,形成了許多價值孤島。為了解決該問題,本文提出了一種應用于區(qū)塊鏈的跨鏈方法。首先設計了包括感知層、數(shù)據(jù)層、擴展層、控制層和應用層五層的跨鏈體系架構,在此基礎上提出了基于跨鏈網(wǎng)關的跨鏈處理流程,以及跨鏈數(shù)據(jù)管理策略,最后通過實驗驗證了本文方法的有效性。