国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于區(qū)塊鏈的茶葉可信溯源系統(tǒng)的設計與實現(xiàn)

2020-05-06 03:34汪家偉饒元常仲禹
關鍵詞:茶園二維碼區(qū)塊

汪家偉,饒元,常仲禹

(安徽農(nóng)業(yè)大學信息與計算機學院,合肥230036)

針對商品的安全性及供應鏈存在的問題[1],當前已有一些應對措施,顏波等[2]運用RFID電子標簽和EPC物聯(lián)網(wǎng)技術,實現(xiàn)對產(chǎn)品的全程跟蹤與追溯。王振輝[3]將二維碼技術與溯源相結(jié)合,并采用混合加密算法防止二維碼偽造。但是在這些追溯系統(tǒng)中,數(shù)據(jù)的采集錄入主要依賴于地方監(jiān)管部門或者產(chǎn)業(yè)核心企業(yè),其中心化的特點無法根除,即仍然存在數(shù)據(jù)的不對稱性以及其被主觀修改的可能,且不易實現(xiàn)溯源信息共享[4]。

而區(qū)塊鏈技術則為溯源提供了有力的技術支撐[5]。2008年,一位化名為“中本聰”(Satoshi Nakamoto)的學者發(fā)表了關于比特幣奠基性論文,并于2009年1月實現(xiàn)了其最初版本,開始在一個開源的區(qū)塊鏈上運行[6]。十一年來,區(qū)塊鏈已發(fā)展出不同的結(jié)合模式,如今的區(qū)塊鏈3.0,與物品追溯、醫(yī)療信息管理等領域有機結(jié)合。尚文倩等[7]基于區(qū)塊鏈的分布式存儲以及其他特征以跟蹤新聞,實現(xiàn)新聞來源的可查性。Asaph Azaria等[8]利用區(qū)塊鏈的獨特屬性,為醫(yī)院患者提供全面、不可變的日志,并可在供應商和治療站點訪問其醫(yī)療信息,實現(xiàn)身份驗證,機密性,問責制和數(shù)據(jù)共享。Marco Conoscenti等[9]研究區(qū)塊鏈和點對點方法與促進分布式和私有設計的物聯(lián)網(wǎng)之間的關系。Nir Kshetri[10]分析并論證了基于區(qū)塊鏈的解決方案在許多方面優(yōu)于當前的物聯(lián)網(wǎng)生態(tài)系統(tǒng),區(qū)塊鏈的分布式特點使惡意參與者操縱和偽造的可能性降低。

在食品與區(qū)塊鏈結(jié)合方面,F(xiàn)rank Yiannas[11]表明區(qū)塊鏈驅(qū)動了食品透明度的新時代,指出區(qū)塊鏈的去中心化、不可變、共識機制等特點是提高食品的可信度和透明度的原因??梢?,區(qū)塊鏈對于來源追溯、提高可信程度方面具有較大的優(yōu)勢和發(fā)展應用前景[12-17],并且現(xiàn)今在建立食品溯源可信追溯體系及多節(jié)點產(chǎn)品同步追溯方面存在一定的研究空間。針對上述問題,文章以茶葉為溯源對象,設計并實現(xiàn)了基于區(qū)塊鏈的茶葉可信溯源系統(tǒng)。

1 系統(tǒng)設計

1.1 可信溯源系統(tǒng)總體框架

基于區(qū)塊鏈的茶葉可信溯源系統(tǒng)圍繞茶葉種植、加工和銷售,從供應鏈涉及企業(yè)、消費者不同角度設計該系統(tǒng)[18]。如圖1所示,系統(tǒng)包括供應鏈信息維護系統(tǒng)和可信溯源系統(tǒng)兩部分,供應鏈信息維護系統(tǒng)提供茶園信息、施肥信息、病蟲害信息、采摘信息、加工信息、銷售信息的記錄輸入,并將其保存在各企業(yè)維護的本地數(shù)據(jù)庫和區(qū)塊鏈中、形成茶葉產(chǎn)品檔案;本地數(shù)據(jù)庫中的記錄會定期上傳數(shù)據(jù)到溯源中心數(shù)據(jù)庫;在產(chǎn)品包裝時,通過一定的編碼規(guī)則,生成溯源信息的二維碼,并將銷售編號打印在茶葉包裝上;消費者購買到茶葉產(chǎn)品時,可以通過計算機、智能手機、平板電腦等終端接入溯源系統(tǒng),實現(xiàn)茶葉可信追溯源。

圖1 茶葉可信溯源系統(tǒng)基本框架Fig.1 The basic framework of the trusted tea traceability system

1.2 可信溯源系統(tǒng)體系結(jié)構(gòu)

如圖2所示,可信溯源系統(tǒng)包括數(shù)據(jù)采集層、數(shù)據(jù)存儲層、功能模塊層和提供各種業(yè)務接口的應用層。應用層主要是與用戶交互的部分,該層主要包括茶園信息、施肥信息、病蟲害信息、采摘信息、加工信息、銷售信息等管理和錄入以及溯源查詢等。數(shù)據(jù)層包含關系型數(shù)據(jù)庫中的各條記錄,區(qū)塊鏈節(jié)點與交易的數(shù)據(jù)。而數(shù)據(jù)采集層支持物聯(lián)網(wǎng)設備、智能手機、數(shù)據(jù)導入和手工錄入等方式進行溯源信息的收集。

系統(tǒng)通過集成各模塊接口實現(xiàn)管理員信息更改、日志消息查看,對茶園、茶葉批次、施肥記錄、加工記錄、采摘記錄、銷售記錄等信息的查詢和錄入等功能,并提供溯源接口,輸入產(chǎn)品溯源編號或掃描溯源二維碼,即顯示該產(chǎn)品對應批次的茶葉在供應鏈上各個環(huán)節(jié)的詳細信息。在系統(tǒng)的數(shù)據(jù)可視化模塊中,茶葉數(shù)據(jù)模塊包括茶園、批次、產(chǎn)量、銷量數(shù)據(jù)等,茶葉的銷售渠道以動態(tài)地圖的形式展示,各個茶園以餅圖的形式直觀展示其產(chǎn)量對比及所占百分比,銷量統(tǒng)計以及施肥數(shù)據(jù)則以柱狀圖或折線圖等形式顯示給用戶,且兩種圖表可以相互轉(zhuǎn)化,并且將所需的圖表信息保存至本地。

系統(tǒng)管理端對記錄的錄入和查詢有操作權(quán)限,可隨時查詢某條記錄在區(qū)塊鏈中對應的哈希密鑰,依據(jù)該密鑰查詢區(qū)塊鏈中的數(shù)據(jù),用戶直接訪問瀏覽器使用銷售編號即可進行茶葉信息的溯源查詢,掃描二維碼即可在手機端顯示茶葉供應鏈詳細信息。對于權(quán)限的合理分配,一方面使數(shù)據(jù)的安全性、真實性得到保障,另一方面便于主體各盡其責、責不逾界。

圖2 系統(tǒng)體系層次圖Fig.2 System hierarchy diagram

2 關鍵技術

2.1 數(shù)據(jù)可信獲取技術

對于傳統(tǒng)的交易流程來說,由于商家與用戶之間存在信任問題,需要第三方的中心機構(gòu)或者企業(yè)進行背書,通過這樣的形式,用戶會徒增證明自己符合交易規(guī)則的資本和花費,使交易效率大大降低,交易成本居高不下,安全性也無法得到有效保證。使用區(qū)塊鏈技術解決傳統(tǒng)信任問題,即在區(qū)塊鏈系統(tǒng)中的多個參與方無需第三方信用機構(gòu)的佐證便可完成各種交易等行為,低成本地實現(xiàn)價值轉(zhuǎn)移和信用轉(zhuǎn)移[19]。

包含茶園所有人、采摘加工等階段的負責人信息的數(shù)據(jù)字段都會以其加密形成的十六進制字串的形式存儲在區(qū)塊鏈中,以備溯源時的查詢和事故責任追究,供應鏈過程中各環(huán)節(jié)的企業(yè)單位都與供應流程綁定,實現(xiàn)“有源可溯,有據(jù)可查”。在出廠過程中,各個包裝袋上將打印銷售編號和二維碼,二者都唯一對應于產(chǎn)品,用戶依據(jù)此二維碼即可掃描查詢出該產(chǎn)品在整個茶葉供應鏈流程中的所有信息。

圖3 數(shù)據(jù)快速存取方案Fig.3 Data fast access scheme

溯源系統(tǒng)的總體方案結(jié)構(gòu)如圖3所示,種植信息、采摘信息、加工信息、銷售信息各自扮演著區(qū)塊鏈中節(jié)點的角色,大數(shù)據(jù)獲取層信息采集物聯(lián)網(wǎng)設備只進行數(shù)據(jù)加密和傳輸,通過部署在農(nóng)業(yè)生產(chǎn)、流通關鍵環(huán)節(jié)的數(shù)據(jù)采集物聯(lián)網(wǎng)邊緣驗證節(jié)點維護股權(quán)證明機制PoS(Proof of Stake),并把信息數(shù)據(jù)摘要作為交易向整個區(qū)塊鏈網(wǎng)絡廣播,從源頭解決數(shù)據(jù)信任問題。這些節(jié)點之間是相互平等的,且統(tǒng)一遵守區(qū)塊鏈的共識機制。這些溯源信息將分別以傳統(tǒng)數(shù)據(jù)庫和區(qū)塊鏈的方式分別進行存儲。主要流程為:

對于節(jié)點而言,在流通各環(huán)節(jié)中,供應鏈上的節(jié)點通過RFID等硬件設備讀取數(shù)據(jù),以種植茶園節(jié)點為例,種植茶園將種植過程中的相關信息同時錄入傳統(tǒng)數(shù)據(jù)庫和種植茶園區(qū)塊鏈節(jié)點中。該節(jié)點通過加密算法,將溯源信息轉(zhuǎn)化為十六進制字串,作為數(shù)據(jù)摘要存儲至區(qū)塊鏈網(wǎng)絡中。當信息寫入?yún)^(qū)塊成功后,將會返回該條交易所對應的唯一哈希值,該哈希值作為表中的hash字段存入MySql數(shù)據(jù)庫,便于取出進行溯源信息進行對比等后續(xù)操作。同樣地,茶園和其他各單位將施肥信息、病蟲害信息、采摘信息、加工信息和銷售信息等錄入到MySql中,加密后經(jīng)對應節(jié)點發(fā)送至區(qū)塊鏈中,并將返回值存入MySql數(shù)據(jù)庫。在此過程中,茶園、加工單位、銷售單位等節(jié)點相互監(jiān)督、相互制約,共同參與區(qū)塊鏈系統(tǒng)的維護,同樣遵從共識機制,區(qū)塊鏈中的信息都將同步至每個節(jié)點。

通過上述的系統(tǒng)整體架構(gòu)以及基于區(qū)塊鏈的數(shù)據(jù)存儲方案,解決了溯源系統(tǒng)數(shù)據(jù)易被篡改的問題,能夠保證數(shù)據(jù)一旦存入系統(tǒng)就無法更改。同時利用區(qū)塊鏈分布式、去信任的特點,各個供應鏈環(huán)節(jié)對應節(jié)點之間相互平等且存在制約關系,數(shù)據(jù)多節(jié)點同步備份,大大削弱了現(xiàn)存追溯系統(tǒng)的中心化問題。

2.2 基于二維碼的追溯碼編碼技術

茶葉溯源過程中供應鏈流程復雜、信息量大,且在運輸時外包裝存在破損的可能性,因此根據(jù)二維碼的特點及應用方式[20-21],選擇其進行追溯碼編碼與茶葉溯源過程十分契合。

系統(tǒng)基于QR Code進行了溯源碼設計,將產(chǎn)品本身與溯源流程結(jié)合起來,商品使用追溯碼編碼技術,以“一物一碼”作為解決方案,從而避免商品的仿冒,實現(xiàn)可信溯源。供應鏈流程標識碼分為00、01和10,分別代表銷售流程、批次信息和種植流程,以標識碼為截取線將數(shù)據(jù)段按供應鏈流程分割,標識碼后方為所對應流程的溯源信息數(shù)據(jù)段。在銷售流程中,商家和產(chǎn)品擁有其對應的標識碼,銷售時間也是其中一個十分重要的數(shù)據(jù)段,將絕對時間轉(zhuǎn)換為十位,即精確到秒的時間戳的數(shù)據(jù)格式。使用時間戳能夠加大仿冒的難度,并且與絕對時間相比具有較短的位數(shù),以防二維碼數(shù)據(jù)點過多而造成掃描不易的情況。批次信息中選取出廠時間作為數(shù)據(jù)段。而在種植流程中,茶園編號為種植茶園溯源的檢索條件,以此唯一確定茶園的各項信息。圖4中的數(shù)據(jù)段表示001號茶園種植的猴魁茶葉產(chǎn)品于2019年6月5日19點53分17秒出廠,2019年6月10日7點41分32秒在安徽省合肥市某茶葉銷售商售出。

圖4 追溯碼編碼示意圖Fig.4 Trace code coding diagram

基于此編碼方法所生成的追溯碼將唯一對應于茶葉產(chǎn)品,提供所處茶園位置、負責人等數(shù)據(jù),以及供應鏈上對茶葉安全具有關鍵性作用的時間節(jié)點等信息。作為多平臺溯源查詢的重要組成部分,二維碼會與銷售編號一同打印在產(chǎn)品包裝袋上,用戶使用智能手機掃描二維碼即可方便快捷地進行溯源查詢,了解茶葉的基本信息和流通過程相關數(shù)據(jù)。

2.3 多平臺溯源查詢

系統(tǒng)對于多平臺溯源查詢,即數(shù)據(jù)的完整性及真實性驗證進行了設計實現(xiàn)[22],用戶在查詢界面輸入產(chǎn)品上所標識的銷售編號或者直接掃描產(chǎn)品包裝袋上的二維碼即可進行溯源查詢。系統(tǒng)提供網(wǎng)頁溯源、手機二維碼溯源、微信小程序溯源等多平臺溯源查詢。

用戶在計算機、平板電腦、智能手機端訪問溯源網(wǎng)頁,輸入唯一銷售編號,相關溯源信息將返回給用戶。使用平板電腦和智能手機端掃描二維碼同樣也可實現(xiàn)溯源信息的查詢功能,以實現(xiàn)多平臺產(chǎn)品真實性驗證。在微信小程序端,用戶可隨時隨地免下載進行產(chǎn)品信息追溯。

溯源查詢方案設計模式如圖5所示。

用戶可借此直觀地對比商家提供的數(shù)據(jù)和原始數(shù)據(jù)之間是否存在某環(huán)節(jié)信息的錯誤,并且了解產(chǎn)品所屬茶園、批次信息、銷售記錄及關鍵流程時間等重要數(shù)據(jù)。

3 系統(tǒng)實現(xiàn)

系統(tǒng)實現(xiàn)了茶葉產(chǎn)品個體標識與種植、施肥、采摘、加工流程、產(chǎn)品流通等環(huán)節(jié)的集成,采用分布式去中心化的溯源信息系統(tǒng)維護形式,各供應鏈節(jié)點組成區(qū)塊鏈網(wǎng)絡,達成溯源信息真實可信的目標。

3.1 技術特征

系統(tǒng)主要由區(qū)塊鏈技術、數(shù)據(jù)庫技術、Java Web、微信小程序四部分作為技術依托。

3.1.1 區(qū)塊鏈技術(以太坊)

作為成熟穩(wěn)定、更新開發(fā)活躍、SDK接口豐富的區(qū)塊鏈平臺,以太坊是系統(tǒng)最為重要的組成部分之一。通過創(chuàng)建genesis.json文件,將系統(tǒng)所依賴的區(qū)塊鏈設定為私鏈,以此與公網(wǎng)上的主鏈區(qū)分,增強系統(tǒng)的穩(wěn)定性和可維護性。使用以太坊官方輕量級SDK web3.js可以調(diào)用暴露在外的RPC接口與本地以太坊節(jié)點相通信,并進行供應鏈其他節(jié)點的添加。在添加成功后,節(jié)點便參與至區(qū)塊鏈系統(tǒng)的共識機制之中,區(qū)塊鏈上各節(jié)點的交易信息、挖礦信息都將同步至其他所有的節(jié)點,在任意節(jié)點都可進行溯源查詢,這也是該系統(tǒng)實現(xiàn)多節(jié)點同步追溯的基礎。

系統(tǒng)通過SDK接口實現(xiàn)與以太坊區(qū)塊鏈平臺的交互,如圖6所示。

圖5 溯源查詢方案設計Fig.5 Traceability query design

圖6 數(shù)據(jù)與以太坊交互Fig.6 The interaction of data and ethereum

供應鏈節(jié)點通過jsp頁面進行數(shù)據(jù)錄入,并將溯源數(shù)據(jù)按照某種規(guī)則組合成固定格式的字符串后經(jīng)加密形成相應數(shù)據(jù)摘要,將其作為input參數(shù)字段,使用節(jié)點默認賬號調(diào)用sendTransaction方法,經(jīng)由區(qū)塊鏈網(wǎng)絡廣播和共識機制驗證后永久寫入?yún)^(qū)塊鏈中,為溯源查詢提供不可篡改的原始數(shù)據(jù)。交易在所需余額和氣體限制等要求滿足的情況下發(fā)起成功,返回一條十六進制字串,即交易的哈希值,該值唯一標識一筆交易。以該交易哈希作為索引,可在區(qū)塊鏈中通過getTransaction方法檢索到其所對應的交易,并返回該交易所存儲在的區(qū)塊的哈希值和編號,發(fā)送交易的賬號、在交易中附帶的十六進制格式數(shù)據(jù)摘要等重要內(nèi)容。提取其中的input字串并進行解密,即可獲得溯源信息,對溯源信息進行格式處理與操作,與jsp頁面進行交互,對用戶進行展示。

所以,采用區(qū)塊鏈技術能夠?qū)崿F(xiàn)如下目標,即使當數(shù)據(jù)庫中的數(shù)據(jù)被整體或者局部更改,區(qū)塊鏈上的數(shù)據(jù)受約束于其一致性算法無法被修改,如對消費者而言至關重要的出廠時間等信息。而在去中心化方面,區(qū)塊鏈網(wǎng)絡由各節(jié)點共同維護,實現(xiàn)數(shù)據(jù)信息的分布式存儲,信息不再由單一的中心節(jié)點進行維護,一定程度上提高了數(shù)據(jù)的真實性。

3.1.2 數(shù)據(jù)庫技術

使用關系型數(shù)據(jù)庫MySql提供基礎信息的存儲,維護系統(tǒng)在管理運行過程中產(chǎn)生的各類數(shù)據(jù),為溯源查詢提供數(shù)據(jù)支持。

3.1.3 Java Web

基于Java Web技術開發(fā)用戶與系統(tǒng)間的交互界面,對普通消費者用戶提供溯源接口,對管理員用戶提供信息錄入、信息可視化分析等功能。數(shù)據(jù)流經(jīng)控制層、業(yè)務邏輯層、數(shù)據(jù)持久層等,實現(xiàn)溯源信息由前端至傳統(tǒng)數(shù)據(jù)庫MySql的存儲。

3.1.4 微信小程序

小程序是一種無需下載安裝即可使用的應用,以最低成本即可觸及用戶。目前的溯源系統(tǒng)基本不包含微信小程序端,系統(tǒng)包含微信小程序端順應程序更為輕量級、低門檻的發(fā)展趨勢,也為用戶提供了更多的選擇和更佳的使用體驗。以微信小程序端實現(xiàn)對溯源信息的“即用即查”,對系統(tǒng)進行接入方式和使用維度的拓展。

3.2 具體實現(xiàn)與功能演示

系統(tǒng)主要以Java為開發(fā)平臺。其中供應鏈管理系統(tǒng)部分采用B/S架構(gòu),而供應鏈溯源系統(tǒng)為消費者提供多終端溯源接口,其中網(wǎng)頁溯源使用計算機、智能手機、平板電腦等即可訪問溯源,通過智能設備掃描二維碼后也可獲取溯源信息,并實現(xiàn)微信小程序端的信息錄入與溯源查詢。

3.2.1 供應鏈節(jié)點管理

供應鏈節(jié)點位于同一條區(qū)塊鏈上,其信息相互之間同步,可以在一個節(jié)點實現(xiàn)供應鏈全程信息追溯,并負責信息的錄入和維護,如圖7。

圖7 茶園管理界面Fig.7 Tea garden management interface

供應鏈中茶園、企業(yè)單位等可以利用該系統(tǒng)的溯源機制降低成本與風險,提升產(chǎn)品質(zhì)量安全的可信度,為其提供可靠的產(chǎn)品競爭力。

3.2.2 消費者用戶查詢

在網(wǎng)頁端溯源信息查詢界面中,消費者通過輸入包裝上唯一標識的銷售編號,查詢出MySql中的商家數(shù)據(jù)和區(qū)塊鏈中的原始數(shù)據(jù),便可直觀地看到該產(chǎn)品的茶園種植采摘信息、供應鏈流通加工信息以及產(chǎn)品自身特點等具體數(shù)據(jù)。同樣,用戶可使用手機掃描二維碼獲取如圖8的溯源信息,顯示茶葉產(chǎn)品供應鏈信息以及數(shù)據(jù)是否已通過區(qū)塊鏈校驗。

3.2.3 微信小程序端

借助微信小程序優(yōu)秀的生態(tài)環(huán)境,實現(xiàn)無需下載應用即可進行信息錄入和溯源查詢,使溯源和節(jié)點管理更加高效快捷。如圖9所示為微信小程序端的信息錄入界面。

圖8 二維碼溯源查詢Fig.8 QR code traceability query

圖9 微信小程序信息錄入Fig.9 WeChat applet information entry

對于用戶而言,用戶在溯源查詢頁面中輸入茶葉產(chǎn)品包裝上具有唯一性的銷售編號,即在網(wǎng)頁端顯示供應鏈的詳細流程信息,用戶可對比分別從區(qū)塊鏈和數(shù)據(jù)庫中獲得的原始信息和商家信息,若二者內(nèi)容表現(xiàn)一致,則數(shù)據(jù)庫中的信息自錄入以來沒有被篡改過,數(shù)據(jù)可信、真實、完整。用戶可在手機端掃描產(chǎn)品二維碼查看溯源信息,界面為響應式布局,溯源信息顯示清晰、便于對比。

4 總結(jié)

在分析茶葉從采摘到杯中的供應鏈過程的基礎上,設計與開發(fā)了茶葉溯源系統(tǒng),實現(xiàn)了溯源信息錄入至傳統(tǒng)數(shù)據(jù)庫和區(qū)塊鏈、信息檢索、多平臺溯源查詢等功能,用戶可通過多樣方式追溯到產(chǎn)品的信息。系統(tǒng)通過調(diào)用以太坊SDK接口將數(shù)據(jù)存儲在區(qū)塊鏈中,充分利用區(qū)塊鏈的去中心化、去信任、數(shù)據(jù)不可篡改等特點和優(yōu)勢,在多臺計算機上部署節(jié)點并進行功能測試,實現(xiàn)溯源信息同步可查,溯源系統(tǒng)的中心化程度得到有效降低,提高了數(shù)據(jù)的安全性和真實性,并能在發(fā)生事故時快速責任追究至負責人,達到了預定目標。系統(tǒng)的不足之處主要在于goethereum客戶端的部署及兼容性問題,節(jié)點同步穩(wěn)定性有待加強,優(yōu)化節(jié)點配置將是下一步的研究重點。

猜你喜歡
茶園二維碼區(qū)塊
茶園飄香
二維碼
小康二維碼
周寧生態(tài)茶園
《紅樓夢》的數(shù)字化述評——兼及區(qū)塊鏈的啟示
區(qū)塊鏈助跑財資管理
紅六軍團威震茶園渡
一場區(qū)塊鏈引發(fā)的全民狂歡
區(qū)塊鏈助力企業(yè)創(chuàng)新
茶園觀色