仵冀穎 杜 聰 馬志遠(yuǎn) 鄭 剛
(國(guó)家市場(chǎng)監(jiān)管總局信息中心 北京 100088)
改革開(kāi)放以來(lái),我國(guó)經(jīng)濟(jì)發(fā)展的特征屬于發(fā)展型國(guó)家經(jīng)濟(jì)體制,國(guó)家在市場(chǎng)資源配置中起著關(guān)鍵性的決定作用,即資源配置、經(jīng)濟(jì)發(fā)展目標(biāo)、發(fā)展策略等都由政府發(fā)揮核心作用,在市場(chǎng)監(jiān)管領(lǐng)域中由政府駕馭市場(chǎng)。隨著我國(guó)市場(chǎng)經(jīng)濟(jì)的不斷發(fā)展,政府和市場(chǎng)之間的關(guān)系不斷發(fā)生變化,政府在市場(chǎng)中的行為逐漸轉(zhuǎn)變?yōu)楣奖O(jiān)管、維護(hù)公平競(jìng)爭(zhēng)、維持市場(chǎng)秩序、塑造良好營(yíng)商環(huán)境等,我國(guó)的市場(chǎng)監(jiān)管體系進(jìn)入重構(gòu)階段。
2015年國(guó)務(wù)院辦公廳下發(fā)《國(guó)務(wù)院辦公廳關(guān)于加快推進(jìn)重要產(chǎn)品追溯體系建設(shè)的意見(jiàn)》(以下簡(jiǎn)稱《意見(jiàn)》),明確要求對(duì)食用農(nóng)產(chǎn)品、食品、藥品、稀土產(chǎn)品等重要產(chǎn)品建立追溯體系,利用現(xiàn)代信息技術(shù),提升全過(guò)程的安全監(jiān)管、風(fēng)險(xiǎn)控制水平,創(chuàng)新市場(chǎng)監(jiān)管模式?!兑庖?jiàn)》要求,食用農(nóng)產(chǎn)品、食品、藥品、主要農(nóng)業(yè)生產(chǎn)資料、特種設(shè)備和危險(xiǎn)品、稀土產(chǎn)品等在統(tǒng)一規(guī)劃下分類建設(shè)追溯體系。統(tǒng)一規(guī)劃明確了“強(qiáng)化企業(yè)主體責(zé)任”和“發(fā)揮政府督促引導(dǎo)作用”的要求。根據(jù)《意見(jiàn)》要求,追溯體系要能夠覆蓋重要產(chǎn)品從原材料供應(yīng)直至消費(fèi)者的全鏈條,同時(shí)積極發(fā)揮第三方技術(shù)機(jī)構(gòu)的作用,為監(jiān)管部門提升監(jiān)管水平提供技術(shù)支持。
近年來(lái),互聯(lián)網(wǎng)、信息技術(shù)不斷發(fā)展,新技術(shù)、新產(chǎn)品、新成果不斷涌現(xiàn)。云計(jì)算、大數(shù)據(jù)、物聯(lián)網(wǎng)、5G、區(qū)塊鏈等新的技術(shù)在各行各業(yè)中的應(yīng)用不斷推廣,沖擊了市場(chǎng)環(huán)境,也給市場(chǎng)監(jiān)管體系重構(gòu)帶來(lái)了機(jī)遇和挑戰(zhàn)[1-3]。食品安全是關(guān)系到國(guó)計(jì)民生的重中之重,加強(qiáng)對(duì)食品安全的監(jiān)管、提高食品安全水平是國(guó)家的重要目標(biāo),也是市場(chǎng)監(jiān)管總局以及各級(jí)市場(chǎng)監(jiān)管機(jī)關(guān)的重要任務(wù)。
本文重點(diǎn)探討區(qū)塊鏈技術(shù)在追溯體系中的應(yīng)用,以食品作為實(shí)例,探討搭建鏈接食品的原材料供應(yīng)商、生產(chǎn)商、倉(cāng)儲(chǔ)物流平臺(tái)、經(jīng)銷商、分銷商、零售商,以及技術(shù)機(jī)構(gòu)、消費(fèi)者和監(jiān)管部門的區(qū)塊鏈,實(shí)現(xiàn)食品相關(guān)生產(chǎn)、銷售、監(jiān)管信息全程共享、實(shí)時(shí)可追溯。以區(qū)塊鏈平臺(tái)為依托,根據(jù)不同參與方的需求開(kāi)發(fā)應(yīng)用端系統(tǒng),構(gòu)建完整的食品追溯體系。依托區(qū)塊鏈技術(shù),探索創(chuàng)新食品追溯體系的構(gòu)建,完善監(jiān)管手段,提升監(jiān)管的科學(xué)化、規(guī)范化水平。
區(qū)塊鏈?zhǔn)墙鼛啄陙?lái)信息技術(shù)領(lǐng)域的重點(diǎn)研究?jī)?nèi)容,最初用于比特幣交易,隨后陸續(xù)應(yīng)用在金融、供應(yīng)鏈以及稅務(wù)等行業(yè)中,成為了解決多參與方信任問(wèn)題的有效技術(shù)手段[5-6]。區(qū)塊鏈并不是一種全新的技術(shù),其本質(zhì)上是一個(gè)去中心化的數(shù)據(jù)庫(kù),基于非對(duì)稱加密、共識(shí)機(jī)制、智能合約、分布式賬本等傳統(tǒng)的信息技術(shù)構(gòu)建的新型應(yīng)用架構(gòu)。區(qū)塊鏈網(wǎng)絡(luò)架構(gòu)通過(guò)合理利用各項(xiàng)技術(shù),滿足了去中心化的數(shù)據(jù)信任、數(shù)據(jù)安全以及通用性等要求。同時(shí)有效利用時(shí)間戳技術(shù),實(shí)現(xiàn)了數(shù)據(jù)的可靠性保證及不可篡改,因此能夠在跨主體的業(yè)務(wù)應(yīng)用中解決以往只能通過(guò)業(yè)務(wù)協(xié)調(diào)解決的問(wèn)題[4]。
早期區(qū)塊鏈產(chǎn)品搭建完全去中心化的公有鏈,通過(guò)共識(shí)機(jī)制、智能合約實(shí)現(xiàn)多參與方的可靠數(shù)據(jù)交換,不執(zhí)行實(shí)時(shí)事務(wù)處理[7-9]。后期區(qū)塊鏈產(chǎn)品不斷應(yīng)用于事務(wù)交互處理的信息化中,通過(guò)聯(lián)盟鏈、私有鏈等方式實(shí)現(xiàn)在一定范圍內(nèi)的去中心化,即有效去中心化[10-11]。這類區(qū)塊鏈產(chǎn)品設(shè)有專門的管理機(jī)構(gòu)或管理平臺(tái)來(lái)控制鏈上節(jié)點(diǎn)的驗(yàn)證和授權(quán),這種有效去中心化與區(qū)塊鏈完全無(wú)中心化的初衷并不完全一致,但能夠滿足部門內(nèi)部或行業(yè)內(nèi)部的可靠性互聯(lián)互通。
根據(jù)《意見(jiàn)》要求,近年來(lái),各地區(qū)和有關(guān)部門利用信息化技術(shù)積極探索構(gòu)建重要產(chǎn)品的追溯體系。各類產(chǎn)品生產(chǎn)及經(jīng)營(yíng)主體、技術(shù)機(jī)構(gòu)等根據(jù)業(yè)務(wù)需要陸續(xù)建立了信息化系統(tǒng),實(shí)現(xiàn)了業(yè)務(wù)流程的電子化處理和重要信息的電子化存檔。同時(shí)部分產(chǎn)品根據(jù)需要已經(jīng)構(gòu)建追溯信息化系統(tǒng),包括生產(chǎn)企業(yè)自建的追溯系統(tǒng)和第三方檢驗(yàn)認(rèn)證機(jī)構(gòu)主導(dǎo)建立的追溯系統(tǒng)兩類,實(shí)現(xiàn)了一定范圍內(nèi)、一定產(chǎn)品的可追溯。這些業(yè)務(wù)系統(tǒng)和追溯系統(tǒng)利用物聯(lián)網(wǎng)、云計(jì)算等信息技術(shù),同時(shí)運(yùn)用大數(shù)據(jù)分析等技術(shù)手段不斷提升風(fēng)險(xiǎn)預(yù)測(cè)、市場(chǎng)反應(yīng)評(píng)估的水平,一定程度上為產(chǎn)品監(jiān)管提供了有效手段。
以食品監(jiān)管為例,市場(chǎng)監(jiān)管部門依托現(xiàn)有的信息化手段,主要通過(guò)第三方檢測(cè)機(jī)構(gòu)出示證書、生產(chǎn)商或銷售商向監(jiān)管機(jī)構(gòu)備案信息、監(jiān)管機(jī)構(gòu)抽檢等方式實(shí)施市場(chǎng)監(jiān)管。這種監(jiān)管模式仍存在一些問(wèn)題:(1) 監(jiān)管以信息填報(bào)的信息化系統(tǒng)為基礎(chǔ),手工填報(bào)錄入的數(shù)據(jù)存在人為主觀錯(cuò)誤錄入和誤操作輸入等可能,信息化系統(tǒng)多為企業(yè)自建,數(shù)據(jù)的真實(shí)性、準(zhǔn)確性不高;(2) 由不同業(yè)務(wù)主體主導(dǎo)開(kāi)發(fā)的業(yè)務(wù)系統(tǒng)、追溯系統(tǒng)等,應(yīng)用的開(kāi)發(fā)技術(shù)不同、數(shù)據(jù)格式和數(shù)據(jù)標(biāo)準(zhǔn)不統(tǒng)一,針對(duì)同一產(chǎn)品的編號(hào)也不同,因此無(wú)法實(shí)現(xiàn)對(duì)同一產(chǎn)品的全流程追溯;(3) 傳統(tǒng)的監(jiān)管方式以執(zhí)法、抽查為主要手段,這種監(jiān)管手段以事后監(jiān)督為主,不能做到有效的實(shí)時(shí)監(jiān)控,一旦涉及仲裁,往往需要漫長(zhǎng)的取證過(guò)程。
構(gòu)建食品追溯體系涉及多參與方信任的問(wèn)題,本文引入?yún)^(qū)塊鏈技術(shù),利用區(qū)塊鏈不可篡改、數(shù)據(jù)一致性、可追溯性等特點(diǎn),有效構(gòu)建政府監(jiān)管機(jī)構(gòu)、企業(yè)主體、第三方監(jiān)管機(jī)構(gòu)等的聯(lián)盟鏈,從而實(shí)現(xiàn)食品相關(guān)各類產(chǎn)品信息的全流程共享。由于區(qū)塊鏈中對(duì)數(shù)據(jù)的產(chǎn)生、交易、流轉(zhuǎn)、計(jì)算、分析、應(yīng)用等過(guò)程全程留痕,因此數(shù)據(jù)質(zhì)量具有前所未有的強(qiáng)信任背書,數(shù)據(jù)的分析效果、挖掘質(zhì)量等都有保證。
《意見(jiàn)》要求,在重要產(chǎn)品監(jiān)管過(guò)程中要“強(qiáng)化企業(yè)主體責(zé)任”和“發(fā)揮政府督促引導(dǎo)作用”,因此在追溯體系建設(shè)過(guò)程中既具有企業(yè)主體多參與方的特點(diǎn),也依然保留政府市場(chǎng)監(jiān)管機(jī)制的督促引導(dǎo)作用,并不是完全的無(wú)中心化。此外,完全無(wú)中心化的公有鏈的智能合約機(jī)制執(zhí)行的實(shí)時(shí)性、處理速度等無(wú)法滿足在線實(shí)時(shí)業(yè)務(wù)辦理的要求。而純私有鏈與現(xiàn)階段的分布式架構(gòu)、云平臺(tái)架構(gòu)等并無(wú)本質(zhì)區(qū)別,只是增加了一個(gè)不可篡改、數(shù)據(jù)可信的功能,對(duì)于全鏈條、多參與方的應(yīng)用并不適用。因此在食品追溯體系建設(shè)過(guò)程中應(yīng)用區(qū)塊鏈技術(shù),應(yīng)當(dāng)構(gòu)建以政府市場(chǎng)監(jiān)管機(jī)構(gòu)為核心的聯(lián)盟鏈。本文提出一種區(qū)塊鏈架構(gòu)設(shè)計(jì),包含用戶層、應(yīng)用系統(tǒng)層、接入層以及區(qū)塊鏈平臺(tái)四層。具體網(wǎng)絡(luò)架構(gòu)見(jiàn)圖1。
圖1 區(qū)塊鏈網(wǎng)絡(luò)架構(gòu)
用戶層主要指各參與方,具體到食品追溯系統(tǒng)中,包括原材料供應(yīng)商、生產(chǎn)商、分銷商、零售商,以及監(jiān)管部門、技術(shù)機(jī)構(gòu)、消費(fèi)者等。不同參與方根據(jù)參與角色與系統(tǒng)進(jìn)行不同的交互,有的作為數(shù)據(jù)產(chǎn)生者與區(qū)塊鏈網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)傳輸,有的則主要是數(shù)據(jù)查詢的節(jié)點(diǎn)。用戶層直接訪問(wèn)應(yīng)用系統(tǒng),從用戶層的角度來(lái)說(shuō),整個(gè)基于區(qū)塊鏈的追溯體系相當(dāng)于一個(gè)沙箱,用戶的體會(huì)、操作與訪問(wèn)一般信息化系統(tǒng)并無(wú)明顯區(qū)別。
應(yīng)用系統(tǒng)層通過(guò)接入層接入?yún)^(qū)塊鏈平臺(tái),其作用類似于傳統(tǒng)架構(gòu)下的應(yīng)用系統(tǒng)。應(yīng)用系統(tǒng)層調(diào)用網(wǎng)關(guān)接入平臺(tái)的方式主要有SQL和API兩種,本文建議基于微服務(wù)架構(gòu)進(jìn)行應(yīng)用系統(tǒng)開(kāi)發(fā),從而通過(guò)API方式接入?yún)^(qū)塊鏈平臺(tái)。微服務(wù)架構(gòu)是一種全新的應(yīng)用架構(gòu)理念,通過(guò)對(duì)業(yè)務(wù)進(jìn)行梳理,提煉出共性的服務(wù),從而改變傳統(tǒng)應(yīng)用架構(gòu)強(qiáng)耦合的特點(diǎn),提供松耦合的服務(wù)支撐。微服務(wù)架構(gòu)是一種分布式的應(yīng)用架構(gòu),因此特別適合于分布式數(shù)據(jù)庫(kù)架構(gòu)的區(qū)塊鏈。在追溯體系中,參與方往往具有多重角色,例如食品生產(chǎn)商掌握著食品的生產(chǎn)信息,同時(shí)也關(guān)注原材料、銷售情況以及消費(fèi)者反饋信息等,因此基于微服務(wù)架構(gòu)的應(yīng)用系統(tǒng)能夠快速響應(yīng)參與方需求,通過(guò)統(tǒng)一的API網(wǎng)關(guān)進(jìn)行服務(wù)功能的調(diào)用。
(1) 數(shù)據(jù)生成問(wèn)題。應(yīng)用系統(tǒng)根據(jù)業(yè)務(wù)需要產(chǎn)生各類數(shù)據(jù)以及日志記錄等,但并不是應(yīng)用系統(tǒng)中生成的全部數(shù)據(jù)都需要上鏈,全量數(shù)據(jù)一般仍然保存在應(yīng)用系統(tǒng)本地?cái)?shù)據(jù)庫(kù)中,本文稱這些本地?cái)?shù)據(jù)庫(kù)為節(jié)點(diǎn)服務(wù)器。節(jié)點(diǎn)服務(wù)器的一部分作用類似傳統(tǒng)架構(gòu)中的應(yīng)用服務(wù)器,其中存儲(chǔ)了對(duì)應(yīng)業(yè)務(wù)的全量業(yè)務(wù)數(shù)據(jù),部署了基礎(chǔ)操作系統(tǒng)、數(shù)據(jù)庫(kù)等。用戶層根據(jù)自身需要登錄訪問(wèn)或直接處理節(jié)點(diǎn)服務(wù)器。用戶層在自身的節(jié)點(diǎn)服務(wù)器中發(fā)布各類應(yīng)用,滿足自身各類業(yè)務(wù)處理需要。在區(qū)塊鏈網(wǎng)絡(luò)中,節(jié)點(diǎn)服務(wù)器除了上述一般性要求外,還部署應(yīng)用了區(qū)塊鏈技術(shù),包括:節(jié)點(diǎn)之間的點(diǎn)對(duì)點(diǎn)網(wǎng)絡(luò)傳輸技術(shù)、分布式賬本技術(shù)、不對(duì)稱加密及驗(yàn)證技術(shù)等。
針對(duì)食品追溯的應(yīng)用需求,為了完整構(gòu)建可靠、可用的食品追溯體系,本文梳理了各參與方必須提供的上鏈數(shù)據(jù)。生產(chǎn)企業(yè)上鏈信息包括產(chǎn)品配方信息、原輔材料管理記錄、生產(chǎn)加工記錄、成品管理記錄、銷售管理記錄、風(fēng)險(xiǎn)信息收集記錄以及產(chǎn)品召回信息等。
供應(yīng)商是食品追溯的流通環(huán)節(jié),作為整體追溯的重要環(huán)節(jié)需將流通的相關(guān)標(biāo)準(zhǔn)信息上鏈,具體包括:生產(chǎn)企業(yè)名稱,生產(chǎn)批次信息,采購(gòu)信息,資質(zhì)審核記錄,供應(yīng)商審批記錄,食品原料、食品添加劑和食品相關(guān)產(chǎn)品名稱,規(guī)格,生產(chǎn)日期,保質(zhì)期,進(jìn)貨數(shù)量,進(jìn)貨日期,使用信息等。
經(jīng)營(yíng)商是整個(gè)食品追溯的末端環(huán)節(jié),直接對(duì)應(yīng)消費(fèi)者。經(jīng)營(yíng)商掌握了除食品基本信息外的重要客戶評(píng)價(jià)信息,因此需按標(biāo)準(zhǔn)上鏈的信息有:產(chǎn)品名稱,產(chǎn)品編碼,規(guī)格,生產(chǎn)日期及批號(hào),經(jīng)營(yíng)企業(yè)名稱,數(shù)量,銷售區(qū)域,銷售記錄,商品發(fā)貨信息,出庫(kù)時(shí)間,出庫(kù)數(shù)量,責(zé)任人,發(fā)往單位及接收人,消費(fèi)者點(diǎn)評(píng)信息,消費(fèi)者投訴信息等。
技術(shù)機(jī)構(gòu)是整個(gè)追溯流程中的第三方環(huán)節(jié),能夠?qū)⑹称返某闃?、采樣、檢測(cè)結(jié)果等信息按標(biāo)準(zhǔn)上鏈,為其他環(huán)節(jié)的安全追溯提供信息支撐。具體的上鏈信息包括:生產(chǎn)企業(yè)信息,供應(yīng)商信息,經(jīng)營(yíng)企業(yè)信息,消費(fèi)者點(diǎn)評(píng)和投訴舉報(bào)信息,監(jiān)管部門發(fā)布信息等。
(2) 數(shù)據(jù)一致性問(wèn)題。對(duì)于區(qū)塊鏈架構(gòu)來(lái)說(shuō),數(shù)據(jù)一致性是應(yīng)用的難點(diǎn)之一,即如何保證面向用戶層的應(yīng)用系統(tǒng)中存儲(chǔ)的數(shù)據(jù)與區(qū)塊鏈中的數(shù)據(jù)一致。由于區(qū)塊鏈具有不可篡改性,數(shù)據(jù)一旦記賬成功則不可能再修改,而區(qū)塊鏈的記賬結(jié)果也不是實(shí)時(shí)反饋的。
本文提出的微服務(wù)架構(gòu)的應(yīng)用系統(tǒng)采用異步處理模式,即發(fā)出數(shù)據(jù)上鏈記賬的申請(qǐng)后會(huì)處于等待狀態(tài)。當(dāng)微服務(wù)得到上鏈記賬成功的通知后執(zhí)行節(jié)點(diǎn)服務(wù)器中的數(shù)據(jù)庫(kù)更新操作,而一旦記賬失敗能夠執(zhí)行反交易處理。圖2給出了基于本文架構(gòu)實(shí)現(xiàn)食品追溯體系數(shù)據(jù)一致性的過(guò)程:應(yīng)用系統(tǒng)層執(zhí)行操作后完成業(yè)務(wù)流水的記錄,啟動(dòng)調(diào)用區(qū)塊鏈平臺(tái),同時(shí)在節(jié)點(diǎn)服務(wù)器中對(duì)應(yīng)的事件表中留下此次調(diào)用的記錄,完成操作。應(yīng)用系統(tǒng)層等待區(qū)塊鏈平臺(tái)反饋,反饋記賬成功則更新時(shí)間表,反饋記帳失誤則執(zhí)行業(yè)務(wù)補(bǔ)償操作。
圖2 數(shù)據(jù)一致性過(guò)程
為了保證鏈上數(shù)據(jù)的準(zhǔn)確性,需要定期進(jìn)行數(shù)據(jù)對(duì)賬處理。由于區(qū)塊鏈的不可篡改性,對(duì)賬的過(guò)程以區(qū)塊鏈平臺(tái)中的數(shù)據(jù)為準(zhǔn)。
具體對(duì)賬流程見(jiàn)圖3,由應(yīng)用系統(tǒng)層發(fā)起對(duì)賬操作請(qǐng)求,提供業(yè)務(wù)數(shù)據(jù)的ID和對(duì)賬文件,區(qū)塊鏈平臺(tái)收到請(qǐng)求后查詢對(duì)應(yīng)的ID及對(duì)賬文件,應(yīng)用系統(tǒng)層執(zhí)行對(duì)賬操作,以區(qū)塊鏈平臺(tái)中的數(shù)據(jù)為依據(jù)對(duì)應(yīng)用的結(jié)果做相應(yīng)的處理。
圖3 對(duì)賬流程
由數(shù)據(jù)一致性和對(duì)賬處理流程可以看出,基于區(qū)塊鏈的食品追溯體系中數(shù)據(jù)以區(qū)塊鏈平臺(tái)中的數(shù)據(jù)為依據(jù),一旦數(shù)據(jù)上鏈則不可再次更改,這就給應(yīng)用系統(tǒng)的開(kāi)發(fā)和用戶層的使用提出了更高的要求。傳統(tǒng)應(yīng)用系統(tǒng)使用出錯(cuò)后允許操作員再次修改或由管理員修改后臺(tái)數(shù)據(jù)庫(kù),這些操作在區(qū)塊鏈架構(gòu)的系統(tǒng)中都是不允許的。例如,原材料供應(yīng)商錄入材料有誤,上傳鏈上后生產(chǎn)商、銷售商、消費(fèi)者等能夠查詢的都是錯(cuò)誤的材料。不可修改的系統(tǒng)架構(gòu)給應(yīng)用系統(tǒng)的日常使用、程序開(kāi)發(fā)等都提出了更高的要求。
區(qū)塊鏈網(wǎng)絡(luò)和應(yīng)用系統(tǒng)之間通過(guò)網(wǎng)關(guān)接入層連接。本文提出微服務(wù)架構(gòu)的應(yīng)用系統(tǒng),因此通過(guò)API方式完成調(diào)用。網(wǎng)絡(luò)接入層的主要功能包括通信網(wǎng)關(guān)、事件監(jiān)聽(tīng),同時(shí)會(huì)配合微服務(wù)應(yīng)用框架,完成上文中提到的數(shù)據(jù)一致性、對(duì)賬功能等。網(wǎng)關(guān)接入層的具體流程見(jiàn)圖4。
圖4 網(wǎng)關(guān)接入層流程
區(qū)塊鏈平臺(tái)受自身技術(shù)限制,包括共識(shí)機(jī)制、智能合約等,服務(wù)能力和處理速度有限,以太網(wǎng)等公有鏈甚至無(wú)法滿足實(shí)時(shí)業(yè)務(wù)處理的要求。為了協(xié)調(diào)應(yīng)用系統(tǒng)和區(qū)塊鏈平臺(tái)之間的服務(wù)能力,接入層采用異步處理的模式。應(yīng)用系統(tǒng)層可多次調(diào)用接入層,而接入層只在一定時(shí)間內(nèi)調(diào)用一次區(qū)塊鏈平臺(tái)。這種機(jī)制允許應(yīng)用系統(tǒng)層在一定時(shí)間內(nèi)對(duì)上鏈數(shù)據(jù)進(jìn)行修改。
區(qū)塊鏈平臺(tái)中有新的數(shù)據(jù)上鏈、記賬簿發(fā)生變化后,需要通過(guò)接入層的事件偵聽(tīng)機(jī)制通知應(yīng)用系統(tǒng)。區(qū)塊鏈平臺(tái)本身為了保證數(shù)據(jù)一致性,不支持單獨(dú)對(duì)外調(diào)用。輪詢機(jī)制見(jiàn)圖5。
圖5 輪詢機(jī)制
區(qū)塊鏈平臺(tái)是整個(gè)追溯體系的核心,主要包括協(xié)議層和擴(kuò)展層。協(xié)議層是整個(gè)區(qū)塊鏈網(wǎng)絡(luò)最底層技術(shù)。早期區(qū)塊鏈網(wǎng)絡(luò)應(yīng)用于事務(wù)處理,基于開(kāi)源的區(qū)塊鏈產(chǎn)品,一般封裝為類似操作系統(tǒng)的成熟產(chǎn)品,對(duì)外提供API調(diào)用。
協(xié)議層中具體還可區(qū)分為數(shù)據(jù)層、網(wǎng)絡(luò)層、共識(shí)層。數(shù)據(jù)層中創(chuàng)建規(guī)格相同的區(qū)塊通過(guò)鏈?zhǔn)浇Y(jié)構(gòu)構(gòu)成主鏈。本文為了保證食品追溯信息的安全、可信,不允許生成側(cè)鏈。隨著新的產(chǎn)品上鏈,區(qū)塊鏈主鏈不斷延長(zhǎng),網(wǎng)絡(luò)層依靠P2P技術(shù),每一個(gè)節(jié)點(diǎn)都可獨(dú)立對(duì)外服務(wù),節(jié)點(diǎn)能創(chuàng)造新的區(qū)塊并對(duì)外廣播。節(jié)點(diǎn)生成區(qū)塊的有效性則通過(guò)共識(shí)層中的共識(shí)機(jī)制來(lái)判斷,常用共識(shí)機(jī)制包括PoS、PoW等,本文應(yīng)用拜占庭容錯(cuò)機(jī)制。
擴(kuò)展層主要包括智能合約及針對(duì)具體應(yīng)用的定制開(kāi)發(fā)等。區(qū)塊鏈中的標(biāo)準(zhǔn)智能合約一般包括資產(chǎn)一致性檢驗(yàn)、多方確認(rèn)信息交互等簡(jiǎn)單邏輯的合約。針對(duì)食品追溯區(qū)塊鏈系統(tǒng),要制定專門的智能合約約束業(yè)務(wù)過(guò)程。智能合約定義了生產(chǎn)者、供應(yīng)商、技術(shù)機(jī)構(gòu)以及監(jiān)管方上鏈信息的數(shù)據(jù)格式,從食品的原材料采購(gòu)、生產(chǎn)、銷售、供應(yīng)商、技術(shù)檢驗(yàn),直到監(jiān)管機(jī)構(gòu)獲得的投訴反饋信息等全過(guò)程的業(yè)務(wù)狀態(tài)以表單形式在智能合約中明確規(guī)定。此外,智能合約中還需明確不同業(yè)務(wù)狀態(tài)之間發(fā)生轉(zhuǎn)換的觸發(fā)條件等。整個(gè)區(qū)塊鏈的實(shí)現(xiàn)過(guò)程為:明確上鏈的各方身份賬戶,編寫智能合約從而對(duì)完整的食品追溯的業(yè)務(wù)過(guò)程進(jìn)行詳細(xì)定義,通過(guò)觸發(fā)業(yè)務(wù)初始條件后開(kāi)始工作。
針對(duì)食品追溯體系在擴(kuò)展層部署管理平臺(tái),包括了數(shù)據(jù)交換的目錄體系以及查詢模塊、綜合管理模塊等,配合應(yīng)用系統(tǒng)的微服務(wù)架構(gòu)以API的方式提供對(duì)外服務(wù)的接口。其中:綜合管理模塊提供日常監(jiān)控、接入管理、CA證書發(fā)放以及智能合約管理、公共賬本瀏覽等功能。管理平臺(tái)目錄交換體系針對(duì)對(duì)應(yīng)節(jié)點(diǎn)服務(wù)器中存儲(chǔ)的業(yè)務(wù)數(shù)據(jù)進(jìn)行編目,以生產(chǎn)商節(jié)點(diǎn)服務(wù)器為例,對(duì)產(chǎn)品的全量數(shù)據(jù)按照種類、生產(chǎn)日期、銷售記錄等進(jìn)行分類編目,對(duì)用于交換的目錄進(jìn)行單獨(dú)編目。在依托區(qū)塊鏈進(jìn)行數(shù)據(jù)查詢時(shí),一般先交換的查詢模塊中的信息,在確定是符合自己要求的數(shù)據(jù)后,再進(jìn)行全量數(shù)據(jù)的下載,這種操作方式能夠大大提升區(qū)塊鏈處理實(shí)時(shí)業(yè)務(wù)的效率。
綜上,基于區(qū)塊鏈的食品追溯體系工作流程如下:各用戶方根據(jù)自己的業(yè)務(wù)和權(quán)限訪問(wèn)節(jié)點(diǎn)服務(wù)器,根據(jù)上鏈信息要求將相關(guān)全量數(shù)據(jù)上傳到節(jié)點(diǎn)服務(wù)器中。節(jié)點(diǎn)服務(wù)器中的目錄體系記載全部上鏈數(shù)據(jù)目錄,應(yīng)用系統(tǒng)自動(dòng)將上鏈數(shù)據(jù)同步到目錄體系中,通過(guò)解密服務(wù)器進(jìn)行加密后目錄體系權(quán)限管理模塊對(duì)外發(fā)布至鏈上的全部節(jié)點(diǎn)。同時(shí),在節(jié)點(diǎn)服務(wù)器中生成新的索引節(jié)點(diǎn)。鏈上的每一個(gè)節(jié)點(diǎn)服務(wù)器都按此流程操作,將全部索引節(jié)點(diǎn)聯(lián)系起來(lái)生成最終的食品追溯的完整索引鏈,從而實(shí)現(xiàn)食品相關(guān)信息的全面歸集。通過(guò)檢索索引節(jié)點(diǎn),即可查詢相關(guān)信息的分布情況,即實(shí)現(xiàn)快速跨區(qū)域、跨業(yè)務(wù)主體的信息檢索。檢索到的信息能夠附加區(qū)塊鏈中對(duì)應(yīng)此次查詢的哈希驗(yàn)證信息,所有區(qū)塊鏈中的數(shù)據(jù)均具有數(shù)據(jù)發(fā)布主體的簽名,具有不可篡改性。進(jìn)一步,如果希望獲取全量信息,則可通過(guò)跨鏈的接口調(diào)取對(duì)應(yīng)的全量信息。
區(qū)塊鏈作為一種新興技術(shù)應(yīng)用于食品追溯仍有問(wèn)題尚需進(jìn)一步的討論與分析。
(1) 區(qū)塊鏈各參與方可信度問(wèn)題。區(qū)塊鏈中的上鏈數(shù)據(jù)由各個(gè)參與方提供,雖根據(jù)共識(shí)機(jī)制信息會(huì)自動(dòng)上鏈,而非人工處理后主動(dòng)上報(bào),但仍存在虛假數(shù)據(jù)、人為錯(cuò)誤數(shù)據(jù)等問(wèn)題。區(qū)塊鏈最終是解決“技術(shù)可信”而非“世界可信”。一旦甄別出虛假數(shù)據(jù),整個(gè)區(qū)塊鏈需要整體更新,從而影響區(qū)塊鏈的工作效率。為解決可信度問(wèn)題,一些專家提出與物聯(lián)網(wǎng)結(jié)合的方式,即直接在原材料供應(yīng)、生產(chǎn)商供應(yīng)等環(huán)節(jié)自動(dòng)采集數(shù)據(jù),從而避免人為因素對(duì)原始數(shù)據(jù)的干擾。
(2) 應(yīng)用系統(tǒng)開(kāi)發(fā)問(wèn)題。區(qū)塊鏈技術(shù)要求數(shù)據(jù)一旦上鏈不可更改,應(yīng)用系統(tǒng)中的數(shù)據(jù)變更、后臺(tái)修改等都不再可行。區(qū)塊鏈網(wǎng)絡(luò)中鏈接了多個(gè)應(yīng)用主體,傳統(tǒng)IT架構(gòu)模式下各應(yīng)用主體使用獨(dú)立的應(yīng)用系統(tǒng),通過(guò)ESB、MQ等機(jī)制完成數(shù)據(jù)交換共享,因此應(yīng)用主體可以自主決定哪些數(shù)據(jù)可以交換,交換前是否做哪些處理,甚至交換后仍可重新交換覆蓋前面的數(shù)據(jù)。應(yīng)用區(qū)塊鏈架構(gòu),不僅僅是上鏈區(qū)塊鏈網(wǎng)絡(luò)的問(wèn)題,對(duì)原
有應(yīng)用系統(tǒng)的開(kāi)發(fā)、日常使用、維護(hù)等都是新的挑戰(zhàn)。
(3) 跨鏈交易的問(wèn)題。本文提出的食品追溯體系應(yīng)用聯(lián)盟鏈,隨著追溯產(chǎn)品的不斷增加、追溯體系的不斷完善,甚至是跨境產(chǎn)品的不斷納入,相對(duì)獨(dú)立的現(xiàn)有區(qū)塊鏈網(wǎng)絡(luò)與其他區(qū)塊鏈網(wǎng)絡(luò)之間的互聯(lián)互通問(wèn)題不可避免。不同區(qū)塊鏈由于底層技術(shù)的不同,例如鏈結(jié)構(gòu)、共識(shí)機(jī)制、智能合約等,跨鏈協(xié)作的難度很大,目前跨鏈技術(shù)是研究熱點(diǎn),但尚未能真正商用。目前主要的跨鏈技術(shù)有公證人機(jī)制、側(cè)鏈中繼機(jī)制以及哈希鎖定等。這些機(jī)制需要引入第三方中介,或是只能用于傳遞信息不能轉(zhuǎn)移數(shù)據(jù)資產(chǎn)等,在當(dāng)前情況下無(wú)法應(yīng)用于食品追溯體系中。
本文重點(diǎn)研究區(qū)塊鏈技術(shù)在追溯體系中的應(yīng)用,根據(jù)已有研究成果可知,物聯(lián)網(wǎng)、5G、高清視頻監(jiān)控、人工智能、大數(shù)據(jù)分析等技術(shù)應(yīng)用于追溯體系中也可獲得較好效果。本文具體分析了用戶層的構(gòu)成、接入層的異步接入方式、應(yīng)用系統(tǒng)的微服務(wù)架構(gòu)和接口方式,以及區(qū)塊鏈網(wǎng)絡(luò)的主要技術(shù)等,最后對(duì)區(qū)塊鏈在實(shí)際中應(yīng)用存在的問(wèn)題進(jìn)行了討論。
區(qū)塊鏈在很多實(shí)際的應(yīng)用場(chǎng)景中已經(jīng)得到了較好的應(yīng)用,例如區(qū)塊鏈電子發(fā)票、區(qū)塊鏈金融、區(qū)塊鏈存證等,但目前主要集中于聯(lián)盟鏈或私有鏈等方式。跨鏈技術(shù)還停留在理論研究的階段,尚無(wú)實(shí)踐應(yīng)用。食品追溯體系涉及的產(chǎn)品種類多、產(chǎn)品鏈長(zhǎng),單純的聯(lián)盟鏈方式仍有局限,構(gòu)建完整、統(tǒng)一的區(qū)塊鏈追溯系統(tǒng)尚需進(jìn)一步研究。
計(jì)算機(jī)應(yīng)用與軟件2019年12期