周 杰,李文敬
1.廣西師范學院 計算機與信息工程學院,南寧 530023
2.廣西師范學院 科學計算與智能信息處理高校重點實驗室,南寧 530023
3.廣西師范學院 物流管理與工程學院,南寧 530023
隨著中本聰發明比特幣,數字貨幣風靡全世界,而比特幣中的區塊鏈技術具有去中心化、透明可信任的特點,引起眾多學者和風投家的追捧和關注[1]。區塊鏈技術也從最初的比特數字貨幣推廣到各行各業,特別是在物流運輸、物流供應鏈等服務交易方面的應用更極具有顛覆性。區塊鏈技術實質上是一種基于對等去信任網絡,網絡節點可直接通信而不存在某個中心節點,是融合數據加密、數據存儲、數據通信、共識機制、網絡結構等計算機技術的新型應用模式,其去中心化與去信任的特性克服了中心化網絡過度集中的不安全性。由于傳統的物流獨立認證中心交易模型存在信息的安全問題:一是容易受到網絡攻擊,可導致保密信息被公開;二是無法驗證用戶身份真實性與審查溯源,交易雙方身份唯一標志無法保證;三是通過交易雙方的以往經驗和資格審查進行信用評級,存在大量不可信的交易數據,要收集全面、完整、系統的物流交易信息非常困難[2-4]。物流交易活動的信息安全、上下游客戶的共識信任問題亟待解決[5]。因此,融合云計算與區塊鏈技術,提出區塊鏈共識算法解決物流交易的去中心化及用戶之間的信任問題,具有重要的科學意義和經濟價值。
目前物流交易除了通過物流信息管理系統的相關模塊進行定制運輸計劃,以及出入庫模塊對倉儲進行簡單管理跟蹤,大部分操作仍停留在手工管理和紙質單據留存。物流交易流程包括了下單管理、出入庫、庫存盤點、運輸跟蹤、交易反饋等[6]。該流程所產生的運輸費用、單據審核、交易對接、貨品完整等流通環節的詳細敏感信息沒有進行統一集中處理,整個物流交易流程為非可見,無法銜接好供應鏈中的所有客戶,以提供高效的物流服務,也不能達到物流去中心化、不可抵賴性的要求。
傳統的物流中心化交易模型具備一定的現代化程度,通過物流中心的運營規范,物聯網智能識別技術,以及物流中心的網絡和數據庫建立信息平臺[7]。用戶可在其平臺上進行信息的查詢和物流交易,這樣中心化的交易信息平臺一旦受到黑客網絡攻擊,竊取數據庫中的敏感信息,導致客戶信息泄露;用戶審查機制不完善,導致網絡注冊用戶泛濫,無法杜絕虛假交易等不公平競爭行為;物流運輸過程中出現的貨品丟失,不誠信交易等,無法做到貨品的溯本求源,無法收集全面、完整、系統的物流交易信息。以上出現的種種問題,在傳統的物流中心化模型的情況下,無法得到妥善解決。故此提出將云計算和區塊鏈技術應用在物流交易模型中,以達到去中心化,誠信交易,可溯源的目的。
區塊鏈技術的共識機制主要有:Pow(工作量證明機制)、PoS(股權證明機制)、DPoS(授權股權證明機制)、Pool(驗證池機制)等。梁斌[8]通過“比特幣挖礦”了解到區塊鏈的共識機制,詳細敘述了公鏈下的四種共識機制的優缺點以及指出在聯盟鏈不需要完全的共識機制。王妙娟[9]指出區塊鏈數據因完全透明可能導致的信息安全隱患,以及數據信息數量增加導致節點存儲數據能力變得困難,節點競爭引發的博弈問題,最后設想了發行基于區塊鏈的代幣,以實現物流快遞業務的數字化管理和包裹數據信息的存儲。該方案并沒有從本質上脫離代幣的模式,但在對于物流業務中應用區塊鏈技術提供了思路。物流鏈融合信息流、運輸、倉儲,跨越多個步驟和數百個地點,這使得事件追蹤、驗證核實、意外響應速度提出挑戰。而且,由于缺乏透明度,很難調查物流鏈中的非法活動。區塊鏈技術實際是安全高效的多方信息交換方式的分布式賬本,其去中心化、不可篡改性、高度透明性都使其成為變革物流鏈的最佳工具。物流鏈所有參與者同處一共識網絡中,可以為消費者和審計者提供簡單有效的追蹤工具。
云計算與區塊鏈在網絡拓撲均去除了服務器中心節點,都采用了點對點的去中心化網絡結構[10-11]。區塊鏈去除中心化機構的認證,進行數據分割,同時引入時間戳、簽名密鑰進行加密,將數據存儲在分散節點網絡中,數據不可篡改。通過特定的共識算法,即使有黑客攻擊或者意圖破壞,對全網實施51%攻擊。而云計算的分布式存儲結構,通過節點虛擬化技術,其高魯棒性,高穩定性也足以應對風險。
在物流模型中應用云計算和區塊鏈技術,區塊鏈能夠實現從寄件、收件、始發、終點、派件、簽收的全流程區塊鏈化,最終實現貨物和資金可追溯,物流各方可以通過區塊鏈實時掌握物流方向和包裹信息,能夠有效地解決丟貨問題,對保障物流各方的利益極為有利。
云計算和區塊鏈均有去中心化、合約執行自動化、可追溯性和透明化等優勢。對數據信息的記錄需要多個節點參與,可以讓數據信息有多個備份;同時,對數據信息的更新也必須由多個節點共同認證才能完成,區塊鏈網絡中所有節點之間的聯系都是去信任的,也不會存在欺騙行為;而且由于所有節點存儲的數據信息都相同,數據信息的交換也不會出現問題;區塊鏈系統中所有交易信息及對應交易者信息都會被記錄,傳遞路線也會被完整記錄,數據信息都無法被摧毀或篡改,不僅保證了數據信息的準確性,也方便對每筆交易進行追溯,對提高交易監管效率和質量有很大幫助[9]。云計算的虛擬化節點存儲技術,給網絡穩定性和大規模高運算能力提供了有力保障。
綜合物流交易流程、交易機制以及區塊鏈、云計算的相關理論,利用區塊鏈實用拜占庭算法的共識機制,提出物流區塊鏈和云物流區塊鏈的定義。
定義1物流區塊鏈中至少存在3f+1個節點,彼此互為相鄰節點,組成基本的拜占庭單元(UB),其中,f表示正常物流網點,UB表示共識網絡單元。
定義2物流區塊鏈中,有PBFT機制按劃分視圖(View)執行,并對該視圖進行編號,記作v,一個共有3f+1個節點的視圖中只有一個主節點,主節點的編號記為 p,其余節點為備份節點稱為replica,每一個節點用整數表示依次為{ }0,1,…,3f+1 ,滿足:

其中,v表示共識網絡初始化,p表示創世區塊[12]。
定義3物流區塊鏈中所有節點Nodei,存儲其余節點區塊鏈信息,具有雙鏈表結構,Nodei={a,b},a、b分別表示區塊鏈頭索引和區塊鏈內容。
定義4區塊鏈信息BInfo用來存儲區塊鏈數據信息H,同時記錄該區塊鏈所屬的節點名稱N、數據的密鑰K和更新時間T,區塊鏈信息BInfo結構[13]:

定義5云物流區塊鏈的構建,在物流區塊鏈基礎上,云平臺虛擬物流網絡節點映射:

C表示云虛擬節點的集合。
定義6云物流區塊鏈通過證書傳遞以達成虛擬節點共識過程。證書消息Message格式為,

其中REPLY為消息類型,根據證書類型不同b可能為區塊或區塊哈希,v代表視圖View編號,i代表節點編號。
基于區塊鏈的物流交易主體結構下,企業內部交易主體、供應商、銷售商為區塊鏈交易的認證主體,同時客戶作為區塊鏈交易的一個主體也進行交易行為認證,以此滿足了實用拜占庭共識算法的3f+1個節點的要求。為此考慮構建基于區塊鏈的物流模型[14],但各個節點需有大規模計算集群以快速完成共識認證過程。為實現資源彈性、節點快速調整、低成本、高魯棒性的用戶需求,各個交易主體不需要在本地部署大規模計算集群,所有的共識認證過程均有區塊鏈云平臺完成計算。因此,進一步提出構建基于云計算的物流區塊鏈模型。
基于云計算的物流區塊鏈模型真正做到了去中心化的核心要求,由多認證節點共同來驗證物流活動中的交易行為。從長遠來看,上游的供應商與下游的銷售商是動態變化的,這樣可以保證節點數量和防止惡意節點的大規模破壞[14]。各認證節點是作為物流交易行為的受益者,會主動遵守該共識認證機制,因此基云計算的物流區塊鏈模型具有較高的交易穩定性和容錯性。

圖1 基于云計算的物流區塊鏈模型
如圖1可以看出,基于云計算的物流區塊鏈模型,所有的交易認證行為均在Hadoop區塊鏈云平臺執行。其中HDFS模塊負責存儲更新區塊鏈信息,JobClient模塊執行查詢操作和分配節點任務,Map模塊分配任務節點進行區塊鏈信息的傳遞更新操作,Reduce模塊通過共識協議完成數據的規約處理;首先map函數動態的分配n個節點給各個交易主體,模擬其交易認證過程,通過Hash加密算法傳遞物流交易信息,進而實用拜占庭共識(PBFT)算法完成認證過程再使用reduce函數進行規約處理,整體認證過程具有較高容錯性,這樣便于企業內部交易主體、供應商、銷售商共同維護物流交易信息。區塊鏈共識機制及Hadoop分布式存儲技術,從而達到物流去中心化、不可篡改性,客戶可以溯本求源地跟蹤整個貨品的來源及物流運輸過程。
根據云計算的物流區塊鏈模型,結合實用拜占庭共識(PFBT)算法,提出基于云計算的物流區塊鏈算法CloudPFBT,算法步驟如圖2所示。

圖2 CloudPFBT算法流程圖
某同城快遞網絡中,有n個公司用區塊鏈系統開展快遞交易業務,通過CloudPBFT算法測試它們在系統中的物流交易中去中心化安全性和算法的性能。
云物流區塊鏈的共識分為兩大階段:區塊初始化和共識過程。在共識階段[15],包括交易驗證、區塊驗證、共識驗證,其云物流區塊鏈的形式化表述為:

其中,n+1產生的新區塊B,確認的交易包括n個節點,C表示經全網物流區塊鏈B狀態遷移函數,β表示單節點區塊鏈狀態遷移函數,?表示某個單一時刻的該區塊鏈狀態,N表示可用節點數量,?n+1表示添加新區塊B后的物流區塊鏈狀態。
實驗環境見表1。

表1 實驗環境
實驗1區塊鏈結構安全性,模型去中心化安全性。
實驗2算法性能。
首先規定物流網絡中正常節點傳遞物流區塊鏈的概率為r,破壞節點偽造物流區塊鏈的概率為ω,則破壞節點能夠控制全網z個節點的概率為ωz:

由偽造節點與正常節點相差區塊數量的規律來看,其滿足泊松分布的概率密度關系,設有r<ω,偽造區塊節點攻擊成功概率P有:

其中,α、β為設定區間。
本文設定偽造物流區塊鏈的概率ω分別為0.1和0.3,進行實驗測試得表2。

表2 偽造區塊成功概率
可以得出,偽造區塊與正常區塊數值增大,攻擊成功概率P呈現指數下降趨勢,如圖2。在基于云計算的物流區塊鏈模型中虛擬節點理論上可以無限大,結合PBFT共識算法采用的加密驗證的機制可以有效的規避破壞節點。

圖3 偽造區塊成功概率趨勢
以下是對三種算法PBFT,MinBFT和CloudPBFT算法性能的比較,在Hadoop云環境中設計分布了120個節點。
(1)算法延遲比較,結果如圖4所示

圖4 算法的延遲比較
在相同環境下,通過模擬物流交易主體節點,在0~50 ms的網絡延遲中,三種算法均表現出遞增的趨勢,且波動較小,其中未優化的原始PBFT算法的總延遲最大。0~30 ms,MinBFT算法和CloudPBFT算法兩者的總延遲基本一致,表現出優化后共識算法該有的網絡延遲水平,后者在后半程開始發力,從總延遲時間來看,CloudPBFT算法是延遲最小的,只有120 ms。在實驗中還發現節點越大,表現出延遲越小的趨勢。由此可以得出,在算法延遲比較中,PBFT>MinBFT>CloudPBFT,表明本文算法在網絡通信上具有比較好的優勢,節點容錯上充分發揮了Hadoop云計算分布式節點運算的優勢,提高了區塊鏈技術在實際共識認證過程中的速度。
(2)算法吞吐量比較,結果如圖5所示
在節點數量小于10時,三種算法的吞吐量呈現出線性上升的趨勢,CloudPBFT的吞吐量最大,達到了27 000次。把節點數量逐步增到120個,CloudPBFT吞吐量任然能波動上升,最高能實現36 000次。MinBFT算法在20~50個節點時表現出平緩的態勢,之后繼續增加節點數量,吞吐量隨之增大,呈現出上升趨勢,但也在27 000次時趨于飽和。PBFT在10~120個節點數量之間,吞吐量表現一致,且還有略有下降的趨勢,說明在相同條件下,CloudPBFT和MinBFT兩種優化算法性能均優于PBFT。CloudPBFT擁有動態容錯機制和實時分配副本的能力,使得在信息處理過程中能更快的處理錯誤節點,以保障吞吐量的穩定上升。

圖5 算法的吞吐量比較
(3)算法容錯性
如圖6、圖7所示可知,錯誤節點在0~40之間,算法延遲時間呈下降趨勢,說明該算法的容錯機制能保證物流節點數在實際應用場景中可以完成操作,當錯誤節點數超過 f的峰值時,延遲明顯上升,且在半數節點為錯誤節點時,共識網絡宕機,此時交易將自動重啟。物流交易區塊高度也隨著錯誤節點的增加,不再增高,這是受該算法設定其容錯機制的影響。

圖6 算法延遲時間

圖7 算法區塊高度
本文采用區塊鏈技術和云計算,設計了基于云計算的物流區塊鏈模型,以及基于實用拜占庭共識算法的CloudPBFT算法,保證了去中心化和不可篡改性的要求,應用了云計算的高魯棒性、分布式存儲的特性,解決了大規模共識運算的算力問題,為當前物流行業存在的交易不透明等一系列問題提供了區塊鏈解決的思路。通過仿真實驗表明,該模型在安全性、穩定性、吞吐量都有較高的表現。
但是,區塊鏈的公開透明特性,也意味著物流信息公開在物流網絡中,用戶在對信息流溯本求源的同時,一些不適合公開的信息也將暴露,接下來的研究工作著眼于物流去中心化模型的構建優化,考慮應用數字簽名技術,做好用戶的隱私保密工作。