鐘節輝 柳曉龍 黃健



摘? 要:近年來,隨著人民生活水平的提高,人們對農產品的質量尤為重視,農產品溯源問題成為人們格外關注的問題。針對傳統農產品溯源系統數據易篡改、中心化嚴重等系列問題,提出了基于一種“區塊鏈+IPFS”的輕量級農產品大數據安全管理模型,來降低鏈上負載壓力;其次,文章采用Kafka分布式消息隊列,解決Solo排序服務容易造成單點故障的問題;同時比較了該系統架構與傳統系統架構在數據存儲、數據管理方面的優勢,解決了傳統溯源系統中心化嚴重、信任危機等問題,保障了農產品溯源信息的安全性和真實性。
關鍵詞:Hyperledger Fabric;數據隱私;IPFS;去中心化;農產品溯源
中圖分類號:TP311? ? 文獻標識碼:A? 文章編號:2096-4706(2023)23-0052-06
Framework Optimization Model of Agricultural Products Traceability System
Based on Block Chain
ZHONG Jiehui1, LIU Xiaolong2, HUANG Jian2
(1.College of Mechanical and Electrical Engineering, Fujian Agriculture and Forestry University, Fuzhou? 350002, China; 2.College of Computer and Information, Fujian Agriculture and Forestry University, Fuzhou? 350002, China)
Abstract: In recent years, with the improvement of people's living standards, people have paid special attention to the quality of agricultural products, and the traceability problem of agricultural products has become a problem of special concern. Aiming at a series of problems such as easy data tampering and serious centralization of traditional agricultural products traceability system, a lightweight agricultural products big data security management model based on “Blockchain + IPFS” is proposed to reduce the load pressure on the chain. Secondly, this paper uses Kafka distributed message queues to solve the problem that Solo ordering service is prone to single points of failure. At the same time, the advantages of this system architecture and traditional system architecture in data storage and data management are compared, and it solves the problems of serious centralization and trust crisis of traditional traceability system, and ensures the security and authenticity of agricultural products traceability information.
Keywords: Hyperledger Fabric; data privacy; IPFS; decentralization; traceability of agricultural product
0? 引? 言
農產品的安全追溯(Agricultural Products Safty Traceability)是一個備受世界關注的話題。
近幾年來,“假貨”“食品安全”問題被頻頻爆出,如何切實保障人們的食品安全、避免上當受騙是一個困擾著我們許久卻無法得到根本性解決的難題。自2018年被確立為農業質量年以來,農產品安全問題被提到了一個新高度。但是,當前在農產品溯源系統方面的相關研究,如基于RFID技術、NFC技術、二維碼等技術的溯源系統,這些研究仍然不能解決農產品追溯系統集中管理、數據篡改、信息孤島、賬本臃腫等問題。商品在傳統的供應鏈中存在的痛點問題主要有:
1)商品的生產環節以及周圍的環境無法溯源,即無法保證商品的安全性及可靠性,從而導致商品的可信度不高。
2)很多信息都是記錄在單一的系統之中,這個系統就是中心化系統,這樣的信息存儲存在相當大的信息安全性問題,容易導致單點故障,從而致使中心數據庫信息丟失損壞。同時也可能存在人為作惡故意修改中心數據庫信息的可能性,進而嚴重影響數據信息的真實性。
3)在當前一些主流的系統的供應鏈中,仍然存在信息不對稱、單點故障、信息孤島等一系列問題。供應鏈信息系統之間交互顯得格外困難,從而導致數據交互不均衡、數據信息校對工作量大。
區塊鏈技術的誕生似乎為解決農產品溯源痛點問題帶來了新的希望。針對痛點一:區塊鏈通過多方共同參與,共同維護一個賬本的形式,盡可能讓參與者參與其中,參與者越多,數據真實性和消費者信用度就越高。針對痛點二:區塊鏈去中心化的本質特征,有效避免了因傳統中心化系統帶來的人為篡改數據、數據易丟失等問題。針對痛點三:全網共同維護分布式賬本,有效解決了系統間信息孤島、單點故障問題。
基于上述原因,本研究在傳統溯源系統框架模型的基礎上,利用區塊鏈技術,對溯源架構進行優化,提出基于區塊鏈的溯源架構模型,并設計了一種“hyperledger+IPFS”的輕量級農產品安全管理模型,著力解決農產品追溯系統因集中化管理,導致賬本臃腫、數據可搜索性差、難以溯源等問題。
1? 國內外研究現狀
目前,農產品溯源研究方面,Qian等人[1]將二維條形碼和RFID技術相結合,通過在小麥包裝上粘貼二維碼標簽以鏈接其加工信息,并將RFID標簽粘貼到存儲箱以記錄物流信息,設計并實現了小麥面粉加工可追溯系統;劉一健等[2]對基于NFC技術的生鮮農產品追溯系統進行了深入探討;隨著區塊鏈系統網絡參信息量的增加,參與方較多,區塊鏈網絡存儲將面臨巨大的壓力,張斌[3]對區塊鏈溯源系統進行了性能的優化,提出了一種權益共識算法。龐承杰[4]針對溯源系統中數據訪問和安全共享問題,設計了一種數據分級訪問控制機制,實現了供應鏈數據信息與訪問數據信息的隔離;姜方桃等[5]就農產品溯源系統關鍵的技術做了詳細的說明;然而以上系列研究仍不能從根本上解決農產品溯源系統中信息孤島、數據可信度低且難溯源、數據共享程度低等問題。區塊鏈是密碼學、P2P網絡、共識機制、共識賬本等多種技術的整合,區塊鏈技術具有不可篡改、去中心化等本質特征,與農產品溯源系統天然結合,可以有效解決以上傳統農產品溯源系統的系列問題。因此,本研究在農產品溯源系統技術的基礎上融入hyperledger fabric框架,提出了一種“區塊鏈+IPFS”的輕量級農產品大數據安全管理模型,研究并有效解決了傳統追溯系統中數據集中和賬本臃腫的問題,以提高系統的健壯性和數據的安全可靠性。
近年來,伴隨著區塊鏈技術發展突飛猛進,區塊鏈技術已經被應用到各行各業之中,為農產品信息溯源應用落地以及產品質量安全的保障奠定了堅實有效的基礎[6]。我國作為一個消費大國,農產品的流通主體廣,確保農產品質量安全,讓廣大消費者買得放心、吃得安心,成為當前至關重要的問題[7]。在基于區塊鏈技術的農產品溯源系統之中,農產品的安全溯源涉及的環節,例如:種植、加工、營銷和物流等環節,在每一個環節之中都可能存在著安全問題,從而對農產品相應環節的數據資料信息進行層層溯源,是確保農產品質量安全的有效方法,同時也最大程度上符合消費者對此的需求,有助于提高農戶的信任度。
目前,農產品溯源方面的應用主要以射頻識別、傳感以及數據庫等技術為主。在國外,RFID和物聯網傳感器[8]和系統開發生命周期[9]等技術已被用于建立易腐食品、大米和水產品的可追溯性應用。我國在溯源系統方面的研究相對于較晚,但是發展十分迅速,已經被應用到各行各業,其中所涉及的技術大致和國外一致[10]。主要有基于區塊鏈+物聯網的溯源系統[11],基于二維碼技術的溯源系統[12]和基于RFID技術的溯源系統[13],Zheng等提出了一種基于IPFS的區塊鏈數據存儲模型[14],Mukne[15]等設計了一種基于hyperledger+IPFS的土地記錄管理系統,用以解決區塊鏈賬本臃腫問題,這一系列技術成為目前國內農產品溯源的有效手段。一方面,這些溯源系統過分依賴中心化數據庫,安全性能低下,信息交互能力有限,及其容易導致信息孤島問題。其次,當農產品出現安全問題時,很難快速找出問題的源頭,即責任主體難確定,且追溯成本高,消費者參與度低。最后,我國農產品經營具有典型的“長距離、多環節、廣流通”的特點,農產品的流通主體廣,從而導致管理難度極大。
傳統區塊鏈系統為了“安全”而犧牲“效率”,隨著區塊鏈網絡交易的不斷產生,區塊數量也隨之日益增加,當數量達到一定程度時,極其容易導致區塊鏈網絡的堵塞,數據查詢效率低下,區塊的數據賬本的臃腫,區塊數據存儲局勢嚴峻,因此不能存放大規模數據。
基于這種考慮,可以利用區塊鏈+分布式存儲的方式來解決數據大規模上鏈難的問題,其中,區塊鏈用來保證數據的可信度,分布式存儲用來提高數據存儲和查詢效率。該溯源系統數據存儲方式首先將原始數據存于IPFS分布式系統中,而將文件的指紋存入區塊鏈中,這樣既保證了IPFS上數據的不被篡改,又解決了鏈上賬本擁堵問題。用戶可以通過區塊鏈上文件的地址信息隨時去獲取這些數據,并對這些鏈上數據進行驗證,以確保數據的完整性和可靠性。
2? 溯源系統架構
2.1? 架構設計
本研究提出的農產品溯源系統框架主要分為以下四大層次模塊,如圖1所示。
1)數據層:該層負責將收集到的農產品數據信息進行分布式存儲。存儲層包括MySQL,系統的本地數據庫,區塊鏈系統自帶的CouchDB數據庫,以及用來存儲公共信息和音頻、視頻等大數據塊文件的IPFS星際文件系統。
2)網絡層:農產品整個溯源系統中各廠商生產環節中涉及的數據信息均以產品ID相關聯。區塊鏈節點收到各廠商傳輸過來的數據信息之后,通過P2P網絡向全網廣播。數據在各廠商之間的流轉過程之中,廠商之間形成協議,使用數字簽名再加上相應時間戳,來保障數據的不可抵賴性。
3)合約層:該層是Fabric的核心,向上可以為企業級用戶應用程序提供API接口,向下可對賬本數據進行操作,有效避免了人為操作賬本帶來的影響,該層主要由智能合約(鏈碼)組成,通過鏈碼來操作賬本數據,主要是實現數據上傳區塊鏈系統和數據查詢功能。
4)應用層:該層為不同用戶主體提供相應的權限和接口。生產商、加工商、銷售商等廠商用戶將農產品數據信息錄入到區塊鏈賬本中。消費者、企業等普通用戶能通過相應平臺對農產品數據信息進行查詢、追溯和驗證;相關政府和權威機構等組織用戶對用戶進行監督、審查。
2.2? 輕量級安全管理架構模型
目前基于區塊鏈的農產品溯源系統數據存儲模型,基本上都是利用區塊鏈賬本來存儲農產品數據信息,即在供應鏈的各大廠商節點均將農產品信息存儲在區塊鏈之中。區塊鏈究其本質而言,就是一個數據庫賬本,其本質特性就是保證數據信息的可靠性,但是其數據存儲能力有限,隨著節點數量的增加,區塊鏈賬本存儲壓力隨之增加,如果數據量達到一定程度,很容易導致區塊鏈賬本臃腫,再次區塊鏈的鏈式結構,數據查詢順序執行,這就意味著數據可搜索性不高。
針對這些不足,本研究針對現有的區塊鏈溯系統存儲模型進行適量改進,設計了“區塊鏈+數據庫+IPFS”鏈下溯源信息雙重存儲的存儲模型,如圖2所示,來構建一個輕量級的區塊鏈分布式賬本,節省區塊鏈賬本存儲空間,設計智能合約避免人為直接操作農產品數據,有效保障數據信息安全,提高數據信息可信度。
在農產品溯源系統中,包含農產品數據記錄的哈希值上傳到鏈上賬本中,而真實的數據信息則存儲在IPFS服務器上。
2.2.1? 鏈上賬本-鏈下存儲模型
1)鏈上賬本:鏈上賬本只記錄輕量級的數據信息,如數據的存儲、驗證、操作和農產品數據哈希等記錄。原始農產品數據生成之后,對原始農產品數據信息進行SHA256哈希運算,從而得到一個包含農產品數據信息的哈希值,最后將此哈希上傳到鏈上。
2)鏈下存儲:由于農產品數據信息量巨大,倘若所有廠商的數據信息都存儲在一個服務器上,容易導致單點故障。利用IPFS星際文件系統是解決這一數據存儲問題的一種節約資源的方法。首先,涉及追溯過程的個人或者企業必須經過權威機構的認證、審計機構的審查核實后,參與者在基于區塊鏈農產品追溯系統上注冊登記身份賬戶,系統將自動匹配對應的一對密鑰,密鑰決定了參與者身份的權限。這里,將農產品記錄數據的屬性引入到加密密鑰之中,可以幫助不同主體對農產品數據信息進行細粒度控制訪問。
2.2.2? 存儲流程
首先,供應鏈各廠商通過互聯網自動控制終端、傳感器、攝像頭等多種傳感設備,收集農產品各種數據信息;其次,各廠商調用鏈碼將收集到的數據信息上傳到區塊鏈溯源數據處理系統中,系統會將傳輸過來的數據信息進行數據分類。整個供應鏈涉及的數據不僅是產品溯源信息,還包含只有相關企業才能查看的隱私數據,比如交易信息。
如果是私有數據信息,溯源數據系統會自動調用鏈碼,將私有數據先進行SHA256哈希運算,得到數據摘要,為了保障數據的真實性,這里我們采用雙向存儲——一是將得到的數據摘要和原始數據打包一并保存在各商場各自的MySQL服務器之中;二是將做哈希運算之后數據摘要也同時通過智能合約上傳到Fabric網絡的區塊鏈分布式賬本之中。
如果是公有數據信息,溯源數據系統同樣會調用鏈碼,先將公有數據信息上傳到IPFS分布式文件系統之中,此時會返回一個IPFS文件存儲地址以及文件指紋,我們將它返回的文件地址和指紋通過智能合約一并上傳到區塊鏈賬本中。
該鏈上賬本-鏈下存儲模型可以建立一個輕量級的區塊鏈賬本,節省區塊鏈賬本存儲空間,提高數據查詢效率。同時,也能避免對真實農產品數據的直接操作,間接保護了數據安全。
2.3? 溯源防偽流程
農產品區塊鏈溯源系統流程圖如圖3所示。供應鏈各廠商通過互聯網自動控制終端、傳感器、攝像頭等多種傳感設備,收集農產品各種數據信息。按系統分類后,溯源信息分為私人信息和公共信息。私有信息經過SHA256哈希加密后一份上傳到區塊鏈并返回區塊號。另一份將加密摘要和原始數據信息打包一并存儲到各廠商的MySQL服務器中。公開信息則存儲在IPFS文件系統之中,文件系統返回的哈希指紋和地址則保存在區塊鏈中并返回區塊號。
消費者通過掃描二維碼調用鏈碼來查詢IPFS網絡,并從IPFS中得到原始數據文件H2,并通過區塊號查詢到存儲在區塊鏈上的哈希值H1進行一致性比對,從而判斷產品溯源信息是否被篡改。
2.4? Fabric網絡與IPFS交互
2.4.1? 數據存儲
農產品溯源數據存儲功能實現如圖4所示,具體步驟如下:
1)首先,供應鏈各廠商通過互聯網自動控制終端、傳感器、攝像頭等多種傳感設備,收集農產品各種數據信息,并向后臺服務器發送數據信息。當數據信息量達到一定的閾值時,后臺服務會進行數據塊的打包。
2)打包好的數據塊以數據流的方式向IPFS網絡傳輸數據。
3)數據上傳成功后,會返回一個IPFS文件地址給后臺服務器。
4)此時,后臺服務器會繼續調用鏈上代碼,將IPFS返回的文件存儲地址以及文件哈希指紋上傳到Fabric區塊鏈網絡的Peers節點賬本中。
5)最后Fabric網絡會上服務器返回本次存儲數據交易的Hash以及交易區塊號。
2.4.2? 數據查詢
數據查詢功能具體步驟如下:
1)首先,消費者掃描二維碼,向后臺服務器發起數據查詢請求。
2)后臺服務器會自動啟動Fabric鏈碼,調用相應的鏈碼執行數據查詢Invoke方法。
3)Fabric會根據調用方法的請求,查詢到相應的區塊號,并且將匹配正確的數據信息,即IPFS文件地址以及哈希指紋返回給后臺服務器。
4)后臺服務器通過Fabric返回的IPFS存儲地址以及哈希指紋去IPFS網絡查詢。
5)最后IPFS網絡將查詢到的數據文件塊返回服務端,并且服務端對返回的數據塊文件進行比對,檢驗數據是否被篡改。
3? 架構比較
將傳統的農產品追溯系統與基于區塊鏈的農產品追溯系統進行架構比較如圖5所示,大多數基于傳統的農產品追溯系統大都采用B/S(Browser/Server)網絡架構,數據信息都存儲在一個個中心化數據庫信息系統之中,在權威機構的監督之下對溯源數據進行集中式管理。而在基于區塊鏈的農產品追溯架構中,整個區塊鏈基于P2P網絡,每一個計算機節點可以作為服務器,即將傳統“一個中心”變為“多中心”的系統架構,解決了傳統溯源系統中心化問題。在這個系統中,每一個用戶在登錄系統注冊頁面時,系統會對其信息進行身份認證,然后會自動為每位用戶匹配一對密鑰(公鑰、私鑰),不同身份的主體用戶的密鑰對決定了其對訪問權限。例如:消費者用戶只可以對農產品數據信息進行查詢操作,農產品生產商、經銷商、供應商等用戶人員可以對農產品數據信息進行錄入和查詢操作,權威機構對不同身份的人員信息進行監督、驗證。
傳統的農產品溯源系統采用中心化存儲,數據信息均存儲在一個中心服務器中,一旦服務器節點故障,數據網絡系統將癱瘓。其次,其采用集中式人為管理,用戶個人數據信息隱私存在泄露、篡改的風險。
基于區塊鏈的分布式的存儲模型能有效削弱中心化組織的惡意行為,避免單點故障問題,有效保障了用戶的隱私安全,提高了數據的可信度。其次區塊鏈獨特的鏈式結構,以及其可追溯性、可驗證性,切實保證農產品數據的真實性,防止人為惡意篡改數據。
4? 結? 論
本研究在農產品溯源系統技術的基礎上融入
Hyperledger Fabric框架,提出了一種“區塊鏈+IPFS”的輕量級農產品大數據安全管理模型,研究解決了傳統溯源系統之中因數據中心化、賬本臃腫等問題,提高了系統和數據的安全可靠性。同時,本研究還存在一些不足之處,雖然保證了數據在錄入系統之后不被篡改,但對于錄入之前的數據未能設計出保障機制。因此,在后續的研究之中我們將著重研究數據錄入之前數據的一致性,實現該系統的安全可靠。
參考文獻:
[1] QIAN J,YANG T,WU X,et al. A traceability system incorporating 2D barcode and RFID technology for wheat flour mills [J].Computers and Electronics in Agriculture,2012,89:76-85.
[2] 劉一健,陳業華.基于RFID的生鮮農產品追溯系統探討 [J].食品工業,2019,40(7):175-179.
[3] 張斌.基于區塊鏈的供應鏈溯源系統關鍵技術研究 [D].南京:南京郵電大學,2022.
[4] 龐承杰.基于區塊鏈的供應鏈溯源系統及其訪問控制機制研究 [D].南寧:廣西大學,2022.
[5] 姜方桃,胡擎宇,劉丹丹,等.基于供應鏈視角的水果質量安全追溯系統研究 [J].山西農經,2021(15):33-35.
[6] 劉敖迪,杜學繪,王娜,等.區塊鏈技術及其在信息安全領域的研究進展 [J].軟件學報,2018,29(7):2092-2115.
[7] 洪濤.我國農產品流通70年發展報告 [J].商業經濟研究,2019(21):2+193.
[8] CORALLO A,LATINO M E,MENEGOLI M,et al. What factors impact on technological traceability systems diffusion in the agrifood industry? An Italian survey [J].Journal of Rural Studies,2020,75:30-47.
[9] 鐘德福,艾紅,張良國,等.區塊鏈技術及其在農產品質量安全追溯應用的研究進展 [J].中國農學通報,2021,37(19):143-150.
[10] STEWART W G. Food authentication and traceability:An Asian and Australian perspective [J].Food Control,2017,72(2):168-172.
[11] 劉丹,竇津津,胡建斌.基于“區塊鏈+物聯網”融合的農產品溯源系統 [J].軟件工程,2021,24(7):39-42.
[12] 章海榮.基于物聯網和二維碼加密的農產品溯源系統的設計與實現 [D].武漢:武漢郵電科學研究院,2019.
[13] 王祖良,郭建新,張婷,等.農產品質量溯源RFID標簽批量識別 [J].農業工程學報,2020,36(10):150-157.
[14] ZHENG Q,LI Y,CHEN P,et al. An Innovative IPFS-Based Storage Model for Blockchain [C]//2018 IEEE/WIC/ACM International Conference on Web Intelligence (WI).Santiago:IEEE,2018:704-708.
[15] MUKNE H,PAI P,RAUT S,et al. Land Record Management using Hyperledger Fabric and IPFS [C]//2019 10th International Conference on Computing,Communication and Networking Technologies(ICCCNT).Kanpur:IEEE,2019:1-8.
作者簡介:鐘節輝(1997—),男,漢族,江西贛州人,碩士在讀,研究方向:區塊鏈農產品溯源;柳曉龍(1989—),男,漢族,福建寧德人,副教授,博士,研究方向:區塊鏈農產品溯源、密碼學;通訊作者:黃健(1975—),男,漢族,福建南平人,高級實驗師,碩士,研究方向:區塊鏈農產品溯源。