尹雪倩 于安芬



摘? 要:農產品是人類食物的重要來源之一。農產品種類繁多,供應鏈復雜,導致消費者購買的農產品質量參差不齊。農產品溯源是消費者在購買前,評判農產品品質的重要參考。建立可信的農產品溯源系統具有重大意義。文章通過對農產品溯源的研究,根據農業產品的供應鏈特點結合區塊鏈技術,設計并實現了農產品溯源系統。
關鍵詞:區塊鏈;農產品;溯源;以太坊;智能合約
中圖分類號:F259.27? ? 文獻標志碼:A
DOI:10.13714/j.cnki.1002-3100.2023.13.028
Abstract: Products are one of the important sources of human food. The variety of agricultural products and the complexity of the supply chain lead to the uneven quality of agricultural products purchased by consumers. The traceability of agricultural products is an important reference for consumers to judge the quality of agricultural products before purchasing. It is of great significance to establish a reliable traceability system for agricultural products. Based on the research on the traceability of agricultural products, according to the characteristics of agricultural products supply chain and the blockchain technology, this paper designs and implements the traceability system of agricultural products.
Key words: blockchain; agriculture products; traceability; ethereum; smart contract
0? 引? 言
農產品為人類提供糧食、蔬菜、果類等食物,是人類的食物的主要來源。與此同時,農產品市場也是商品市場的重要組成部分。在農業中,產品供應鏈相對較長,從農產品生產加工、分銷、零售最后消費者手中,農產品流通需經過多個環節,大部分環節分散無序。在農產品最終達到消費者餐桌之前,其內部的許多過程都是復雜的、不透明的,導致農產品信息無從追溯。由于綠色高品質的農產品價值較高,導致如今的農產品市場有很多名不副實,濫竽充數的冒充的高品質農業產品。可以通過建立可靠的溯源系統的方式,確保產品的品質水平,因此可靠的溯源系統的建立具有重要意義。
早在2008年的時候,比特幣就已經進入了大眾視野。很多群體對該技術的研究產生了興趣,由于該技術還處于萌芽階段,人們對該技術不夠了解,應用的領域也較為狹窄。在技術方法的日新月異情況下,區塊鏈技術的研究也在不斷深入,已經有三種技術框架分別是比特幣技術框架、以太坊技術框架和超級賬本技術框架,其底層技術的研究也成為了公眾的焦點。由于區塊鏈中數據是以去中心化的分布式存儲方式存儲的,區塊鏈技術具有不可篡改性、交易可追溯性、交易隱私性等特點,將其應用到農產品溯源中,能有效地解決農產品溯源產業溯源信息的可靠性、安全性等問題。
1? 農產品溯源方案設計
1.1? 農產品溯源供應鏈分析
農產品溯源是指對農產品相關信息的溯源。農產品信息包括農產品供應鏈中的生產、加工、物流和銷售等信息。在農產品溯源方案中需要針對農產品和農產品供應鏈的特點進行設計。農產品供應鏈與普通產品供應鏈相比有很多方面的不同,表現在下列幾點:
(1)產品的生產標準不同
普通產品的大多是通過機器作業的方式生產的,有統一的加工標準,產品的生產時間基本不會影響到產品質量。農產品與其不同,同批次農產品品質也有可能不同。
(2)產品的生產方式不同
普通產品有統一的生產流程,采用批量生產的方式。農產品有合作社種植方式、農戶零散化多種種植方式,沒有統一的生產流程,人工參與度比較高。
(3)產品的銷售方式不同
普通產品大多采用多級銷售的方式出售。農產品出售方式多種多樣,主要分為批發的方式和零售的方式進行出售。
(4)產品的運輸方式不同
普通產品的運輸方式比較固定并且對于運輸環境也沒有特殊要求。但是農產品在運輸途中有可能變得不新鮮甚至腐爛,對物流環境要求比較高。例如,新鮮的農產品在運輸過程需要一個溫度比較低的條件。
1.2? 農產品溯源系統模型
農產品供應鏈與其他產品的供應鏈對比來說,具有參與角色較多、農產品信息種類繁雜、農產品數據量龐大等特點。在農產品溯源模型設計時應該考慮這些特點進行設計。
產品供應鏈還具有復雜、長短不一的特點。在一條簡單的供應鏈中,消費者直接從生產者手中購買,這時供應鏈中生產者一個角色。在復雜的供應鏈中有農戶、加工商、物流商等多個角色。
本文依據所在供應鏈環節的先后順序主要有生產者、加工商、物流商、銷售商。每個角色都對其對應的供應鏈環節信息進行上傳,由于方案采用了區塊鏈技術避免了信息被篡改的風險,每個節點都采用信息共用與同步模式,得以完成信息流的追溯。農產品溯源系統模型如圖1所示。
(1)生產環節
主要對應的角色是用戶,農戶負責將生產數據上傳到系統中,實現產品數據信息建檔任務,每隔一段時間把產品數據錄入區塊中,并通過私鑰簽名以認證生產環節符合規范。當產品生產完成并被出售給加工商時,農戶需要發起一個交易請求,加工商已成為新的授權角色。角色授權過程主要利用私鑰簽署內嵌在區塊鏈中的智能合約,授權角色負責跟蹤產品并維護產品信息文件,以確保維護的數據正確可靠。
(2)加工環節
加工過程對應的角色是加工商,在其接收到農戶提供的產品后,便有了查看及維護產品信息數據的資格。加工商的任務是記錄產品原產地、品種、品質等一些數據。上傳數據之后會生成溯源碼,消費者會通過溯源碼進行農產品溯源。
(3)物流環節
物流過程對應的角色是物流商,物流商能夠根據公司的定位系統,獲取農產品所在的運輸位置的相關信息,同時把數據錄入產品數據文檔,如始發位置、送達位置及運輸溫度等數據。
(4)銷售環節
銷售過程對應的角色是銷售商。當農產品被銷售時,中間環節可能要經歷很多次分銷才能被零散售出。正因如此,在農產品銷售時要做好信息記錄,將農產品的批次、收售時間、品質等級等關鍵農產品信息記錄在冊,只有這樣才可以確保農產品溯源信息的真實完整。
在該方案中,生產者、加工商、物流商、銷售商4個角色均都進行了農產品信息上鏈操作。區塊鏈的分散存儲結構和鏈式區塊連接確保了數據的可追溯性。根據農產品溯源特點,提出了一種可靠的溯源方案,確保農產品可追溯性數據的可靠性,提高消費者對農產品產業鏈追溯的積極性。
1.3? 區塊鏈技術平臺的選型
針對傳統溯源系統中的數據不可信問題,從已有的區塊鏈平臺中,選一款較為成熟平臺作為農產品溯源的系統框架。區塊鏈技術平臺是系統底層框架,平臺的選型關系到溯源系統研究目標能否順利實現。在選擇溯源系統基礎框架平臺時需要注意三個問題:
(1)區塊鏈平臺的成熟度,在系統開發過程中成熟的平臺出現問題較少,系統具有更高的穩定性,更易于平臺的后續維護。
(2)項目開源情況,開源的項目是世界級技術高手共同的勞動成果,在可靠性方面開源項目比閉源項目更具優勢。
(3)平臺SDK(Software Development Kit,軟件開發工具包)接口的豐富度,在針對溯源平臺選擇區塊鏈平臺的原型時,需要考慮到SDK接口中是否具有功能相同接口。
目前,區塊鏈技術平臺主要分為三種,分別是比特幣、以太坊和超級賬本。區塊鏈三大技術平臺對比如表1所示。以太坊平臺是一款具有優秀綜合屬性的主流區塊鏈技術平臺,該平臺提供了豐富的SDK接口,滿足開發者實現各類功能的需求。
1.4? 溯源方案數據的共識機制
POW共識機制的核心思想是通過分布式節點之間的算力競爭得出記賬節點。當添加一個新節點時,比特幣系統中各節點會基于各自的算力相互競爭,獲勝的節點擁有記賬權。節點就解決一個數學難題進行算力競爭,這個難題就是SHA256數學難題。該SHA256難題求解起來非常復雜,但驗證相對容易。POW共識算法有三個重要要素組成,分別是工作量證明函數、區塊以及難度值。
POW是區塊鏈主流共識算法區塊鏈中一個區塊的基本結構如圖2所示。
“Nonce”代表著任意數,每個位置的節點運用計算能力得到之后一個區塊的Nonce,第一個得到該值的區塊,就可以進行記賬了。假設想要對區塊鏈中的數據進行篡改,這時需要擁有超過全網51%的算力,達到這一算力很難實現的,因此區塊鏈重點數據不能夠被篡改,保證了交易的安全性。
2? 農產品溯源系統的設計
2.1? 需求分析
根據系統功能的不同,可將系統劃分為4個部分,每個模塊都與其功能相對應。平臺包括登錄管理模塊、農產品管理模塊、信息錄入模塊和溯源碼溯源模塊。系統各模塊具體功能如圖3所示。
(1)登錄管理模塊
用戶注冊賬號后就能登錄系統進行后續操作;登錄模塊主要是面向農產品生產者、加工商、物流商和銷售商,消費者無需進行用戶的注冊和登陸,在平臺中輸入商品的專屬碼就能查詢到供應鏈信息。
(2)信息錄入模塊
在信息錄入部分針對的用戶是生產者、加工商、物流商、銷售商4類。加工商和物流商主要將農產品加工過程和運輸過程中的加工信息和物流信息傳入到系統中;銷售商用戶將農產品銷售過程中的銷售信息傳入系統。
(3)農產品管理模塊
農產品管理模塊面向管理員用戶,系統管理員主要對系統中的農產品進行管理工作,包括農產品查詢、農產品刪除。
(4)溯源碼溯源功能模塊
溯源碼溯源模塊主要面向消費者用戶,消費者想要了解農產品質量信息時,只需在溯源系統輸入溯源碼,就能查詢到農產品溯源信息。該模塊又分為溯源碼生成和解析兩個小模塊。
2.2? 系統架構
農產品溯源系統的架構如圖4所示。
基礎層的區塊鏈模塊負責對溯源信息進行存儲,在區塊鏈中農產品溯源信息以分布式賬本的形式存儲,即去中心化的存儲方式,有效地保障了農產品的可信度。
核心層的關鍵性在于該層是溯源系統與區塊鏈架構交互層。本文選用的是成熟度較高、平臺SDK接口豐富的開源項目系統架構——以太坊架構。農產品信息錄入到溯源系統后,農產品供應鏈中的節點通過共識機制形成供應鏈數據,將區塊鏈數據通過智能合約打包之后,將數據部署在區塊鏈上,完成農產品數據上鏈。
服務層主要面向追溯平臺的應用環境。服務層主要分為3個功能模塊:用戶服務模塊、數據錄入模塊、溯源碼模塊。用戶模塊主要面向的3種用戶,分別是管理員、生產者、加工商、物流商和銷售商,并負責用戶的登錄和注冊;數據錄入模塊面向的4種用戶,負責將用戶錄入的數據上傳到溯源系統中;溯源碼模塊的主要面向2種用戶,分別是生產者和消費者。把用戶上傳的農產品信息轉變成溯源碼,同時也可以把農產品的專屬碼數據轉變成農產品供應鏈數據。
應用層是系統與用戶的交互層,供應鏈中對農產品生產銷售信息的上傳以及消費者對溯源信息的查詢都是通過應用層實現的。于此同時,管理員對系統和用戶權限的管理也要通過應用層實現。
管理層溯源系統的管理,包括對用戶權限的管理和對農產品的管理。
2.3? 系統概要設計
2.3.1? 系統邏輯視圖
整個系統劃分為溯源碼服務模塊、用戶服務模塊、數據錄入模塊、區塊鏈服務模塊,這些功能模塊集成到交易管理服務模塊。其關系為溯源碼服務模塊主要提供消費者端的溯源服務;用戶服務模塊主要提供供應鏈各環節的溯源服務;數據錄入模塊提供標準的服務窗口,供用戶完成追溯信息的記錄;區塊鏈服務模塊主要完成基于區塊鏈技術的數據加密、區塊化、分布式存儲等相關服務,體現系統的可追溯性、不可篡改性、保密性等追溯系統本質屬性的保證。交易管理模塊將供應鏈各環節標準化為交易管理服務,保證交易方法的規范性。系統邏輯視圖如圖5所示。
2.3.2? 系統開發視圖
系統開發視圖是開發人員對于開發視角的描述,是系統設計的基礎視圖。系統開發視圖如圖6所示。
在平臺開發視圖中平臺劃分成3個層面:視圖層、業務層和數據存儲層。系統的最上層是視圖層。主要為平臺及用戶提供介質,方便用戶和平臺之間的信息交換。視圖層有數據查詢、數據管理、數據錄入和登錄注冊4個界面。數據層中Dispatcher(調度員)分發模塊能夠對不同的數據進行調度。數據的交互伴隨著數據的調度而進行。在調度過程中,數據被分配給了各自模塊采取接下來的處理。
業務層有智能合約模塊、溯源碼溯源模塊和用戶管理模塊3大模塊。區塊鏈上存儲了農產品溯源信息。智能合約能夠對區塊鏈上的數據進行存取,智能合約通過調用相應的結構體方式對區塊鏈上的相關生產數據進行存儲和查看操作;農產品溯源信息與溯源碼信息是兩種不同的數據,溯源碼溯源的功能是作用在這兩類數據間;用戶管理的主要功能是用戶的登錄注冊。數據存儲層是以區塊鏈為核心存儲,在區塊鏈系統中數據是以分布式賬單的形式存儲的。農產品溯源信息、用戶信息全部存儲在數據存儲層。
3? 研究結論
在農業信息化進程中,為解決和保障農產品質量安全問題,農業技術人員在不斷的對農產品溯源方法進行摸索。大多數現有的溯源解決方案中溯源數據的存儲是中心化的。中心化的溯源平臺反映了相關數據信息都是集中存儲管理,缺乏監管機制。中心化的農產品溯源平臺中數據存在被篡改的安全隱患,農產品信息的可信性難以保證。
因此,對于目前溯源領域的不合理現象,本文結合了當前較為流行的區塊鏈技術,考慮到農產品種類繁多和農產品供應鏈復雜問題,針對傳統溯源系統中數據不透明,易被篡改以及數據中心化的問題,設計了基于區塊鏈的農產品溯源系統。
本文在一定程度上解決了傳統農產品溯源中溯源數據的不可信問題,具有實際應用價值。本文的主要工作如下:
(1)綜合分析區塊鏈的三種主流架構,分別從項目開源情況、平臺成熟度以及平臺SDK接口豐富度方面考慮,選擇將以太坊作為系統的底層框架。系統分析了農產品和供應鏈的特點,設計了基于區塊鏈的農產品溯源方案。
(2)綜合考慮農產品溯源的業務特點,設計了基于區塊鏈的農產品溯源系統對智能合約的結構體和功能進行了詳細設計。
參考文獻:
[1] 楊信廷,孫傳恒,錢建平,等. 基于UCC/EAN-128條碼的農產品質量追溯標簽的設計與實現[J]. 包裝工程,2018(3):113-114.
[2] 楊信廷,錢建平,趙春江,等. 基于XML的蔬菜溯源信息描述語言構建及在數據交換中的應用[J]. 農業工程學報,2019(11):201-205.
[3] 于輝,安玉發. 在食品供應鏈中實施可追溯體系的理論探討[J]. 農業質量標準,2017(3):39-41.
[4] 曹煒燭,鄭麗敏,朱虹,等. GS1牛肉全程質量追溯系統框架研究[J]. 食品科學,2020(3):302-306.
[5] 白紅武,孫愛東,陳軍,等. 基于物聯網的農產品質量安全溯源系統[J]. 江蘇農業學報,2019(2):415-420.
[6] 郭珊珊. 供應鏈的可信溯源查詢在區塊鏈上的實現[D]. 大連:大連海事大學,2017.
[7] 劉肖飛. 基于動態授權的拜占庭容錯共識算法的區塊鏈性能改進研究[D]. 杭州:浙江大學,2017.
[8] 譚硯文,李叢希,宋清. 區塊鏈技術在農產品供應鏈中的應用——理論機理、發展實踐與政策啟示[J/OL]. 農業經濟問題:1-12[2022-09-15].