摘" 要:在信息化社會中,食品安全問題成為了人們?nèi)粘I畹闹匾P(guān)注點。其中,農(nóng)產(chǎn)品信息溯源體系的建立對于保障食品安全起到了重要的作用。然而,傳統(tǒng)的農(nóng)產(chǎn)品信息溯源體系在實際應(yīng)用中存在許多問題,如信息不對稱、系統(tǒng)結(jié)構(gòu)中心化、信息易篡改等。因此,該研究旨在利用區(qū)塊鏈和物聯(lián)網(wǎng)技術(shù),改善現(xiàn)有農(nóng)產(chǎn)品信息溯源體系中的問題,提升其效率和可靠性。研究發(fā)現(xiàn),區(qū)塊鏈技術(shù)的去中心化、不可篡改、開放透明等特性,與物聯(lián)網(wǎng)的大規(guī)模數(shù)據(jù)收集和處理能力相結(jié)合,能有效改善農(nóng)產(chǎn)品信息溯源體系,提高其在食品安全保障中的作用。
" 關(guān)鍵詞:區(qū)塊鏈;物聯(lián)網(wǎng);可追溯性;超級賬本結(jié)構(gòu);農(nóng)產(chǎn)品
" 中圖分類號:F49" " 文獻(xiàn)標(biāo)志碼:A" " DOI:10.13714/j.cnki.1002-3100.2024.24.010
Abstract: In the information society, food safety has become a significant concern in people's daily lives. The establishment of an agricultural product information traceability system plays a vital role in ensuring food safety. However, traditional traceability systems for agricultural products face numerous challenges in practical application, such as information asymmetry, centralized system architecture, and vulnerability to data tampering. Therefore, this study aims to utilize blockchain and the Internet of Things (IoT) technologies to address these issues and enhance the efficiency and reliability of the existing agricultural product information traceability system. The research finds that the decentralized, immutable, and transparent nature of blockchain technology, combined with the IoT's capability for large-scale data collection and processing, can effectively improve the agricultural product information traceability system, enhancing its role in ensuring food safety.
Key words: blockchain; Internet of Things; traceability; hyperledger; agricultural products
收稿日期:2024-04-20
基金項目:北京市社會科學(xué)基金項目“區(qū)塊鏈與物聯(lián)網(wǎng)環(huán)境下的農(nóng)產(chǎn)品信息溯源體系研究:以京津冀為例”(18GLC066)
作者簡介:劉同娟(1979—),女,北京人,北京物資學(xué)院信息學(xué)院,教授,碩士生導(dǎo)師,研究方向:智能物流信息技術(shù);蔡曉東(1999—),本文通信作者,男,江蘇淮安人,北京物資學(xué)院信息學(xué)院碩士研究生,研究方向:智能物流信息技術(shù)。
引文格式:劉同娟,蔡曉東. 基于區(qū)塊鏈與物聯(lián)網(wǎng)技術(shù)的農(nóng)產(chǎn)品信息溯源體系研究[J]. 物流科技,2024,47(24):44-50.
0" 引" 言
在當(dāng)今社會,食品藥品安全直接關(guān)系到人體健康安全。隨著數(shù)字經(jīng)濟(jì)的快速發(fā)展,食品藥品安全的供應(yīng)鏈可視性概念比以往任何時候受到的關(guān)注都多。
2015年,中國頒布了《中華人民共和國食品安全法》,要求食品生產(chǎn)經(jīng)營者建立食品安全追溯體系[1]。2019年,《中華人民共和國藥品管理法》提出,從事藥品研發(fā)、生產(chǎn)、銷售、使用、監(jiān)督管理活動的人員應(yīng)當(dāng)保證全過程的真實性、準(zhǔn)確性、完整性和可追溯性[2]。自動識別技術(shù),如條形碼、二維條形碼、射頻識別(RFID)和物聯(lián)網(wǎng)(IoT)數(shù)據(jù)采集和處理技術(shù),可以記錄和處理整個供應(yīng)鏈中有關(guān)產(chǎn)品可見性的各種類型的信息,并使產(chǎn)品能夠被跟蹤和追溯[3]。傳統(tǒng)的產(chǎn)品溯源系統(tǒng)通?;诩惺綌?shù)據(jù)存儲架構(gòu),有關(guān)溯源的信息通常由第三方機(jī)構(gòu)存儲和控制。在這種類型的系統(tǒng)中,很難保證數(shù)據(jù)的透明度和完整性,并且系統(tǒng)可能存在單點故障、易于篡改信息以及可信度不足等缺點[4]。
區(qū)塊鏈?zhǔn)且环N防篡改、分布式、去中心化的點對點技術(shù),可用于跟蹤和驗證數(shù)字交易,它具有許多新功能,例如分布式數(shù)據(jù)存儲、智能合約、共識機(jī)制等[5]。由于區(qū)塊鏈?zhǔn)欠稚⒌?、防篡改的、透明的、可審計的等,因此可以為供?yīng)鏈中的數(shù)據(jù)捕獲提供安全的環(huán)境,特別是關(guān)于使用有線或無線傳感器創(chuàng)建的事件數(shù)據(jù)[6]。依靠P2P網(wǎng)絡(luò)、時間戳、非對稱加密、智能合約和數(shù)據(jù)庫技術(shù)的支持,區(qū)塊鏈展現(xiàn)了若干重要優(yōu)勢,如去中心化、可追溯性、集體維護(hù)性,這些優(yōu)勢共同保障了數(shù)據(jù)在鏈上的透明性[7]。
Hyperledger fabric由Linux基金會于2015年推出[8]。目前,F(xiàn)abric是使用最廣泛和最知名的許可區(qū)塊鏈框架。Rauchs等最近進(jìn)行的一項調(diào)查顯示,根據(jù)劍橋替代金融中心的數(shù)據(jù),48%的許可區(qū)塊鏈項目建立在Fabric上[9]。物聯(lián)網(wǎng)通過使用射頻識別(RFID)、紅外感應(yīng)器、全球定位系統(tǒng)(GPS)等技術(shù),并遵循特定協(xié)議,實現(xiàn)將各種物品與互聯(lián)網(wǎng)相連,從而進(jìn)行信息的交換和通訊。這種網(wǎng)絡(luò)的主要功能包括智能化的識別、定位和管理,其核心特性是全面感知、可靠傳送和智能處理[10]。區(qū)塊鏈物聯(lián)網(wǎng)的基礎(chǔ)架構(gòu)大致分為三層:感知層、網(wǎng)絡(luò)層、應(yīng)用層。感知層主要進(jìn)行數(shù)據(jù)的采集、轉(zhuǎn)換與收集,網(wǎng)絡(luò)層主要進(jìn)行信息傳輸與管理,應(yīng)用層主要進(jìn)行信息的控制與信息的處理,并把這些信息與技術(shù)應(yīng)用相結(jié)合[11]。由于物聯(lián)網(wǎng)設(shè)備的計算和存儲能力有限,這些設(shè)備易受到惡意用戶的攻擊,因此它們本身不足以獨立作為安全的決策實體。為了解決這一問題,必須依靠一個可信賴的第三方機(jī)構(gòu)來補(bǔ)充其存儲與計算能力[12]。區(qū)塊鏈由于其固有的不可篡改性和隱私保護(hù)功能,即便在假設(shè)所有參與者均不可信的情況下,也能在技術(shù)層面強(qiáng)制所有參與者保持誠信,從而為訪問控制創(chuàng)造一個安全環(huán)境[13]。結(jié)合物聯(lián)網(wǎng)的區(qū)塊鏈技術(shù),不僅利用共識機(jī)制進(jìn)行物聯(lián)網(wǎng)設(shè)備的分布式管理,還可以通過智能合約自動處理相關(guān)的數(shù)據(jù)[14]。
區(qū)塊鏈與物聯(lián)網(wǎng)的結(jié)合還能提升供應(yīng)鏈的透明度和效率,許多學(xué)者針對物聯(lián)網(wǎng)適用的區(qū)塊鏈架構(gòu)已提出多項研究。
例如, 劉耀宗及其團(tuán)隊開發(fā)了一種基于區(qū)塊鏈的RFID大數(shù)據(jù)溯源安全模型,該模型構(gòu)建了一個全程鏈?zhǔn)降臄?shù)據(jù)溯源路徑,確立了一個多方參與的、信息透明的溯源鏈,極大地提高了農(nóng)產(chǎn)品供應(yīng)的安全性[15]。Novo實現(xiàn)了一個基于區(qū)塊鏈的可擴(kuò)展、易于管理的物聯(lián)網(wǎng)分布式訪問控制系統(tǒng)架構(gòu),該架構(gòu)使得訪問控制信息通過區(qū)塊鏈存儲并分發(fā),有效解決了物聯(lián)網(wǎng)中數(shù)十億受限設(shè)備的訪問擴(kuò)展問題,提高了處理負(fù)載能力[16]。Li等提出的多層安全物聯(lián)網(wǎng)絡(luò)模型將物聯(lián)網(wǎng)分為多級去中心化網(wǎng)絡(luò),并在各層級采用區(qū)塊鏈技術(shù),簡化了區(qū)塊鏈實際部署的同時保留了其高安全性[17]。Liu等開發(fā)的輕量級區(qū)塊鏈架構(gòu),適合功耗受限的工業(yè)物聯(lián)網(wǎng)環(huán)境,有效平衡了資源消耗與設(shè)備性能的限制[18]。Mondal等構(gòu)建的食品供應(yīng)鏈物聯(lián)網(wǎng)架構(gòu),基于對象證明的認(rèn)證協(xié)議,結(jié)合RFID傳感器和區(qū)塊鏈技術(shù),在物理層和網(wǎng)絡(luò)層實時記錄數(shù)據(jù),提供了不可篡改的數(shù)字歷史記錄,使消費者能夠查看公共分類賬[19]。孫俊等著重研究了系統(tǒng)的數(shù)據(jù)管理問題,提出了包括數(shù)據(jù)層、網(wǎng)絡(luò)層、共識層、合約層和應(yīng)用層在內(nèi)的五層系統(tǒng)架構(gòu),并將區(qū)塊鏈技術(shù)應(yīng)用于架構(gòu)中的數(shù)據(jù)層、網(wǎng)絡(luò)層、共識層和合約層的區(qū)塊鏈的農(nóng)產(chǎn)品追溯系統(tǒng)設(shè)計方案,提高了數(shù)據(jù)管理的安全性也保證了P2P網(wǎng)絡(luò)下數(shù)據(jù)的傳輸效率[20]。于澤偉設(shè)計了結(jié)合特定的應(yīng)用場景、選擇聯(lián)盟鏈來構(gòu)建區(qū)塊鏈網(wǎng)絡(luò)的農(nóng)產(chǎn)品追溯模型,并對PBFT共識算法進(jìn)行了優(yōu)化[21],但是此系統(tǒng)不能應(yīng)用于多個場景。
基于以上現(xiàn)狀,當(dāng)前溯源體系研究存在以下不足之處。
首先,由于區(qū)塊鏈通常在每個節(jié)點中存儲一整套數(shù)據(jù),如果將所有可追溯性數(shù)據(jù)上傳到區(qū)塊鏈平臺,這可能會導(dǎo)致效率問題甚至可能導(dǎo)致數(shù)據(jù)爆炸,因為供應(yīng)鏈中的可追溯性數(shù)據(jù)會非常大。其次,在傳統(tǒng)的農(nóng)產(chǎn)品溯源體系中,監(jiān)管機(jī)制通常由監(jiān)管部門等人工執(zhí)行,導(dǎo)致監(jiān)管過程缺乏公正、公開和透明性。某些不負(fù)責(zé)任的個體可能會尋求私利而不按照規(guī)定執(zhí)行監(jiān)管任務(wù),從而影響溯源數(shù)據(jù)的可信度。 再次,在傳統(tǒng)的區(qū)塊鏈系統(tǒng)中,所有的業(yè)務(wù)功能都在一個鏈上執(zhí)行,這限制了系統(tǒng)的擴(kuò)展性。當(dāng)系統(tǒng)需要新增功能或者擴(kuò)展時,需要對整個鏈進(jìn)行改動,而且可能涉及復(fù)雜的共識機(jī)制和權(quán)限管理。最后,農(nóng)產(chǎn)品追溯過程中,涉及大量詳細(xì)繁雜的信息,如何確保大量農(nóng)產(chǎn)品追溯數(shù)據(jù)的真實性和完整性也需解決。為了解決以上問題,在本文中,我們提出了一種基于Hyperledger Fabric區(qū)塊鏈技術(shù)和前端顯示技術(shù)實現(xiàn)的可追溯系統(tǒng)。
1" 系統(tǒng)設(shè)計與實施
需求分析在指導(dǎo)系統(tǒng)開發(fā)中起著關(guān)鍵作用,提供明確的決策支持和方向指導(dǎo)。本系統(tǒng)根據(jù)用戶需求劃分為七個主要模塊,分別是農(nóng)產(chǎn)品種植、農(nóng)產(chǎn)品倉儲、農(nóng)產(chǎn)品加工、農(nóng)產(chǎn)品物流、農(nóng)產(chǎn)品銷售、消費者和系統(tǒng)管理員七種角色。每種用戶群體都有其獨特的功能需求和相應(yīng)的使用及管理權(quán)限。如圖1所示。
區(qū)塊鏈與物聯(lián)網(wǎng)環(huán)境下農(nóng)產(chǎn)品信息溯源系統(tǒng)的主要功能如圖1所示,下面對系統(tǒng)不同模塊進(jìn)行說明。
農(nóng)產(chǎn)品種植:種植企業(yè)需在使用該系統(tǒng)前進(jìn)行注冊,并提交必要信息以通過審核。一旦注冊成功,企業(yè)便可使用該系統(tǒng)的相關(guān)功能權(quán)限,主要用于管理農(nóng)產(chǎn)品種植過程中的各項信息。包括農(nóng)產(chǎn)品名稱、產(chǎn)品id、種植地址、耕種者、品質(zhì)描述和創(chuàng)建時間等。
農(nóng)產(chǎn)品倉儲:倉儲企業(yè)需要先注冊并提交所需信息以通過該系統(tǒng)的審核。審核通過之后,企業(yè)將獲得使用系統(tǒng)功能的權(quán)限,主要用于管理農(nóng)產(chǎn)品倉儲環(huán)節(jié)的相關(guān)信息。包括倉庫信息、出入庫記錄、存儲信息和存儲時間等。
農(nóng)產(chǎn)品加工:加工企業(yè)在使用該系統(tǒng)前需要進(jìn)行注冊,并提交必要的信息進(jìn)行審核。審核通過后,企業(yè)將獲得系統(tǒng)功能的使用權(quán)限,這些功能主要用于管理農(nóng)產(chǎn)品加工過程中的各種信息。
農(nóng)產(chǎn)品物流:物流企業(yè)負(fù)責(zé)在農(nóng)產(chǎn)品種植和加工完成后,管理其運輸階段的所有相關(guān)信息,以確保該過程的信息透明化。
農(nóng)產(chǎn)品銷售:農(nóng)產(chǎn)品銷售是在各銷售點售賣農(nóng)產(chǎn)品階段,對農(nóng)產(chǎn)品在銷售過程中產(chǎn)生的信息進(jìn)行管理,其中包括超市名稱、銷售地址、銷售方式和銷售時間等信息。
消費者:當(dāng)消費者選擇購買產(chǎn)品時,他們最關(guān)心的是產(chǎn)品的質(zhì)量是否達(dá)標(biāo)。農(nóng)產(chǎn)品追溯系統(tǒng)提供了一個質(zhì)量安全保障,使得消費者能夠隨時查詢產(chǎn)品信息,確保從生產(chǎn)到銷售的各個環(huán)節(jié)的信息對消費者是開放透明的,從而增加消費者對產(chǎn)品的信任。
系統(tǒng)管理員:系統(tǒng)管理員在這一系統(tǒng)中扮演至關(guān)重要的角色,他們負(fù)責(zé)在區(qū)塊鏈和物聯(lián)網(wǎng)環(huán)境中進(jìn)行權(quán)限管理,具體職責(zé)包括用戶分組和功能權(quán)限分配。
2" 可行性研究
2.1" 技術(shù)可行性
農(nóng)產(chǎn)品信息追溯系統(tǒng)的核心在于保障供應(yīng)鏈各環(huán)節(jié)產(chǎn)品來源信息的真實性。利用區(qū)塊鏈技術(shù)可以有效地解決以下問題。
身份認(rèn)證:參與者在注冊時可以獲得認(rèn)證證書,確保其在交易和追溯中的身份真實性。
數(shù)據(jù)共享:區(qū)塊鏈中的各節(jié)點管理追溯信息,通過智能合約提交數(shù)據(jù)到區(qū)塊鏈系統(tǒng),只有在所有相關(guān)方達(dá)成共識后,數(shù)據(jù)更新才會被確認(rèn),且一經(jīng)確認(rèn)不易更改或刪除。
數(shù)據(jù)溯源:產(chǎn)品在流經(jīng)多個供應(yīng)鏈環(huán)節(jié)后,仍可通過查詢系統(tǒng)有效追溯到每一個環(huán)節(jié),確保了信息的真實性。
2.2" 經(jīng)濟(jì)可行性
從經(jīng)濟(jì)角度分析,區(qū)塊鏈技術(shù)相比傳統(tǒng)數(shù)據(jù)庫產(chǎn)品具有明顯成本優(yōu)勢。傳統(tǒng)數(shù)據(jù)庫產(chǎn)品往往需要購買昂貴的許可證,而區(qū)塊鏈網(wǎng)絡(luò)僅需部署在服務(wù)器上即可,無需額外的許可費用。這大大降低了進(jìn)入門檻和初期研究成本?;诰唧w的應(yīng)用需求,開發(fā)者可以選擇現(xiàn)有的開源區(qū)塊鏈架構(gòu)進(jìn)行定制化開發(fā),這在經(jīng)濟(jì)上是完全可行的。
3" 系統(tǒng)架構(gòu)
在本文中,我們建立了一個基于Fabric和物聯(lián)網(wǎng)的值得信賴的產(chǎn)品可追溯系統(tǒng)。系統(tǒng)架構(gòu)如圖2所示,分為以下幾層。
數(shù)據(jù)采集層:數(shù)據(jù)采集通常由基于硬件終端設(shè)備(如手持設(shè)備)和RFID/條形碼技術(shù)的企業(yè)節(jié)點實現(xiàn)。此外,終端設(shè)備上的應(yīng)用可以與區(qū)塊鏈平臺進(jìn)行交互,以實現(xiàn)設(shè)備注冊、認(rèn)證,并將捕獲的數(shù)據(jù)可靠地上傳到鏈上。
網(wǎng)絡(luò)層:區(qū)塊鏈的網(wǎng)絡(luò)層是區(qū)塊鏈技術(shù)體系中的一個重要組成部分,它負(fù)責(zé)處理節(jié)點之間的通信和數(shù)據(jù)傳輸。
共識層:在區(qū)塊鏈中,各個節(jié)點都必須通過復(fù)制和同步這些數(shù)據(jù)來保證整個體系的統(tǒng)一性,而這種過程就稱為共識,所采用的算法也叫共識算法,主要有PoW、PoS、DPoS、PBFT以及超級賬本特有的Kafka。
存儲層:由傳統(tǒng)的中心數(shù)據(jù)庫變成分布式的區(qū)塊鏈進(jìn)行存儲,常用的區(qū)塊鏈賬本有以太坊、超級賬本等,分布式儲存克服了傳統(tǒng)的農(nóng)產(chǎn)品溯源體系數(shù)據(jù)中心化等嚴(yán)重問題。
應(yīng)用層:應(yīng)用層是系統(tǒng)與用戶的交互層。系統(tǒng)采用網(wǎng)頁的方式為用戶提供操作平臺,方便用戶將農(nóng)產(chǎn)品相關(guān)數(shù)據(jù)上傳到平臺中。與此同時,將上傳的信息生成區(qū)塊鏈信息并儲存。
目前區(qū)塊鏈存儲主要使用的都是單鏈結(jié)構(gòu)或“主鏈+側(cè)鏈”的架構(gòu),不過這兩個架構(gòu)都是以主鏈形式儲存在農(nóng)產(chǎn)品供應(yīng)鏈中每個環(huán)節(jié)的可追溯數(shù)據(jù)。而隨著使用時間的增長,可追溯數(shù)據(jù)會越來越多,占據(jù)區(qū)塊鏈存儲容量就會越來越大,使系統(tǒng)的性能降低。因此本系統(tǒng)采用鏈上+鏈下存儲數(shù)據(jù)的方式,來解決系統(tǒng)柔性以及緩解數(shù)據(jù)量爆炸問題。
此外,目前的基于區(qū)塊鏈農(nóng)產(chǎn)品追溯系統(tǒng)柔性、可擴(kuò)展性差,傳統(tǒng)的區(qū)塊鏈采用的是順序執(zhí)行的方式,這使得所有節(jié)點都必須要按順序執(zhí)行智能合約,限制了系統(tǒng)的可擴(kuò)展性和性能,因此本系統(tǒng)采用模塊化設(shè)計方法設(shè)計區(qū)塊鏈系統(tǒng),使各業(yè)務(wù)進(jìn)行隔離,貫徹高內(nèi)聚低耦合的思想,提高系統(tǒng)柔性和可擴(kuò)展性。通過對比公有鏈、聯(lián)盟鏈、私有鏈的特性,本系統(tǒng)采用聯(lián)盟鏈的超級賬本Hyperledger Fabric來編寫區(qū)塊鏈。鏈上+鏈下管理模型如圖3所示。
3.1" 數(shù)據(jù)庫模塊
區(qū)塊鏈與物聯(lián)網(wǎng)環(huán)境下農(nóng)產(chǎn)品溯源系統(tǒng)中,所有環(huán)節(jié)的質(zhì)量安全相關(guān)數(shù)據(jù)存儲于區(qū)塊鏈上,非質(zhì)量安全相關(guān)數(shù)據(jù)存儲于中心化數(shù)據(jù)庫中。區(qū)塊鏈與物聯(lián)網(wǎng)環(huán)境下農(nóng)產(chǎn)品溯源系統(tǒng)是一個面向多個節(jié)點的管理平臺,為了支撐起龐大的數(shù)據(jù)處理需求,選擇使用MySQL這一關(guān)系型數(shù)據(jù)庫,而且MySQL數(shù)據(jù)庫作為常用的企業(yè)型數(shù)據(jù)庫,相對穩(wěn)定且易于維護(hù)。數(shù)據(jù)庫ER如圖4所示。
數(shù)據(jù)庫創(chuàng)建好后,和前臺開發(fā)語言連接設(shè)置如圖5所示。
3.2" 區(qū)塊鏈創(chuàng)建
區(qū)塊實現(xiàn):首先,在程序中創(chuàng)建了一個Block類,該類用于表示農(nóng)產(chǎn)品區(qū)塊的屬性和方法。然后,創(chuàng)建一個Blockchain類,在構(gòu)造函數(shù)中創(chuàng)建一個列表,用于儲存農(nóng)產(chǎn)品的區(qū)塊鏈。農(nóng)產(chǎn)品區(qū)塊代碼圖如圖6所示。
區(qū)塊鏈實現(xiàn):在實例化Blockchain之后,需要創(chuàng)建第一個區(qū)塊,即創(chuàng)世塊,并將其附加到區(qū)塊鏈。創(chuàng)世塊的索引為0,previous_hash為0,并且是一個有效的哈希。如圖7所示。
區(qū)塊添加與驗證:添加新的區(qū)塊到鏈的過程需要進(jìn)行驗證。驗證的步驟包括檢查工作證明是否有效,以及塊中引用的previous_hash是否與鏈中最新塊的哈希匹配。如圖8所示。
3.3" Web服務(wù)及客戶端開發(fā)模塊
3.3.1" 節(jié)點數(shù)據(jù)庫實現(xiàn)
本文設(shè)計的農(nóng)產(chǎn)品溯源系統(tǒng)涉及大量信息,因此節(jié)點數(shù)據(jù)庫的設(shè)計至關(guān)重要。在本項目的研究中,根據(jù)以下原則使用了MySQL節(jié)點數(shù)據(jù)庫進(jìn)行設(shè)計。
減少冗余數(shù)據(jù):由于數(shù)據(jù)的增刪查改操作較多,應(yīng)盡量避免冗余數(shù)據(jù)信息的存儲,這有助于提高數(shù)據(jù)庫的性能和效率。
保證農(nóng)產(chǎn)品供應(yīng)鏈溯源信息的完整性和準(zhǔn)確性:溯源信息的完整性意味著涵蓋了農(nóng)產(chǎn)品供應(yīng)鏈的所有環(huán)節(jié),從種植、加工、倉儲、運輸?shù)戒N售,所有關(guān)鍵步驟都需要被記錄和保存。準(zhǔn)確性是指節(jié)點數(shù)據(jù)庫中存儲的信息必須是真實、準(zhǔn)確的。
在數(shù)據(jù)庫設(shè)計過程中,應(yīng)結(jié)合實際應(yīng)用需求和業(yè)務(wù)流程,定義適當(dāng)?shù)谋斫Y(jié)構(gòu),設(shè)定主鍵和外鍵,以及建立索引等。通過Python語言調(diào)用數(shù)據(jù)庫,可以實現(xiàn)數(shù)據(jù)的增刪改查操作,從而實現(xiàn)農(nóng)產(chǎn)品供應(yīng)鏈的信息溯源功能。
節(jié)點數(shù)據(jù)庫的建立需要綜合考慮數(shù)據(jù)規(guī)模、性能需求、安全性等因素,確保系統(tǒng)能夠高效運行并保護(hù)數(shù)據(jù)的安全。圖9是節(jié)點數(shù)據(jù)庫的設(shè)計示意圖,展示了數(shù)據(jù)庫中表和數(shù)據(jù)之間的關(guān)系。
3.3.2" 系統(tǒng)功能實現(xiàn)
用戶注冊登錄功能實現(xiàn):農(nóng)產(chǎn)品供應(yīng)鏈各環(huán)節(jié)節(jié)點用戶可以通過系統(tǒng)的注冊界面進(jìn)行注冊,獲取登錄賬號。實現(xiàn)用戶注冊登錄功能需要設(shè)計注冊界面和登錄界面,并在代碼中實現(xiàn)用戶的注冊和登錄邏輯,如圖10所示。
農(nóng)產(chǎn)品種植功能實現(xiàn):種植者可以通過系統(tǒng)將農(nóng)產(chǎn)品種植信息上傳到區(qū)塊鏈中。實現(xiàn)種植功能需要設(shè)計種植信息新增界面和種植信息列表界面,并在代碼中實現(xiàn)數(shù)據(jù)的新增和查詢功能。
農(nóng)產(chǎn)品倉儲功能實現(xiàn):倉儲負(fù)責(zé)人可以將農(nóng)產(chǎn)品倉儲信息上傳到區(qū)塊鏈中。實現(xiàn)倉儲功能需要設(shè)計倉儲信息新增界面和倉儲信息列表界面,并在代碼中實現(xiàn)數(shù)據(jù)的新增和查詢功能。
農(nóng)產(chǎn)品加工功能實現(xiàn):加工負(fù)責(zé)人可以將農(nóng)產(chǎn)品加工信息上傳到區(qū)塊鏈中。實現(xiàn)加工功能需要設(shè)計加工信息新增界面和加工信息列表界面,并在代碼中實現(xiàn)數(shù)據(jù)的新增和查詢功能。
農(nóng)產(chǎn)品物流功能實現(xiàn):物流負(fù)責(zé)人可以將農(nóng)產(chǎn)品物流信息上傳到區(qū)塊鏈中。實現(xiàn)物流功能需要設(shè)計物流信息新增界面和物流信息列表界面,并在代碼中實現(xiàn)數(shù)據(jù)的新增和查詢功能。
農(nóng)產(chǎn)品銷售功能實現(xiàn):銷售負(fù)責(zé)人可以將農(nóng)產(chǎn)品銷售信息上傳到區(qū)塊鏈中。實現(xiàn)銷售功能需要設(shè)計銷售信息新增界面和銷售信息列表界面,并在代碼中實現(xiàn)數(shù)據(jù)的新增和查詢功能。
溯源功能實現(xiàn):溯源功能是整個系統(tǒng)的核心部分,它通過區(qū)塊鏈技術(shù)實現(xiàn)了對農(nóng)產(chǎn)品供應(yīng)鏈各環(huán)節(jié)數(shù)據(jù)的溯源。通過區(qū)塊鏈中的信息,用戶可以追溯農(nóng)產(chǎn)品的種植、倉儲、加工、物流和銷售等全過程,提高農(nóng)產(chǎn)品的可追溯性和透明度。
綜上所述,本文設(shè)計的農(nóng)產(chǎn)品溯源系統(tǒng)通過Python編程語言實現(xiàn)了用戶注冊登錄功能、農(nóng)產(chǎn)品種植功能、農(nóng)產(chǎn)品倉儲功能、農(nóng)產(chǎn)品加工功能、農(nóng)產(chǎn)品物流功能、農(nóng)產(chǎn)品銷售功能和溯源功能。通過區(qū)塊鏈技術(shù)的應(yīng)用,實現(xiàn)了農(nóng)產(chǎn)品供應(yīng)鏈各環(huán)節(jié)數(shù)據(jù)的上傳、存儲和追溯,提高了農(nóng)產(chǎn)品質(zhì)量追溯的效率和可信度。同時,通過PyCharm等工具的使用,實現(xiàn)了軟件界面的設(shè)計和編程邏輯,使系統(tǒng)的使用更加便捷和高效。
3.4" 鏈" 碼
智能合約本質(zhì)上是時間驅(qū)動的部署在共享分布式數(shù)據(jù)庫上的計算機(jī)程序。滿足觸發(fā)條件時可以自動執(zhí)行業(yè)務(wù),并且節(jié)點行為可以在一個信息化方式下傳輸和確認(rèn)。智能合約在Hyperledger Fabric中被稱為鏈碼,大大降低了人工參與度并確保了數(shù)據(jù)的防篡改。
本文設(shè)計的溯源系統(tǒng)的智能合約主要實現(xiàn)兩方面的功能:一是自動存儲和驗證由傳感器設(shè)備工作過程中采集數(shù)據(jù)節(jié)點發(fā)送到網(wǎng)絡(luò)服務(wù)層的關(guān)鍵質(zhì)量信息;二是根據(jù)用戶不同的請求調(diào)用相應(yīng)的鏈碼并通過系統(tǒng)鏈碼與區(qū)塊鏈網(wǎng)絡(luò)中的Peer節(jié)點交互來負(fù)責(zé)系統(tǒng)配置、背書、校驗等工作?;谏鲜鰧χ悄芎霞s兩方面的功能分析,設(shè)計了如圖11的智能合約模型。當(dāng)存儲制造過程關(guān)鍵質(zhì)量信息時,系統(tǒng)智能合約(鏈碼)會調(diào)用關(guān)鍵信息存儲智能合約對其進(jìn)行處理,Hyperledger Fabric的共識過程將信息存儲到區(qū)塊鏈網(wǎng)絡(luò)中的所有制造節(jié)點中,完成記賬,實現(xiàn)信息上鏈;當(dāng)用戶提交溯源業(yè)務(wù)信息時,系統(tǒng)智能合約會調(diào)用與溯源業(yè)務(wù)相關(guān)的智能合約,在Peer節(jié)點執(zhí)行背書策略時鏈碼通過Install、Instaniate(實例化)、Invoke(調(diào)用)等方法判斷業(yè)務(wù)邏輯完成溯源業(yè)務(wù)。
4" 結(jié)" 論
本課題基于Hyperledger Fabric區(qū)塊鏈技術(shù)和前端顯示技術(shù),成功實現(xiàn)了區(qū)塊鏈與物聯(lián)網(wǎng)環(huán)境下的農(nóng)產(chǎn)品信息溯源系統(tǒng)的設(shè)計。該系統(tǒng)不僅能夠使產(chǎn)品可追溯,還可以對用于數(shù)據(jù)收集的物聯(lián)網(wǎng)設(shè)備進(jìn)行身份驗證和授權(quán)。該系統(tǒng)具有產(chǎn)品信息可追溯性、數(shù)據(jù)防篡改性、數(shù)據(jù)機(jī)密性和可靠性。
本系統(tǒng)的設(shè)計使得農(nóng)產(chǎn)品供應(yīng)鏈各環(huán)節(jié)節(jié)點用戶能夠方便地注冊和登錄,并進(jìn)行農(nóng)產(chǎn)品種植、倉儲、加工、物流和銷售等信息的錄入與查詢。同時,系統(tǒng)采用鏈上+鏈下的存儲方式,有效緩解了區(qū)塊鏈數(shù)據(jù)量爆炸問題,保證了系統(tǒng)的性能和穩(wěn)定性。通過鏈上智能合約的編寫,對監(jiān)管機(jī)制進(jìn)行了嚴(yán)格管理,保障了信息的安全性和溯源信息的可信性,而且還使得系統(tǒng)能夠靈活地響應(yīng)用戶的不同需求,提高了系統(tǒng)的效率和用戶體驗。同時,智能合約的自動執(zhí)行特性也降低了人工參與度,確保了數(shù)據(jù)的防篡改,提高了系統(tǒng)的安全性。而采用聯(lián)盟鏈的Hyperledger Fabric,實現(xiàn)了模塊化設(shè)計,使得系統(tǒng)具備了高內(nèi)聚低耦合的特性,進(jìn)一步提高了系統(tǒng)的柔性和可擴(kuò)展性。我們將繼續(xù)探索區(qū)塊鏈與物聯(lián)網(wǎng)技術(shù)的結(jié)合,推動農(nóng)產(chǎn)品溯源領(lǐng)域的發(fā)展,為實現(xiàn)農(nóng)產(chǎn)品的全程可追溯和安全可信做出更大的貢獻(xiàn)。
參考文獻(xiàn):
[1]" 毋修遠(yuǎn),胡紀(jì)鵬,王雅楠,等. 我國食品安全追溯體系發(fā)展現(xiàn)狀及對策研究[J]. 糧食與飼料工業(yè),2023(4):5-9.
[2]" 張敬濤,謝紀(jì)珍,趙彩虹,等. 結(jié)合《藥品管理法》對基層醫(yī)療機(jī)構(gòu)藥品安全監(jiān)管分析[J]. 藥學(xué)研究,2023,42(9):740-744.
[3]" KELEPOUIS T, PRAMATARI K, DOUKIDIS G.RFID-enabled traceability in the food supply chain[J]. Industrial Management amp; Data Systems, 2007,107(2):183-200.
[4]" AUNG M M, CHANG Y S.Traceability in a food supply chain: Safety and quality perspectives[J]. Food Control, 2014,39:172-184.
[5]" PELEKOUDAS-OIKONOMOU F, ZACHOS G, PAPAIOANNOU M, et al. Blockchain-based security mechanisms for IoMT edge networks in IoMT-based healthcare monitoring systems[J/OL]. Sensors, 2022,22(7):2449.[2024-02-23]. https://www.mdpi.com/1424-8220/22/7/2449.
[6]" CHANG Yanling, IAKOVOU E, SHI Weidong.Blockchain in global supply chains and cross border trade:A critical synthesis of the state-of-the-art, challenges and opportunities.[J]. International Journal of Production Research, 2020,58(7):2082-2099.
[7]" 王元地,李粒,胡諜. 區(qū)塊鏈研究綜述[J]. 中國礦業(yè)大學(xué)學(xué)報(社會科學(xué)版),2018,20(3):74-86.
[8]" 吳海博,劉輝,孫毅,等. 一種面向聯(lián)盟鏈Hyperledger Fabric的并發(fā)沖突事務(wù)優(yōu)化方法[J]. 計算機(jī)研究與發(fā)展,2024,61(8):2110-2126.
[9]" RAUCHS M, BLANDIN A, BEAR K, et al. 2nd global enterprise blockchain benchmarking study[J/OL]. Banking amp; Insurance eJournal, 2019:1-71. https://api.semanticscholar.org/CorpusID:214165891.
[10] 李天明,嚴(yán)翔,張增年,等. 區(qū)塊鏈+物聯(lián)網(wǎng)在農(nóng)產(chǎn)品溯源中的應(yīng)用研究[J]. 計算機(jī)工程與應(yīng)用,2021,57(23):50-60.
[11] 史慧洋,劉玲,張玉清. 物鏈網(wǎng)綜述:區(qū)塊鏈在物聯(lián)網(wǎng)中的應(yīng)用[J]. 信息安全學(xué)報,2019,4(5):76-91.
[12] 史錦山,李茹. 物聯(lián)網(wǎng)下的區(qū)塊鏈訪問控制綜述[J]. 軟件學(xué)報,2019,30(6):1632-1648.
[13] 徐恪,吳波,沈蒙.區(qū)塊鏈:描繪物聯(lián)網(wǎng)安全新愿景[J].中興通訊技術(shù),2018,24(6):52-55.
[14] 趙闊,邢永恒. 區(qū)塊鏈技術(shù)驅(qū)動下的物聯(lián)網(wǎng)安全研究綜述[J].信息網(wǎng)絡(luò)安全,2017(5):1-6.
[15] 劉耀宗,劉云恒.基于區(qū)塊鏈的 RFID 大數(shù)據(jù)安全溯源模型[J].計算機(jī)科學(xué),2018,45(S2):367-368.
[16] NOVO O. Blockchain meets IoT: An architecture for scalable access management in IoT[J]. IEEE Internet of Things Journal, 2018,5(2):1184-1195.
[17] LI Cheng, ZHANG Liangjie.A blockchain based new secure multi-layer network model for Internet of Things[C]//2017 IEEE International Congress on Internet of Things, Honolulu, HI, USA, 2017:33-41.
[18] LIU Yinqiu, WANG Kun,LIN Yun, et al. Lightchain: A lightweight blockchain system for industrial Internet of Things[J].IEEE Transactions on Industrial Informatics, 2019,15(6):3571-3581.
[19] MONDAL S, WIJEWARDENA K P, KARUPPUSWAMI S, et al.Blockchain inspired RFID-based information architecture for food supply chain[J]. IEEE Internet of Things Journal, 2019,6(3):5803-5813.
[20] 孫俊,何小東,陳建華. 基于區(qū)塊鏈的農(nóng)產(chǎn)品追溯系統(tǒng)架構(gòu)研究[J]. 河南農(nóng)業(yè)科學(xué),2018,47(10):149-153.
[21] 于澤偉. 基于區(qū)塊鏈的農(nóng)產(chǎn)品追溯系統(tǒng)設(shè)計與實現(xiàn)[D]. 大連:大連理工大學(xué),2019.