汪家偉,饒?jiān)?,常仲?/p>
(安徽農(nóng)業(yè)大學(xué)信息與計(jì)算機(jī)學(xué)院,合肥230036)
針對(duì)商品的安全性及供應(yīng)鏈存在的問題[1],當(dāng)前已有一些應(yīng)對(duì)措施,顏波等[2]運(yùn)用RFID電子標(biāo)簽和EPC物聯(lián)網(wǎng)技術(shù),實(shí)現(xiàn)對(duì)產(chǎn)品的全程跟蹤與追溯。王振輝[3]將二維碼技術(shù)與溯源相結(jié)合,并采用混合加密算法防止二維碼偽造。但是在這些追溯系統(tǒng)中,數(shù)據(jù)的采集錄入主要依賴于地方監(jiān)管部門或者產(chǎn)業(yè)核心企業(yè),其中心化的特點(diǎn)無法根除,即仍然存在數(shù)據(jù)的不對(duì)稱性以及其被主觀修改的可能,且不易實(shí)現(xiàn)溯源信息共享[4]。
而區(qū)塊鏈技術(shù)則為溯源提供了有力的技術(shù)支撐[5]。2008年,一位化名為“中本聰”(Satoshi Nakamoto)的學(xué)者發(fā)表了關(guān)于比特幣奠基性論文,并于2009年1月實(shí)現(xiàn)了其最初版本,開始在一個(gè)開源的區(qū)塊鏈上運(yùn)行[6]。十一年來,區(qū)塊鏈已發(fā)展出不同的結(jié)合模式,如今的區(qū)塊鏈3.0,與物品追溯、醫(yī)療信息管理等領(lǐng)域有機(jī)結(jié)合。尚文倩等[7]基于區(qū)塊鏈的分布式存儲(chǔ)以及其他特征以跟蹤新聞,實(shí)現(xiàn)新聞來源的可查性。Asaph Azaria等[8]利用區(qū)塊鏈的獨(dú)特屬性,為醫(yī)院患者提供全面、不可變的日志,并可在供應(yīng)商和治療站點(diǎn)訪問其醫(yī)療信息,實(shí)現(xiàn)身份驗(yàn)證,機(jī)密性,問責(zé)制和數(shù)據(jù)共享。Marco Conoscenti等[9]研究區(qū)塊鏈和點(diǎn)對(duì)點(diǎn)方法與促進(jìn)分布式和私有設(shè)計(jì)的物聯(lián)網(wǎng)之間的關(guān)系。Nir Kshetri[10]分析并論證了基于區(qū)塊鏈的解決方案在許多方面優(yōu)于當(dāng)前的物聯(lián)網(wǎng)生態(tài)系統(tǒng),區(qū)塊鏈的分布式特點(diǎn)使惡意參與者操縱和偽造的可能性降低。
在食品與區(qū)塊鏈結(jié)合方面,F(xiàn)rank Yiannas[11]表明區(qū)塊鏈驅(qū)動(dòng)了食品透明度的新時(shí)代,指出區(qū)塊鏈的去中心化、不可變、共識(shí)機(jī)制等特點(diǎn)是提高食品的可信度和透明度的原因??梢姡瑓^(qū)塊鏈對(duì)于來源追溯、提高可信程度方面具有較大的優(yōu)勢和發(fā)展應(yīng)用前景[12-17],并且現(xiàn)今在建立食品溯源可信追溯體系及多節(jié)點(diǎn)產(chǎn)品同步追溯方面存在一定的研究空間。針對(duì)上述問題,文章以茶葉為溯源對(duì)象,設(shè)計(jì)并實(shí)現(xiàn)了基于區(qū)塊鏈的茶葉可信溯源系統(tǒng)。
基于區(qū)塊鏈的茶葉可信溯源系統(tǒng)圍繞茶葉種植、加工和銷售,從供應(yīng)鏈涉及企業(yè)、消費(fèi)者不同角度設(shè)計(jì)該系統(tǒng)[18]。如圖1所示,系統(tǒng)包括供應(yīng)鏈信息維護(hù)系統(tǒng)和可信溯源系統(tǒng)兩部分,供應(yīng)鏈信息維護(hù)系統(tǒng)提供茶園信息、施肥信息、病蟲害信息、采摘信息、加工信息、銷售信息的記錄輸入,并將其保存在各企業(yè)維護(hù)的本地?cái)?shù)據(jù)庫和區(qū)塊鏈中、形成茶葉產(chǎn)品檔案;本地?cái)?shù)據(jù)庫中的記錄會(huì)定期上傳數(shù)據(jù)到溯源中心數(shù)據(jù)庫;在產(chǎn)品包裝時(shí),通過一定的編碼規(guī)則,生成溯源信息的二維碼,并將銷售編號(hào)打印在茶葉包裝上;消費(fèi)者購買到茶葉產(chǎn)品時(shí),可以通過計(jì)算機(jī)、智能手機(jī)、平板電腦等終端接入溯源系統(tǒng),實(shí)現(xiàn)茶葉可信追溯源。
圖1 茶葉可信溯源系統(tǒng)基本框架Fig.1 The basic framework of the trusted tea traceability system
如圖2所示,可信溯源系統(tǒng)包括數(shù)據(jù)采集層、數(shù)據(jù)存儲(chǔ)層、功能模塊層和提供各種業(yè)務(wù)接口的應(yīng)用層。應(yīng)用層主要是與用戶交互的部分,該層主要包括茶園信息、施肥信息、病蟲害信息、采摘信息、加工信息、銷售信息等管理和錄入以及溯源查詢等。數(shù)據(jù)層包含關(guān)系型數(shù)據(jù)庫中的各條記錄,區(qū)塊鏈節(jié)點(diǎn)與交易的數(shù)據(jù)。而數(shù)據(jù)采集層支持物聯(lián)網(wǎng)設(shè)備、智能手機(jī)、數(shù)據(jù)導(dǎo)入和手工錄入等方式進(jìn)行溯源信息的收集。
系統(tǒng)通過集成各模塊接口實(shí)現(xiàn)管理員信息更改、日志消息查看,對(duì)茶園、茶葉批次、施肥記錄、加工記錄、采摘記錄、銷售記錄等信息的查詢和錄入等功能,并提供溯源接口,輸入產(chǎn)品溯源編號(hào)或掃描溯源二維碼,即顯示該產(chǎn)品對(duì)應(yīng)批次的茶葉在供應(yīng)鏈上各個(gè)環(huán)節(jié)的詳細(xì)信息。在系統(tǒng)的數(shù)據(jù)可視化模塊中,茶葉數(shù)據(jù)模塊包括茶園、批次、產(chǎn)量、銷量數(shù)據(jù)等,茶葉的銷售渠道以動(dòng)態(tài)地圖的形式展示,各個(gè)茶園以餅圖的形式直觀展示其產(chǎn)量對(duì)比及所占百分比,銷量統(tǒng)計(jì)以及施肥數(shù)據(jù)則以柱狀圖或折線圖等形式顯示給用戶,且兩種圖表可以相互轉(zhuǎn)化,并且將所需的圖表信息保存至本地。
系統(tǒng)管理端對(duì)記錄的錄入和查詢有操作權(quán)限,可隨時(shí)查詢某條記錄在區(qū)塊鏈中對(duì)應(yīng)的哈希密鑰,依據(jù)該密鑰查詢區(qū)塊鏈中的數(shù)據(jù),用戶直接訪問瀏覽器使用銷售編號(hào)即可進(jìn)行茶葉信息的溯源查詢,掃描二維碼即可在手機(jī)端顯示茶葉供應(yīng)鏈詳細(xì)信息。對(duì)于權(quán)限的合理分配,一方面使數(shù)據(jù)的安全性、真實(shí)性得到保障,另一方面便于主體各盡其責(zé)、責(zé)不逾界。
圖2 系統(tǒng)體系層次圖Fig.2 System hierarchy diagram
對(duì)于傳統(tǒng)的交易流程來說,由于商家與用戶之間存在信任問題,需要第三方的中心機(jī)構(gòu)或者企業(yè)進(jìn)行背書,通過這樣的形式,用戶會(huì)徒增證明自己符合交易規(guī)則的資本和花費(fèi),使交易效率大大降低,交易成本居高不下,安全性也無法得到有效保證。使用區(qū)塊鏈技術(shù)解決傳統(tǒng)信任問題,即在區(qū)塊鏈系統(tǒng)中的多個(gè)參與方無需第三方信用機(jī)構(gòu)的佐證便可完成各種交易等行為,低成本地實(shí)現(xiàn)價(jià)值轉(zhuǎn)移和信用轉(zhuǎn)移[19]。
包含茶園所有人、采摘加工等階段的負(fù)責(zé)人信息的數(shù)據(jù)字段都會(huì)以其加密形成的十六進(jìn)制字串的形式存儲(chǔ)在區(qū)塊鏈中,以備溯源時(shí)的查詢和事故責(zé)任追究,供應(yīng)鏈過程中各環(huán)節(jié)的企業(yè)單位都與供應(yīng)流程綁定,實(shí)現(xiàn)“有源可溯,有據(jù)可查”。在出廠過程中,各個(gè)包裝袋上將打印銷售編號(hào)和二維碼,二者都唯一對(duì)應(yīng)于產(chǎn)品,用戶依據(jù)此二維碼即可掃描查詢出該產(chǎn)品在整個(gè)茶葉供應(yīng)鏈流程中的所有信息。
圖3 數(shù)據(jù)快速存取方案Fig.3 Data fast access scheme
溯源系統(tǒng)的總體方案結(jié)構(gòu)如圖3所示,種植信息、采摘信息、加工信息、銷售信息各自扮演著區(qū)塊鏈中節(jié)點(diǎn)的角色,大數(shù)據(jù)獲取層信息采集物聯(lián)網(wǎng)設(shè)備只進(jìn)行數(shù)據(jù)加密和傳輸,通過部署在農(nóng)業(yè)生產(chǎn)、流通關(guān)鍵環(huán)節(jié)的數(shù)據(jù)采集物聯(lián)網(wǎng)邊緣驗(yàn)證節(jié)點(diǎn)維護(hù)股權(quán)證明機(jī)制PoS(Proof of Stake),并把信息數(shù)據(jù)摘要作為交易向整個(gè)區(qū)塊鏈網(wǎng)絡(luò)廣播,從源頭解決數(shù)據(jù)信任問題。這些節(jié)點(diǎn)之間是相互平等的,且統(tǒng)一遵守區(qū)塊鏈的共識(shí)機(jī)制。這些溯源信息將分別以傳統(tǒng)數(shù)據(jù)庫和區(qū)塊鏈的方式分別進(jìn)行存儲(chǔ)。主要流程為:
對(duì)于節(jié)點(diǎn)而言,在流通各環(huán)節(jié)中,供應(yīng)鏈上的節(jié)點(diǎn)通過RFID等硬件設(shè)備讀取數(shù)據(jù),以種植茶園節(jié)點(diǎn)為例,種植茶園將種植過程中的相關(guān)信息同時(shí)錄入傳統(tǒng)數(shù)據(jù)庫和種植茶園區(qū)塊鏈節(jié)點(diǎn)中。該節(jié)點(diǎn)通過加密算法,將溯源信息轉(zhuǎn)化為十六進(jìn)制字串,作為數(shù)據(jù)摘要存儲(chǔ)至區(qū)塊鏈網(wǎng)絡(luò)中。當(dāng)信息寫入?yún)^(qū)塊成功后,將會(huì)返回該條交易所對(duì)應(yīng)的唯一哈希值,該哈希值作為表中的hash字段存入MySql數(shù)據(jù)庫,便于取出進(jìn)行溯源信息進(jìn)行對(duì)比等后續(xù)操作。同樣地,茶園和其他各單位將施肥信息、病蟲害信息、采摘信息、加工信息和銷售信息等錄入到MySql中,加密后經(jīng)對(duì)應(yīng)節(jié)點(diǎn)發(fā)送至區(qū)塊鏈中,并將返回值存入MySql數(shù)據(jù)庫。在此過程中,茶園、加工單位、銷售單位等節(jié)點(diǎn)相互監(jiān)督、相互制約,共同參與區(qū)塊鏈系統(tǒng)的維護(hù),同樣遵從共識(shí)機(jī)制,區(qū)塊鏈中的信息都將同步至每個(gè)節(jié)點(diǎn)。
通過上述的系統(tǒng)整體架構(gòu)以及基于區(qū)塊鏈的數(shù)據(jù)存儲(chǔ)方案,解決了溯源系統(tǒng)數(shù)據(jù)易被篡改的問題,能夠保證數(shù)據(jù)一旦存入系統(tǒng)就無法更改。同時(shí)利用區(qū)塊鏈分布式、去信任的特點(diǎn),各個(gè)供應(yīng)鏈環(huán)節(jié)對(duì)應(yīng)節(jié)點(diǎn)之間相互平等且存在制約關(guān)系,數(shù)據(jù)多節(jié)點(diǎn)同步備份,大大削弱了現(xiàn)存追溯系統(tǒng)的中心化問題。
茶葉溯源過程中供應(yīng)鏈流程復(fù)雜、信息量大,且在運(yùn)輸時(shí)外包裝存在破損的可能性,因此根據(jù)二維碼的特點(diǎn)及應(yīng)用方式[20-21],選擇其進(jìn)行追溯碼編碼與茶葉溯源過程十分契合。
系統(tǒng)基于QR Code進(jìn)行了溯源碼設(shè)計(jì),將產(chǎn)品本身與溯源流程結(jié)合起來,商品使用追溯碼編碼技術(shù),以“一物一碼”作為解決方案,從而避免商品的仿冒,實(shí)現(xiàn)可信溯源。供應(yīng)鏈流程標(biāo)識(shí)碼分為00、01和10,分別代表銷售流程、批次信息和種植流程,以標(biāo)識(shí)碼為截取線將數(shù)據(jù)段按供應(yīng)鏈流程分割,標(biāo)識(shí)碼后方為所對(duì)應(yīng)流程的溯源信息數(shù)據(jù)段。在銷售流程中,商家和產(chǎn)品擁有其對(duì)應(yīng)的標(biāo)識(shí)碼,銷售時(shí)間也是其中一個(gè)十分重要的數(shù)據(jù)段,將絕對(duì)時(shí)間轉(zhuǎn)換為十位,即精確到秒的時(shí)間戳的數(shù)據(jù)格式。使用時(shí)間戳能夠加大仿冒的難度,并且與絕對(duì)時(shí)間相比具有較短的位數(shù),以防二維碼數(shù)據(jù)點(diǎn)過多而造成掃描不易的情況。批次信息中選取出廠時(shí)間作為數(shù)據(jù)段。而在種植流程中,茶園編號(hào)為種植茶園溯源的檢索條件,以此唯一確定茶園的各項(xiàng)信息。圖4中的數(shù)據(jù)段表示001號(hào)茶園種植的猴魁茶葉產(chǎn)品于2019年6月5日19點(diǎn)53分17秒出廠,2019年6月10日7點(diǎn)41分32秒在安徽省合肥市某茶葉銷售商售出。
圖4 追溯碼編碼示意圖Fig.4 Trace code coding diagram
基于此編碼方法所生成的追溯碼將唯一對(duì)應(yīng)于茶葉產(chǎn)品,提供所處茶園位置、負(fù)責(zé)人等數(shù)據(jù),以及供應(yīng)鏈上對(duì)茶葉安全具有關(guān)鍵性作用的時(shí)間節(jié)點(diǎn)等信息。作為多平臺(tái)溯源查詢的重要組成部分,二維碼會(huì)與銷售編號(hào)一同打印在產(chǎn)品包裝袋上,用戶使用智能手機(jī)掃描二維碼即可方便快捷地進(jìn)行溯源查詢,了解茶葉的基本信息和流通過程相關(guān)數(shù)據(jù)。
系統(tǒng)對(duì)于多平臺(tái)溯源查詢,即數(shù)據(jù)的完整性及真實(shí)性驗(yàn)證進(jìn)行了設(shè)計(jì)實(shí)現(xiàn)[22],用戶在查詢界面輸入產(chǎn)品上所標(biāo)識(shí)的銷售編號(hào)或者直接掃描產(chǎn)品包裝袋上的二維碼即可進(jìn)行溯源查詢。系統(tǒng)提供網(wǎng)頁溯源、手機(jī)二維碼溯源、微信小程序溯源等多平臺(tái)溯源查詢。
用戶在計(jì)算機(jī)、平板電腦、智能手機(jī)端訪問溯源網(wǎng)頁,輸入唯一銷售編號(hào),相關(guān)溯源信息將返回給用戶。使用平板電腦和智能手機(jī)端掃描二維碼同樣也可實(shí)現(xiàn)溯源信息的查詢功能,以實(shí)現(xiàn)多平臺(tái)產(chǎn)品真實(shí)性驗(yàn)證。在微信小程序端,用戶可隨時(shí)隨地免下載進(jìn)行產(chǎn)品信息追溯。
溯源查詢方案設(shè)計(jì)模式如圖5所示。
用戶可借此直觀地對(duì)比商家提供的數(shù)據(jù)和原始數(shù)據(jù)之間是否存在某環(huán)節(jié)信息的錯(cuò)誤,并且了解產(chǎn)品所屬茶園、批次信息、銷售記錄及關(guān)鍵流程時(shí)間等重要數(shù)據(jù)。
系統(tǒng)實(shí)現(xiàn)了茶葉產(chǎn)品個(gè)體標(biāo)識(shí)與種植、施肥、采摘、加工流程、產(chǎn)品流通等環(huán)節(jié)的集成,采用分布式去中心化的溯源信息系統(tǒng)維護(hù)形式,各供應(yīng)鏈節(jié)點(diǎn)組成區(qū)塊鏈網(wǎng)絡(luò),達(dá)成溯源信息真實(shí)可信的目標(biāo)。
系統(tǒng)主要由區(qū)塊鏈技術(shù)、數(shù)據(jù)庫技術(shù)、Java Web、微信小程序四部分作為技術(shù)依托。
3.1.1 區(qū)塊鏈技術(shù)(以太坊)
作為成熟穩(wěn)定、更新開發(fā)活躍、SDK接口豐富的區(qū)塊鏈平臺(tái),以太坊是系統(tǒng)最為重要的組成部分之一。通過創(chuàng)建genesis.json文件,將系統(tǒng)所依賴的區(qū)塊鏈設(shè)定為私鏈,以此與公網(wǎng)上的主鏈區(qū)分,增強(qiáng)系統(tǒng)的穩(wěn)定性和可維護(hù)性。使用以太坊官方輕量級(jí)SDK web3.js可以調(diào)用暴露在外的RPC接口與本地以太坊節(jié)點(diǎn)相通信,并進(jìn)行供應(yīng)鏈其他節(jié)點(diǎn)的添加。在添加成功后,節(jié)點(diǎn)便參與至區(qū)塊鏈系統(tǒng)的共識(shí)機(jī)制之中,區(qū)塊鏈上各節(jié)點(diǎn)的交易信息、挖礦信息都將同步至其他所有的節(jié)點(diǎn),在任意節(jié)點(diǎn)都可進(jìn)行溯源查詢,這也是該系統(tǒng)實(shí)現(xiàn)多節(jié)點(diǎn)同步追溯的基礎(chǔ)。
系統(tǒng)通過SDK接口實(shí)現(xiàn)與以太坊區(qū)塊鏈平臺(tái)的交互,如圖6所示。
圖5 溯源查詢方案設(shè)計(jì)Fig.5 Traceability query design
圖6 數(shù)據(jù)與以太坊交互Fig.6 The interaction of data and ethereum
供應(yīng)鏈節(jié)點(diǎn)通過jsp頁面進(jìn)行數(shù)據(jù)錄入,并將溯源數(shù)據(jù)按照某種規(guī)則組合成固定格式的字符串后經(jīng)加密形成相應(yīng)數(shù)據(jù)摘要,將其作為input參數(shù)字段,使用節(jié)點(diǎn)默認(rèn)賬號(hào)調(diào)用sendTransaction方法,經(jīng)由區(qū)塊鏈網(wǎng)絡(luò)廣播和共識(shí)機(jī)制驗(yàn)證后永久寫入?yún)^(qū)塊鏈中,為溯源查詢提供不可篡改的原始數(shù)據(jù)。交易在所需余額和氣體限制等要求滿足的情況下發(fā)起成功,返回一條十六進(jìn)制字串,即交易的哈希值,該值唯一標(biāo)識(shí)一筆交易。以該交易哈希作為索引,可在區(qū)塊鏈中通過getTransaction方法檢索到其所對(duì)應(yīng)的交易,并返回該交易所存儲(chǔ)在的區(qū)塊的哈希值和編號(hào),發(fā)送交易的賬號(hào)、在交易中附帶的十六進(jìn)制格式數(shù)據(jù)摘要等重要內(nèi)容。提取其中的input字串并進(jìn)行解密,即可獲得溯源信息,對(duì)溯源信息進(jìn)行格式處理與操作,與jsp頁面進(jìn)行交互,對(duì)用戶進(jìn)行展示。
所以,采用區(qū)塊鏈技術(shù)能夠?qū)崿F(xiàn)如下目標(biāo),即使當(dāng)數(shù)據(jù)庫中的數(shù)據(jù)被整體或者局部更改,區(qū)塊鏈上的數(shù)據(jù)受約束于其一致性算法無法被修改,如對(duì)消費(fèi)者而言至關(guān)重要的出廠時(shí)間等信息。而在去中心化方面,區(qū)塊鏈網(wǎng)絡(luò)由各節(jié)點(diǎn)共同維護(hù),實(shí)現(xiàn)數(shù)據(jù)信息的分布式存儲(chǔ),信息不再由單一的中心節(jié)點(diǎn)進(jìn)行維護(hù),一定程度上提高了數(shù)據(jù)的真實(shí)性。
3.1.2 數(shù)據(jù)庫技術(shù)
使用關(guān)系型數(shù)據(jù)庫MySql提供基礎(chǔ)信息的存儲(chǔ),維護(hù)系統(tǒng)在管理運(yùn)行過程中產(chǎn)生的各類數(shù)據(jù),為溯源查詢提供數(shù)據(jù)支持。
3.1.3 Java Web
基于Java Web技術(shù)開發(fā)用戶與系統(tǒng)間的交互界面,對(duì)普通消費(fèi)者用戶提供溯源接口,對(duì)管理員用戶提供信息錄入、信息可視化分析等功能。數(shù)據(jù)流經(jīng)控制層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層等,實(shí)現(xiàn)溯源信息由前端至傳統(tǒng)數(shù)據(jù)庫MySql的存儲(chǔ)。
3.1.4 微信小程序
小程序是一種無需下載安裝即可使用的應(yīng)用,以最低成本即可觸及用戶。目前的溯源系統(tǒng)基本不包含微信小程序端,系統(tǒng)包含微信小程序端順應(yīng)程序更為輕量級(jí)、低門檻的發(fā)展趨勢,也為用戶提供了更多的選擇和更佳的使用體驗(yàn)。以微信小程序端實(shí)現(xiàn)對(duì)溯源信息的“即用即查”,對(duì)系統(tǒng)進(jìn)行接入方式和使用維度的拓展。
系統(tǒng)主要以Java為開發(fā)平臺(tái)。其中供應(yīng)鏈管理系統(tǒng)部分采用B/S架構(gòu),而供應(yīng)鏈溯源系統(tǒng)為消費(fèi)者提供多終端溯源接口,其中網(wǎng)頁溯源使用計(jì)算機(jī)、智能手機(jī)、平板電腦等即可訪問溯源,通過智能設(shè)備掃描二維碼后也可獲取溯源信息,并實(shí)現(xiàn)微信小程序端的信息錄入與溯源查詢。
3.2.1 供應(yīng)鏈節(jié)點(diǎn)管理
供應(yīng)鏈節(jié)點(diǎn)位于同一條區(qū)塊鏈上,其信息相互之間同步,可以在一個(gè)節(jié)點(diǎn)實(shí)現(xiàn)供應(yīng)鏈全程信息追溯,并負(fù)責(zé)信息的錄入和維護(hù),如圖7。
圖7 茶園管理界面Fig.7 Tea garden management interface
供應(yīng)鏈中茶園、企業(yè)單位等可以利用該系統(tǒng)的溯源機(jī)制降低成本與風(fēng)險(xiǎn),提升產(chǎn)品質(zhì)量安全的可信度,為其提供可靠的產(chǎn)品競爭力。
3.2.2 消費(fèi)者用戶查詢
在網(wǎng)頁端溯源信息查詢界面中,消費(fèi)者通過輸入包裝上唯一標(biāo)識(shí)的銷售編號(hào),查詢出MySql中的商家數(shù)據(jù)和區(qū)塊鏈中的原始數(shù)據(jù),便可直觀地看到該產(chǎn)品的茶園種植采摘信息、供應(yīng)鏈流通加工信息以及產(chǎn)品自身特點(diǎn)等具體數(shù)據(jù)。同樣,用戶可使用手機(jī)掃描二維碼獲取如圖8的溯源信息,顯示茶葉產(chǎn)品供應(yīng)鏈信息以及數(shù)據(jù)是否已通過區(qū)塊鏈校驗(yàn)。
3.2.3 微信小程序端
借助微信小程序優(yōu)秀的生態(tài)環(huán)境,實(shí)現(xiàn)無需下載應(yīng)用即可進(jìn)行信息錄入和溯源查詢,使溯源和節(jié)點(diǎn)管理更加高效快捷。如圖9所示為微信小程序端的信息錄入界面。
圖8 二維碼溯源查詢Fig.8 QR code traceability query
圖9 微信小程序信息錄入Fig.9 WeChat applet information entry
對(duì)于用戶而言,用戶在溯源查詢頁面中輸入茶葉產(chǎn)品包裝上具有唯一性的銷售編號(hào),即在網(wǎng)頁端顯示供應(yīng)鏈的詳細(xì)流程信息,用戶可對(duì)比分別從區(qū)塊鏈和數(shù)據(jù)庫中獲得的原始信息和商家信息,若二者內(nèi)容表現(xiàn)一致,則數(shù)據(jù)庫中的信息自錄入以來沒有被篡改過,數(shù)據(jù)可信、真實(shí)、完整。用戶可在手機(jī)端掃描產(chǎn)品二維碼查看溯源信息,界面為響應(yīng)式布局,溯源信息顯示清晰、便于對(duì)比。
在分析茶葉從采摘到杯中的供應(yīng)鏈過程的基礎(chǔ)上,設(shè)計(jì)與開發(fā)了茶葉溯源系統(tǒng),實(shí)現(xiàn)了溯源信息錄入至傳統(tǒng)數(shù)據(jù)庫和區(qū)塊鏈、信息檢索、多平臺(tái)溯源查詢等功能,用戶可通過多樣方式追溯到產(chǎn)品的信息。系統(tǒng)通過調(diào)用以太坊SDK接口將數(shù)據(jù)存儲(chǔ)在區(qū)塊鏈中,充分利用區(qū)塊鏈的去中心化、去信任、數(shù)據(jù)不可篡改等特點(diǎn)和優(yōu)勢,在多臺(tái)計(jì)算機(jī)上部署節(jié)點(diǎn)并進(jìn)行功能測試,實(shí)現(xiàn)溯源信息同步可查,溯源系統(tǒng)的中心化程度得到有效降低,提高了數(shù)據(jù)的安全性和真實(shí)性,并能在發(fā)生事故時(shí)快速責(zé)任追究至負(fù)責(zé)人,達(dá)到了預(yù)定目標(biāo)。系統(tǒng)的不足之處主要在于goethereum客戶端的部署及兼容性問題,節(jié)點(diǎn)同步穩(wěn)定性有待加強(qiáng),優(yōu)化節(jié)點(diǎn)配置將是下一步的研究重點(diǎn)。
黑龍江八一農(nóng)墾大學(xué)學(xué)報(bào)2020年2期