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

圖1 Hyperledge Fabric整體模塊架構(gòu)示意圖
身份管理模塊針對(duì)企業(yè)級(jí)區(qū)塊鏈對(duì)安全性和隱私性的要求,強(qiáng)化了用戶的加入權(quán)限,任何參與交易的人都需要經(jīng)過PKI公鑰基礎(chǔ)設(shè)施的認(rèn)證才能加入。賬本管理模塊采用點(diǎn)對(duì)點(diǎn)協(xié)議對(duì)分布式賬本進(jìn)行管理,可以根據(jù)需求的不同可插拔地配置不同的共識(shí)協(xié)議,并以鏈?zhǔn)劫~本記錄交易歷史,以World State機(jī)制記錄賬本最新狀態(tài)。交易管理模塊以部署交易和調(diào)用交易兩種形式對(duì)交易過程中的數(shù)據(jù)進(jìn)行管控,其中部署交易是在交易成功執(zhí)行時(shí)便將Chaincode鏈碼安裝到各個(gè)peer節(jié)點(diǎn)上;而調(diào)用交易則是通過Fabric提供的API調(diào)用鏈碼中的指定函數(shù)進(jìn)行交易。智能合約模塊記錄了Fabric的聯(lián)盟鏈中成員同意的業(yè)務(wù)邏輯,可以用Go、Java等通用語(yǔ)言進(jìn)行編寫,克服了傳統(tǒng)區(qū)塊鏈?zhǔn)芟抻谔囟I(lǐng)域語(yǔ)言的缺陷。
在畜禽產(chǎn)品溯源過程中,對(duì)于各個(gè)環(huán)節(jié)信息的保存與有效共享傳遞是溯源系統(tǒng)得以有效運(yùn)作的核心,因此本文基于Hyperledger Fabric技術(shù)的基礎(chǔ)思想,對(duì)畜禽產(chǎn)品溯源系統(tǒng)的整體模型進(jìn)行了設(shè)計(jì)。如圖2所示。

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

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

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