張 新 彭祥貞 李 悅 王小藝 趙峙堯 許繼平*
(1.北京工商大學人工智能學院,北京 100048;2.北京工商大學北京市食品安全大數(shù)據(jù)技術(shù)重點實驗室,北京 100048;3.北京工商大學中國輕工業(yè)工業(yè)互聯(lián)網(wǎng)與大數(shù)據(jù)重點實驗室,北京 100048)
糧油食品包括原糧、成品糧和食用油等,是國民生活的必需品[1]。保障糧油食品供應(yīng)的安全,對國民生命健康、社會和諧發(fā)展具有重要意義。糧油食品供應(yīng)鏈包含生產(chǎn)、加工、倉儲、運輸、銷售等多個參與環(huán)節(jié)[2],供應(yīng)鏈循環(huán)周期較長,且每個環(huán)節(jié)中威脅糧油食品安全的因素較多。糧油食品供應(yīng)鏈目前存在生產(chǎn)環(huán)節(jié)農(nóng)藥化肥過量、加工環(huán)節(jié)添加劑不明、儲運環(huán)節(jié)信息缺失以及銷售環(huán)節(jié)假冒偽劣等諸多問題[3],對公眾健康構(gòu)成嚴重威脅。因此,亟待建立安全有效的糧油食品全供應(yīng)鏈可信追溯平臺,以提高全供應(yīng)鏈各環(huán)節(jié)的參與透明度和可靠性,同時,能夠有效保障消費者權(quán)益以及提升監(jiān)管的高效性。
傳統(tǒng)的糧油食品溯源系統(tǒng)多為中心化的模式,由部分核心企業(yè)集中采集管理供應(yīng)鏈環(huán)節(jié)的數(shù)據(jù),并將數(shù)據(jù)存儲到中心化的服務(wù)器,但中心化的管理模式安全性較低,易受篡改攻擊等缺陷。盡管部分企業(yè)采用二維碼、RFID(Radio Frequency Identification)等標識技術(shù)進行供應(yīng)鏈環(huán)節(jié)數(shù)據(jù)的追蹤,但其并不能保障數(shù)據(jù)的透明度與可靠性[4]。因此,傳統(tǒng)溯源模式并未消除消費者對糧油食品安全可靠方面的疑慮。
區(qū)塊鏈是一種去中心化的分布式賬本技術(shù),它通過加密、共識等機制保證上鏈的數(shù)據(jù)不可篡改和偽造[5]。近年來,區(qū)塊鏈的應(yīng)用從以比特幣為代表的加密數(shù)字貨幣逐漸滲透到金融、醫(yī)療、政務(wù)、司法、公益、商品防偽和食品安全等各個領(lǐng)域[6]。區(qū)塊鏈的去中心化架構(gòu)以及數(shù)據(jù)不可篡改和偽造的技術(shù)特性[7]為解決糧油食品全供應(yīng)鏈可信追溯提供了一種行之有效的解決方案[8]。
本文基于可信區(qū)塊鏈和可信標識,設(shè)計了一套糧油食品全供應(yīng)鏈的可信追溯模型,提供從生產(chǎn)環(huán)節(jié)到最終消費者手中整個過程的信息,并保證數(shù)據(jù)安全可靠。在發(fā)生食品安全事故時,食品溯源系統(tǒng)可以快速準確高效地定位問題發(fā)生的環(huán)節(jié),并找到問題的根源、追蹤問題產(chǎn)品去向,明確責任企業(yè)并追究責任,降低食品安全事故造成的不良影響,對解決食品安全問題具有十分重要的意義。
區(qū)塊鏈是由分布式數(shù)據(jù)存儲、點對點網(wǎng)絡(luò)傳輸、加密算法、共識機制等計算機技術(shù)支持的分布式賬本技術(shù),本質(zhì)上是分布式數(shù)據(jù)庫[9]。由于近年來區(qū)塊鏈的安全性能不斷提升,區(qū)塊鏈已被廣大研究學者稱為可信區(qū)塊鏈??尚艆^(qū)塊鏈中的每個數(shù)據(jù)塊包括一個區(qū)塊頭和一個區(qū)塊體。區(qū)塊頭由當前區(qū)塊塊版本、當前哈希值、前一個區(qū)塊塊哈希值、時間戳和一個隨機數(shù)組成[10]。區(qū)塊體由數(shù)據(jù)結(jié)構(gòu)組成,其中包含區(qū)塊經(jīng)過驗證的、區(qū)塊創(chuàng)建過程中生成的所有交易記錄。這種由加密算法加密的鏈狀數(shù)據(jù)結(jié)構(gòu)確??尚艆^(qū)塊鏈中的數(shù)據(jù)不會被篡改,從而保證整個供應(yīng)鏈中所有環(huán)節(jié)的數(shù)據(jù)安全。同時,通過共識機制,可信區(qū)塊鏈網(wǎng)絡(luò)中的所有節(jié)點都參與了數(shù)據(jù)認證過程[11]??尚艆^(qū)塊鏈保證了鏈上數(shù)據(jù)的一致性和真實性,解決了傳統(tǒng)集中式系統(tǒng)存在的“信息孤島”、數(shù)據(jù)不透明等問題[12]。部署在可信區(qū)塊鏈網(wǎng)絡(luò)中的智能合約在達到一定的觸發(fā)條件時,可以自動執(zhí)行由所有節(jié)點聯(lián)合驗證的預(yù)設(shè)程序碼。由于執(zhí)行過程和結(jié)果對整個網(wǎng)絡(luò)中的所有節(jié)點都是公開透明的,可信區(qū)塊鏈可以有效地解決所有節(jié)點之間的信任問題[13]。因此,它可以幫助增加整個供應(yīng)鏈的生產(chǎn)、加工、倉儲、運輸、銷售和最終消費各參與環(huán)節(jié)之間的信任,并且確保整個糧油食品供應(yīng)鏈可追溯數(shù)據(jù)的安全性和可靠性。
近年來,由于區(qū)塊鏈2.0時代的到來,涌現(xiàn)出眾多學者利用區(qū)塊鏈與糧食供應(yīng)鏈溯源系統(tǒng)相結(jié)合,進而設(shè)計出安全、可靠、高效的溯源方案。Salah[14]等人提出了一種基于以太坊智能合約技術(shù)以及星際文件系統(tǒng)的大豆供應(yīng)鏈溯源解決方案,有效提升了大豆供應(yīng)鏈溯源系統(tǒng)的信息透明度及可追溯性。Tao[15]等人提出了一種基于區(qū)塊鏈智能合約的綜合評價模型,自動地對食品產(chǎn)業(yè)鏈進行食品質(zhì)量檢測及預(yù)警,提高了食品產(chǎn)業(yè)鏈的安全性與可信度。毛典輝[16]等人提出了一種基于區(qū)塊鏈智能合約的信用評估系統(tǒng),提升了對食品供應(yīng)鏈監(jiān)管的有效性。Lin[17]等人提出了一種基于區(qū)塊鏈和EPC 信息服務(wù)的食品安全追溯原型系統(tǒng),并通過以太坊智能合約避免了信息交互過程中可能發(fā)生的數(shù)據(jù)篡改及敏感信息泄露等問題。
標識技術(shù)作為一種直接有效的承載信息的重要手段,對于糧油食品全供應(yīng)鏈中信息追蹤與溯源的重要性不言而喻[18]。近年來,如何有效利用標識技術(shù)跟蹤和追溯糧油食品全供應(yīng)鏈中生產(chǎn)、加工、倉儲、運輸、銷售等各個參與環(huán)節(jié)產(chǎn)生的數(shù)據(jù),并確保溯源系統(tǒng)中數(shù)據(jù)的實時、安全和可靠性成為溯源行業(yè)的一大研究熱點。目前在溯源行業(yè)廣泛采用的標識技術(shù)包括條碼、RFID、NFC(Near Field Communication)、EPC(Electronic Product Code)以及其他基于物聯(lián)網(wǎng)的電子標識技術(shù)[19]。其中,條碼技術(shù)包含一維條碼和二維碼。一維條碼受限于其存儲容量較低多用于結(jié)合傳統(tǒng)的中心化數(shù)據(jù)庫進行簡單的產(chǎn)品編號,不適用于數(shù)據(jù)信息繁多、冗雜的應(yīng)用場景。二維碼因其信息密度較高、容量大、容錯能力強、成本較低、使用方便靈活的特點,能夠更好的適用于基于區(qū)塊鏈的糧油食品全供應(yīng)鏈溯源的場景[20]。無線射頻識別(RFID)技術(shù)作為一種非接觸式的射頻識別技術(shù)[21],通過讀寫器對附著在產(chǎn)品上的RFID 電子標簽進行讀寫操作[22],也正得到越來越多食品供應(yīng)鏈溯源領(lǐng)域研究者的關(guān)注,但因RFID標簽的成本以及安全性等問題,其在未來大規(guī)模商用之前仍面臨著挑戰(zhàn)[23][24]。
基于條碼[25]、RFID[26]等技術(shù)的食品供應(yīng)鏈溯源系統(tǒng)研究由來已久[27][28],錢建平[29]等人設(shè)計開發(fā)了一種基于二維碼和RFID 技術(shù)的小麥面粉可追溯系統(tǒng),該系統(tǒng)的應(yīng)用保證了小麥面粉的質(zhì)量與安全,同時有效降低了召回成本。Caro[30]等人提出了Agri-BlockIoT,一種基于物聯(lián)網(wǎng)和區(qū)塊鏈的農(nóng)產(chǎn)品溯源解決方案,并且支持擴展物聯(lián)網(wǎng)傳感器設(shè)備,保證了數(shù)據(jù)的透明、容錯以及不可篡改等。TSANG[31]等人提出了一種基于區(qū)塊鏈和物聯(lián)網(wǎng)技術(shù)的食品溯源系統(tǒng)(BIFTS),對食品的全生命周期質(zhì)量追溯管理提供了支持。Saikat[32]等人設(shè)計了一種基于物聯(lián)網(wǎng)技術(shù)的食品供應(yīng)鏈實時質(zhì)量監(jiān)控架構(gòu),供應(yīng)鏈各環(huán)節(jié)通過掃描RFID 標簽更新區(qū)塊鏈中的數(shù)據(jù),提高了各環(huán)節(jié)數(shù)據(jù)的透明度,保障了食品質(zhì)量以及發(fā)生食品質(zhì)量安全事故時的高效召回。
本文基于可信區(qū)塊鏈和可信標識進行糧油食品全供應(yīng)鏈的信息追溯。利用區(qū)塊鏈去中心化、透明度高、數(shù)據(jù)不可篡改和偽造等特性結(jié)合條碼等標識技術(shù),對糧油食品全供應(yīng)鏈生產(chǎn)、加工、倉儲、運輸、銷售等各環(huán)節(jié)數(shù)據(jù)進行跟蹤和追溯,能夠有效提高糧油食品全供應(yīng)鏈環(huán)節(jié)信息的透明度與可靠性。對于形成安全、可信、高效的糧油食品供應(yīng)體系具有重要意義。
在對可信區(qū)塊鏈和可信標識調(diào)研與最新研究成果分析的基礎(chǔ)上,本節(jié)首先對糧油食品全供應(yīng)鏈進行信息解析,在此基礎(chǔ)上,利用可信區(qū)塊鏈與可信標識設(shè)計了糧油食品全供應(yīng)鏈信息追溯模型框架。
糧油食品供應(yīng)鏈循環(huán)周期較長且參與方較多,且每個環(huán)節(jié)幾乎都嵌套有其他的環(huán)節(jié),例如在生產(chǎn)環(huán)節(jié)中包含倉儲、運輸過程甚至是簡單的粗加工過程,加工、銷售等環(huán)節(jié)也離不開基礎(chǔ)的運輸、倉儲等環(huán)節(jié),其復雜性和風險因素不可控等性質(zhì)決定了傳統(tǒng)的溯源方案效率較低且可信度較差[33]。本節(jié)基于對糧油食品全供應(yīng)鏈各參與環(huán)節(jié)的剖析,抽象出了糧油食品全供應(yīng)鏈參與環(huán)節(jié)中最為典型的五個環(huán)節(jié),即生產(chǎn)環(huán)節(jié)、加工環(huán)節(jié)、倉儲環(huán)節(jié)、運輸環(huán)節(jié)和銷售環(huán)節(jié)。由這五個典型環(huán)節(jié)組成的糧油食品全供應(yīng)鏈抽象模型對于不同的糧油食品供應(yīng)鏈具有較高的適配性和靈活性,可根據(jù)不同的糧油食品供應(yīng)鏈實際情況進行擴展適配。本文提出的糧油食品全供應(yīng)鏈典型環(huán)節(jié)如圖1所示,后續(xù)的研究工作也將基于此典型環(huán)節(jié)展開。
圖1 糧油食品全供應(yīng)鏈典型環(huán)節(jié)Fig.1 Typical links in the whole supply chain of grain and oil food
糧油食品全供應(yīng)鏈典型環(huán)節(jié)的數(shù)據(jù)信息主要為供應(yīng)鏈上各個環(huán)節(jié)通過物聯(lián)網(wǎng)設(shè)備及人工所采集的數(shù)據(jù)信息。供應(yīng)鏈中每個參與環(huán)節(jié)采集的信息經(jīng)過驗證之后進入基于可信區(qū)塊鏈構(gòu)建的追溯系統(tǒng),從而實現(xiàn)對某一批次產(chǎn)品的整個供應(yīng)鏈環(huán)節(jié)信息進行高效地跟蹤和追溯。
基于可信區(qū)塊鏈和可信標識的糧油食品全供應(yīng)鏈信息追溯模型框架由采集端、客戶端以及存儲模塊組成。采集端包含生產(chǎn)、加工、倉儲、運輸以及銷售五個供應(yīng)鏈典型環(huán)節(jié)以及相應(yīng)的采集設(shè)備;客戶端包含五個典型環(huán)節(jié)所對應(yīng)的企業(yè)用戶、監(jiān)管部門和消費者,三者可通過溯源系統(tǒng)對數(shù)據(jù)信息進行驗證與查詢,除此之外,每個客戶端內(nèi)部嵌有標識生成模塊;存儲模塊由區(qū)塊鏈以及云端數(shù)據(jù)庫組成。模型各個部分由定制化的智能合約直接相互調(diào)用實現(xiàn)互聯(lián)互通。本模型基于區(qū)塊鏈原理,結(jié)合智能合約技術(shù)和標識解析技術(shù),設(shè)計了糧油食品可信追溯模型,模型框架示意圖如圖2所示。
圖2 模型框架示意圖Fig.2 Schematic diagram of the model frame
在糧油食品可信追溯模型框架基礎(chǔ)上,本研究設(shè)計符合該模型的基于可信區(qū)塊鏈的可信標識機制、多模存儲機制、可信追溯機制3 種運行機制。3 種機制能有效契合糧油食品供應(yīng)鏈形成可信追溯,從而提高糧油食品的質(zhì)量安全??尚艠俗R機制實現(xiàn)了糧油信息的高效、可信追溯;多模存儲機制解決了糧油食品冗雜的數(shù)據(jù)存儲,分擔了區(qū)塊鏈鏈上數(shù)據(jù)的存儲壓力;可信追溯機制實現(xiàn)了糧油食品全供應(yīng)鏈信息在各環(huán)節(jié)之間的可信流轉(zhuǎn),保證了溯源信息從采集到銷售的可信性。并且定制化設(shè)計智能合約,實現(xiàn)了可信標識機制、多模存儲機制以及可信追溯機制的內(nèi)部運行邏輯封裝,確保模型運行的流暢性。
基于“可信區(qū)塊鏈+可信標識”所設(shè)計的可信標識機制用于在整個供應(yīng)鏈中跟蹤數(shù)據(jù)信息。該機制包含了客戶端系統(tǒng)內(nèi)嵌的標識生成模塊具體的樣式、生成標識的具體流程、標識的設(shè)計等。
可信標識機制首先在糧油食品供應(yīng)鏈的各個環(huán)節(jié)對相關(guān)數(shù)據(jù)進行驗證和調(diào)整,并通過智能合約記錄在區(qū)塊鏈系統(tǒng)中,通過相關(guān)設(shè)備收集數(shù)據(jù)后自動執(zhí)行。在供應(yīng)鏈的生產(chǎn)環(huán)節(jié)中,糧食作物生產(chǎn)信息首先由相關(guān)人員通過客戶端錄入系統(tǒng),然后通過智能合約進行驗證和標準化后進入可信區(qū)塊鏈網(wǎng)絡(luò),并且通過智能合約反饋驗證供應(yīng)鏈中的相關(guān)身份信息。
該機制在加工過程中打印相應(yīng)的標識碼,用于后續(xù)產(chǎn)品的識別。所生成的標識碼通過嵌入?yún)^(qū)塊鏈系統(tǒng)中的智能合約進行驗證,使用區(qū)塊鏈的智能合約技術(shù)可以使身份機制變得可信。在加工環(huán)節(jié)中,由于應(yīng)用標識碼查詢該環(huán)節(jié)數(shù)據(jù)會降低實際工作的時效性,故采用當下較為便捷的二維碼技術(shù)將標識碼中信息與加工環(huán)節(jié)信息存入二維碼,以便于工作人員通過掃碼槍查詢信息。同時將相關(guān)產(chǎn)品信息添加到系統(tǒng)中,經(jīng)過智能合約的驗證和標準化后進入?yún)^(qū)塊鏈網(wǎng)絡(luò),進而實現(xiàn)包含標識碼的二維碼信息識別的可信度。在產(chǎn)品生產(chǎn)加工的最后階段,由于產(chǎn)品在供應(yīng)鏈中循環(huán),產(chǎn)品的二維碼被印在產(chǎn)品的外包裝上,作為后續(xù)識別和驗證的依據(jù)。產(chǎn)品識別機制在倉儲、運輸、銷售環(huán)節(jié)的操作原理和流程相似,只是沒有新的實體二維碼生成,只有其區(qū)塊鏈系統(tǒng)中的內(nèi)容更新,故在此不在闡述。圖3 顯示了基于可信區(qū)塊鏈的可信標識機制的組成及其工作原理。標識碼技術(shù)通過結(jié)合區(qū)塊鏈智能合約技術(shù)實現(xiàn)了糧油食品在供應(yīng)鏈中信息流轉(zhuǎn)的透明、安全和可信。
圖3 基于區(qū)塊鏈的可信標識機制Fig.3 Trusted identity mechanism based on blockchain
在打印識別碼過程中,通過嵌入式標識碼生成模塊根據(jù)所上傳的信息生成相應(yīng)的標識碼,具體編碼如圖4 所示,其中包含了首部與后綴兩部分,首部包括了種類代碼、公司代碼、行業(yè)代碼、國家代碼;后綴包括了信息代碼、流程代碼、環(huán)節(jié)代碼。
圖4 編碼示意圖Fig.4 Coding Diagram
由于糧油食品全供應(yīng)鏈是食品供應(yīng)鏈中最繁多、冗雜的,加之其供應(yīng)鏈涉及環(huán)節(jié)較多,從生產(chǎn)到銷售需要采集、記錄、上傳的全部數(shù)據(jù)量十分龐大且復雜,如果全供應(yīng)鏈各環(huán)節(jié)的數(shù)據(jù)全部存儲在區(qū)塊鏈上會出現(xiàn)成本高、負擔大、效率低等問題。因此本機制設(shè)計了基于區(qū)塊鏈和云數(shù)據(jù)庫的多模存儲機制,即將龐大的產(chǎn)品在供應(yīng)鏈中流轉(zhuǎn)的基礎(chǔ)數(shù)據(jù)存入云數(shù)據(jù)庫,再將云數(shù)據(jù)庫中的基礎(chǔ)數(shù)據(jù)與區(qū)塊鏈節(jié)點中產(chǎn)品標簽信息等標簽數(shù)據(jù)一同進行哈希運算得到的哈希值存入?yún)^(qū)塊鏈中,從而保證區(qū)塊鏈系統(tǒng)運行的成本與效率。圖5 展示的是基于區(qū)塊鏈和云存儲的糧油食品全供應(yīng)鏈多模存儲機制。
圖5 基于區(qū)塊鏈和云數(shù)據(jù)庫的數(shù)據(jù)多模存儲機制Fig.5 Data dual-mechanism storage model based on blockchain and cloud database
糧油食品全供應(yīng)鏈各環(huán)節(jié)上傳到區(qū)塊鏈上的數(shù)據(jù)要遵循智能合約的約束,只有滿足智能合約條件要求的數(shù)據(jù)才能上傳成功。同時,智能合約會對供應(yīng)鏈不同節(jié)點上傳的數(shù)據(jù)進行格式的統(tǒng)一,然后通過數(shù)字簽名技術(shù)對數(shù)據(jù)進行驗證并上傳存儲至云數(shù)據(jù)庫。全供應(yīng)鏈各環(huán)節(jié)產(chǎn)生的大量基礎(chǔ)數(shù)據(jù)上傳至云數(shù)據(jù)庫的具體過程為:對產(chǎn)品的大量基礎(chǔ)數(shù)據(jù)進行哈希運算來獲得數(shù)據(jù)摘要,系統(tǒng)通過非對稱加密技術(shù)來生成公鑰和私鑰,數(shù)據(jù)摘要由私鑰加密如公式1 所示,其中skp為私鑰,D為標準化后的數(shù)據(jù),Ds為數(shù)據(jù)摘要。加密后的數(shù)據(jù)摘要作為簽名值與基礎(chǔ)數(shù)據(jù)一起上傳到云數(shù)據(jù)庫后,云數(shù)據(jù)庫將使用公鑰對接收到的加密數(shù)據(jù)摘要(簽名值)進行解密,如公式2 所示,其中pkp為公鑰,RDS為云數(shù)據(jù)庫。解密完成后的數(shù)據(jù)摘要與對基礎(chǔ)數(shù)據(jù)用同樣哈希運算方法獲得的數(shù)據(jù)摘要進行對比,若對比結(jié)果一致則證明數(shù)據(jù)真實可靠未經(jīng)篡改,大量基礎(chǔ)數(shù)據(jù)順利存入云數(shù)據(jù)庫中;若結(jié)果不一致說明數(shù)據(jù)經(jīng)過了篡改則不能通過驗證,無法存入數(shù)據(jù)庫。通過數(shù)字簽名技術(shù),各個企業(yè)節(jié)點存入云數(shù)據(jù)庫的數(shù)據(jù)均有效可信,因此云數(shù)據(jù)庫中大量基礎(chǔ)數(shù)據(jù)的真實性得到保證。同時,由于區(qū)塊鏈網(wǎng)絡(luò)中僅存儲由云數(shù)據(jù)庫中的基礎(chǔ)數(shù)據(jù)與產(chǎn)品標簽數(shù)據(jù)經(jīng)哈希運算后產(chǎn)生的數(shù)據(jù)摘要,因此,保證了糧油食品全供應(yīng)鏈信息溯源系統(tǒng)的效率和性能。
在多模存儲機制的基礎(chǔ)上,本研究設(shè)計了SDSC(Storage Data smart contract)和VDSC(Verify Data smart contract)兩種智能合約來封裝多模存儲機制的邏輯規(guī)則,SDSC如算法1所示,VDSC如算法2所示。其中H(i)為用戶唯一身份哈希,Data為采集到的初始數(shù)據(jù),D為標準化后的數(shù)據(jù),Ds為數(shù)據(jù)摘要,RDS 為云數(shù)據(jù)庫,R為交互記錄。
數(shù)據(jù)多模存儲機制通過可信區(qū)塊鏈、數(shù)字加密技術(shù)、智能合約等技術(shù)將供應(yīng)鏈上企業(yè)各個環(huán)節(jié)數(shù)據(jù)安全、可靠的存儲在云數(shù)據(jù)庫中,從而保證了云數(shù)據(jù)庫中大量數(shù)據(jù)的真實性。同時,由于區(qū)塊鏈網(wǎng)絡(luò)只將基礎(chǔ)數(shù)據(jù)和產(chǎn)品標簽數(shù)據(jù)散列生成的數(shù)據(jù)摘要存儲在云數(shù)據(jù)庫中,從而保證了高效的供應(yīng)鏈績效。
基于糧油食品全供應(yīng)鏈典型環(huán)節(jié),在可信標識機制和多模存儲機制的基礎(chǔ)上,本文所設(shè)計的糧油食品全供應(yīng)鏈信息可信追溯機制如圖6所示,通過可信區(qū)塊鏈和可信標識結(jié)合實現(xiàn)的糧油食品全供應(yīng)鏈各環(huán)節(jié)信息采集、存儲、傳輸?shù)目尚拧?/p>
圖6 糧油食品全供應(yīng)鏈可信溯源機制Fig.6 Credible traceability mechanism of the whole supply chain of grain and oil food
糧油食品供應(yīng)鏈每個環(huán)節(jié)產(chǎn)品標簽信息與云數(shù)據(jù)庫中基礎(chǔ)數(shù)據(jù)經(jīng)過哈希運算得到哈希值,并由獨自維護的區(qū)塊鏈節(jié)點將數(shù)據(jù)摘要發(fā)送到區(qū)塊鏈上,隨后廣播至全網(wǎng),全網(wǎng)所有節(jié)點通過共識過程驗證后存入最新的數(shù)據(jù)區(qū)塊,由此產(chǎn)生糧油食品全供應(yīng)鏈可信追溯區(qū)塊鏈。終端消費者或者監(jiān)管機構(gòu)通過客戶端掃描商品二維碼或在追溯系統(tǒng)輸入待查詢批次的產(chǎn)品代碼進行糧油食品全供應(yīng)鏈信息的追溯,產(chǎn)品代碼直接定位到包含本產(chǎn)品信息的特定區(qū)塊頭,調(diào)出本產(chǎn)品所有流通環(huán)節(jié)數(shù)據(jù)進行產(chǎn)品追溯。通過對二維碼設(shè)置不同權(quán)限,可實現(xiàn)消費者、監(jiān)管者等不同追溯場景的應(yīng)用,監(jiān)管者通過客戶端掃描商品二維碼可實現(xiàn)對商品全供應(yīng)鏈各環(huán)節(jié)所有信息的追溯,極大提升了對糧油食品監(jiān)管的有效性,同時在發(fā)生糧油食品安全事故時也能高效追蹤,準確定位問題環(huán)節(jié)。消費者的權(quán)限則僅限于一般商品信息及流轉(zhuǎn)信息,對于生產(chǎn)加工過程中的企業(yè)敏感信息則不會展示給普通消費者,從而在一定程度上實現(xiàn)對環(huán)節(jié)參與者的保護。
與此同時,本機制設(shè)計了標識解析智能合約LRSC(Logo resolution smart contract)來實現(xiàn)可信追溯機制的邏輯封裝,如算法3 所示,其中code 為標識碼,Dc為標識碼中信息,Dd為本環(huán)節(jié)數(shù)據(jù)。標識增添信息如公式3 所示,其中,Ds為數(shù)據(jù)摘要。標識信息增添完成后,合約將現(xiàn)在的Ds作為新的數(shù)據(jù)摘要,進而生成新的標識隨商品流轉(zhuǎn)至下一環(huán)節(jié)。
本節(jié)設(shè)計的上述糧油食品全供應(yīng)鏈信息追溯機制,通過運用可信區(qū)塊鏈和可信標識實現(xiàn)了糧油食品全供應(yīng)鏈信息的可信追溯,同時,區(qū)塊鏈與云數(shù)據(jù)庫相結(jié)合的存儲模式改善了追溯過程的效率和成本,二維碼標識不同權(quán)限的設(shè)計保護了糧油食品全供應(yīng)各環(huán)節(jié)的參與者,提高了追溯系統(tǒng)可接受程度的同時也有效保證了糧油食品全供應(yīng)鏈信息追溯的透明度、可信度以及監(jiān)管的高效性。
在糧油食品全供應(yīng)鏈可信追溯模型和3 種機制基礎(chǔ)上,本節(jié)對糧油食品全供應(yīng)鏈信息追溯模型進行了運行流程分析,并基于Hyperledger Fabric 建立了糧油食品可信追溯系統(tǒng),通過實例對系統(tǒng)運行進行了實用性驗證。
基于糧油食品全供應(yīng)鏈環(huán)節(jié)可信追溯模型,當用戶或監(jiān)管部門通過溯源系統(tǒng)發(fā)起溯源請求時,貫穿于追溯系統(tǒng)中的數(shù)據(jù)流可分為數(shù)據(jù)上傳與信息追溯兩個過程。數(shù)據(jù)上傳過程主要包含糧油食品全供應(yīng)鏈環(huán)節(jié)的數(shù)據(jù)上傳過程及區(qū)塊鏈系統(tǒng)中數(shù)據(jù)的運行流程溯源,信息追溯過程主要為用戶通過終端掃描溯源標識碼發(fā)起溯源請求。系統(tǒng)模型運行流程示意圖如圖7所示。
圖7 系統(tǒng)模型運行流程示意圖Fig.7 Schematic diagram of the operation process of the system model
系統(tǒng)中數(shù)據(jù)具體流程描述如下:
(1)在糧油食品的生產(chǎn)環(huán)節(jié),生產(chǎn)者通過客戶端將糧食谷物等的種植、收獲及批次等相關(guān)數(shù)據(jù)信息經(jīng)過哈希運算以及加密后上傳至可信區(qū)塊鏈系統(tǒng),產(chǎn)品收獲后,可信區(qū)塊鏈系統(tǒng)根據(jù)產(chǎn)品批次信息生成溯源標識碼;
(2)在糧油食品的加工環(huán)節(jié),加工企業(yè)首先通過掃描來自生產(chǎn)環(huán)節(jié)基礎(chǔ)產(chǎn)品的標識碼獲取產(chǎn)品批次信息,并通過可信區(qū)塊鏈系統(tǒng)進行驗證,驗證通過后加工企業(yè)將產(chǎn)品的干燥、去殼等處理以及相應(yīng)的加工處理環(huán)節(jié)的信息經(jīng)過哈希運算加密后上傳至可信區(qū)塊鏈系統(tǒng);
(3)在糧油食品的倉儲環(huán)節(jié),倉儲企業(yè)首先通過掃描上游加工產(chǎn)品的溯源標識碼獲取產(chǎn)品的批次、加工環(huán)節(jié)等信息,并通過溯源可信區(qū)塊鏈系統(tǒng)進行驗證,驗證通過后倉儲企業(yè)將產(chǎn)品相應(yīng)的倉儲信息,如倉庫、出入庫時間等經(jīng)過哈希運算并加密后上傳至可信區(qū)塊鏈系統(tǒng);
(4)在糧油食品的運輸環(huán)節(jié),運輸企業(yè)通過掃描產(chǎn)品的溯源標識碼獲取產(chǎn)品批次、倉儲等信息并通過可信區(qū)塊鏈系統(tǒng)進行驗證,通過驗證后將產(chǎn)品的運輸車輛、人員、路線等運輸信息經(jīng)哈希運算并加密后上傳至可信區(qū)塊鏈系統(tǒng);
(5)在糧油食品的銷售環(huán)節(jié),銷售企業(yè)通過掃描產(chǎn)品的溯源標識碼獲取產(chǎn)品批次及運輸信息并與可信區(qū)塊鏈系統(tǒng)進行驗證,通過驗證后將產(chǎn)品的相應(yīng)銷售信息,如銷售時間、地點、人員等經(jīng)哈希運算加密后上傳至可信區(qū)塊鏈系統(tǒng);
(6)最終消費者或監(jiān)管部門等用戶通過追溯系統(tǒng)客戶端掃描產(chǎn)品的溯源標識碼,追溯系統(tǒng)通過識別溯源標識碼中的產(chǎn)品批次信息,定位到溯源系統(tǒng)中相應(yīng)批次的產(chǎn)品,從而發(fā)起溯源請求,可信區(qū)塊鏈溯源系統(tǒng)可將糧油食品的全供應(yīng)鏈環(huán)節(jié)的信息反饋給消費者或監(jiān)管部門。
本文基于糧油食品供應(yīng)鏈信息追溯模型建立了糧油食品可信追溯系統(tǒng)原型系統(tǒng)。該原型系統(tǒng)使用的Linux 版本為16.0.0,Ubuntu 版本為20.04.1。在此基礎(chǔ)上,使用Hyperledger Fabric 2.1 開源框架進行搭建,其中docker版本為20.10.7,Go語言版本為1.17.2。系統(tǒng)采用Kafka共識機制,對于5大經(jīng)典環(huán)節(jié)以及監(jiān)管機構(gòu)本文設(shè)置了5 個組織、10 個節(jié)點以及3個排序節(jié)點進行原型系統(tǒng)搭建,系統(tǒng)界面圖如圖8所示。
圖8(a)展示的為系統(tǒng)的登錄界面,用戶選擇相應(yīng)的類別登錄系統(tǒng)從而獲取權(quán)限;圖8(b)展示的為系統(tǒng)的主界面,主界面由兩部門組成,上方為商家廣告輪播圖,下方為近期系統(tǒng)的登錄次數(shù)展示以及近期受到攻擊的稻米批次數(shù)量;圖8(c)展示的為企業(yè)上傳相關(guān)數(shù)據(jù)界面,其中包含糧油種類、批次、環(huán)節(jié)、企業(yè)名稱、時間、數(shù)據(jù)摘要等信息;當掃描某個環(huán)節(jié)的二維碼時,顯示產(chǎn)品對應(yīng)供應(yīng)鏈環(huán)節(jié)的可追溯性信息(圖8(d))。可靠的可追溯性系統(tǒng)根據(jù)二維碼的產(chǎn)品編號定位有關(guān)產(chǎn)品批次、時間和其他供應(yīng)鏈環(huán)節(jié)的特定信息。監(jiān)管機構(gòu)和管理員等高級人員可以通過產(chǎn)品二維碼追蹤產(chǎn)品在整個供應(yīng)鏈中的流通情況。普通用戶(如消費者)只能查詢產(chǎn)品的基本非敏感信息。
圖8 原型系統(tǒng)界面示意圖Fig.8 Schematic diagram of the prototype system interface
為了實現(xiàn)對糧油食品全供應(yīng)鏈的信息溯源,保證供應(yīng)鏈全流程信息的透明,需要對糧油食品全供應(yīng)鏈各個環(huán)節(jié)信息的采集、傳輸以及存儲可能面臨的安全因素進行分析。
采集安全方面,由于糧油食品全供應(yīng)鏈環(huán)節(jié)較多,各環(huán)節(jié)數(shù)據(jù)較多且復雜,此外各環(huán)節(jié)參與人員素質(zhì)參差不齊,因此糧油食品全供應(yīng)鏈信息追溯模型中的信息采集不可避免的面臨較大的安全風險。如在生產(chǎn)環(huán)節(jié),農(nóng)戶或生產(chǎn)企業(yè)可能由于信息化水平較低,對糧油作物等的信息采集不夠及時準確;加工環(huán)節(jié)中加工企業(yè)的實際加工工序、添加劑等信息也無法保證其真實性;糧油食品全供應(yīng)鏈環(huán)節(jié)中信息采集過程的復雜性決定了任何溯源模型均無法保證采集數(shù)據(jù)的絕對安全。
傳輸安全方面,糧油食品全供應(yīng)鏈中各環(huán)節(jié)的數(shù)據(jù)傳輸時通過智能合約判斷數(shù)據(jù)是否符合要求,只有在當前企業(yè)或農(nóng)戶等參與者采集上傳的數(shù)據(jù)符合區(qū)塊鏈系統(tǒng)中智能合約的預(yù)置條件時數(shù)據(jù)才能上傳并繼續(xù)進行驗證。不符合區(qū)塊鏈系統(tǒng)中智能合約預(yù)置條件的數(shù)據(jù)則通過重新處理并上傳驗證。因此,對于糧油食品全供應(yīng)鏈中各環(huán)節(jié)的信息傳輸,智能合約的應(yīng)用能夠有效保證數(shù)據(jù)傳輸?shù)陌踩浴?/p>
存儲安全方面,由于糧油食品全供應(yīng)鏈可信追溯模型基于區(qū)塊鏈架構(gòu)進行設(shè)計,供應(yīng)鏈各環(huán)節(jié)中的存儲節(jié)點屬于相關(guān)企業(yè)或個人掌握,因此各節(jié)點數(shù)據(jù)的存儲具有一定安全性風險。但任一環(huán)節(jié)中存儲數(shù)據(jù)的人為修改均無法通過可信區(qū)塊鏈系統(tǒng)的共識驗證,供應(yīng)鏈各環(huán)節(jié)中任何數(shù)據(jù)篡改行為都會被檢測到,因此其分布式存儲架構(gòu)保證了糧油食品全供應(yīng)鏈各個環(huán)節(jié)的數(shù)據(jù)具有較高的存儲安全性。
為進一步確保本研究的安全性能,本研究針對設(shè)計的糧油食品供應(yīng)鏈可信追溯系統(tǒng)進行了安全性測試,本文以稻米為測試對象,針對東北地區(qū)某時間段的稻米進行溯源查詢,當掃描某個環(huán)節(jié)的QR 碼時(圖9(a)),顯示產(chǎn)品對應(yīng)供應(yīng)鏈環(huán)節(jié)的可追溯性信息(圖9(b))。
圖9 溯源信息查詢圖Fig.9 Traceability information query diagram
該時間段內(nèi)涉及稻米批次共1568 次,溯源信息準確率為100%,該結(jié)果表明本系統(tǒng)能有效做到可信溯源。除此之外,本研究對某稻米加工企業(yè)進行標識碼信息驗證統(tǒng)計,統(tǒng)計圖如圖10 所示。選取測試時間為2021 年第一季度,受全球新冠影響,該加工企業(yè)的產(chǎn)量逐漸恢復。從圖中可以看出,在第一個月測試數(shù)量為45,000 批左右,第2 個月46,200 批左右,第三個月47,500 批左右,其篡改數(shù)量近乎為0,結(jié)果表明,該系統(tǒng)能夠依據(jù)環(huán)節(jié)的遞進對標識碼進行實時驗證,實現(xiàn)標識碼的安全傳遞,從而保證糧油食品的可信溯源。
圖10 標識碼驗證統(tǒng)計圖Fig.10 Identification code verification statistics
本文基于可信區(qū)塊鏈和可信標識設(shè)計了糧油食品全供應(yīng)鏈可信溯源模型,實現(xiàn)了對糧油食品生產(chǎn)、加工、倉儲、運輸及銷售等全供應(yīng)鏈環(huán)節(jié)信息進行追溯,能夠為消費者或監(jiān)管部門便捷的提供產(chǎn)品全供應(yīng)鏈各環(huán)節(jié)的具體信息,并通過區(qū)塊鏈、智能合約的應(yīng)用,在一定程度上保證溯源信息的安全可靠。溯源模型能夠規(guī)范糧油食品相應(yīng)企業(yè)生產(chǎn)過程及保證產(chǎn)品質(zhì)量,對解決糧油食品安全問題具有重要意義。
但是,本文所提出的溯源模型并不等于防偽,由于糧油食品供應(yīng)鏈各環(huán)節(jié)進入?yún)^(qū)塊鏈系統(tǒng)前數(shù)據(jù)采集的真實性無法保證,此外溯源追蹤的本質(zhì)并非商品,僅為作為商品標識的二維碼,雖然二維碼中包含了產(chǎn)品的唯一標識碼,但仍無法保證流轉(zhuǎn)過程中的商品品質(zhì)真實性問題,因此這也成為制約區(qū)塊鏈溯源體系落地的一大痛點,源頭上通過權(quán)威的中心化機構(gòu)認證可減小虛假信息被認證并上鏈流轉(zhuǎn)的危害。
后續(xù)的研究將重點圍繞上鏈前源頭數(shù)據(jù)采集真實性保障方面,結(jié)合物聯(lián)網(wǎng)節(jié)點設(shè)備進行數(shù)據(jù)自動采集,減少或避免人為的干預(yù),同時,配合監(jiān)督與懲罰機制,以提升數(shù)據(jù)采集的真實性與安全性。此外,嘗試建立可兼容不同企業(yè)追溯子系統(tǒng)的溯源模型,同時提高供應(yīng)鏈各環(huán)節(jié)溯源的模塊化水平,以提升糧油食品全供應(yīng)鏈信息追溯模型的開放性與靈活性。
農(nóng)業(yè)大數(shù)據(jù)學報2022年1期