王巖林,楊衛(wèi)東,2,3,劉 洋
(1.河南工業(yè)大學(xué) 信息科學(xué)與工程學(xué)院,河南 鄭州 450001;2.河南省糧食光電探測(cè)與控制重點(diǎn)實(shí)驗(yàn)室,河南 鄭州 450001;3.糧食信息處理與控制教育部重點(diǎn)實(shí)驗(yàn)室,河南 鄭州 450001)
糧食儲(chǔ)備安全涉及國(guó)計(jì)民生,關(guān)乎國(guó)家安全。糧食安全是目前全球關(guān)注的熱點(diǎn)問(wèn)題,隨著國(guó)家對(duì)糧食的重視,通過(guò)運(yùn)用物聯(lián)網(wǎng)、云計(jì)算、大數(shù)據(jù)等信息技術(shù)手段,使糧食儲(chǔ)備體系的數(shù)字化、網(wǎng)絡(luò)化和信息化水平得到全面提升,但是目前仍存在不少問(wèn)題:監(jiān)管壓力大,信息共享度低[1];管理中心化,數(shù)據(jù)可信度差;溯源成本高,追溯精準(zhǔn)度低。鑒于上述原因,目前仍舊不能把糧食儲(chǔ)備說(shuō)清、說(shuō)全和說(shuō)準(zhǔn),從而造成極大的人力、物力和財(cái)力的浪費(fèi),破解糧食儲(chǔ)備安全監(jiān)管難題成為亟待解決的問(wèn)題。
本文由分析儲(chǔ)糧體系下監(jiān)管問(wèn)題入手,從糧食儲(chǔ)備的痛點(diǎn)問(wèn)題——糧食溯源體系中監(jiān)管困難出發(fā),結(jié)合區(qū)塊鏈的優(yōu)勢(shì),通過(guò)哈希函數(shù)、非對(duì)稱加密、時(shí)間戳等方法來(lái)實(shí)現(xiàn)用戶的匿名、交易確認(rèn)和交易數(shù)據(jù)不可篡改;通過(guò)共識(shí)機(jī)制[2]對(duì)共同維護(hù)的數(shù)據(jù)賬本進(jìn)行統(tǒng)一管理,提出一種基于區(qū)塊鏈的多鏈模式下的安全監(jiān)管架構(gòu)模型。設(shè)計(jì)面向大眾的基于區(qū)塊鏈?zhǔn)录菰聪到y(tǒng),監(jiān)管后臺(tái)對(duì)提交數(shù)據(jù)進(jìn)行管理和統(tǒng)籌溯源全過(guò)程,通過(guò)智能合約對(duì)溯源數(shù)據(jù)進(jìn)行上鏈監(jiān)管,突破糧食儲(chǔ)備周期各環(huán)節(jié)信息共享壁壘,構(gòu)建安全的糧食儲(chǔ)備監(jiān)管體系。
區(qū)塊鏈作為新興產(chǎn)業(yè),能夠創(chuàng)新監(jiān)管方式[3]。區(qū)塊鏈通過(guò)綜合分布式賬本[4]、密碼學(xué)[5]、共識(shí)算法、智能合約等核心技術(shù)[6],保障在不需要可信第三方的情況下,實(shí)現(xiàn)數(shù)據(jù)的不易篡改、難以偽造、可追溯、可審計(jì)等特點(diǎn)[7-8],其中不易篡改的屬性適合糧食監(jiān)管特性,其固有特性具備破解糧食儲(chǔ)備安全監(jiān)管難題的優(yōu)勢(shì)。
基于兩者的特性所在,近年來(lái)國(guó)內(nèi)外學(xué)者在這方面展開了廣泛研究,美國(guó)和歐盟已提出相關(guān)糧食安全預(yù)警和監(jiān)管方案,構(gòu)建了基于大數(shù)據(jù)分析的預(yù)警監(jiān)管機(jī)制和信息發(fā)布體系,并應(yīng)用于美國(guó)及歐盟各國(guó)檢測(cè)機(jī)構(gòu)和防控部門,如美國(guó)農(nóng)業(yè)部食品安全檢驗(yàn)局基于危害分析與關(guān)鍵控制點(diǎn)(Hazard Analysis Critical Control Points, HACCP)的供應(yīng)鏈風(fēng)險(xiǎn)預(yù)警決策機(jī)制等。
國(guó)內(nèi)學(xué)者從溯源與區(qū)塊鏈結(jié)合的角度研究居多。陶啟等[9]基于區(qū)塊鏈構(gòu)建了大米全產(chǎn)業(yè)鏈質(zhì)量全息數(shù)據(jù)庫(kù),采用基于危害因子的食品風(fēng)險(xiǎn)評(píng)估與質(zhì)量溯源技術(shù),設(shè)計(jì)不同角色、不同環(huán)節(jié)和多種要素的智能管理系統(tǒng)。然而,該溯源方法是針對(duì)危害因子源頭及其所影響范圍進(jìn)行,存在一定誤差。Lin等[10]提出了一個(gè)基于區(qū)塊鏈和電子產(chǎn)品碼(Electronic Product Code, EPC) 信息服務(wù)的食品安全追溯系統(tǒng),并開發(fā)了原型系統(tǒng)。文獻(xiàn)[11-13]基于區(qū)塊鏈技術(shù)構(gòu)建不同的供應(yīng)鏈安全管理模型,分別用不同存儲(chǔ)機(jī)制和智能合約構(gòu)建區(qū)塊鏈模型,搭建追溯鏈與企業(yè)的交互平臺(tái),保證信息存儲(chǔ)和傳輸安全可信。文獻(xiàn)[14-16] 提出了不同的存儲(chǔ)管理架構(gòu)方案來(lái)緩解物聯(lián)網(wǎng)與區(qū)塊鏈結(jié)合產(chǎn)生的數(shù)據(jù)爆炸問(wèn)題。
Liu等[17]針對(duì)異構(gòu)區(qū)塊鏈中跨域互操作的問(wèn)題,設(shè)計(jì)了一個(gè)提供具有互操作性和可編程的異構(gòu)區(qū)塊鏈平臺(tái)HyperService,創(chuàng)新性地為開發(fā)人員在統(tǒng)一編程模型中構(gòu)建跨鏈應(yīng)用程序,證明在加密的安全區(qū)塊鏈上實(shí)現(xiàn)協(xié)議的可證明性。文獻(xiàn)[18-20] 用區(qū)塊鏈對(duì)設(shè)備身份進(jìn)行可信記錄和訪問(wèn)控制,實(shí)現(xiàn)對(duì)物聯(lián)網(wǎng)設(shè)備管理,分別對(duì)增強(qiáng)數(shù)據(jù)共享、處理和服務(wù)過(guò)程中的安全問(wèn)題做出針對(duì)性方案。
現(xiàn)有的糧食監(jiān)管體系都是對(duì)基礎(chǔ)數(shù)據(jù)進(jìn)行操作,不能保證用戶信息以及追溯數(shù)據(jù)的安全性與可操作性,對(duì)糧食溯源體系中監(jiān)管的多方操作問(wèn)題較少涉及,對(duì)完整展現(xiàn)溯源體系具有局限性。本文的區(qū)塊鏈中多鏈模式監(jiān)管架構(gòu)模型是在區(qū)塊鏈溯源系統(tǒng)上進(jìn)行改進(jìn),全程從監(jiān)管角度溯源監(jiān)管事件,對(duì)溯源過(guò)程中的數(shù)據(jù)真?zhèn)螌?shí)時(shí)進(jìn)行監(jiān)管,從監(jiān)管環(huán)節(jié)的公示中倒推事件溯源,提高溯源鏈中監(jiān)管環(huán)節(jié)的效率。
我國(guó)糧食儲(chǔ)備點(diǎn)多線長(zhǎng),呈現(xiàn)“跨地域、多環(huán)節(jié)、大流通”等特點(diǎn),監(jiān)管壓力大;糧食儲(chǔ)備管理體系以中心化的、各部門自建平臺(tái)的方式為主,缺乏統(tǒng)一數(shù)據(jù)交換標(biāo)準(zhǔn),信息共享程度低。糧食儲(chǔ)備信息管理系統(tǒng)為自下而上集中式管理方式,由于存在數(shù)據(jù)隱私泄露的可能,各級(jí)監(jiān)管部門、儲(chǔ)糧企業(yè)、農(nóng)戶之間難以產(chǎn)生信任,且存在人為篡改數(shù)據(jù)的可能。糧食儲(chǔ)備業(yè)務(wù)數(shù)據(jù)缺乏共享,一旦糧食儲(chǔ)備過(guò)程中發(fā)生異常事件,需要協(xié)調(diào)儲(chǔ)備環(huán)節(jié)中多級(jí)管理系統(tǒng)取證,往往還存在數(shù)據(jù)丟失或不完整的情況,溯源成本高、誤差大、效率低;糧食儲(chǔ)備安全監(jiān)管體系因管理機(jī)構(gòu)集中化、建設(shè)標(biāo)準(zhǔn)不統(tǒng)一、互聯(lián)互通不足等帶來(lái)糧情數(shù)據(jù)可信性低、共享程度低、事件溯源復(fù)雜等問(wèn)題。
一條完善的溯源體系包括農(nóng)戶種植、倉(cāng)儲(chǔ)存儲(chǔ)、物流運(yùn)輸、銷售環(huán)節(jié)、消費(fèi)者查詢與監(jiān)管組織監(jiān)管等共同構(gòu)成。根據(jù)糧食行業(yè)中目前存在的問(wèn)題進(jìn)行分析,糧食溯源體系中各環(huán)節(jié)隱私數(shù)據(jù)的保存問(wèn)題,溯源環(huán)節(jié)中數(shù)據(jù)是否會(huì)被篡改是糧食溯源體系中監(jiān)管的重點(diǎn),針對(duì)該問(wèn)題結(jié)合區(qū)塊鏈系統(tǒng)進(jìn)行設(shè)計(jì)糧食儲(chǔ)備多鏈監(jiān)管體系。糧食監(jiān)管體系的結(jié)構(gòu)主要是對(duì)糧食溯源鏈上事件的監(jiān)管問(wèn)題,從監(jiān)管的角度去溯源事件。本文采用把上鏈數(shù)據(jù)進(jìn)行區(qū)分,把各個(gè)環(huán)節(jié)的糧食儲(chǔ)備管理體系中企業(yè)敏感數(shù)據(jù)與基礎(chǔ)可公開數(shù)據(jù)進(jìn)行區(qū)分,并分開存儲(chǔ)到區(qū)塊鏈上。
結(jié)合區(qū)塊鏈賬本不可篡改和可追溯的特點(diǎn),把隱私數(shù)據(jù)與可公開數(shù)據(jù)分開,保證數(shù)據(jù)安全??晒_數(shù)據(jù)與隱私數(shù)據(jù)分別通過(guò)智能合約安裝到不同通道,由于通道的自然隔離,使得重要數(shù)據(jù)得到保護(hù)。如表1所示,把上鏈數(shù)據(jù)進(jìn)行區(qū)分,既保證了企業(yè)隱私的安全性,也保證了基礎(chǔ)可公開數(shù)據(jù)的不可篡改性。
表1 監(jiān)管供應(yīng)鏈各環(huán)節(jié)信息Table 1 Monitoring the supply chain information
完善的糧食儲(chǔ)備溯源體系不僅包含數(shù)據(jù)的處理,還要全程在政府部門的監(jiān)管下進(jìn)行。本文采用多鏈的設(shè)計(jì),用來(lái)隔離溯源體系中各個(gè)環(huán)節(jié)的糧食儲(chǔ)備管理體系中企業(yè)敏感數(shù)據(jù)與基礎(chǔ)可公開數(shù)據(jù),通過(guò)Fabric聯(lián)盟鏈的多通道構(gòu)建多鏈環(huán)境,設(shè)置監(jiān)管鏈為主鏈的形式,由監(jiān)管部門動(dòng)態(tài)進(jìn)行管理,監(jiān)管每個(gè)環(huán)節(jié)并公示。
Fabric聯(lián)盟鏈中多通道的自然隔離功能對(duì)鏈上數(shù)據(jù)隔離存儲(chǔ),如圖1所示,在通道內(nèi)分別創(chuàng)建生產(chǎn)鏈、倉(cāng)儲(chǔ)鏈、物流鏈以及加工鏈4個(gè)私有企業(yè)鏈用來(lái)存儲(chǔ)各個(gè)企業(yè)的隱私信息,并在監(jiān)管通道建立事件可追溯的監(jiān)管主鏈,用來(lái)監(jiān)管公開可追溯信息和用戶查詢,獲取公開信息后進(jìn)行公示,實(shí)現(xiàn)監(jiān)管方與查詢信息用戶的交互。
圖1 區(qū)塊鏈網(wǎng)絡(luò)的多鏈監(jiān)管模型Fig.1 A multi-chain regulatory model of blockchain network
溯源體系中的各環(huán)節(jié)種植企業(yè)、倉(cāng)儲(chǔ)企業(yè)、物流企業(yè)、加工企業(yè)都需要先經(jīng)過(guò)監(jiān)管部門授權(quán),驗(yàn)證權(quán)限后,企業(yè)的隱私信息將上傳到區(qū)塊鏈網(wǎng)絡(luò)以及云數(shù)據(jù)庫(kù)中。用5條聯(lián)盟鏈多組織來(lái)模擬區(qū)塊鏈網(wǎng)絡(luò)環(huán)境,其中1條為公共鏈,4條企業(yè)私有鏈。每個(gè)企業(yè)為一個(gè)組織,每個(gè)組織設(shè)置兩個(gè)節(jié)點(diǎn),子鏈上節(jié)點(diǎn)通過(guò)智能合約參與記賬,管理鏈上數(shù)據(jù)。主鏈為監(jiān)管鏈,監(jiān)管鏈上為多組織參與鏈,由各個(gè)企業(yè)私有組織的成員參與到主鏈共同記賬,達(dá)到私有數(shù)據(jù)和公開可追溯數(shù)據(jù)的區(qū)分,使數(shù)據(jù)安全得到有效保證。
區(qū)塊鏈網(wǎng)絡(luò)配置如表2所示,監(jiān)管主鏈成員由監(jiān)管組織(Org1)的節(jié)點(diǎn)及溯源體系中各組織的節(jié)點(diǎn)通過(guò)監(jiān)管智能合約共同參與監(jiān)管鏈記賬,維護(hù)監(jiān)管賬本。主鏈多組織中各個(gè)節(jié)點(diǎn)通過(guò)智能合約向消費(fèi)者提供糧食溯源鏈上基礎(chǔ)可公開數(shù)據(jù)查詢接口。子鏈分別是生產(chǎn)鏈、倉(cāng)儲(chǔ)鏈、物流鏈和加工鏈,參與的組織分別是生產(chǎn)組織(Org2)、倉(cāng)儲(chǔ)組織(Org3)、物流組織(Org4)以及加工組織(Org5)。子鏈為單組織構(gòu)成,模擬私有鏈來(lái)隔離隱私數(shù)據(jù)和主鏈公共數(shù)據(jù)。
表2 區(qū)塊鏈網(wǎng)絡(luò)配置Table 2 Block chain network configuration
對(duì)于區(qū)塊鏈網(wǎng)絡(luò)上不能保證數(shù)據(jù)不遺漏、缺失等問(wèn)題,數(shù)據(jù)的隱私問(wèn)題以及上鏈數(shù)據(jù)的準(zhǔn)確性十分關(guān)鍵。本文采用鏈上鏈下數(shù)據(jù)存儲(chǔ)模式,鏈上用聯(lián)盟鏈中的CouchDB狀態(tài)數(shù)據(jù)庫(kù),鏈下采用云數(shù)據(jù)庫(kù)。上傳到區(qū)塊鏈上的基礎(chǔ)可公開數(shù)據(jù)要先調(diào)用合約判斷授權(quán)信息、數(shù)據(jù)格式信息以及身份認(rèn)證信息是否正確;然后通過(guò)監(jiān)管智能合約中上鏈方法把數(shù)據(jù)寫在監(jiān)管鏈中進(jìn)行共識(shí)記賬,節(jié)點(diǎn)數(shù)據(jù)庫(kù)和產(chǎn)生的區(qū)塊信息進(jìn)行更新;同步更新到客戶端監(jiān)管界面進(jìn)行公示。根據(jù)Map-Reduce特性,CouchDB狀態(tài)數(shù)據(jù)庫(kù)生成鍵值對(duì)方式存儲(chǔ),并更新到區(qū)塊鏈的世界狀態(tài)。如圖2是物聯(lián)網(wǎng)設(shè)備采集和人工輸入等形式上傳的公開可追溯數(shù)據(jù),在其通過(guò)驗(yàn)證后,上傳到監(jiān)管鏈時(shí)CouchDB狀態(tài)數(shù)據(jù)庫(kù)中存儲(chǔ)的信息。key為事件溯源關(guān)鍵字,對(duì)應(yīng)的value為所存儲(chǔ)的數(shù)據(jù)鍵值對(duì)。以監(jiān)管鏈上信息舉例,內(nèi)容包括事件溯源參與節(jié)點(diǎn)上傳的公開可追溯數(shù)據(jù)信息、區(qū)塊高度信息和交易哈希值等。
圖2 CouchDB內(nèi)存儲(chǔ)數(shù)據(jù)Fig.2 CouchDB storing data in memory
鏈上鏈下雙存儲(chǔ)模式會(huì)更有效節(jié)省鏈上存儲(chǔ)空間,加快上鏈以及查詢鏈上數(shù)據(jù)的速度,有效提高效率;鏈上數(shù)據(jù)監(jiān)管更高效地保證用戶身份的正確和上鏈數(shù)據(jù)格式的準(zhǔn)確無(wú)誤,為客戶端針對(duì)事件進(jìn)行質(zhì)疑時(shí)能夠高速溯源監(jiān)管數(shù)據(jù)提供支撐。
智能合約是交易參與方進(jìn)行交互的業(yè)務(wù)模型,用可執(zhí)行的代碼定義組織間的規(guī)則,使不同組織在觸發(fā)條件后自動(dòng)根據(jù)智能合約執(zhí)行并記錄在賬本中。智能合約中的不同方法是多鏈多組織糧食監(jiān)管體系中區(qū)塊鏈部分的核心,以InspectContract為例,合約中的業(yè)務(wù)邏輯主要是基礎(chǔ)可公開數(shù)據(jù)的上傳和不同用戶的數(shù)據(jù)查詢。
監(jiān)管數(shù)據(jù)上傳是糧食參與企業(yè)將公開可查詢數(shù)據(jù)上傳到監(jiān)管主鏈,包括判斷授權(quán)身份認(rèn)證、數(shù)據(jù)采集、數(shù)據(jù)格式判斷、數(shù)據(jù)上鏈,如算法1所示。監(jiān)管查詢算法包含判斷授權(quán)和事件溯源查詢,如算法2所示。
算法1 監(jiān)管數(shù)據(jù)上傳算法
算法2 不同用戶查詢監(jiān)管數(shù)據(jù)算法
基于糧食追溯鏈的多鏈監(jiān)管模型,設(shè)計(jì)區(qū)塊鏈糧食監(jiān)管多鏈系統(tǒng)。該系統(tǒng)架構(gòu)分為應(yīng)用層、接口層、數(shù)據(jù)存儲(chǔ)層和感知數(shù)據(jù)采集層。
應(yīng)用層以網(wǎng)頁(yè)形式面向監(jiān)管部門提供監(jiān)管人員動(dòng)態(tài)抽查,授權(quán)企業(yè)權(quán)限等功能;事件溯源中各企業(yè)的隱私數(shù)據(jù)上傳授權(quán)及可追溯查詢;消費(fèi)者對(duì)公開可追溯信息的數(shù)據(jù)查詢及數(shù)據(jù)問(wèn)題反饋等。
接口層封裝4個(gè)私有企業(yè)鏈和監(jiān)管主鏈中各自賬本的寫入以及查詢接口;區(qū)塊鏈網(wǎng)絡(luò)中節(jié)點(diǎn)身份與客戶端身份認(rèn)證的接口;對(duì)消費(fèi)者、監(jiān)管者、企業(yè)用戶提供查詢數(shù)據(jù)的接口。
數(shù)據(jù)存儲(chǔ)層是指鏈上鏈下雙存儲(chǔ)形式存儲(chǔ)數(shù)據(jù)。區(qū)塊鏈網(wǎng)絡(luò)是用CouchDB數(shù)據(jù)庫(kù),鏈下用云數(shù)據(jù)庫(kù),對(duì)參與事件追溯企業(yè)的敏感信息與監(jiān)管主鏈中公開可追溯信息進(jìn)行存儲(chǔ),采用鏈上存證鏈下備份的方式保證對(duì)數(shù)據(jù)可追溯。
物理感知采集層主要是采集企業(yè)鏈和監(jiān)管鏈上多種業(yè)務(wù)的基礎(chǔ)數(shù)據(jù)。
區(qū)塊鏈糧食監(jiān)管多鏈系統(tǒng)是基于Hyperledger Fabric聯(lián)盟鏈搭建的區(qū)塊鏈網(wǎng)絡(luò)結(jié)構(gòu),主要用Golang、Java、JavaScript等語(yǔ)言作為編程語(yǔ)言開發(fā)系統(tǒng),智能合約的運(yùn)行環(huán)境為Docker,鏈上數(shù)據(jù)庫(kù)為CouchDB,鏈下采用云數(shù)據(jù)庫(kù)。系統(tǒng)主要分為4個(gè)部分:客戶端、服務(wù)器端、區(qū)塊鏈網(wǎng)絡(luò)端以及鏈下服務(wù)器端。業(yè)務(wù)邏輯以及用戶操作如圖3所示。
圖3 糧食儲(chǔ)備的多鏈監(jiān)管系統(tǒng)Fig.3 Multi-chain supervision system for grain reserves
消費(fèi)者的事件溯源業(yè)務(wù)邏輯是消費(fèi)者通過(guò)監(jiān)管部門公示,查看公開可溯源信息,對(duì)公示信息進(jìn)行質(zhì)疑,向監(jiān)管部門進(jìn)行反饋。監(jiān)管部門收到事件反饋后對(duì)問(wèn)題事件進(jìn)行溯源,已授權(quán)監(jiān)管用戶通過(guò)關(guān)鍵值取鏈下數(shù)據(jù)庫(kù)中對(duì)應(yīng)數(shù)據(jù),與區(qū)塊鏈網(wǎng)絡(luò)中對(duì)應(yīng)數(shù)據(jù)進(jìn)行對(duì)比,最后把回執(zhí)反饋給消費(fèi)者。
事件追溯企業(yè)通過(guò)感知層采集器收集相關(guān)數(shù)據(jù),通過(guò)Web網(wǎng)頁(yè)進(jìn)行用戶注冊(cè),待監(jiān)管部門進(jìn)行用戶授權(quán)后將信息傳到云數(shù)據(jù)庫(kù)和區(qū)塊鏈網(wǎng)絡(luò),區(qū)塊鏈服務(wù)器判斷授權(quán)用戶信息,將上傳數(shù)據(jù)的請(qǐng)求調(diào)用智能合約,通過(guò)智能合約審核用戶信息,調(diào)用數(shù)據(jù)上傳的方法,向網(wǎng)絡(luò)發(fā)起交易,服務(wù)器端對(duì)數(shù)據(jù)進(jìn)行排序、驗(yàn)證和共識(shí),當(dāng)校驗(yàn)完成后,參與記賬節(jié)點(diǎn)更新賬本,更新世界狀態(tài),完成數(shù)據(jù)上鏈。圖4為監(jiān)管鏈數(shù)據(jù)上鏈后的交易界面和監(jiān)管交易數(shù)據(jù)界面。
圖4 監(jiān)管鏈上鏈信息Fig.4 Information on the chain of custody data
測(cè)試環(huán)境是基于Hyperledger Fabric聯(lián)盟鏈,搭建在CentOS系統(tǒng)的虛擬機(jī)上,虛擬機(jī)配置為2.5GHz CPU、4核處理器和8GB內(nèi)存。采用Hyperledger Caliper測(cè)試溯源系統(tǒng),用戶在輸入數(shù)據(jù)到區(qū)塊鏈上時(shí),調(diào)用智能合約記賬和查詢數(shù)據(jù)過(guò)程中產(chǎn)生的時(shí)延和吞吐量。
為保證測(cè)試數(shù)據(jù)的普遍有效性,避免單次存儲(chǔ)數(shù)據(jù)對(duì)區(qū)塊鏈網(wǎng)絡(luò)和糧食多鏈監(jiān)管模型的影響,實(shí)驗(yàn)均采用30次執(zhí)行結(jié)果的平均值,統(tǒng)一設(shè)置測(cè)試的數(shù)據(jù)數(shù)。圖5是分別寫入數(shù)量為100~1 500條數(shù)據(jù)時(shí),事件溯源參與方用戶寫入和查詢數(shù)據(jù)的吞吐率,由圖可知一次性上鏈數(shù)據(jù)在100~1 300條間,吞吐量與上鏈數(shù)據(jù)成正相關(guān),在1 300~1 500條數(shù)據(jù)時(shí)的查詢吞吐率維持在160 T/s左右,寫入吞吐率維持在40 T/s。從測(cè)試結(jié)果可以看出單次涌入大量數(shù)據(jù),糧食追溯鏈的多鏈監(jiān)管模型可以滿足寫入和查詢吞吐量的基本需求。
圖5 單次上鏈數(shù)據(jù)的讀寫吞吐量Fig.5 Read and write throughput of a single-link data
圖6和圖7是驗(yàn)證數(shù)據(jù)共識(shí)寫入賬本時(shí),追溯鏈上多鏈糧食監(jiān)管體系模型中產(chǎn)生的時(shí)延與查詢賬本產(chǎn)生的時(shí)延,是事件追溯參與企業(yè)上傳信息通過(guò)監(jiān)管智能合約上鏈和查詢產(chǎn)生的時(shí)延。根據(jù)測(cè)試結(jié)果可知,由于監(jiān)管鏈上公開可追溯數(shù)據(jù)由多組織多節(jié)點(diǎn)參與,共識(shí)記賬上鏈的平均時(shí)延是1.171 s,公開可追溯數(shù)據(jù)查詢的平均時(shí)延是0.05 s,能夠滿足糧食事件追溯數(shù)據(jù)上鏈以及查詢的時(shí)間需求。
圖6 共識(shí)記賬時(shí)延Fig.6 Delay of consensus entry into account
圖7 查詢記賬時(shí)延Fig.7 Delay of query account
(1) 通過(guò)對(duì)糧食溯源業(yè)務(wù)的流程分析以及對(duì)糧食監(jiān)管的痛點(diǎn)分析,提出基于區(qū)塊鏈的糧食儲(chǔ)備多鏈監(jiān)管模型。模型通過(guò)設(shè)置多鏈來(lái)分開存儲(chǔ)私有信息與公開可追溯信息,保障數(shù)據(jù)安全,實(shí)現(xiàn)隱私保護(hù);設(shè)計(jì)區(qū)塊鏈網(wǎng)絡(luò)中智能合約,實(shí)現(xiàn)判斷授權(quán)信息、信息上鏈數(shù)據(jù)及查詢功能等;設(shè)計(jì)實(shí)現(xiàn)客戶端數(shù)據(jù)與區(qū)塊鏈數(shù)據(jù)事件可追溯等功能。
(2) 基于聯(lián)盟鏈Hyperledge Fabric搭建的糧食儲(chǔ)備多鏈監(jiān)管模型及系統(tǒng),能夠解決監(jiān)管主鏈與企業(yè)數(shù)據(jù)的隱私與安全存儲(chǔ)、授權(quán)管理、多節(jié)點(diǎn)管理等問(wèn)題,實(shí)現(xiàn)了上鏈數(shù)據(jù)全程可監(jiān)管,問(wèn)題事件高效處理可追溯。
本文就糧食監(jiān)管中的痛點(diǎn)問(wèn)題進(jìn)行分析,對(duì)更新糧食溯源系統(tǒng)中的數(shù)據(jù)安全方面有著重要意義。接下來(lái)會(huì)從模型的實(shí)用性角度分析系統(tǒng)的可行性,完善搭建糧食儲(chǔ)備多鏈監(jiān)管系統(tǒng)。