陳秋強
(廈門大學嘉庚學院,福建 漳州 363100)
有別于其他行業,在畜禽產品供應鏈上建立一套跨企業的溯源平臺是極具挑戰性的任務。
近年來,隨著區塊鏈技術應用的不斷發展,其所具備的去中心化、天然的數字身份認證、信息共識、數據不可篡改等特性,為畜禽產品安全溯源體系的建設提供了新的契機[1-2]。在畜禽產品供應鏈上的各個企業可以通過自己的區塊鏈節點進行數據的同步,從而形成完整的全流程溯源系統。
本文以IBM主導開發的企業級區塊鏈技術中最穩定完善的Hyperledger Fabric架構技術為核心,借助其高擴展性和高應用性,將該技術引入到畜禽產品的溯源系統設計中,從而為畜禽養殖及銷售產業鏈提供溯源體系設計上的有益參考[3]。
區塊鏈(Blockchain)是一種由多方共同維護,使用密碼學保證傳輸和訪問安全,能夠實現數據一致存儲、難以篡改、防止抵賴的記賬技術,也稱為分布式賬本技術(Distributed Ledger Technology)[4]。而在區塊鏈支持下的商品溯源便是借助區塊鏈,在商品的生產、流通和消費過程中,通過各種商品信息和關鍵數據的采集與留存,為快速查找各個環節的問題與責任提供服務[5]。
由于區塊鏈技術具有開放、可信、去中心化、共享的特點,因此區塊鏈技術在溯源系統的構建中可以發揮重要的作用。首先在技術方面,區塊鏈可以作為溯源系統的存儲范式,從而保證數據的真實可追溯性。其次在應用方面,以區塊鏈為基礎的智能合約能夠為跨企業的溯源平臺解決信息互通問題,從而為整個參與溯源活動的企業提供更加有價值的服務。最后,借助區塊鏈技術,溯源系統可以真正做到多中心、按勞分配、價值共享、利益公平分配,最終實現溯源活動的自治價值[6]。
Hyperledger Fabric是一種企業級區塊鏈架構技術,最初由IBM和Digital Asset開發并貢獻給開源社區,已經應用于沃爾瑪的食物溯源鏈(Foodtrust)和馬士基的物流跟蹤鏈(TradeLens)等企業級溯源項目中。有別于以太坊、比特幣等公有鏈,Hyperledge Fabric是一種聯盟鏈型區塊鏈架構,其網絡節點的加入必須經過授權和認證,從而提高了交易處理效率[7]。Hyperledger Fabric采用模塊化架構設計,包括身份管理、賬本管理、交易管理和智能合約四大核心。其架構如圖1所示。

圖1 Hyperledge Fabric整體模塊架構示意圖
身份管理模塊針對企業級區塊鏈對安全性和隱私性的要求,強化了用戶的加入權限,任何參與交易的人都需要經過PKI公鑰基礎設施的認證才能加入。賬本管理模塊采用點對點協議對分布式賬本進行管理,可以根據需求的不同可插拔地配置不同的共識協議,并以鏈式賬本記錄交易歷史,以World State機制記錄賬本最新狀態。交易管理模塊以部署交易和調用交易兩種形式對交易過程中的數據進行管控,其中部署交易是在交易成功執行時便將Chaincode鏈碼安裝到各個peer節點上;而調用交易則是通過Fabric提供的API調用鏈碼中的指定函數進行交易。智能合約模塊記錄了Fabric的聯盟鏈中成員同意的業務邏輯,可以用Go、Java等通用語言進行編寫,克服了傳統區塊鏈受限于特定領域語言的缺陷。
在畜禽產品溯源過程中,對于各個環節信息的保存與有效共享傳遞是溯源系統得以有效運作的核心,因此本文基于Hyperledger Fabric技術的基礎思想,對畜禽產品溯源系統的整體模型進行了設計。如圖2所示。

圖2 基于Hyperledge Fabric的畜禽產品溯源系統整體架構圖
在畜禽供應鏈上的養殖戶、生產加工商、物流運輸方和批零終端方在Hyperledger Fabric鏈中可被視作一個組織(Org),每個組織存在錄入和存儲數據的需求,因而為其設置節點(Peer)。在每個節點中,整個供應鏈上對于畜禽產品的相關信息,例如養殖信息、產品生產信息、分裝信息、物流運輸信息和批發零售信息等均以智能合約的方式錄入上傳到該聯盟鏈中,并在系統中驅動其他節點同步交易信息,生成相應區塊,最終達成具有信息共識的區塊鏈數據。在此基礎上,監管部門和畜禽產品消費者就可以利用自己所擁有的區塊鏈節點對鏈上同步的相關產品信息進行全過程溯源,并且借助區塊鏈數據去中心化存儲、不可篡改的特性獲得關于該畜禽產品生產和流通過程中的全部真實信息,最終達成該溯源系統公正、可靠、透明、可信任的核心要求。
基于以上的總體設計,本文將畜禽產品區塊鏈溯源系統的軟件架構分為三大層次,即基礎層、數據層和應用層。如圖3所示。

圖3 基于Hyperledge Fabric的畜禽產品溯源系統軟件設計圖
其中,基礎層主要包含Hyperledger Fabric的基礎框架。而數據層主要由存儲控制、共識算法、智能合約和鏈碼管控等核心功能組成,其中在最關鍵的共識算法機制上,本文以Kafka模式作為其共識算法的基礎,在畜禽供應鏈上的用戶向背書節點endorser發送背書請求,經過鏈上peer的身份驗證和安全驗證后,區塊鏈系統會給用戶端發回上傳許可,而后用戶端便可以將其所需存儲的信息進行排序和區塊生成,并將區塊結果發送至分布式賬本節點驅動整個鏈條進行同步。應用層采用Java語言進行編寫,借助Hyperledger Fabric的SDK實現溯源模塊的信息錄入、查詢、監管、統計等綜合處理和交互操作。
基于上述整體模型和軟件架構,使用Hyperledger Fabric的畜禽產品區塊鏈溯源系統可以更加安全、有效、公正地實現對畜禽產品全過程信息的錄入、更新、查詢和監管操作。在操作過程中,供應鏈和監管層上的不同參與者可以根據自己的實際需求,采用不同的模塊功能與相應的區塊鏈系統進行交互,產生并向區塊鏈系統同步自己的數據區塊(如圖4所示),從而完成對整個畜禽產品的溯源。

圖4 基于Hyperledge Fabric的畜禽產品溯源系統實現界面
首先,在養殖環節,隨著智能養殖設備成本的降低,養殖戶可以通過智能腳環、實時智能監控等設備捕捉畜禽的生長狀態,將不同養殖批次的畜禽通過編碼加以區分,通過信息上鏈形成完整的養殖數據,從而保證將養殖端區塊鏈節點數據同步到追溯系統中。其次,在檢疫環節,被養殖的畜禽足重出欄或是產出奶蛋后,可根據養殖批次對其進行檢驗檢疫,將激素殘留檢測和病原檢測結果等形成檢測報告,同步將報告信息與對應的養殖批次的鏈碼進行鏈接,共享至追溯平臺并同步到底層的區塊鏈中,并將檢測機構的電子簽名嵌入chaincode。
再者,在生產加工環節,對畜禽產品往往需要進行簡單包裝和分揀,因此在其最小包裝單位粒度下,于每個包裝外部生成一個唯一的二維碼標識或是附貼RFID標簽,并將該唯一標識碼同步到區塊鏈溯源系統中,使其與前述環節的鏈碼鏈接,更新和同步區塊,從而形成信息共識。在生產加工過程中產生的數據,例如生產日期、加工廠信息、出廠時間等信息也同時被錄入到系統中,進而傳遞到區塊鏈上。
最后,在物流流通環節,對畜禽產品進行包裝時將會把多個最小包裝單位的產品集中放置到某個箱子或是統一包裝中,溯源系統將把此生成箱碼或托盤碼作為唯一標識,物流運輸商即可將該碼粘貼或附到貨箱中作為追溯標識。在中轉過程中,均通過掃碼等操作將各個中轉倉庫的信息同步到區塊鏈中,從而形成對物流的完整記錄。
在上述環節完成并在區塊鏈系統中實現分布式存儲且達成信息共識鏈之后,消費終端上的消費者或是監管部門的監管人員便可以通過掃描二維碼等方式,利用商品外包裝上的溯源碼查看畜禽產品從養殖到最終批零銷售和運輸的全部信息,從而完成對畜禽產品溯源的全過程。
Hyperledger Fabric作為一種成熟的聯盟鏈架構,在兼顧了區塊鏈技術的去中心化、不可篡改等特性的同時,還滿足了企業對高安全性、身份認證和權限可控性、可擴展性的要求,因此是一種非常適合溯源系統搭建的技術框架。
本文以Hyperledger Fabric為基礎,針對畜禽產品溯源在現階段存在的技術需求,采用區塊鏈數據存儲和驗證的方式設計了一套畜禽產品區塊鏈溯源系統,并通過畜禽產品生產流通全環節數據的上鏈,解決了傳統溯源技術方案存在的數據中心化、信息共識信任度低的問題,為區塊鏈技術在畜禽產品溯源中的應用提供了有益的參考。