范立南,張志雷,趙宏偉 (沈陽大學 信息工程學院,遼寧 沈陽110044)
FAN Linan, ZHANG Zhilei, ZHAO Hongwei (School of Information Engineering, Shenyang University, Shenyang 110044, China)
現階段,伴隨著經濟迅猛發展,水果、蔬菜等農產品質量安全事故頻頻發生,摻假制假事件嚴重威脅人們的身體健康。農產品的質量逐漸取代數量,成為了人們關心的焦點。質量可靠可信是廣大消費者對生產銷售企業提出的最基本要求。然而就目前的農產品流通市場現狀來看,供應鏈上各主體間合作依賴彼此間信息溝通,而主體間信息溝通不順將制約供應鏈發展從生產到銷售的各個中間環節[1]。采集接收的信息雜亂無章,真實性和可靠性也無法得到保證,對農產品的控制效果更是微乎其微。一個完善的農產品信息追溯系統能有效地解決這些問題。我國在《“十三五”國家信息化規劃》中將區塊鏈作為一項前沿重點技術,明確提出加強新技術的創新、試驗和應用,力爭搶占先機,掌握新一代信息技術的主導權。
相比于發達國家,雖然我國對農產品安全潛在需求很大,但實際的建樹卻很少,由于建設成本等因素,目前只通過條碼技術實現對水產品、牛肉以及果蔬的相關追溯。就國內追溯系統建設的大環境來看,首先缺乏一套完整的追溯體系,只是開展了一些試點示范的相關研究工作。比如,農業部門啟動的“進京蔬菜產品質量追溯制度”,著力解決蔬菜的追溯管理;上海市搭建的“上海食用農副產品質量安全信息平臺”,可以實現對農副產品生產過程的監控、對商品條碼的識別跟蹤和查詢,利用農產品安全信息條碼標準,通過供應鏈上各企業之間的相互配合,為每類具體產品建立相應的電子檔案;海南省有關部門通過采用EAN/UCC 系統,可以對水產品的生產、加工、包裝、存儲、運輸、銷售的全過程進行標識和跟蹤。
在傳統的農產品追溯系統中,產品的信息全部集中存儲在中心數據庫中,后臺的管理者可以輕而易舉的篡改農產品的相關溯源信息,容易受到外界黑客的攻擊而使信息泄露,從而造成了溯源信息的可信度降低[2]。而且基于物聯網技術的農產品追溯系統基本都是采用C/S 模式,信息共享效率偏低。隨著產品信息量日益增加,使得追溯成本增加且效率下降。區塊鏈本質是分布式數據庫,其集合了多種計算機技術,具有去中心化、安全透明、不可篡改、智能合約、可驗證性等基礎特征[3]。將無中心化網絡(區塊鏈) 應用在農產品信息追溯系統中可以有效解決以上存在的問題,從而提供安全可信的農產品追溯。
區塊鏈系統包含多種技術,在分散的服務器及網絡通信等硬件設備的支持下,通過數字簽名、時間戳、共識算法、工作量證明等多項技術的結合,使得區塊鏈在無中心網絡中平穩安全運行。區塊鏈網絡節點上的權利和功能都是對等的,對產生的區塊信息會迅速備份到所有網絡節點上,并連接在之前鏈上最新的區塊之后,最終完成整個區塊鏈網絡的一致化。數據區塊結構如圖1 所示。

圖1 數據區塊結構
區塊鏈可以分為公有鏈、聯盟鏈和私有鏈[4],對比特點如表1 所示。結合我國農產品生產經營現狀,選擇采用聯盟鏈。所謂聯盟鏈,就是這個區塊鏈具有準入許可,對特定組織團體開放,若干機構聯合發起,不像公有鏈,任何人都可以隨時進入。與公有鏈和私有鏈相比,它屬于“半開放”區塊鏈,訪問許可意味著候選節點需要從網絡中已有的節點獲得許可才能進入區塊鏈。聯盟鏈僅針對某個特定組的成員和有限的第三方,其內部指定多個預選節點為記賬人,每個塊的生成是由全部的預選節點共同決定[7]。聯盟鏈不僅易于監管,還有三大核心優勢:效率,如果是高頻交易,則要求較高的交易效率,所以交易的吞吐量是應用區塊鏈企業的交易績效指標;安全性,業務數據記在其自身的節點上,多個節點之間的數據共識由多方構成,沒有一方擁有最終決定權,這樣就可以做到可追溯和防篡改。這些特性能提升機構之間的信任,降低了信任成本,提高了效率,可以促進多方合作;交易成本較低,交易僅需幾個受信的算力高的節點進行驗證,無需全網確認。

表1 公有鏈、聯盟鏈、私有鏈對比
共識機制的存在,也使得即使區塊鏈網絡受到惡意攻擊時也能保持數據的不可篡改。這種不可篡改和追溯的無中心數據庫可以在農產品信息收集和交易流轉的過程中解決信息不對稱和資料造假等問題。PBFT 共識算法(拜占庭容錯算法) 是確保分布式系統與拜占庭故障節點一致性的通用解決方案。對比POW/POS/DPOS 等共識算法具有效率高、能耗低等優點。PBFT 共識算法針對n個節點的系統,整個系統要求對非拜占庭節點輸入的數據信息相同時,所產生的結果也應相同;對于交易請求所有非拜占庭節點都能接收到,保證安全性的前提下允許存在不超過n-1/3 的失效節點,即n≥3f+1 就可以認為達成了一致[5]。其中n為總節點個數,f為失效節點個數。PBFT 共識算法適用于聯盟鏈場景。
利用PBFT 算法保證聯盟鏈節點間的一致性,PBFT 算法傳遞示意如圖2 所示。
圖2 中的C為請求節點,0、1、2 均為正常運行的服務器,3 為失效服務器,算法執行情況如下:
(1) Request:由節點C向主節點發送請求,記為0。
(2) Pre-prepare:C請求主節點服務端0 后,服務端0 傳遞至副節點1、2、3。
(3) Prepare:副節點1、2、3 接到傳遞記錄后,1 繼續傳遞至023,2 傳遞至013, 3 因為失效無法繼續傳遞。
(4) Commit:節點0、1、2、3 在準備階段如果收到超過一定數量相同的請求,就會進入提交階段,并且傳遞提交申請。
(5) Reply:在提交階段若0、1、2、3 節點收到超量的相同請求,則會對節點C反饋信息。
將物聯網技術和區塊鏈技術相結合,構建一個農產品信息追溯模型框架,如圖3 所示,在物聯網感知層中,利用各種傳感設備實時采集各種農業數據信息,并上傳至區塊鏈數據層[6]。在區塊鏈數據層中,利用密碼學加密技術對上傳的數據進行加密處理防止農產品生產方或者物流周轉方對農產品信息和物流運輸信息進行篡改。應用層中的農產品交易信息也會上傳至區塊鏈數據層,依靠區塊鏈系統中的時間戳技術產生一個可追溯查詢和監督的區塊鏈條,同時也便于政府監管部門的監督和管理[7]。
2.5.1 區塊數據采集與傳輸
如圖4 所示,依靠各種物聯網傳感設備采集大棚內的空氣溫濕度、土壤溫濕度、光照強度、CO2濃度、PH 數值等數據,經過格式轉換后,再利用WLAN、4G、5G 等現代無線傳輸渠道進行信息傳輸,形成區塊鏈數據的源頭。
2.5.2 數據上鏈存儲
為了實現農產品追溯信息全覆蓋,保證農產品交易信息的完整性,需要將農產品種植時間、采摘時間、農藥殘留量、交易流轉等信息一并上鏈存儲,如圖5 所示。使用區塊鏈技術中的加密算法對存儲的數據進行摘要計算,發送到區塊鏈上,通過共識算法確認信息的真實性后廣播出去,其他節點接收到之后進行匹配,若符合要求則存儲在自己的賬本中,交易內容再也無法篡改。
2.5.3 鏈上追溯信息查詢
農產品經過交易流轉到達消費者手中后,可以通過掃描包裝上的二維碼、RFID 感應設備來查詢該農產品完整的生產交易信息,包括種植時間、種植地點、采摘時間、生長環境數據、加工單位信息、物流運輸信息、區塊鏈上一交易地址哈希值等。消費者可以在區塊鏈交易平臺輸入上一交易地址哈希值來查詢農產品生產交易的數據,通過對比匹配數字簽名來確定生產交易信息是否被篡改。

圖2 PBFT 算法傳遞示意圖

圖3 基于聯盟區塊鏈技術的農產品信息追溯模型框架

圖4 農產品信息追溯圖

圖5 數據上鏈流程
實驗建立了一個由12 臺計算機組成的,運行Linux 操作系統的仿真平臺,用來驗證PBFT 的性能。每臺計算機參數如下:8GB 內存,i5 CPU,Linux 操作版本是Ubuntu 16.4。每臺計算機都在同一局域網中,搭建了符合Hyperledger fabric 配置要求的系統環境,建立了區塊鏈基礎設施網絡。本實驗的農業溯源數據來源于康平某大棚。
基于比特幣區塊鏈的權益證明(POS) 和工作量證明(POW) 共識算法無法提供絕對信任的節點,同時也無法滿足高效率的需求。本文選擇了實用拜占庭容錯算法(PBFT) 來實現區塊鏈共識,解決一致性問題。通過PBFT 算法得到的數據結果如表2 所示,其中S代表節點總數,S*代表失效節點數。通過實驗結果可以看出,PBFT 算法可以容忍1/3 左右的失效節點,容錯能力較強。

表2 PBFT 算法容錯法分析
解決一致性問題是保證區塊鏈數據存儲過程中對于節點之間達成一致性共識和實現互信的基礎。
本文以康平某大棚種植銷售的葡萄為例,其基于聯盟區塊鏈技術的葡萄產品信息追溯過程可分為如下幾個步驟:第一步:當地種植企業對其大棚種植的葡萄,利用物聯網設備從播種葡萄秧苗開始不間斷采集大棚內的空氣溫濕度、土壤溫濕度、光照強度、CO2濃度、PH 數值等數據,并記錄種植時間、地點、施肥量、農藥噴灑量、負責人信息等。保證葡萄的種植系信息被實時記錄,保證信息的可追溯性;第二步:在葡萄生長過程中全程采用視頻監控系統和智能化的物聯網信息采集系統,對葡萄的生長環境全程監控,并將處理后的信息上傳至區塊鏈系統,在葡萄生長成熟后,生成對應的二維碼標識,待采摘包裝后置于產品標簽上;第三步:質量檢驗過程中對產品的質檢過程和質檢結果全程記錄,并將質檢單位、質檢時間、質檢結果等信息上傳至區塊鏈系統;第四步:在葡萄運輸過程中,物流單位必須通過物聯網設備對葡萄的儲存條件、運輸方式和運輸狀態進行實時監控,并及時將信息傳輸到區塊鏈系統中;第五步:葡萄經物流單位運輸到銷售單位時,銷售單位須對該批葡萄的產品標簽進行信息核對,將核實情況上傳到區塊鏈系統;第六步:消費者通過電商平臺購買葡萄,交易記錄被保存在自身的賬戶中并存儲到區塊鏈系統;第七步:供應鏈上的相關節點一起對區塊鏈系統信息進行認證;第八步:消費者通過電商平臺提供的查詢功能,進行對葡萄生產信息、物流信息、交易信息、配送信息等進行查詢和追溯。
針對我國農產品生產銷售過程中的造假、摻假、信息不對稱的問題,本文通過利用區塊鏈技術構建了農產品信息追溯模型,模型通過物聯網技術采集農產品的初始種植信息以及質檢信息、物流運輸信息,保證了信息的真實性、實時性。區塊鏈系統保證了農產品信息的可追溯性和不可篡改。最后,在康平某大棚構建了從葡萄種植開始到消費者共同參與聯盟區塊鏈系統模型,完成了農產品的追溯查詢的實驗驗證。