沈淑濤 楊孝天 李江 馬冉

基金項目:西藏自治區高等學校人文社會科學研究項目,項目名稱:基于區塊鏈技術的西藏農產品信息追溯方法研究,項目編號:SK2021-29
摘 要:目前的農產品追溯系統存在數據易篡改、信息不對稱等問題,針對這些問題,采用區塊鏈技術,借助其可追溯性、信息難以篡改、去中心化存儲、信息對稱等特征,可以構建更為可靠的農產品信息追溯方法。本文對區塊鏈技術進行分析,構建在區塊鏈技術基礎上的農產品信息追溯系統,以此解決傳統物聯網技術農產品追溯系統中的各種問題。
關鍵詞:區塊鏈;農產品信息追溯;系統構建;應用
近年來,農產品質量安全事故近年來也有所增多,一些摻假、造假問題,對人民群眾的身體健康造成了不同程度的損害。農產品追溯系統是農產品質量保障體系中的重要工具,可以解決消費者對農產品質量安全問題的擔憂。不過傳統農產品追溯系統存在許多問題,如信息追溯難度大、數據難以共享、中心化網絡權力過度集中、數據容易篡改等,只有妥善解決這些問題,農產品追溯才能真正發揮其作用?,F如今,區塊鏈技術日益成熟,為農產品追溯系統的構建與應用提供了新的思路和可能性。下文即結合區塊鏈技術,探索農產品信息追溯系統的設計方案。
一、區塊鏈技術分析
區塊鏈類似分布式賬本,是一種數據結構,可對交易情況進行記錄。在系統中,對信息記錄的區塊,連接成鏈,各區塊中均包含上一區塊中的哈希指針和交易信息,通過哈希指針,可將區塊予以連接,根據時間戳對過往交易按照順序排列。
區塊鏈以鏈式進行存儲,其形成的交易信息,均在區塊中存儲,而各個區塊又包括塊體、塊頭,且包含前一塊散列值,以便和上一區塊進行連接。同時,其中還含有區塊體哈希值、時間戳等。按照各種網絡參與方的對應準入標準,可以將區塊鏈技術分成三種類型,分別是聯盟鏈、私有鏈和公有鏈。
公有鏈即公共區塊鏈,以比特幣、太坊為代表,具有很強的公開性,用戶無需請求加入網絡或提供身份證明,即可讀取其中的數據,且均可發送交易,獲取有效確認,而且所有人均被允許參與到共識之中。私有鏈即完全私有區塊鏈,指的是少數組織或個人有一定權限。這一區塊鏈對讀取權限設置明顯,對外開放受到局限,雖然具有公共可審計性,不過因其去中心化,因此并無公共可讀性。聯盟鏈即聯盟區塊鏈,同時兼具公有鏈和私有鏈的特征,指的是預選節點可控制共識的過程,只有系統內的組織能夠對賬本進行讀寫,并完成數據記錄。當用戶獲取授權,即可進入聯盟鏈的網絡中。這一類型在開放程度、去中心化上有一定限制,需要預先篩選參與者,而在讀取交易數據權限方面,具有一定公開性。
上述三種區塊鏈類型各有特點,應用場景有所不同。本研究在農產品追溯系統構建中,處于數據安全性、局部中心化、追溯速度、組織結構等方面的考慮,選擇聯盟鏈技術。
二、基于區塊鏈技術的農產品信息追溯方法設計
1.區塊鏈技術基礎上的農產品追溯系統構建
(1) 構建系統模型
可以根據區塊鏈的基本原理與聯盟鏈技術,構建農產品追溯系統模型,見上圖。在這一模型中,通過CO2濃度感知器、溫度及濕度感知器、視頻監控等多種方式,在生產種植過程中,對農產品生產的相關信息進行采集;在采摘加工過程中,可通過產品標識、感知芯片等,對加工過程的信息予以采集、記錄;在物流運輸過程中,可借助定位裝置,對運輸、周轉的過程進行記錄,借助環境監控設備,對運輸過程中環境數據進行記錄;在銷售環節,借助二維碼、條碼來對銷售情況進行記錄。不同環節的信息采集工作,所用設備各不相同,不過獲取的信息會傳遞到區塊鏈網絡中,進行儲存應用。
在將農產品的追溯信息上傳、存儲之后,要避免相關信息遭到篡改,可以借助加密處理技術來實現,密碼學加密技術是應用其最多的一種方法。借助區塊鏈技術的時間戳,可形成允許監督、查詢、追溯的區塊鏈條,從農產品的種植一直到完成出售全過程,均有這一鏈條的應用,因此能夠確保農產品信息可被追溯。
(2) 追溯流程的設計
① 種植及采摘
大棚內的農作物生長過程中,有專業的傳感設備,能夠直接對pH、土壤含水量、氧氣含量及光照等數據進行采集,轉換格式之后,可借助現代無線傳輸技術,向系統傳遞相關信息,形成區塊鏈數據源頭。當農作物成熟之后,工作人員需要現場采摘,需要將農產品的種植時間、采摘時間、負責人、采摘情況等形成信息,向區塊鏈傳遞,存儲起來。
② 包裝加工
農作物采摘完成后,在需要時可對其包裝,之后才會入庫。部分農產品需要再加工,此時需送至下一單位展開加工,將相關數據向區塊鏈中傳遞,形成追溯碼標識,標記在產品包裝之上。
③ 運輸配送
農產品需要運輸至市場,才能進行銷售,運輸過程會涉及不同的運輸方式、不同工作人員,需要將負責人、發貨地址、運輸方式、運輸時長、收貨地址等信息上傳。
④ 交易查詢
要實現鏈條式追蹤,產品包裝二維碼中,需要包括產品自產出、加工到出售的所有信息,這樣才能維護消費者的知情權,提升消費者滿意度。
(3) 追溯方案的設計
① 算法選擇
共識算法是區塊鏈中的底層核心。通常情況下,需要借助共識機制實現中心化,來解決相關問題。農產品追溯的各個環節彼此獨立,因此所有節點均無法對別的節點加以識別,無宕機情況。在設計中,可以選擇的算法共有三種。
a.POW
這一算法為工作量證明算法,用來確認已完成工作量。在過程監測中,這一算法的效率較低,而若借助認證工作結果證明工作量,則工作效率可得到提升。不過這一算法比較耗能,交易性能不理想,需要很長時間才能達成共識,且易發生算力集中的問題,導致去中心化受到破壞。
b.POS
POS為權益證明算法,這一算法會導致電力大量浪費,因此為替代性算法。這一算法類似銀行的存儲財產,能夠按照數字貨幣持有時間、數量來合理分發利息。在權益證明方面,這一算法能夠借助特定方法,定義區塊鏈中的后續合法區塊,結合賬戶結余情況來選擇,因此會發生中心化現象。
c.PBFT
這一算法屬于實用性的拜占庭容錯算法,是可將分布式系統和拜占庭式故障節點維持一致性的一種算法,能耗較低,工作效率較高。目前PBFT是聯盟鏈應用最廣泛的算法??傮w來看,PBFT速度更快,效率更高,因此更適用于本研究的設計需求。
② 智能合約的選擇
在農產品追溯系統中,智能合約方法是借助特定編程語言,對相關程序加以實現,可以于區塊鏈系統容器之內來運行,在一定條件下可激活。智能合約技術用于超級賬本中,可構建鏈碼。在農產品追溯中,應用智能合約時,首先需要注冊。農產品的生產、包裝加工、運輸及零售等各個環節涉及的單位,均可注冊智能合約,而各銜接單位彼此也可確定合約。當智能合約的相關要求均獲得滿足之后,合約會立刻生效,并可自行執行。用戶若想了解合約履行情況,可以隨時查看。
2.農產品信息追溯系統的實現方法
根據上述分析獲得的農產品追溯系統模型及技術方案的設計思路,筆者認為,在區塊鏈技術之上構建農產品追溯系統,涉及的數據層、共識層、合約層及應用層,需通過以下方法實現:
(1) 數據層
數據層是借助動態存儲方式,將管理者信息、農產品溯源信息等上傳到區塊鏈中,為保證上鏈信息準確,需加入協同驗證的模塊,借助Merkle樹形結構,來存儲動態數據。
數據真實性,是農產品追溯系統中需要首先考慮的問題,如果存儲的時候即存儲偽造數據,則區塊鏈技術的防篡改特性、去中心化,就沒有意義。為解決這一問題,在數據層可以設計一個協同驗證功能模塊,提升農產品信息的真實性。可通過二維碼技術,來標注不同環節的產品信息,這樣消費者能夠根據需要隨時查詢。
協同驗證功能模塊,需要企業員工實施操作。各個員工有自己的工作號碼,在檢查產品時,需要輸入自身工作號碼,將之作為標識。工作人員簽名,數字簽名為鑒定之用,可經過簽名,對負責人相關信息進行查詢。同時簽名還可保護標簽內容。要對數字簽名進行應用,需要先驗證,再進行互發信息。這一流程需應用哈希運算賦值方法。
(2) 共識層
共識層是將PBFT共識算法,加入積分懲罰機制,讓農產品追溯連接中的分散節點,在區塊數據有效性上形成共識,確保區塊鏈網絡能夠平穩、安全運行。
共識層中涉及超級賬本功能,這一功能涉及到智能合約,SDK接口十分豐富。共識機制是通過PBFT共識算法來實現的。Fabric網絡內,進行農產品追溯數據存儲的單位,彼此是對等Peer節點,所有節點均有記錄功能,追溯鏈條上,各單位加入到區塊鏈網絡前,均可從CA節點(代表為監管單位)獲取準入許可,而有相應許可的單位,可經客戶端來進行農產品數據的發布,背書節點負責背書,之后經共識算法,選擇驗證節點進行驗證,排序節點對所有交易排序處理,打包形成各個區塊,再向外發布,實時播報Peer節點,確保同一鏈條上各節點所接收信息的內容于時間均相同,且邏輯順序相同。在這一操作下,農產品追溯信息區塊即可形成。
(3) 合約層
Fabric框架之下,借助Golang語言,對鏈碼進行編寫,從而實現各組織節點的智能合約,再借助Docker容器,對鏈碼連接Fabric與客戶端的過程進行運行,在一定條件下激活,使之自動運行。
智能合約本質上屬于一段程序,是借助部分計算編程語言的編寫技術,來確保這一程序在區塊鏈系統容器內運作,且這些程序在內在或外在條件的刺激下,可自動運行。按照農產品追溯具體的需求,系統智能合約包括農產品信息查詢、農產品交易兩種類型,借助兩種智能合約,可以完成加密交易、無縫銜接。
農產品數據結構,包括生產單位、加工單位、承運單位和銷售終端??蛻舳诉M行智能合約接口的調試,此后可以向區塊鏈網絡發布各種交易提案的內容,在驗證、背書環節檢查之后,通過排序節點,在同一通道中的組織成員,即可查詢、提取交易信息。進行農產品信息發布的接口,不僅需發布相關生產信息,還可發布加工信息、運輸銷售信息。成員獲得授權之后,需要安裝智能合約,在Peer節點服務器上,對其實施實例化,被授權者可借助Fabric-SDK客戶端和Peer節點服務間實現交互,以此部署、運行智能合約。
(4) 應用層
借助CSS、HTML5等工具,實現交互界面前端開發,這樣農產品追溯系統可在手機端、PC端實現追溯查詢的操作,各組織節點可發布農產品的追溯信息。為確保農產品信息公開透明,實現系統去中心化,還需過根據農產品源頭與區塊鏈技術的特征,設計農產品信息源頭追溯的聯盟鏈模型,其中生產單位、加工單位、運輸單位、銷售單位包含4類節點,分別是頭節點、錨節點、記賬節點、背書節點、公共排序節點。農產品從生產到銷售,其涉及的節點,在系統中均有讀取數據信息、寫入數據信息的權限,且區塊鏈節點之間可以實現數據協同。
三、基于區塊鏈技術的農產品信息追溯的應用
農產品追溯系統,是應用HTML5、CSS,在Dreamweaver上進行操作部署,后端用MySQL數據庫讀取數據,來實現追溯過程。以某地蘋果生產、銷售的過程為例,其具體應用如下。
(1) 生成追溯二維碼:首先,在信息發布過程時,農產品的信息追溯碼和產品編碼可同時產生。二維碼形成后,可打印出來,粘貼在包裝外,而各級節點均可掃描二維碼、輸入產品編號,來協同驗證,這樣能夠為消費券提供可信度高的追溯。(2) 信息發布:農產品信息發布,涵蓋農產品生產、加工、運輸、銷售等多種信息。在錄入這些信息時,可采用人工錄入、傳感器采集等方式,發起交易的一方,可在發布界面填寫數據,同時提交到區塊鏈網絡中,經過背書節點驗證交易提案,排序打包,獲取區塊。(3) 信息查詢:消費者購買蘋果之后,可掃描二維碼、輸入追溯編碼等,來查詢蘋果的生產情況、運輸情況及銷售情況,此時農產品的各種信息均可得到顯示。
四、結束語
農產品追溯系統的構建,可以確保農產品信息真實可靠、清晰透明。區塊鏈技術的優勢是數據信息不可更改,因此在區塊鏈技術基礎上構建農產品追溯系統,可以有效解決農產品溯源問題,為人民群眾的食品安全提供有力保障。不過,目前物聯網設備和系統集成,針對的主要是農產品信息的協同驗證方案,在信息填寫與發布中,還需依賴于人工配合驗證,這導致執行效率較低,也可能出現錄入信息有誤的情況。未來可以將物聯網設備和系統實現高度集成,減少人工的參與,借此進一步提升工作效率,提高信息的準確性與可靠性。
參考文獻:
[1]田鐘浩,鄭承華.食用農產品信息追溯監管體系中企業法律風險防范[J].食品安全導刊,2022(13):177-183.
[2]陳智.大數據背景下農產品可追溯信息對顧客滿意度的影響——產品知識的多群組分析[J].商業經濟研究,2022(01): 131-134.
[3]梁飛.信息價值感知、追溯行為與農產品質量安全追溯[D].鄭州,河南農業大學,2021.
作者簡介:沈淑濤(1979- ),女,漢族,內蒙古烏盟涼城縣人,碩士研究生,副教授,主要研究方向:圖像處理、中文信息處理;楊孝天(1996.08- ),男,漢族,河北張家口人,在讀碩士,主要研究方向:區塊鏈、網絡安全;李江(1993.11- ),男,漢族,山西省絳縣人,碩士研究生,主要研究方向:區塊鏈技術、數據挖掘;馬冉(1994.12- ),女,漢族,河北石家莊人,碩士,在讀研究生,主要研究方向:數據分析和區塊鏈