于連軍,于蘊吉,劉嘯天,張 浩,陳桂芬
(1.長春市農業信息中心,吉林長春 130118;2.農安縣動物衛生監督所,吉林農安 130216;3.東北師范大學長春人文學院,吉林長春 130117)
近幾年,因食品質量問題引發的糾紛、事故等屢見不鮮,所以食品安全問題逐漸受到各界的廣泛關注[1,2]。食品安全問題的屢次發生,不僅打擊了消費者對食品行業的信心,同時也對食品種植地、生產地的經濟造成了嚴重影響。大米作為我國主要的糧食之一,保證其食品安全就顯得尤為重要[3]。大米從種植到銷售,步驟繁多,涉及的人員更是很廣泛,因此要想從根源保證大米的質量是非常困難的。尤其目前用于大米溯源的系統非常單一,并且存在管理人員隨意篡改大米信息的現象,因而就導致了大米信息可信度低的問題。基于此,構建一套大米追溯系統是非常必要的。本文基于區塊鏈、RFID技術等設計了一款可以應用于大米信息追溯的追溯系統。
區塊鏈從本質上來說就是一個去中心化的數據庫,其將不同數量的區塊按照鏈式方式連接在一起。鏈中的每一個區塊都保存了相應的信息,并嚴格按照時間順序連接在一起。在區塊鏈中,這些區塊稱為節點,每一個節點都保存在不同的個體手中,因此要想對區塊鏈內任一節點中的信息進行更改,都必須經過一半以上的節點同意,不然更改信息的要求就無法實現。區塊鏈結構圖如圖1所示,區塊鏈中的每一個區塊都包含兩個部分,分別是區塊頭和區塊主體。其中區塊頭包含區塊好、哈希值以及時間戳等信息;區塊主體則包含所有的交易信息。
AES的全稱是Advanced Encryption Standard,意思是高級加密標準。AES是經典的加密算法,加密流程圖如圖2。
AES加密過程包括三個輪次,分別是初始輪、普通輪和最終輪。密鑰長度不同,輪次也會不同。除去初始輪,密鑰為128位,設置10輪;密鑰為192位,設置12輪;密鑰為256位,設置14輪(后續介紹以10輪為例)。除最后一輪外,每一輪都包含四個處理步驟,分別是字節替換、移位行、列混合轉換和輪密鑰添加。
ECB模式全稱為Electronic CodeBook,是一種加密模式,其基本工作原理是先將需要進行加密的數據進行分組,然后嚴格按照分組進行加密和解密操作。在區塊鏈中,ECB模式會將明文按照一定的位長進行分組,然后對明文塊進行加密處理,處理以后得到密文組。在后續進行解密的時候,操作相似,只不過是將經過加密以后由明文變成密文的密文塊再轉換為明文。
超級賬本(Hyperledger Fabric)屬于聯盟鏈,參與者需要進行成員身份管理和驗證,且超級賬本同時可以支持多種不同的成員管理。超級賬本的參與者可以建立不同的通道,在相同通道內的參與者可以共享該通道內的賬內,而不屬于該通道的參與者則不能擁有該通道內賬本的信息。
為了約束區塊鏈內各節點的行為會設置智能合約,智能合約實質上就是一種計算機交易協議,被稱為Chaincode。在不屬于區塊鏈內部程序需要調用區塊鏈內賬本的情況下,智能合約才會被調用。且在通常情況下,智能合約是不會查閱區塊鏈主體內的交易記錄的。
二維碼技術是近幾年應用較為廣泛的一種編碼技術,與其他編碼技術相比,二維碼技術不僅可以存儲更多的信息,同時還可以表示更多的數據類型。本次編碼規則依據農業農村部發布的《中華人民共和國農業行業標準》中的編碼規則進行編碼。
2.1.1 系統需求設計分析
大米在種植、加工、運輸、銷售等過程中都會涉及很多工作步驟,同時也會涉及很多參與人員,所以整個追溯系統是一個綜合性的系統。為保證可以對追溯系統的需求進行準確分析,將追溯系統的參與者分為三個部分,分別是服務提供者、消費者和監管者以及管理者。其中服務者、提供者包括所有提供服務的參與人員,包括農民、倉庫工作人員、銷售人員等等,這些人員需要完成身份認證,然后還需要將所有有關大米的信息都錄入到區塊鏈內。消費和監督者包括消費者以及監管部門的人員等,無論是消費者,還是監管部門的人員,都可以通過查詢大米的追溯碼以查看大米的所有信息,且可以進行監督,如果發現大米存在質量問題,或者是信息不真實的問題,就可以進行舉報,尤其是監管部門人員,一旦發現上述問題就應該立刻根據區塊鏈內保存的信息對大米生產地、銷售地等進行追蹤溯源,將不合格的產品追回,且還要對相關人員進行相應的懲罰。區塊鏈管理人員是區塊鏈內部重要的組成成員之一,其負責區塊鏈內部的數據管理以及用戶管理等等,因此區塊鏈管理人員直接決定著區塊鏈的使用效能。
2.1.2 系統數據庫設計
區塊鏈內部的信息是公開的,因此很多用戶在上傳信息的時候就涉及隱私問題。比如,在大米種植技術上,不同農戶使用的可能是不同的種植技術,而這些種植技術農戶是不想公開的;工廠在進行加工的時候,不同工廠可能也會采用不同的加工技術,而這些技術同樣是工廠不想公開的等等,所以為了解決這個問題,就應用到了AES算法以及EBC模式。依托于這兩種技術,參與者可以將隱私信息加密以后再上傳。為減少區塊鏈內出現信息冗余的現象,在此對不同參與者需要上傳的信息進行規定,具體信息見表1。
2.1.3 系統框架設計
大米追溯系統總共包括5層,分別是數據采集層、存儲層、合約層、共識層和應用層。其中,數據采集層包括各個階段的數據信息采集,比如,利用RFID射頻技術采集大米條形碼信息;應用各種傳感器獲取大米種植的濕度信息、溫度信息以及氧氣信息;應用GPS技術獲取地理位置信息等等。存儲層主要負責各個階段上傳信息的存儲,尤其對于需要加密的數據信息,要在加密以后才能上傳至區塊鏈,這樣才能有效保證數據信息的安全性。合約層則是存放了各種交易規則以及相關的法律法規,這樣才能保證區塊鏈內的所有行為都按照相應的規則進行,且在特定情況下不需要人為調用,可以自動調取,這樣還可以提升交易的速度。共識層的主要職責是對交易的信息進行驗證,只有在保證所有節點的信息都一致的情況下,才能進行交易,不然是無法進行交易的,這樣可以充分保證交易的信息不會被篡改。應用層則保證了參與者可以通過鏈上錄入信息,同時還可以通過二維碼查詢信息。
2.2.1 區塊鏈交易查詢頁面
區塊鏈交易信息查詢網頁左側,有主頁、消息、賬戶三個選項欄,用戶可根據需要選擇。在網頁上方,可以通過合約號查詢相應的交易信息。也可以根據交易發生的時間,通過搜索具體的時間查找在規定時間發生的交易信息。在網頁主體部分,展示了符合搜索信息的所有交易信息,可以看到有關交易的交易時間、哈希值等等。
2.2.2 二維碼實現
每一份大米產品都有單獨的二維碼和追溯碼,用戶可以通過在Web端輸入可追溯碼查詢,同時也可以通過手機端掃描二維碼查詢。
2.2.3 Web端和手機端查詢實現
網頁有四個選項,用戶可根據需要選擇,如發現質量問題也可以通過售后服務解決問題,同時也可以通過投訴渠道投訴。只要輸入可追溯碼,就可以查看到有關產品的基本信息、產地信息、加工信息、運輸信息。用戶在掃描二維碼以后,同樣可以看到與Web端相同的產品信息。
在充分查閱了國內外有關可追溯系統的資料以后,我們從大米食品安全角度出發,將區塊鏈融合在可追溯系統內,研發了一套大米可追溯系統。基于區塊鏈,融合了智能合約、AES算法、ECB模式、RFID射頻技術、二維碼技術等,記錄了大米從種植到售賣到消費者的所有信息,AES技術保證了隱私數據可以加密上傳,區塊鏈保證了大米信息不可隨意篡改,從根本上解決了大米信息造假問題。同時我們還研發了Web端和手機端,消費者和監管者可以隨時通過電子設備查詢大米信息,實現了可以隨時監管,這樣就可以給保證大米質量再加一道屏障。在未來工作中,我們會著力于改進區塊鏈,使大米可追溯系統更完善。