李夢琪,楊信廷,徐大明,于華竟,孫傳恒
(1 上海海洋大學信息學院,上海 201306; 2 國家農(nóng)業(yè)信息化工程技術(shù)研究中心,北京 100097; 3 農(nóng)產(chǎn)品質(zhì)量安全追溯技術(shù)及應用國家工程實驗室,北京 100097)
隨著國家經(jīng)濟快速發(fā)展,國民生活水平逐步提升,飲食文化日益多樣化,食品安全事件因此也受到公眾的高度關(guān)注。中國是水產(chǎn)品生產(chǎn)和消費大國,2020年中國水產(chǎn)品總量已達6 545萬t,占全球水產(chǎn)品總量的1/3以上[1-2]。水產(chǎn)品具有營養(yǎng)豐富,脂肪含量低,味道鮮美等特點,深受人們喜愛。然而,水產(chǎn)品在儲運、加工期間易氧化腐蝕,極易發(fā)生食品安全事故,極大地危害到了廣大人民的健康[3-4]。追溯系統(tǒng)作為國際公認的質(zhì)量管理手段,成為國內(nèi)外研究熱點[5-6]。傳統(tǒng)的水產(chǎn)品供應鏈溯源系統(tǒng)大多采用條形碼技術(shù)、無線射頻識別(Radio Frequency Identification,RFID)等標識技術(shù)與物聯(lián)網(wǎng)技術(shù)相結(jié)合對溯源信息進行追蹤,并采用中心化數(shù)據(jù)庫存儲溯源信息[7-8]。由于傳統(tǒng)溯源系統(tǒng)采用中心化管理,水產(chǎn)品的養(yǎng)殖廠家、加工廠家、物流方、銷售公司、政府監(jiān)管部門等終端用戶之間都是彼此隔離的,導致溯源信息透明度低、政府監(jiān)管力度低、數(shù)據(jù)易篡改,因此數(shù)據(jù)的真實可靠性低,在食品安全事故發(fā)生時難以第一時間定位到問題環(huán)節(jié)[9-10]。
區(qū)塊鏈是一種分布式賬本技術(shù)[11],具有去中心化、不可篡改、時序數(shù)據(jù)、可編程和安全可信等特點[12-14]。針對傳統(tǒng)追溯系統(tǒng)存在數(shù)據(jù)易篡改、環(huán)節(jié)不透明、中心化管理等問題,國內(nèi)外大量研究者對區(qū)塊鏈技術(shù)在追溯方面的應用進行了探索研究。Salah等[15]提出了一種利用以太坊區(qū)塊鏈和智能合約執(zhí)行業(yè)務交易的方法用于大豆追溯,并將區(qū)塊鏈技術(shù)與星際文件系統(tǒng)(InterPlanetary File System,IPFS)結(jié)合。董云峰等[16]基于區(qū)塊鏈技術(shù)設計了“鏈上+云數(shù)據(jù)庫”的糧食食品全供應鏈可信追溯原型系統(tǒng),劉家稷等[17]設計了使用雙區(qū)塊鏈與IPFS的防偽溯源系統(tǒng)。目前已有大量學者結(jié)合實際應用構(gòu)建了基于區(qū)塊鏈的追溯系統(tǒng),但大部分文章僅解決了區(qū)塊鏈存儲負載問題,并未解決供應鏈過程中隱私數(shù)據(jù)安全性問題,農(nóng)業(yè)與區(qū)塊鏈技術(shù)整合的研究仍處于起步階段,區(qū)塊鏈技術(shù)更廣泛的應用面臨各種障礙和挑戰(zhàn)。
本研究首先對水產(chǎn)品供應鏈環(huán)節(jié)及關(guān)鍵信息進行了分析,根據(jù)水產(chǎn)品實際應用情況設計了主從多鏈存儲模型,并結(jié)合區(qū)塊鏈技術(shù)構(gòu)建了基于區(qū)塊鏈接的水產(chǎn)品溯源信息管理模型。然后對系統(tǒng)進行了總體架構(gòu)設計與實現(xiàn),并將多鏈架構(gòu)與單鏈架構(gòu)進行了對比測試。
水產(chǎn)品供應鏈過程中涉及參與主體眾多,按業(yè)務關(guān)系可劃分為供應鏈內(nèi)部主體和外部主體,內(nèi)部主體包括水產(chǎn)養(yǎng)殖戶、加工企業(yè)、冷鏈物流企業(yè)、銷售企業(yè)等,外部主體包括消費者、監(jiān)管機構(gòu)、衛(wèi)生檢疫機構(gòu)等[18-19]。同時供應鏈環(huán)節(jié)中涉及的數(shù)據(jù)類型多樣化,包含公開信息和隱私信息[20]。公開信息為展示給消費者看的信息,包含產(chǎn)品的基本信息、各環(huán)節(jié)具體過程信息、環(huán)境信息、工人信息、質(zhì)檢結(jié)果等數(shù)據(jù)。隱私信息為企業(yè)內(nèi)部共享的隱私數(shù)據(jù),包括產(chǎn)品具體數(shù)量、成本售價、倉儲數(shù)量以及產(chǎn)品具體生產(chǎn)銷售的交易信息等。為保證交易信息的隱私安全性且解決追溯信息量大等問題,本研究采用主從多鏈存儲架構(gòu)存儲數(shù)據(jù),分別為供應鏈環(huán)節(jié)中的每個企業(yè)構(gòu)建一條從鏈存放本企業(yè)溯源數(shù)據(jù),主鏈存放從鏈索引信息以及區(qū)塊哈希值等數(shù)據(jù)。本研究將水產(chǎn)品供應鏈分為養(yǎng)殖、加工、儲運、銷售等環(huán)節(jié)。養(yǎng)殖環(huán)節(jié)指對水產(chǎn)品進行育苗、放養(yǎng)、投喂、捕撈和收獲等操作,記錄魚苗信息、養(yǎng)殖過程信息、環(huán)境信息、交易信息等關(guān)鍵信息。加工環(huán)節(jié)包括對收獲的水產(chǎn)品進行充氣、裝袋或加工成熟食等操作并記錄產(chǎn)品信息、加工過程、加工環(huán)境、交易信息等關(guān)鍵信息。儲運環(huán)節(jié)將收獲后的產(chǎn)品及加工后的成品從出發(fā)地運輸?shù)侥康牡兀涗浧渚唧w倉儲信息及物流信息等。銷售環(huán)節(jié)指對產(chǎn)品進行售賣,記錄相關(guān)銷售信息與交易信息等關(guān)鍵信息,如表1所示。

表1 水產(chǎn)品供應鏈環(huán)節(jié)關(guān)鍵信息
現(xiàn)有區(qū)塊鏈技術(shù)在單鏈架構(gòu)下每個節(jié)點都需要存儲全網(wǎng)所有信息,存在容量、隱私和隔離性上的瓶頸,同時受限于網(wǎng)絡中單節(jié)點的性能極限,因此單鏈架構(gòu)無法滿足聯(lián)盟鏈環(huán)境對性能、容量等需求[21-22]。以太坊2.0的分片方案和Hyperledger Fabric 1.0的多通道方案使得全網(wǎng)由原來的單鏈架構(gòu)擴展到了多鏈架構(gòu),在多鏈上可并發(fā)進行交易處理,并且單個節(jié)點只存儲本通道的交易記錄,有效減輕了節(jié)點的存儲壓力[23]。為實現(xiàn)各企業(yè)隱私信息的保護功能,解決單鏈架構(gòu)的負載問題,本研究基于Hyperledger Fabric提出了一種主從多鏈式的存儲模型管理水產(chǎn)品供應鏈過程中的數(shù)據(jù)。構(gòu)建一條主鏈與多條從鏈架構(gòu),主鏈與從鏈之間的區(qū)塊相互錨定,從鏈中的區(qū)塊用于存放節(jié)點上傳的產(chǎn)品詳細溯源信息,不同企業(yè)的溯源信息與交易信息存儲在不同的從鏈中,將區(qū)塊鏈應用功能與企業(yè)隱私信息隔離,解決隱私數(shù)據(jù)安全問題。同時主鏈與從鏈之間通過基于哈希值的方式互相錨定鏈接,增強了區(qū)塊鏈數(shù)據(jù)的隱私性、不可篡改性以及可監(jiān)管性,減少了節(jié)點的數(shù)據(jù)冗余量,進一步提高了系統(tǒng)的共識速度。
本設計的主從多鏈存儲模型如圖1所示,各企業(yè)節(jié)點通過CA(Certificate Authority)認證后加入?yún)^(qū)塊鏈網(wǎng)絡中,每一條鏈均是有區(qū)塊鏈網(wǎng)絡中部分節(jié)點擁有的獨立的通信通道,也稱作多通道存儲模型[24]。在通道中發(fā)送的交易信息只有該通道的成員節(jié)點可見,而通道外的組織成員無法訪問鏈內(nèi)的賬本數(shù)據(jù),實現(xiàn)節(jié)點賬本數(shù)據(jù)隔離的需求。一個通道內(nèi)包含多個區(qū)塊鏈節(jié)點,這些節(jié)點在區(qū)塊鏈網(wǎng)絡中發(fā)起交易時,由同一個通道內(nèi)的節(jié)點進行背書驗證和記賬,共同負責維護和更新通道內(nèi)的賬本數(shù)據(jù)。聯(lián)盟鏈網(wǎng)絡內(nèi)的節(jié)點可以動態(tài)申請加入某一個通道內(nèi),一個節(jié)點可以加入多個通道,加入通道的申請由系統(tǒng)鏈碼處理,在身份認證和權(quán)限檢查通過后,完成初始化工作即可與通道內(nèi)的節(jié)點進行通信。當節(jié)點上傳數(shù)據(jù)到從鏈時,每個數(shù)據(jù)按照Merkle樹結(jié)構(gòu)存儲在從鏈區(qū)塊體中,將最后的根哈希值存入到從鏈區(qū)塊頭,從鏈采用實用拜占庭容錯PBFT共識算法對區(qū)塊數(shù)據(jù)進行共識。同時,智能合約將每條數(shù)據(jù)的從鏈ID、從鏈中數(shù)據(jù)的Key值、區(qū)塊哈希值以及產(chǎn)品批次號傳入到主鏈上,主鏈節(jié)點采用實用拜占庭容錯PBFT共識算法對區(qū)塊進行共識后將區(qū)塊加入到鏈中。用戶查詢溯源信息時,系統(tǒng)首先調(diào)用智能合約利用批次號從主鏈上查找到相關(guān)從鏈信息,再使用智能合約讀取從鏈中詳細溯源信息,為提高查詢速率,主鏈和從鏈中均使用CouchDB數(shù)據(jù)庫索引查詢方式進行查詢。

圖1 主從多鏈存儲模型
利用區(qū)塊鏈技術(shù)去中心化、不可篡改和可編程性的特點,結(jié)合水產(chǎn)品養(yǎng)殖、加工、儲運、銷售、監(jiān)管等業(yè)務,建立供應鏈環(huán)節(jié)對應的區(qū)塊鏈節(jié)點,采用主從多鏈式的存儲模型管理溯源數(shù)據(jù),構(gòu)建水產(chǎn)品溯源信息管理模型,實現(xiàn)對水產(chǎn)品在供應鏈中的全程監(jiān)控。圖2展示了基于區(qū)塊鏈的水產(chǎn)品溯源信息管理模型,該模型由四個部分組成:數(shù)據(jù)采集、追溯系統(tǒng)、區(qū)塊鏈網(wǎng)絡和數(shù)據(jù)查詢。數(shù)據(jù)采集是在供應鏈環(huán)節(jié)部署各種物聯(lián)網(wǎng)設備(溫濕度傳感器、水位傳感器、氨傳感器、距離傳感器等)用于實時監(jiān)測環(huán)境變化以及位置信息。為控制上鏈數(shù)據(jù)量和保證環(huán)境數(shù)據(jù)的有效性,追溯系統(tǒng)對物聯(lián)網(wǎng)設備收集到的數(shù)據(jù)進行處理后分類為隱私信息和公開信息后進行上傳,并通過相應的智能合約上傳到從鏈中。上傳的數(shù)據(jù)在從鏈網(wǎng)絡中進行廣播,鏈上共識節(jié)點將數(shù)據(jù)打包成區(qū)塊發(fā)送給各節(jié)點,各節(jié)點通過驗證后將數(shù)據(jù)存入到賬本中。同時共識節(jié)點通過智能合約將此從鏈ID、從鏈中數(shù)據(jù)的Key值、區(qū)塊哈希值以及產(chǎn)品批次號傳入到主鏈上,使用哈希錨定的方式將主鏈與從鏈相連接。供應鏈中所有企業(yè)共同維護主鏈,各企業(yè)的所有部門以及相關(guān)監(jiān)管機構(gòu)等共同維護從鏈,主鏈提供溯源信息查詢功能,從鏈存儲產(chǎn)品的原始溯源信息。消費者通過手持設備掃描產(chǎn)品二維碼能查詢到產(chǎn)品的溯源公開信息,隱私數(shù)據(jù)僅從鏈中節(jié)點能查看。

圖2 基于區(qū)塊鏈的水產(chǎn)品溯源信息管理模型
水產(chǎn)品供應鏈全環(huán)節(jié)涉及主體眾多,增加了水產(chǎn)品信息追溯的難度。區(qū)塊鏈技術(shù)的優(yōu)勢在于為溯源系統(tǒng)提供良好的數(shù)據(jù)追溯方案,并不具備從源頭上防止虛假信息寫入?yún)^(qū)塊鏈的功能,故引入物聯(lián)網(wǎng)設備動態(tài)跟蹤水產(chǎn)品狀態(tài),為水產(chǎn)品信息的客觀性、真實性創(chuàng)造條件[25]。以區(qū)塊鏈技術(shù)層次結(jié)構(gòu)為基礎(chǔ),結(jié)合水產(chǎn)品供應鏈過程設計系統(tǒng)的總體框架,如圖3所示。根據(jù)功能不同劃分為數(shù)據(jù)采集層、存儲層、網(wǎng)絡層、合約層、應用層。

圖3 系統(tǒng)總體架構(gòu)圖
數(shù)據(jù)采集層是在供應鏈各環(huán)節(jié)部署傳感器、物聯(lián)網(wǎng)自動控制終端設備、攝像頭等多種傳感設備并結(jié)合人工記錄的方式采集水產(chǎn)品在養(yǎng)殖、加工、物流、銷售環(huán)節(jié)的產(chǎn)品數(shù)據(jù)和環(huán)境數(shù)據(jù)。存儲層是將供應鏈產(chǎn)生的數(shù)據(jù)生成數(shù)據(jù)區(qū)塊,建立分布式賬本,通過非對稱加密與時間戳的方式將數(shù)據(jù)進行加密,通過區(qū)塊的哈希值串聯(lián)成鏈式結(jié)構(gòu),保證數(shù)據(jù)的不可篡改。網(wǎng)絡層用于實現(xiàn)區(qū)塊信息在主鏈和從鏈中通過P2P網(wǎng)絡傳播、共識和驗證。合約層主要負責部署智能合約與追溯信息調(diào)用,通過可編程的智能合約對數(shù)據(jù)進行判斷和操作。應用層通過可視化頁面向平臺用戶提供信息交互服務,是企業(yè)用戶、監(jiān)管機構(gòu)和消費者的前端入口。向企業(yè)用戶提供模塊管理和賬本維護服務,為監(jiān)管部門提供數(shù)據(jù)實時監(jiān)控服務,同時為消費者提供溯源信息查詢服務。
智能合約(Smart Contracts)是由計算機科學家Nick Szabo提出并定義為“一套以數(shù)字形式定義的承諾,包括合約參與方可以在上面執(zhí)行這些承諾的協(xié)議”[26]。狹義上的智能合約可看作是運行在分布式賬本上預置規(guī)則,一段由事件驅(qū)動的、具有狀態(tài)的、條件響應的完成信息交換、價值轉(zhuǎn)移的計算機程序,具有去中心化、可編程、自動執(zhí)行等特點[27-28]。廣義的智能合約則是無需中介、自我驗證、自動執(zhí)行合約條款的計算機交易協(xié)議[29]。水產(chǎn)品供應鏈環(huán)節(jié)眾多,出現(xiàn)質(zhì)量安全事故時,很難從找到具體原因,因此可以通過智能合約實現(xiàn)對供應鏈各個環(huán)節(jié)進行智能監(jiān)控,做好源頭防范,避免質(zhì)量安全事故的發(fā)生。如圖4所示,以黃山泉水魚為例,本設計在智能合約上根據(jù)國家環(huán)境保護總局發(fā)布的GB 11607—1989《漁業(yè)水質(zhì)標準》設定了相關(guān)算法對上傳的數(shù)據(jù)進行判定[30],若上傳的數(shù)據(jù)不符合規(guī)定,則會及時通知企業(yè)對環(huán)境進行及時整改。若上傳的數(shù)據(jù)符合規(guī)定,則將數(shù)據(jù)上傳到從鏈中。

圖4 智能合約流程圖
2.3.1 開發(fā)環(huán)境
為了解決區(qū)塊鏈參與節(jié)點的權(quán)限等問題,結(jié)合溯源過程涉及多環(huán)節(jié)、多參與者的特點,采用聯(lián)盟鏈形式的區(qū)塊鏈進行架構(gòu)。溯源信息管理系統(tǒng)包括兩個部分,以Hyperledger Fabric為底層架構(gòu)的區(qū)塊鏈網(wǎng)絡以及使用C#語言開發(fā)的追溯系統(tǒng)。區(qū)塊鏈網(wǎng)絡部署在Ubuntu Linux 16.04操作系統(tǒng)上,基于多個Docker容器搭建運行環(huán)境,由于CouchDB支持賬本數(shù)據(jù)富查詢,因此選擇CouchDB作為區(qū)塊鏈底層數(shù)據(jù)庫。本研究使用Go語言編寫智能合約,通過Docker容器部署到Fabric網(wǎng)絡通道中所有的對等節(jié)點。該區(qū)塊鏈網(wǎng)絡使用了 Fabric-node-sdk 模塊給開發(fā)者提供了可插拔 API、用戶客戶端以及 Fabric區(qū)塊鏈網(wǎng)絡組件。
本系統(tǒng)將養(yǎng)殖、加工、儲運、銷售環(huán)節(jié)涉及的企業(yè)以及監(jiān)管部門作為節(jié)點加入到主鏈,每個企業(yè)內(nèi)部相關(guān)部門以及相關(guān)監(jiān)管部門根據(jù)需求構(gòu)建從鏈,每條從鏈由企業(yè)內(nèi)部的2個部門以及1個監(jiān)管部門組成,設計了4條從鏈。如圖5所示,區(qū)塊鏈平臺在Vmware虛擬機下采用多機多節(jié)點的部署方式,將水產(chǎn)品供應鏈上的養(yǎng)殖企業(yè)、加工企業(yè)、儲運企業(yè)、銷售企業(yè)以及監(jiān)管部門作為5個組織加入到區(qū)塊鏈中,每個組織含有2個節(jié)點。節(jié)點通過通道連接到區(qū)塊鏈網(wǎng)絡中時,通道根據(jù)配置的策略決定節(jié)點的權(quán)限。

圖5 區(qū)塊鏈網(wǎng)絡環(huán)境部署圖
2.3.2 案例分析
本系統(tǒng)目前應用于黃山休寧縣泉水魚追溯,黃山泉水魚是生活在安徽省黃山市新安江源頭山澗泉水之中的名貴淡水魚,是中國重要農(nóng)業(yè)文化遺產(chǎn)。在實際應用中,系統(tǒng)根據(jù)魚的種類、養(yǎng)殖地點等信息產(chǎn)生相應的生產(chǎn)批次號,當魚苗達到出售標準,便打撈起來裝入包裝袋,并在包裝袋中裝入適量的泉水以及充入適量氧氣進行密封存儲。魚的加工信息以及生產(chǎn)批次號通過追溯系統(tǒng)為每一條魚生成唯一的二維碼,將二維碼制作成標簽粘貼在包裝袋上。倉儲、物流人員可以通過手持設備掃描追溯碼將相關(guān)數(shù)據(jù)輸入到系統(tǒng)中。消費者通過智能終端設備掃描只能查看產(chǎn)品的溯源信息,無法看到產(chǎn)品的隱私數(shù)據(jù)信息。圖6a為黃山魚標簽,消費者可使用手持設備微信掃一掃功能即可查看產(chǎn)品的溯源信息。圖6b為黃山魚包裝完成并貼上二維碼出售時的成品展示。圖6c為消費者掃描二維碼后展示的產(chǎn)品溯源信息,消費者可以了解所購買產(chǎn)品的養(yǎng)殖、加工及質(zhì)檢信息等。圖6d為當前產(chǎn)品加工信息在區(qū)塊鏈主鏈網(wǎng)絡中的存儲狀態(tài)。

圖6 溯源信息管理系統(tǒng)頁面
2.3.3 系統(tǒng)測試
在系統(tǒng)性能方面,本研究提出的溯源信息管理系統(tǒng)保護了企業(yè)的隱私數(shù)據(jù)安全,并減輕了區(qū)塊鏈單鏈架構(gòu)的存儲負載壓力。本研究中同一個通道的節(jié)點可以通過智能合約查看此通道中的所有信息包括追溯信息和隱私信息,而其他通道中的節(jié)點無法直接訪問,需授予權(quán)限后通過調(diào)用相關(guān)接口查看信息,僅能查看到追溯數(shù)據(jù),無法查看到隱私信息。同時本研究對在相同運行環(huán)境下的單鏈架構(gòu)和主從多鏈架構(gòu)的溯源數(shù)據(jù)查詢時間進行了測試對比,通過部署一條含有5節(jié)點的單鏈結(jié)構(gòu)的區(qū)塊鏈網(wǎng)絡和一條包含5個節(jié)點的主鏈以及4條各包含3個節(jié)點的從鏈組成多鏈結(jié)構(gòu)的區(qū)塊鏈網(wǎng)絡,統(tǒng)計在數(shù)據(jù)總量為200、400、600、800、1 000、1 200、1 400條的情況下的同時查詢100條數(shù)據(jù)的時間。由于多鏈架構(gòu)下查詢數(shù)據(jù)時需要先從主鏈上查找到從鏈信息,再在從鏈中找到具體追溯信息,故在總量相同時多鏈架構(gòu)的查詢相同數(shù)據(jù)的時間比單鏈架構(gòu)的查詢時間長,測試結(jié)果如圖7所示。

圖7 單鏈架構(gòu)與多鏈架構(gòu)查詢對比圖
在架構(gòu)方面,本研究提出了主從多鏈存儲架構(gòu),采用一條主鏈與多條從鏈的分層架構(gòu)進行溯源數(shù)據(jù)的存儲與查詢。主鏈由供應鏈環(huán)節(jié)中的養(yǎng)殖、加工、儲運、銷售環(huán)節(jié)以及監(jiān)管機構(gòu)組成,每條從鏈分別由供應鏈環(huán)節(jié)的每個企業(yè)內(nèi)部部門以及相關(guān)監(jiān)管機構(gòu)組成。并基于Hyperledger Fabric支持的多通道實現(xiàn)了基于主從多鏈的水產(chǎn)品區(qū)塊鏈溯源信息管理系統(tǒng),每個企業(yè)僅能查看到本企業(yè)的交易數(shù)據(jù)等隱私信息,實現(xiàn)了水產(chǎn)品供應鏈環(huán)節(jié)的養(yǎng)殖、加工、儲運、銷售企業(yè)的交易數(shù)據(jù)隱私安全保護。本研究使用多鏈架構(gòu)提高了溯源數(shù)據(jù)的隱私保護性,并使用分層架構(gòu)減輕了單鏈架構(gòu)的負載壓力,解決了現(xiàn)有區(qū)塊鏈溯源系統(tǒng)負載壓力大、數(shù)據(jù)全部共享問題。
在智能合約方面,本研究通過設計鏈上管控智能合約實現(xiàn)對供應鏈環(huán)節(jié)進行實時監(jiān)控。在養(yǎng)殖環(huán)節(jié),當水質(zhì)條件滿足漁業(yè)水質(zhì)標準設定的0 ℃≤水溫≤20 ℃、6.5≤pH≤8.5以及硫化物≤0.2 mg/L等條件時,溯源數(shù)據(jù)才被允許上傳,否則將通知相關(guān)企業(yè)進行水質(zhì)改善。由于水產(chǎn)品受環(huán)境溫度影響較大,通過在加工、儲運、銷售環(huán)節(jié)部署智能合約對企業(yè)環(huán)境進行智能監(jiān)控,當環(huán)境溫度不達標時,智能合約會自動執(zhí)行通知相關(guān)企業(yè)。本研究通過部署智能合約實現(xiàn)了從源頭上防范食品安全事故的發(fā)生。
在性能方面,本研究通過對主從多鏈存儲架構(gòu)與單鏈存儲架構(gòu)在隱私保護安全性與查詢速率兩方面進行了測試對比,設計不同通道的節(jié)點對產(chǎn)品數(shù)據(jù)進行查詢,證明主從多鏈存儲架構(gòu)的隱私安全性。測試結(jié)果表明,在主從多鏈架構(gòu)中不同通道節(jié)點查詢權(quán)限不同,同一個通道的所有節(jié)點可查看本通道的所有產(chǎn)品信息,包括溯源信息與隱私信息,而外通道的節(jié)點只能查看到產(chǎn)品的溯源信息。在單鏈架構(gòu)中,所有節(jié)點均在一個通道,因此每個節(jié)點均可查看全網(wǎng)信息,無法保證數(shù)據(jù)的隱私安全性。通過部署相同配置的測試環(huán)境對單鏈架構(gòu)與主從多鏈架構(gòu)進行了查詢速率對比,測試在數(shù)據(jù)總量為200、400、600、800、1 000、1 200、1 400條的情況下的兩種架構(gòu)同時查詢100條數(shù)據(jù)的時間。測試結(jié)果表明,當區(qū)塊鏈網(wǎng)絡中存儲的數(shù)據(jù)總量小于200條時,多鏈與單鏈的查詢時間與數(shù)據(jù)總量均呈線性相關(guān);當數(shù)據(jù)總量超過250條時,多鏈與單鏈的查詢速率穩(wěn)定,滿足實際生產(chǎn)需求。
面向多源異構(gòu)超高維追溯大數(shù)據(jù)治理,本研究應用Hyperledger Fabric多通道方案設計了主從多鏈存儲模型,并以此構(gòu)建了基于區(qū)塊鏈的水產(chǎn)品溯源信息管理系統(tǒng)。通過哈希值以及從鏈ID等信息將主從鏈進行錨定,進一步提升了數(shù)據(jù)存儲的安全性和防篡改,保證了產(chǎn)品溯源信息的真實可靠性,并使用多鏈并發(fā)存儲減輕了單鏈負載壓力。本研究設計的基于主從多鏈的水產(chǎn)品區(qū)塊鏈溯源信息管理系統(tǒng)對于提高聯(lián)盟鏈追溯系統(tǒng)的理論研究和實用水平價值明顯,但在查詢效率上仍存在一些不足。在下一步研究中,將對鏈上數(shù)據(jù)查詢方式進行改進以減少查詢時長,并考慮結(jié)合IPFS存儲從鏈數(shù)據(jù),減輕區(qū)塊鏈網(wǎng)絡中的存儲壓力。
□