孫佩茹,陳子君 (武漢科技大學(xué) 汽車與交通工程學(xué)院,湖北 武漢 430065)
相比于普通型倉(cāng)庫(kù),冷庫(kù)倉(cāng)儲(chǔ)的投資成本更高且管理更復(fù)雜。冷鏈物流具有高投資、高成本、復(fù)雜性等特點(diǎn),使冷鏈物流運(yùn)輸存在以下難題。
首先,由于冷鏈物流運(yùn)輸供應(yīng)鏈環(huán)節(jié)眾多,導(dǎo)致各節(jié)點(diǎn)之間信息流通不順暢,連接節(jié)點(diǎn)之間存在信息孤島的問(wèn)題。其次,冷鏈運(yùn)輸鏈較為復(fù)雜,系統(tǒng)組織程度低、運(yùn)行效率不高,對(duì)用戶私人信息的保護(hù)力度較弱,尋在信息泄漏的問(wèn)題。此外,物流運(yùn)輸鏈各節(jié)點(diǎn)之間利益不對(duì)稱,也降低了終端消費(fèi)者對(duì)物流的信任度。
平臺(tái)網(wǎng)絡(luò)化的建立需要解決大量數(shù)據(jù)存儲(chǔ)和管理的問(wèn)題,運(yùn)輸鏈的信息壁壘情況在節(jié)點(diǎn)處發(fā)生較多,需要引入新技術(shù)來(lái)實(shí)現(xiàn)物流運(yùn)輸鏈模型的優(yōu)化??紤]到冷鏈物流的前期投入成本較高導(dǎo)致其對(duì)運(yùn)輸過(guò)程中的車輛和倉(cāng)儲(chǔ)有特殊要求,難以形成較大規(guī)模的冷鏈物流網(wǎng)絡(luò),故而需要高水平的信息技術(shù)提供支撐,以提高物流數(shù)據(jù)管理的效率,解決節(jié)點(diǎn)端資源信息不對(duì)稱的問(wèn)題。本文將PBFT算法引入傳統(tǒng)冷鏈運(yùn)輸網(wǎng)絡(luò),通過(guò)設(shè)計(jì)運(yùn)輸鏈優(yōu)化模型來(lái)提高數(shù)據(jù)間共識(shí)效率,并帶動(dòng)整個(gè)運(yùn)輸網(wǎng)絡(luò)的效率提高,對(duì)冷鏈運(yùn)輸效率的提高具有重要意義。
冷鏈物流作為日常食品的主要供應(yīng)鏈之一,其質(zhì)量安全溯源受到了公眾的廣泛關(guān)注。冷鏈物流信息溯源是對(duì)冷鏈產(chǎn)品從生產(chǎn)到銷售的完整產(chǎn)業(yè)運(yùn)輸鏈的所有數(shù)據(jù)進(jìn)行監(jiān)管,但現(xiàn)有的溯源管理手段大多為集中管理,把數(shù)據(jù)信息存儲(chǔ)進(jìn)中央數(shù)據(jù)庫(kù),由于數(shù)據(jù)信息龐大,難以從中發(fā)現(xiàn)異常數(shù)據(jù)或被篡改的數(shù)據(jù)。集中式管理數(shù)據(jù)的溯源系統(tǒng)無(wú)法保證數(shù)據(jù)的真實(shí)性,也無(wú)法滿足用戶對(duì)冷鏈物流信息溯源的需求。
研究[1]發(fā)現(xiàn)區(qū)塊鏈技術(shù)具有去中心化、不可篡改、可追溯等特性。為提高數(shù)據(jù)傳輸?shù)陌踩裕T海波等[2]利用區(qū)塊鏈相關(guān)技術(shù),提出了一種去中心化的數(shù)據(jù)保護(hù)和共享方式,有利于網(wǎng)絡(luò)數(shù)據(jù)存儲(chǔ)模式的轉(zhuǎn)型。在運(yùn)輸網(wǎng)絡(luò)中數(shù)據(jù)共享和達(dá)成共識(shí)是一痛點(diǎn)問(wèn)題,需要耗費(fèi)大量成本,薛騰飛等[3]提出了一個(gè)基于區(qū)塊鏈的醫(yī)療數(shù)據(jù)共享模型,該模型適用于解決各醫(yī)療機(jī)構(gòu)之間數(shù)據(jù)共享的問(wèn)題,并采取改進(jìn)后的共識(shí)機(jī)制完成了數(shù)據(jù)共享。
區(qū)塊鏈中采用去中心化的共識(shí)算法可以保證信任問(wèn)題,在運(yùn)輸過(guò)程中產(chǎn)生的所有溯源數(shù)據(jù)均可通過(guò)物聯(lián)網(wǎng)設(shè)備或人工錄入的方式完成信息上鏈,信息上鏈一旦完成便無(wú)法修改,有效切斷了數(shù)據(jù)被篡改的可能性,終端消費(fèi)者只需通過(guò)溯源碼查詢即可獲取冷鏈物流溯源數(shù)據(jù),很大程度上解決了消費(fèi)者對(duì)數(shù)據(jù)不信任的問(wèn)題。
實(shí)用拜占庭容錯(cuò)機(jī)制(PBFT)[4]是一種廣泛應(yīng)用于區(qū)塊鏈的共識(shí)機(jī)制,是一種狀態(tài)機(jī)副本復(fù)制算法[5],即基于投票的算法。其核心理論是n≥3f+1,其中,n是系統(tǒng)的總節(jié)點(diǎn)數(shù),f是允許出現(xiàn)故障的節(jié)點(diǎn)數(shù),從PBFT算法的核心理論可以看出,PBFT系統(tǒng)至少需要4個(gè)參與節(jié)點(diǎn),其中一個(gè)被選為主要節(jié)點(diǎn),其余為次要節(jié)點(diǎn)。系統(tǒng)對(duì)信息的處理首先從次要節(jié)點(diǎn)對(duì)信息進(jìn)行分析處理得出結(jié)論,再轉(zhuǎn)由主要節(jié)點(diǎn)進(jìn)行分析判斷,反饋?zhàn)罱K信息,并默認(rèn)在整個(gè)系統(tǒng)中認(rèn)可這條信息。PBFT算法的具體共識(shí)流程如圖1所示[6]。
圖1 PBFT 共識(shí)算法流程
PBFT的提出使拜占庭的容錯(cuò)共識(shí)性能大幅提高,其具體工作流程如下。
1.2.1 請(qǐng)求階段
終端消費(fèi)者向主節(jié)點(diǎn)發(fā)送n條請(qǐng)求消息。
1.2.2 預(yù)準(zhǔn)備階段
主節(jié)點(diǎn)發(fā)送(n-1)條消息,副節(jié)點(diǎn)接收并發(fā)送(n-1)×(n-1)條消息,并進(jìn)行廣播預(yù)準(zhǔn)備消息。
1.2.3 準(zhǔn)備階段
主節(jié)點(diǎn)發(fā)布的預(yù)準(zhǔn)備消息被集群節(jié)點(diǎn)接收后進(jìn)行自主核驗(yàn),若查驗(yàn)后表示同意則立刻轉(zhuǎn)入準(zhǔn)備階段等待其余節(jié)點(diǎn)的核驗(yàn)。當(dāng)在集群內(nèi)收到2f+1個(gè)從節(jié)點(diǎn)發(fā)布的完成預(yù)準(zhǔn)備消息的核驗(yàn)并同意進(jìn)入準(zhǔn)備階段時(shí),即表示準(zhǔn)備階段已經(jīng)完成。
1.2.4 確認(rèn)階段
節(jié)點(diǎn)i需要檢查接收包括自身在內(nèi)的2f+1個(gè)消息,當(dāng)確認(rèn)消息與預(yù)準(zhǔn)備消息一致時(shí)表示此階段已完成。
1.2.5 回復(fù)階段
當(dāng)節(jié)點(diǎn)結(jié)束上一階段時(shí),需要向終端發(fā)送反饋回復(fù)消息,確認(rèn)終端收到f+1個(gè)反饋信息時(shí),即表示發(fā)出的請(qǐng)求已經(jīng)成功達(dá)成了共識(shí)。
PBFT算法在初始化時(shí)所有節(jié)點(diǎn)需要同步視圖,即保證全部節(jié)點(diǎn)處于同一狀態(tài),初始視圖編號(hào)從0開始。當(dāng)所有節(jié)點(diǎn)視圖全部完成后,從中選取主節(jié)點(diǎn)P,按照以下公式選取。
式中:v為視圖編號(hào),n為節(jié)點(diǎn)數(shù)。
PBFT共識(shí)算法中的視圖轉(zhuǎn)換協(xié)議指的是當(dāng)發(fā)現(xiàn)主節(jié)點(diǎn)錯(cuò)誤時(shí),通過(guò)積分機(jī)制根據(jù)當(dāng)前階段的節(jié)點(diǎn)積分選擇新的主節(jié)點(diǎn),以提高共識(shí)效率。但由圖1可知,PBFT算法需要通過(guò)三階段協(xié)議才能達(dá)成共識(shí),每個(gè)階段都將產(chǎn)生大量消息,系統(tǒng)存儲(chǔ)空間負(fù)荷度較高,若不及時(shí)對(duì)信息進(jìn)行回收清理,系統(tǒng)存儲(chǔ)空間將難以承擔(dān)高強(qiáng)度工作?,F(xiàn)有的PBFT算法中已設(shè)計(jì)了垃圾回收機(jī)制來(lái)處理無(wú)用信息,其執(zhí)行方式為周期性循環(huán),目的是保證系統(tǒng)的正常運(yùn)轉(zhuǎn)和網(wǎng)絡(luò)安全。但在實(shí)際應(yīng)用中,周期性循環(huán)回收會(huì)耗費(fèi)大量網(wǎng)絡(luò)資源,在此基礎(chǔ)上改進(jìn)PBFT算法,在現(xiàn)有的垃圾回收機(jī)制的基礎(chǔ)上增加動(dòng)態(tài)刪減和積分重分配功能,當(dāng)節(jié)點(diǎn)積分大于所設(shè)定的閾值時(shí),運(yùn)行垃圾回收機(jī)制,并刪除所有參與共識(shí)的節(jié)點(diǎn)信息,同時(shí)清除該部分節(jié)點(diǎn)積分重新賦值,達(dá)到共識(shí)節(jié)點(diǎn)動(dòng)態(tài)刪減的目的。
通過(guò)分析上述研究背景可以看出,冷鏈物流運(yùn)輸?shù)膹?fù)雜性和風(fēng)險(xiǎn)性較高,為了降低或避免風(fēng)險(xiǎn),簡(jiǎn)化運(yùn)輸網(wǎng)絡(luò),降低運(yùn)輸過(guò)程中的損耗和成本損失,本文將PBFT算法引入冷鏈物流,對(duì)冷鏈物流運(yùn)輸網(wǎng)絡(luò)進(jìn)行合理的優(yōu)化與完善。
冷鏈運(yùn)輸以冷凍工藝為基礎(chǔ)、制冷技術(shù)為手段,保證物品運(yùn)輸整個(gè)過(guò)程始終在規(guī)定的溫度環(huán)境下保存,以保證物品的質(zhì)量。物流運(yùn)輸網(wǎng)絡(luò)結(jié)構(gòu)是包含不同起點(diǎn)終點(diǎn)、不同路線和不同交通形式的復(fù)雜鏈?zhǔn)浇Y(jié)構(gòu)。本文將物流運(yùn)輸網(wǎng)絡(luò)定義為公式(2),包括區(qū)間距離、費(fèi)用和運(yùn)行時(shí)間。
式中:V為網(wǎng)絡(luò)中的節(jié)點(diǎn)數(shù),E為網(wǎng)絡(luò)中的邊,W為網(wǎng)絡(luò)中邊上的權(quán)重。
運(yùn)輸網(wǎng)絡(luò)是由相互連接的節(jié)點(diǎn)和弧段組成的系統(tǒng)結(jié)構(gòu),其中弧包括方向和權(quán)值,權(quán)值可以表示時(shí)間、運(yùn)費(fèi)、流量、距離等。利用網(wǎng)絡(luò)權(quán)值之間的關(guān)系可以采用最小費(fèi)用、最大流等運(yùn)算方法優(yōu)化設(shè)計(jì)出距離最短、用時(shí)最少、費(fèi)用最低、流量最大的路線。
利用PBFT對(duì)冷鏈運(yùn)輸網(wǎng)絡(luò)進(jìn)行優(yōu)化的主要目的是提高網(wǎng)絡(luò)運(yùn)輸效率,確保在多節(jié)點(diǎn)網(wǎng)絡(luò)中提高共識(shí)完成率。將各個(gè)配送節(jié)點(diǎn)之間的網(wǎng)絡(luò)鏈接轉(zhuǎn)化為圖論?,F(xiàn)提出以下三種模型。
獨(dú)立模型:該模型中每個(gè)節(jié)點(diǎn)之間的節(jié)點(diǎn)和線路相互獨(dú)立、互不影響,只要節(jié)點(diǎn)和網(wǎng)絡(luò)當(dāng)中有一個(gè)可以正常運(yùn)行,該網(wǎng)絡(luò)就可以順利進(jìn)行運(yùn)輸。其優(yōu)化模型存在一條從起點(diǎn)到終點(diǎn)的完整線路。
半獨(dú)立模型:該模型中每個(gè)節(jié)點(diǎn)和線路不完全獨(dú)立,節(jié)點(diǎn)和線路之間存在聯(lián)系,任意節(jié)點(diǎn)和線路在任意時(shí)刻都處于模型中的某種狀態(tài),但是不同狀態(tài)下其工作能力不同。其優(yōu)化模型兩節(jié)點(diǎn)間存在一條滿足約束的連通線路。
非獨(dú)立模型:在此模型中,網(wǎng)絡(luò)中的節(jié)點(diǎn)和線路相互聯(lián)系,具有較高的相關(guān)性,不能獨(dú)立存在,該優(yōu)化模型存在一條相互連通的路線。
本研究基于上述三種分析模型,引入PBFT算法計(jì)算每個(gè)網(wǎng)絡(luò)中的最優(yōu)解,即選擇完成共識(shí)次數(shù)最多、路線最短、用時(shí)最少、費(fèi)用最低、流量最大的路線,并將該路線與傳統(tǒng)路線作比較。
本優(yōu)化模型的主要結(jié)構(gòu)如下。
簡(jiǎn)化網(wǎng)絡(luò):首先將復(fù)雜的運(yùn)輸網(wǎng)絡(luò)轉(zhuǎn)化為圖論,將約束條件轉(zhuǎn)化為弧段上的權(quán)值;
算法計(jì)算:運(yùn)用PBFT算法計(jì)算并完成共識(shí),改變網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)分析完成共識(shí)的次數(shù)變化;
分析比較:對(duì)傳統(tǒng)型網(wǎng)絡(luò)完成共識(shí)與引入PBFT算法的網(wǎng)絡(luò)完成共識(shí)的數(shù)據(jù)進(jìn)行對(duì)比分析,比較兩者在不同節(jié)點(diǎn)數(shù)的情況下達(dá)成共識(shí)的效率。
冷鏈物流運(yùn)輸鏈追溯系統(tǒng)面向企業(yè)用戶和廣大消費(fèi)者,為了確保系統(tǒng)能夠穩(wěn)定運(yùn)行,需要對(duì)系統(tǒng)的主要技術(shù)進(jìn)行全面測(cè)試,以檢查軟件系統(tǒng)的性能和需求功能是否滿足了指定要求,并將該模型與傳統(tǒng)運(yùn)輸鏈在有效性、適用性、節(jié)能性等方面進(jìn)行對(duì)比。
共識(shí)有效完成率是指簡(jiǎn)化網(wǎng)絡(luò)后,對(duì)網(wǎng)絡(luò)發(fā)出共識(shí)機(jī)制的請(qǐng)求,當(dāng)整個(gè)網(wǎng)絡(luò)達(dá)成共識(shí)時(shí)則表示該舉動(dòng)完成,研究中用完成次數(shù)代表完成率。本實(shí)驗(yàn)將PBFT算法和傳統(tǒng)算法在共識(shí)有效完成次數(shù)上進(jìn)行仿真對(duì)比分析,使用MATLAB R2017a軟件進(jìn)行實(shí)驗(yàn)仿真,分別模擬節(jié)點(diǎn)數(shù)為4、6、8、10等多組的情況,實(shí)驗(yàn)條件為系統(tǒng)中無(wú)故障節(jié)點(diǎn),每種情況下傳輸?shù)臄?shù)據(jù)大小一致。
仿真結(jié)果如圖2所示,可看出隨著節(jié)點(diǎn)數(shù)的不斷增加,PBFT和Tradition的有效完成次數(shù)呈明顯下降趨勢(shì),但PBFT的有效完成次數(shù)總高于Tradition的有效完成次數(shù),故將PBFT共識(shí)算法引入冷鏈物流中與傳統(tǒng)的運(yùn)輸鏈共識(shí)機(jī)制相比可以大大提高其效率。
圖2 共識(shí)有效完成次數(shù)
研究通過(guò)對(duì)基于區(qū)塊鏈的冷鏈物流系統(tǒng)方案進(jìn)行研究設(shè)計(jì),在一定程度上解決了我國(guó)冷鏈物流規(guī)模較小且難以擴(kuò)張的痛點(diǎn)問(wèn)題。區(qū)塊鏈網(wǎng)絡(luò)中的各個(gè)節(jié)點(diǎn)具有去中心化、加密、防篡改等特點(diǎn),與智能物流運(yùn)輸系統(tǒng)多節(jié)點(diǎn)、網(wǎng)絡(luò)化的特點(diǎn)相適應(yīng),故考慮將區(qū)塊鏈技術(shù)應(yīng)用到復(fù)雜性較高的冷鏈物流系統(tǒng)中。本文主要通過(guò)查閱相關(guān)文獻(xiàn)分析傳統(tǒng)冷鏈物流運(yùn)輸中存在的問(wèn)題,將區(qū)塊鏈技術(shù)引入追溯系統(tǒng)。設(shè)計(jì)并實(shí)現(xiàn)了基于區(qū)塊鏈技術(shù)的冷鏈物流運(yùn)輸追溯模型,并對(duì)模型的主要技術(shù)進(jìn)行仿真模擬。研究的主要工作意義有以下幾點(diǎn)。
有利于提高冷鏈共識(shí)的完成效率,減少運(yùn)輸過(guò)程中的成本損耗,并利用區(qū)塊鏈相關(guān)技術(shù)平衡各節(jié)點(diǎn)間數(shù)據(jù)的不對(duì)稱性;
有利于后續(xù)終端消費(fèi)者追溯冷鏈貨品的進(jìn)度,利用PBFT算法使整個(gè)運(yùn)輸網(wǎng)絡(luò)擁有平等信息;
有利于加快區(qū)塊鏈相關(guān)技術(shù)在不同領(lǐng)域的應(yīng)用和推廣,區(qū)塊鏈技術(shù)仍處于研究和發(fā)展階段,將PBFT算法引入冷鏈行業(yè)是對(duì)推廣區(qū)塊鏈應(yīng)用的一項(xiàng)重大幫助。
研究只選取了區(qū)域性的部分節(jié)點(diǎn)作為參考進(jìn)行研究,后續(xù)將擴(kuò)大研究的區(qū)域面,將更多節(jié)點(diǎn)加入網(wǎng)絡(luò)中,盡可能地保障物流運(yùn)輸鏈追溯的完整性;另外,可以研究設(shè)計(jì)更高效簡(jiǎn)易的算法來(lái)提高多節(jié)點(diǎn)動(dòng)態(tài)性物流運(yùn)輸鏈的追溯效率。