摘要:面對農(nóng)產(chǎn)品供應(yīng)市場日益龐大以及現(xiàn)存追溯系統(tǒng)中心化結(jié)構(gòu)嚴(yán)重、溯源信息模糊簡陋、數(shù)據(jù)安全難以得到有效保障等問題,通過分析供應(yīng)鏈的業(yè)務(wù)流程及相關(guān)特點(diǎn),融合區(qū)塊鏈及IPFS技術(shù)設(shè)計靈活的多鏈分布式追溯系統(tǒng)以應(yīng)對錯綜復(fù)雜多變的市場情況中的精準(zhǔn)溯源及監(jiān)管的需求。充分利用星際文件系統(tǒng)IPFS的去重存儲以及分布式存儲特性提高存儲資源的利用率,解決以往溯源數(shù)據(jù)存儲中心化嚴(yán)重、數(shù)據(jù)類型單一、負(fù)載過大等問題;區(qū)塊鏈多鏈與IPFS私有網(wǎng)絡(luò)的結(jié)合以及CBC、ECC兩個加密算法的采用可以支持全面的市場監(jiān)管,并可以滿足企業(yè)隱私數(shù)據(jù)的加密保護(hù)需求。為驗(yàn)證模型有效性,以水培蔬菜溯源項(xiàng)目作為應(yīng)用案例進(jìn)行分析測試,其中區(qū)塊鏈多鏈系統(tǒng)吞吐量達(dá)到上鏈500 TPS、查詢400 TPS;CBC加密算法的相關(guān)性、擴(kuò)展性分析中密文改變率分別達(dá)到96.727%、97.136%。測試結(jié)果表明:本追溯系統(tǒng)在實(shí)現(xiàn)溯源數(shù)據(jù)高效記錄存儲和精準(zhǔn)監(jiān)管溯源的基礎(chǔ)上,也能夠給予供應(yīng)鏈內(nèi)各方合法權(quán)益及隱私數(shù)據(jù)有效的安全保護(hù),亦可以面對業(yè)務(wù)交錯復(fù)雜的市場供應(yīng)鏈,為完整可靠的農(nóng)產(chǎn)品區(qū)塊鏈追溯監(jiān)管系統(tǒng)研究發(fā)展與落地實(shí)現(xiàn)提供借鑒與參考。
關(guān)鍵詞:農(nóng)產(chǎn)品;追溯;區(qū)塊鏈;數(shù)據(jù)加密;數(shù)據(jù)安全;IPFS
中圖分類號:TP399
文獻(xiàn)標(biāo)識碼:A
文章編號:20955553 (2024) 070127
08
Research on multi-chain traceability system of agricultural products
based on blockchain and IPFS
Zhang Jing1, Tang Hengrui1, Liu Xiaomei2
(1. School of Electrical and Information Engineering, Jiangsu University, Zhenjiang, 212013, China;
2. Jiangsu Kemao Information Technology Co., Ltd., Zhenjiang, 212001, China)
Abstract:
In the face of the increasingly large supply market of agricultural products, the serious centralized structure of the existing traceability system, fuzzy and simple traceability information, and difficult to effectively guarantee data security and other problems, by analyzing the business process and related characteristics of the supply chain, this paper integrates blockchain and IPFS technology to design a flexible multi-chain distributed traceability system to meet the needs of accurate traceability and supervision in the complex and changing market situation. It makes full use of the deduplication storage and distributed storage characteristics of Interplanetary File System (IPFS) to improve the utilization of storage resources, and solves the problems of severe centralization, single data type, and excessive load of traceable data storage in the past. The combination of blockchain multi-chain and IPFS private network and the adoption of CBC and ECC encryption algorithms can support comprehensive market regulation, and can meet the encryption protection needs of enterprise privacy data. Finally, in order to verify the validity of the model, the hydroponic vegetable traceability project is used as an application case to analyze and test, in which the throughput of the blockchain multi-chain system has reached 500 TPS for the up-chain and 400 TPS for the query. The ciphertext change rate of CBC encryption algorithm has reached 96.727% and 97.136%, respectively, in correlation and expansibility analysis. The test results show that on the basis of the realization of efficient supply chain traceability data record store and accurate supervision and traceability," the traceability system can also give the parties’ legitimate rights and interests within the chain and the effective protection of privacy data, can also face the business crisscross and complex market supply chain, providing reference for the research, development and implementation of"" a complete and reliable blockchain of agricultural products traceability supervision system.
Keywords:
agricultural products; traceability; blockchain; data encryption; data security; IPFS
0 引言
我國農(nóng)產(chǎn)品市場已逐漸形成一個龐大復(fù)雜的經(jīng)濟(jì)產(chǎn)業(yè)網(wǎng)絡(luò),具有點(diǎn)多、線長、面廣、錯綜交叉等特點(diǎn)[1],這使得市場的監(jiān)管以及追溯難度較大[2],各種食品安全問題以及市場信任問題在近些年頻出不窮,擾亂市場秩序,侵犯市場參與者的合法權(quán)益[3, 4];隨著新冠病毒在全球掀起的疫情風(fēng)波以及后疫情時代的來臨,一些產(chǎn)品運(yùn)輸供應(yīng)鏈,如冷鏈運(yùn)輸、生鮮運(yùn)輸?shù)牟缓侠肀O(jiān)管及追溯會產(chǎn)生嚴(yán)重的社會安全問題以及民眾恐慌心理。而現(xiàn)有傳統(tǒng)追溯系統(tǒng)高度依賴著中心化的存儲及監(jiān)管體系[5],數(shù)據(jù)極易被私自篡改,存在信息壁壘并有著很高的信任成本,追溯信息鏈斷鏈情況也極易發(fā)生[6],且事發(fā)后責(zé)任糾察也往往難以進(jìn)行。在這種時代背景下,高精度、高可靠、高效率的農(nóng)產(chǎn)品追溯系統(tǒng)研究及相關(guān)技術(shù)的開發(fā)應(yīng)用有著十分重要的研究意義。
區(qū)塊鏈技術(shù)基于去中心化存儲,有著透明可靠、不可篡改的特性[7];基于Merkle DAG、P2P、分布式存儲等技術(shù)的IPFS則有著高吞吐、按內(nèi)容尋址、永久存儲、全局共享等特性。兩者都為實(shí)現(xiàn)高精度、高廣度、高靈活、安全可靠的產(chǎn)品追溯系統(tǒng)提供新的研究方向和思路,成為國內(nèi)外專家學(xué)者研究的熱點(diǎn)[810]。在數(shù)據(jù)存儲方面,楊信廷[11]、許繼平[12]、董云峰[13]等使用“區(qū)塊鏈+數(shù)據(jù)庫”的雙存儲模式來應(yīng)對區(qū)塊鏈存儲壓力過大的問題;國外Salah[14]、Cocco[15]等使用區(qū)塊鏈融合IPFS來解決區(qū)塊鏈存儲短板問題,但其中直接加入IPFS公網(wǎng)的方式伴也隨著一定的風(fēng)險。Cao[16]、李夢琪[17]、于華竟[18]等則使用主從多鏈的區(qū)塊鏈存儲模式來擴(kuò)大存儲容量。在隱私信息安全保護(hù)方面,孫傳恒[19]、于合龍[20]等使用對稱加密、節(jié)點(diǎn)授權(quán)、非對稱解密等混合加密方式建立數(shù)據(jù)安全保護(hù)模型。另外面對市場中企業(yè)關(guān)系網(wǎng)絡(luò)復(fù)雜、供應(yīng)鏈相互交叉的現(xiàn)狀,王志鏵等[21]開發(fā)使用“一環(huán)節(jié)一賬本”的系統(tǒng)模式讓追溯系統(tǒng)有了較高的柔性與靈活性,但企業(yè)私自管理己方數(shù)據(jù)且系統(tǒng)強(qiáng)度依賴中心模塊管理服務(wù),削弱了去中心化及安全性。綜上,在支持大容量存儲數(shù)據(jù)的基礎(chǔ)上,如何做到所有數(shù)據(jù)去中心化存儲以保證全局?jǐn)?shù)據(jù)皆不可篡改以及對隱私數(shù)據(jù)提供有效的保護(hù)是目前兩個重要的研究方向。另外提高系統(tǒng)的靈活性拓展性以應(yīng)對復(fù)雜的市場結(jié)構(gòu),實(shí)現(xiàn)對每個供應(yīng)鏈的精準(zhǔn)把控以及整個供應(yīng)市場的清晰監(jiān)管有著重要的研究意義。
本文從蔬果產(chǎn)業(yè)市場的結(jié)構(gòu)特點(diǎn)入手,研究實(shí)現(xiàn)基于區(qū)塊鏈多鏈、IPFS私有網(wǎng)絡(luò)的監(jiān)管追溯系統(tǒng),清晰描述市場全局關(guān)系網(wǎng)絡(luò),并為每條供應(yīng)鏈路提供精準(zhǔn)的溯源與監(jiān)管服務(wù);設(shè)計數(shù)據(jù)加密以及權(quán)限授予功能;通過試驗(yàn)搭建和案例應(yīng)用測試系統(tǒng)完整性和可行性,為基于區(qū)塊鏈的農(nóng)產(chǎn)品追溯系統(tǒng)的研究發(fā)展提供參考。
1 基于區(qū)塊鏈及IPFS的多鏈追溯系統(tǒng)架構(gòu)
1.1 農(nóng)產(chǎn)品供應(yīng)鏈追溯需求分析
縱觀整個市場鏈路,根據(jù)各環(huán)節(jié)職能分工,本文將每個環(huán)節(jié)按照批次產(chǎn)生的數(shù)據(jù)分類總結(jié)如表1所示。
一條完整的農(nóng)產(chǎn)品供應(yīng)鏈包括種植、加工、倉儲、運(yùn)輸、銷售五個環(huán)節(jié),每個環(huán)節(jié)之間產(chǎn)生的溯源數(shù)據(jù)的類型及大小也不盡相同;除了各種文本信息如指標(biāo)、位置、日期、質(zhì)量,還有圖片、視頻等各種多媒體數(shù)據(jù),它們也應(yīng)參與追溯,豐富且精細(xì)的數(shù)據(jù)可使得追溯更加透明、安全、可靠。針對賬目、設(shè)備信息、人員檔案等直接關(guān)聯(lián)參與者利益及安全的隱私敏感數(shù)據(jù),為了明確責(zé)任劃分及方便后續(xù)的責(zé)任糾察,也應(yīng)當(dāng)參與追溯過程錄入追溯系統(tǒng),但系統(tǒng)應(yīng)具有穩(wěn)定且有效的加密功能以及權(quán)限管理以保證隱私數(shù)據(jù)只向部分用戶或部門開放查詢。綜合以上幾點(diǎn),區(qū)塊鏈追溯系統(tǒng)在保證所有類型的多源異構(gòu)數(shù)據(jù)能參與分布式存儲及溯源的基礎(chǔ)上,也應(yīng)當(dāng)支持對重要隱私數(shù)據(jù)的加密存儲、設(shè)限查詢,以完成對參與企業(yè)和用戶的資產(chǎn)以及信息的保護(hù)。
1.2 區(qū)塊鏈多通道追溯系統(tǒng)架構(gòu)
國內(nèi)農(nóng)產(chǎn)品市場龐大,企業(yè)以及個體農(nóng)戶、廠商數(shù)目眾多,它們之間的利益關(guān)系和供應(yīng)網(wǎng)絡(luò)也深邃復(fù)雜。中心化結(jié)構(gòu)的傳統(tǒng)追溯系統(tǒng)有很大的數(shù)據(jù)篡改風(fēng)險以及較高的信任成本,問責(zé)和追溯流程也存在著眾多的阻礙和困難。而去中心化存儲的區(qū)塊鏈技術(shù)可使存儲在其中的數(shù)據(jù)有著不可篡改的屬性,無論是前期的數(shù)據(jù)記錄與后期的信息追溯,都可做到全鏈共享、有跡可循、永久存在;保證其中的數(shù)據(jù)安全可靠,消除信息壁壘,降低或消除信任成本。但其劣勢也十分明顯,其不便于存儲較大的數(shù)據(jù)如各種常見的多媒體數(shù)據(jù),會對區(qū)塊鏈造成極大的存儲負(fù)擔(dān)以及資源浪費(fèi);另外在實(shí)際溯源應(yīng)用中,面對具有錯綜復(fù)雜供應(yīng)網(wǎng)絡(luò)的龐大市場的監(jiān)管需求,只針對單條供應(yīng)鏈的單鏈或多鏈溯源系統(tǒng),往往無法很好地延伸至整個市場中發(fā)揮作用,更無法做到清晰梳理全局的利益關(guān)系以及在全鏈共享數(shù)據(jù)的前提下完成必要的精準(zhǔn)數(shù)據(jù)隔離與隱私保護(hù),有著較高的耦合性和較低的靈活性。
面對上述區(qū)塊鏈自身的缺陷以及目前區(qū)塊鏈追溯系統(tǒng)的不足,本文通過使用區(qū)塊鏈通道機(jī)制以及IPFS私有網(wǎng)絡(luò)來建立具備特殊多鏈結(jié)構(gòu)的農(nóng)產(chǎn)品追溯系統(tǒng),解決單鏈系統(tǒng)在存儲和加密方面的短板,也滿足整個市場在具備多條供應(yīng)鏈路以及多種企業(yè)合作關(guān)系的復(fù)雜實(shí)際情況下的精準(zhǔn)溯源要求。如圖1所示,該系統(tǒng)中共分為兩類區(qū)塊鏈路:一類是各企業(yè)或部門的內(nèi)部私鏈,用于與企業(yè)內(nèi)所有節(jié)點(diǎn)共享存儲、備份記錄本企業(yè)內(nèi)生成的所有溯源數(shù)據(jù),提高系統(tǒng)的健壯性以及數(shù)據(jù)的安全性;另一類是溯源鏈,針對市場中的每條供應(yīng)鏈,系統(tǒng)都會部署一條專屬的溯源鏈來進(jìn)行針對性配置服務(wù)。節(jié)點(diǎn)中根據(jù)身份職能不同分為企業(yè)節(jié)點(diǎn)和監(jiān)管部門節(jié)點(diǎn)。面對一個企業(yè)會同時參與多個供應(yīng)鏈路這種情況,企業(yè)將參與的供應(yīng)鏈對應(yīng)的溯源鏈根據(jù)工作需求及便捷性分別分配給內(nèi)部的節(jié)點(diǎn)即可,即各節(jié)點(diǎn)被分配加入多個溯源鏈來代表所屬企業(yè)參與相應(yīng)供應(yīng)鏈以提供溯源服務(wù),監(jiān)管部門中的節(jié)點(diǎn)同理。
在這種結(jié)構(gòu)下,每個節(jié)點(diǎn)只需加入一條組織內(nèi)部鏈以及多條自己被分配給的溯源鏈。此外所有節(jié)點(diǎn)通過監(jiān)管機(jī)構(gòu)下發(fā)的資質(zhì)文件共同加入所在市場唯一的IPFS溯源私有網(wǎng)絡(luò)中,通過智能合約將節(jié)點(diǎn)中產(chǎn)生的所有大型數(shù)據(jù)上傳至該市場私有網(wǎng)絡(luò)進(jìn)行分布式存儲,且與區(qū)塊鏈上數(shù)據(jù)形成互相綁定驗(yàn)證的關(guān)系,最終消費(fèi)者溯源接口也由該IPFS私有網(wǎng)絡(luò)中引出得以讓消費(fèi)者獲得多樣且精細(xì)的溯源數(shù)據(jù)。由此整個溯源系統(tǒng)內(nèi)部所有節(jié)點(diǎn)產(chǎn)生的所有溯源數(shù)據(jù)皆全部上鏈到溯源系統(tǒng)中,不會出現(xiàn)任何機(jī)構(gòu)內(nèi)部私自獨(dú)立存儲管理己方數(shù)據(jù)的情況,也在一定程度上削弱了信息壁壘以及信任成本,而各企業(yè)在過程中產(chǎn)生的隱私數(shù)據(jù)則經(jīng)過鏈路隔離、算法加密以及權(quán)限授予三個措施來給予完善保護(hù)。綜合這些要求與設(shè)定則可在整個市場層面上形成多鏈追溯系統(tǒng),如圖1所示。
這種每個供應(yīng)鏈都配備一條專一且獨(dú)立的溯源鏈與之對應(yīng)為之服務(wù)的系統(tǒng)結(jié)構(gòu)設(shè)定,可簡化正向記錄與反向溯源路徑,隔絕其他鏈路干擾,減少單鏈網(wǎng)絡(luò)存儲壓力,提高事務(wù)提交處理效率,且可以更加精準(zhǔn)的進(jìn)行監(jiān)督管理與追究責(zé)任;企業(yè)內(nèi)部鏈則可以對內(nèi)部所有節(jié)點(diǎn)產(chǎn)生的溯源數(shù)據(jù)進(jìn)行記錄備份和共享,便于企業(yè)內(nèi)部數(shù)據(jù)管理并保障存儲安全,增強(qiáng)整個區(qū)塊鏈系統(tǒng)以及IPFS網(wǎng)絡(luò)的健壯性與穩(wěn)定性。兩種鏈的相互交叉配合則可以清晰地將市場內(nèi)錯綜復(fù)雜的供應(yīng)合作網(wǎng)絡(luò)按照區(qū)塊鏈中節(jié)點(diǎn)、組織及鏈路的形式鋪設(shè)表述出來,并實(shí)現(xiàn)對所有的供應(yīng)鏈及相關(guān)企業(yè)完成有效且精準(zhǔn)的監(jiān)管及溯源,通道的對外隔絕屬性也可以很好地完成鏈路間數(shù)據(jù)隔離保護(hù)以避免工作過程中企業(yè)間供應(yīng)鏈路間產(chǎn)生各種隱私泄露或利益沖突等問題。
1.3 數(shù)據(jù)存儲模式與IPFS市場私有網(wǎng)絡(luò)
按照市場中一般蔬果供應(yīng)鏈的路徑結(jié)構(gòu),設(shè)計溯源系統(tǒng)數(shù)據(jù)存儲模型,如圖2所示。參與環(huán)節(jié)企業(yè)分別有生產(chǎn)、加工、物流、倉儲及銷售企業(yè),所有企業(yè)生成一對CBC對稱密鑰及一對ECC非對稱密鑰,監(jiān)管部門生成一對ECC非對稱密鑰,然后兩者之間通過“CBC+ECC”加密傳輸方式,經(jīng)三個步驟完成傳輸發(fā)送各種文件、證書及密鑰,進(jìn)而各參與企業(yè)能夠建立企業(yè)內(nèi)鏈并加入市場溯源系統(tǒng),監(jiān)管部門能夠獲取所有企業(yè)的監(jiān)管資格。
系統(tǒng)搭建完成后,各企業(yè)中各工作節(jié)點(diǎn)通過調(diào)用分類上鏈智能合約完成對所處理批次產(chǎn)品數(shù)據(jù)的分類以及公開或加密上傳,將文本數(shù)據(jù)和大型數(shù)據(jù)分別上傳存儲至批次所屬供應(yīng)鏈通道的溯源區(qū)塊鏈賬本(CouchDB狀態(tài)數(shù)據(jù)庫)與IPFS市場私有網(wǎng)絡(luò)中,同時也自動完成兩部份數(shù)據(jù)之間的互相驗(yàn)證及綁定,進(jìn)一步加強(qiáng)數(shù)據(jù)的不可篡改與安全性;此外也會將上傳至區(qū)塊鏈賬本中的所有文本數(shù)據(jù)上傳至各企業(yè)內(nèi)部鏈中,用于共享與備份增加數(shù)據(jù)安全及健壯性。另外其中的加密過程由智能合約調(diào)用己方企業(yè)對稱密鑰完成,而企業(yè)的非對稱密鑰則主要用于上鏈過程中的簽名認(rèn)證以及企業(yè)間隱私數(shù)據(jù)的請求與授權(quán)。在反向追溯時,每個企業(yè)節(jié)點(diǎn)可通過智能合約查看溯源鏈中所有公開的數(shù)據(jù),也可依靠己方企業(yè)密鑰查詢己方企業(yè)的隱私數(shù)據(jù),而監(jiān)管機(jī)構(gòu)可通過拿到的所有企業(yè)密鑰查看所有的數(shù)據(jù)以完成監(jiān)管職能,消費(fèi)者則通過系統(tǒng)的消費(fèi)者接口查詢到所購買到批次的公開數(shù)據(jù)。
IPFS是基于內(nèi)容尋址的用于存儲和訪問文件、網(wǎng)站、應(yīng)用程序和數(shù)據(jù)的分布式文件系統(tǒng),每個文件數(shù)據(jù)都通過唯一的CID碼分布式存儲以及供所有節(jié)點(diǎn)獲取,使得數(shù)據(jù)存儲及訪問更加安全以及高效。但如果直接將節(jié)點(diǎn)和數(shù)據(jù)暴露在龐大復(fù)雜的公共網(wǎng)絡(luò)中,也會面臨著很大的泄露風(fēng)險。因此,本文使用SWARM密鑰的方式搭建屬于此市場的私有網(wǎng)絡(luò),此密鑰由監(jiān)管部門生成然后通過三步加密傳輸送至各企業(yè)各節(jié)點(diǎn)來保證密鑰不會泄露。分發(fā)此密鑰后市場中所有參與者都可加入該市場私有網(wǎng)絡(luò),用于市場內(nèi)部分布式存儲共享所有大型溯源數(shù)據(jù),摒棄深邃復(fù)雜的IPFS公網(wǎng),隔絕外界其他節(jié)點(diǎn)及其他IPFS私有網(wǎng)絡(luò)以規(guī)避數(shù)據(jù)泄露以及其他未知風(fēng)險。但是針對網(wǎng)絡(luò)內(nèi)部的數(shù)據(jù)保護(hù),大型隱私數(shù)據(jù)也需先通過企業(yè)自身對稱密鑰進(jìn)行文件加密,再上傳至IPFS私有網(wǎng)絡(luò)中,進(jìn)一步對隱私數(shù)據(jù)完成安全保護(hù),消除任何數(shù)據(jù)泄露發(fā)生的可能。
2 數(shù)據(jù)權(quán)限管理與智能合約設(shè)計
2.1 權(quán)限級別與隱私數(shù)據(jù)保護(hù)
企業(yè)中所有隱私數(shù)據(jù)在正向記錄過程中均通過己方對稱密鑰完成加密,以便后續(xù)己方以及監(jiān)管部門的查詢和監(jiān)管,而面對一般過程外的特殊需求,如企業(yè)間部分隱私數(shù)據(jù)的請求查詢,則需要雙方企業(yè)進(jìn)行權(quán)限請求以及權(quán)限授予。根據(jù)這些需求可將所有的參與者劃分出三個權(quán)限等級:監(jiān)管者具有一級權(quán)限,可以查看所有數(shù)據(jù)用于監(jiān)督管理;參與企業(yè)為二級,可以查看己方所有數(shù)據(jù)、他方企業(yè)的公開數(shù)據(jù),以及他方企業(yè)授予權(quán)限查看的部分隱私數(shù)據(jù);消費(fèi)者則為第三級,只允許查看所買到產(chǎn)品的公開數(shù)據(jù)。權(quán)限的等級劃分則通過密鑰授予以及復(fù)合加密方式進(jìn)行實(shí)現(xiàn)。如圖3所示,監(jiān)管機(jī)構(gòu)通過CBC+ECC混合加密的三個步驟獲取到所有企業(yè)的私有對稱密鑰:第一步監(jiān)管機(jī)構(gòu)向所有企業(yè)發(fā)送己方ECC公鑰;第二步各企業(yè)通過此監(jiān)管機(jī)構(gòu)ECC公鑰加密己方CBC對稱密鑰;第三步監(jiān)管機(jī)構(gòu)在收到各企業(yè)的加密后的CBC對稱密鑰后,通過己方ECC私鑰進(jìn)行解密從而獲得所有企業(yè)的對稱密鑰,自此獲得所有數(shù)據(jù)的瀏覽和監(jiān)管權(quán)限。
2.2 權(quán)限授予模式設(shè)計
各企業(yè)可通過己方對稱密鑰查看己方所有數(shù)據(jù),通過他方企業(yè)公鑰加密相關(guān)數(shù)據(jù)授予這些企業(yè)查看相關(guān)數(shù)據(jù)的權(quán)限,通過己方私鑰完成對被授權(quán)數(shù)據(jù)的解密和瀏覽。流程如圖4所示。
請求方企業(yè)首先提交請求事務(wù)至區(qū)塊鏈賬本中以生成此次請求記錄,其中包括請求日期時間、數(shù)據(jù)明細(xì)、請求原因以及己方簽名等必要信息,通過授權(quán)方企業(yè)公鑰加密后提交至區(qū)塊鏈系統(tǒng),授權(quán)方查看此記錄后進(jìn)行審核,不通過記錄原因后結(jié)束此請求事務(wù),通過則從存儲系統(tǒng)中下載所請求隱私數(shù)據(jù),使用請求方公鑰加密,最后通過己方私鑰簽名后再提交上傳至存儲系統(tǒng)中,請求方拿到數(shù)據(jù)后通過己方私鑰即可查閱相關(guān)數(shù)據(jù)。另外,這些請求、下載和上傳等操作均通過智能合約與系統(tǒng)交互完成,這種設(shè)計可以保證整個過程中的每一步都在區(qū)塊鏈賬本中進(jìn)行著跟蹤和記錄,最終在整個過程完成后,在相應(yīng)的賬本中就形成了此次請求的完整記錄與備案,并且此記錄也具有不可篡改的特性。消費(fèi)者則是拿到產(chǎn)品后通過批次碼以及溯源系統(tǒng)消費(fèi)者接口獲取相關(guān)公開數(shù)據(jù)。
2.3 智能合約設(shè)計
本文對農(nóng)產(chǎn)品追溯數(shù)據(jù)的操作主要有三類:加密以及存儲上鏈、下載查詢以及解密、權(quán)限請求以及授予。這三類都需要通過設(shè)計相應(yīng)的智能合約來實(shí)現(xiàn),以保證過程的自動化、精準(zhǔn)化,并保證不可篡改地記錄這些具體的過程與操作。
2.3.1 加密及存儲上鏈
本文完成加密以及存儲記錄的智能合約主要設(shè)計如下:首先,在某企業(yè)節(jié)點(diǎn)在對某批次產(chǎn)品數(shù)據(jù)進(jìn)行加密以及存儲記錄時,需要判斷該批次所屬的溯源通道賬本中是否存在相同批次號的數(shù)據(jù),以免發(fā)生重復(fù)編號、重復(fù)上鏈的情況;然后,在確定沒有相同的批次號后,智能合約會通過本節(jié)點(diǎn)持有的CBC密鑰對隱私文本數(shù)據(jù)以及隱私多媒體數(shù)據(jù)進(jìn)行加密,再將公開的多媒體數(shù)據(jù)以及加密后的隱私多媒體數(shù)據(jù)上傳到IPFS私網(wǎng)中,并返回兩者的CID編號;智能合約調(diào)用本企業(yè)的私鑰對批次號進(jìn)行加密;得到可以驗(yàn)證己方身份的簽名。最后,在完成上述這些操作后,將產(chǎn)品批次號,公開文本數(shù)據(jù)、加密后的文本數(shù)據(jù)、兩類多媒體數(shù)據(jù)的CID、企業(yè)簽名等打包,上傳至該批次所屬的溯源通道賬本中。至此完成對一個批次產(chǎn)品的加密以及存儲上鏈。具體過程如圖5所示。
2.3.2 查詢下載以及解密
本文下載查詢以及解密的智能合約主要設(shè)計如下:首先,需要判斷鏈中是否存在所需要查詢的批次數(shù)據(jù);在確定存在后,智能合約會通過批次號(BatchID)獲取到該批次的數(shù)據(jù),包括所有的公開數(shù)據(jù)以及加密后的隱私數(shù)據(jù)。然后,調(diào)用CBC密鑰完成對加密文本數(shù)據(jù)的解密,通過IPFS根據(jù)所有多媒體數(shù)據(jù)的CID下載多媒體文件。最后,調(diào)用解密函數(shù)完成對加密多媒體數(shù)據(jù)的解密,至此可以對該批次的所有數(shù)據(jù)以及文件進(jìn)行瀏覽。具體過程如圖6所示。
2.3.3 權(quán)限請求以及授予
在2.2節(jié)中敘述了權(quán)限請求以及授予的縱向流程,詳細(xì)介紹了請求方和授權(quán)方的一系列動作和行為,但對每個具體的企業(yè)節(jié)點(diǎn),其身份并不是固定的,在不同的情況下,有可能是請求方,也有可能是授權(quán)方。所以對企業(yè)的每個節(jié)點(diǎn),需要同時具備這兩個身份所需要具備的功能。本文權(quán)限請求以及授予智能合約也分為兩類。針對權(quán)限請求方,需要上傳請求明細(xì)且簽名后上鏈。針對權(quán)限授權(quán)方,先查看請求內(nèi)容,在審核通過后,使用請求方公鑰加密內(nèi)容,上鏈完成授權(quán),具體如圖7所示。
3 試驗(yàn)與測試
3.1 試驗(yàn)環(huán)境
試驗(yàn)與測試在虛擬機(jī)中進(jìn)行,基于Hyperledger Fabric v2.4和go-ipfs v0.13.0搭建。虛擬機(jī)配置為:Ubuntu 18. 04 64位操作系統(tǒng),4 G內(nèi)存、50 G硬盤,共有13條鏈,鏈內(nèi)節(jié)點(diǎn)包括生產(chǎn)企業(yè)節(jié)點(diǎn)、加工企業(yè)節(jié)點(diǎn)、監(jiān)管機(jī)構(gòu)節(jié)點(diǎn);所有Fabric節(jié)點(diǎn)及IPFS節(jié)點(diǎn)均在docker中搭建與運(yùn)行,外部狀態(tài)數(shù)據(jù)庫采用CouchDB,多鏈區(qū)塊鏈網(wǎng)絡(luò)的所有測試通過區(qū)塊鏈基準(zhǔn)測試工具Tape完成,試驗(yàn)環(huán)境具體配置如表2所示。
3.2 區(qū)塊鏈系統(tǒng)性能測試
系統(tǒng)架構(gòu)主要由Fabric區(qū)塊鏈多鏈平臺以及IPFS分布式存儲兩部分組成,兩者一起決定整個系統(tǒng)的性能。其中作為所有事務(wù)處理者的Fabric部分主要測試其事務(wù)處理吞吐量以及時延來體現(xiàn)其性能;對用于分布式存儲大型數(shù)據(jù)的IPFS,上傳及下載速度為其主要的兩個性能指標(biāo)。
3.2.1 多鏈區(qū)塊鏈平臺性能測試
多鏈區(qū)塊鏈網(wǎng)絡(luò)性能測試主要分為數(shù)據(jù)上鏈以及數(shù)據(jù)查詢測試,具體對應(yīng)record()以及query()兩個方法。但兩個方法的具體職能中包含著調(diào)用大型數(shù)據(jù)的加密解密和上傳下載過程,這些工作分別受加密算法以及IPFS的工作效率影響,并不受區(qū)塊鏈平臺自身的性能影響,只有文本數(shù)據(jù)的相關(guān)處理過程才可以反應(yīng)出多鏈區(qū)塊鏈平臺的實(shí)際工作效率,于是在此部分只進(jìn)行文本數(shù)據(jù)的上鏈和查詢兩個事務(wù)處理過程的吞吐量及時延測試。使用Tape組件進(jìn)行多鏈區(qū)塊鏈網(wǎng)絡(luò)結(jié)構(gòu)的測試,圖8和圖9為上鏈與查詢性能的主要測試結(jié)果。
從圖8、圖9可以看出,上鏈記錄事務(wù)在測試前期階段即數(shù)量較少時變化較大,時延以及吞吐量隨著次數(shù)的增加而都有著較為明顯的變化,時延不斷下降,吞吐量一直攀升,當(dāng)?shù)竭_(dá)600次時,起伏變化趨于平穩(wěn),時延大約在2 ms左右浮動,吞吐量則在500 TPS附近。相較于處理上鏈與記錄事務(wù),查詢事務(wù)的兩個參數(shù)隨著測試次數(shù)增加而變化的幅度較為緩和,其中吞吐量呈上升趨勢,在600次時穩(wěn)定在了400 TPS左右,時延呈下降趨勢,于600次時穩(wěn)定于2.5 ms左右。因此可以看出次區(qū)塊鏈多鏈網(wǎng)絡(luò)結(jié)構(gòu)無論上鏈還是查詢操作都有著較高的吞吐量以及較低的時延。
3.2.2 IPFS性能測試
IPFS在整個系統(tǒng)架構(gòu)中主要承擔(dān)著溯源過程中大型數(shù)據(jù)的分布式文件存儲職能,上傳及下載的速度即代表其業(yè)務(wù)處理能力且影響著整個溯源系統(tǒng)的運(yùn)行效率。實(shí)際業(yè)務(wù)中IPFS工作于私有網(wǎng)絡(luò),在此網(wǎng)絡(luò)環(huán)境中進(jìn)行上傳與下載測試,使用ipfs-http-client工具按照文件大小一共測試10組,每組測試10次取其平均值,測試結(jié)果如圖10所示。
由圖10可以發(fā)現(xiàn),整體的上傳速度在隨著文件的增加不斷攀升,最終停留在100 MB/s,由于這個過程主要工作是對文件的分塊以及連接存儲,所以這個過程與CPU和硬盤的性能有著較大的關(guān)聯(lián)。而在下載過程中起伏不大,一直在20 MB/s左右浮動,這是因?yàn)橄螺d操作主要由網(wǎng)絡(luò)帶寬決定。最后需要注意的是,雖然文件越小,所需要的時間越少,但是處理速度卻是較慢的,這是由網(wǎng)絡(luò)連接時間占比的變化引起的。
3.3 安全性測試
本文的基于多鏈結(jié)構(gòu)及私有網(wǎng)絡(luò)在結(jié)構(gòu)上隔絕了外界的大量威脅,則整個系統(tǒng)中存在的主要安全隱患存在于內(nèi)部的隱私數(shù)據(jù)泄露以及權(quán)限等級失效。而這兩種隱患完全由兩種加密算法決定,因此必須驗(yàn)證兩者是否有著可靠的的安全性能。針對對稱加密算法AES-256-CBC,其直接面對文本以及大型文件數(shù)據(jù)的加密,引入相關(guān)性以及擴(kuò)展性兩個方面對其進(jìn)行測試,前者為密鑰不變內(nèi)容改變一個字符時所引起的密文的改變率,后者為內(nèi)容不改變時密鑰改變一位所引起密文的改變率。分別測試20組,每組測試10次取密文改變率的平均值,測試結(jié)果如圖11、圖12所示。
相關(guān)性測試中密文改變率為96.727%,擴(kuò)展性中密文改變率為97.136%。由此可見,本文所采用的針對具體數(shù)據(jù)加密的AES-256-CBC加密算法有著較高的混淆性,很難通過暴力等攻擊手段進(jìn)行破解。
ECC非對稱加密算法用于CBC密鑰的加密以完成全局監(jiān)管和權(quán)限授予,是一種基于橢圓曲線數(shù)學(xué)理論實(shí)現(xiàn)的非對稱加密算法。相比較為經(jīng)典的RSA非對稱加密算法,ECC的數(shù)學(xué)理論非常深奧和復(fù)雜,因此有著較高的安全強(qiáng)度,目前理論上并沒有非常好的針對其有效的破解方法,往往其破譯和求解難度都是指數(shù)級的,常規(guī)暴力破解的成功概率也是微乎其微,因此用于系統(tǒng)中的密鑰加密和權(quán)限授予有著很高的安全性。
4 結(jié)論
1) 本文將區(qū)塊鏈多鏈結(jié)構(gòu)與IPFS私有網(wǎng)絡(luò)融合,研究設(shè)計具有特殊多鏈網(wǎng)絡(luò)結(jié)構(gòu)的農(nóng)產(chǎn)品追溯系統(tǒng),其中各供應(yīng)鏈之間數(shù)據(jù)隔離,保護(hù)各方隱私安全,契合國內(nèi)錯綜復(fù)雜的農(nóng)產(chǎn)品市場結(jié)構(gòu)。同時IPFS分布式存儲可彌補(bǔ)區(qū)塊鏈在數(shù)據(jù)存儲容量上的短板,區(qū)塊鏈去中心化且不可篡改的特性可為IPFS的數(shù)據(jù)安全提供有效保障。為實(shí)現(xiàn)農(nóng)產(chǎn)品市場全局監(jiān)管、精準(zhǔn)溯源、隱私保護(hù)的農(nóng)產(chǎn)品追溯系統(tǒng)提供借鑒與參考。
2) 本文應(yīng)用密碼學(xué)原理,設(shè)計實(shí)現(xiàn)隱私加密方案與權(quán)限授予功能。通過編寫智能合約完成隱私數(shù)據(jù)加密、溯源數(shù)據(jù)上鏈、IPFS大文件分布式存儲等一系列操作,最終實(shí)現(xiàn)溯源數(shù)據(jù)從錄入上傳到查詢下載全程的自動化、智能化進(jìn)行。
3) 通過Fabric區(qū)塊鏈多鏈性能測試、IPFS私網(wǎng)速度測試、加密算法安全性分析。以水培蔬菜溯源數(shù)據(jù)作為試驗(yàn)實(shí)例進(jìn)行分析測試,其中區(qū)塊鏈多鏈系統(tǒng)吞吐量達(dá)到上鏈500 TPS、查詢400 TPS;CBC加密算法的相關(guān)性、擴(kuò)展性分析中,密文改變率分別達(dá)到96.727%、97.136%。表明本追溯系統(tǒng)在實(shí)現(xiàn)供應(yīng)鏈溯源數(shù)據(jù)高效記錄存儲和精準(zhǔn)監(jiān)管溯源的基礎(chǔ)上,也能夠保障鏈內(nèi)各方的數(shù)據(jù)安全以及合法權(quán)益。
參 考 文 獻(xiàn)
[1]劉曉云, 王曉春. “物聯(lián)網(wǎng)+區(qū)塊鏈”的農(nóng)產(chǎn)品質(zhì)量溯源體系研究[J]. 常州工學(xué)院學(xué)報, 2018, 31(5): 60-65.
Liu Xiaoyun, Wang Xiaochun. Research on the traceability system of agricultural product quality based on “Internet of Things+Block Chain” [J]. Journal of Changzhou Institute of Technology, 2018, 31(5): 60-65.
[2]Galvez J F, Mejuto J C, Simal-Gandara J. Future challenges on the use of blockchain for food traceability analysis [J]. TrAC Trends in Analytical Chemistry, 2018, 107: 222-232.
[3]Thakali A, MacRae J D. A review of chemical and microbial contamination in food: What are the threats to a circular food system? [J]. Environmental Research, 2021, 194: 110635.
[4]Kim Y G, WooE. Consumer acceptance of a quick response (QR) code for the food traceability system: Application of an extended technology acceptance model (TAM) [J]. Food Research International, 2016, 85: 266-272.
[5]任守綱, 何自明, 周正己, 等. 基于CSBFT區(qū)塊鏈的農(nóng)作物全產(chǎn)業(yè)鏈信息溯源平臺設(shè)計[J]. 農(nóng)業(yè)工程學(xué)報, 2020, 36(3): 279-286.
Ren Shougang, He Ziming, Zhou Zhengji, et al. Design and implementation of information tracing platform for crop whole industry chain based on CSBFT-blockchain [J]. Transactions of the Chinese Society of Agricultural Engineering, 2020, 36(3): 279-286.
[6]于麗娜, 張國鋒, 賈敬敦, 等. 基于區(qū)塊鏈技術(shù)的現(xiàn)代農(nóng)產(chǎn)品供應(yīng)鏈[J]. 農(nóng)業(yè)機(jī)械學(xué)報, 2017, 48(S1): 387-393.
Yu Lina, Zhang Guofeng, Jia Jingdun, et al. Modern agricultural product supply chain based on block chain technology [J]. Transactions of the Chinese Society for Agricultural Machinery, 2017, 48(S1): 387-393.
[7]張長貴, 張巖峰, 李曉華, 等. 區(qū)塊鏈新技術(shù)綜述: 圖型區(qū)塊鏈和分區(qū)型區(qū)塊鏈[J]. 計算機(jī)科學(xué), 2020, 47(10): 282-289.
Zhang Changgui, Zhang Yanfeng, Li Xiaohua, et al. Survey of new blockchain techniques: DAG based blockchain and sharding based blockchain [J]. Computer Science, 2020, 47(10): 282-289.
[8]錢建平, 吳文斌, 楊鵬. 新一代信息技術(shù)對農(nóng)產(chǎn)品追溯系統(tǒng)智能化影響的綜述[J]. 農(nóng)業(yè)工程學(xué)報, 2020, 36(5): 182-191.
Qian Jianping, Wu Wenbin, Yang Peng. Review on agricultural products smart traceability system affected by new generation information technology [J]. Transactions of the Chinese Society of Agricultural Engineering, 2020, 36(5): 182-191.
[9]弋偉國, 何建國, 劉貴珊, 等. 區(qū)塊鏈增強(qiáng)果蔬質(zhì)量追溯可信度方法研究與系統(tǒng)實(shí)現(xiàn)[J]. 農(nóng)業(yè)機(jī)械學(xué)報, 2022, 53(2): 309-315, 345.
Yi Weiguo, He Jianguo, Liu Guishan, et al. Development and implementation of blockchain to enhance traceability and reliability of fruit and vegetable quality [J]. Transactions of the Chinese Society for Agricultural Machinery, 2022, 53(2): 309-315, 345.
[10]許繼平, 孫鵬程, 張新, 等. 基于區(qū)塊鏈的糧油食品全供應(yīng)鏈信息安全管理原型系統(tǒng)[J]. 農(nóng)業(yè)機(jī)械學(xué)報, 2020, 51(2): 341-349.
Xu Jiping, Sun Pengcheng, Zhang Xin, et al. Prototype system of information security management of cereal and oil food whole supply chain based on blockchain [J]. Transactions of the Chinese Society for Agricultural Machinery, 2020, 51(2): 341-349.
[11]楊信廷, 王明亭, 徐大明, 等. 基于區(qū)塊鏈的農(nóng)產(chǎn)品追溯系統(tǒng)信息存儲模型與查詢方法[J]. 農(nóng)業(yè)工程學(xué)報, 2019, 35(22): 323-330.
Yang Xinting, Wang Mingting, Xu Daming, et al. Data storage and query method of agricultural products traceability information based on blockchain [J]. Transactions of the Chinese Society of Agricultural Engineering, 2019, 35(22): 323-330.
[12]許繼平, 王健, 張新, 等. 區(qū)塊鏈驅(qū)動的稻米供應(yīng)鏈信息監(jiān)管模型研究[J]. 農(nóng)業(yè)機(jī)械學(xué)報, 2021, 52(5): 202-211, 101.
Xu Jiping, Wang Jian, Zhang Xin, et al. Information supervision modeling of rice supply chain driven by blockchain [J]. Transactions of the Chinese Society for Agricultural Machinery, 2021, 52(5): 202-211, 101.
[13]董云峰, 張新, 許繼平, 等. 基于區(qū)塊鏈的糧油食品全供應(yīng)鏈可信追溯模型[J]. 食品科學(xué), 2020, 41(9): 30-36.
Dong Yunfeng, Zhang Xin, Xu Jiping, et al. Blockchain-based traceability model for grains and oils whole supply chain [J]. Food Science, 2020, 41(9): 30-36.
[14]Salah K, Nizamuddin N, Jayaraman R, et al. Blockchain-based soybean traceability in agricultural supply chain [J]. Ieee Access, 2019, 7: 73295-73305.
[15]Cocco L, Mannaro K, Tonelli R, et al. A blockchain-based traceability system in agri-food SME: Case study of a traditional bakery [J]. IEEE Access, 2021, 9: 62899-62915.
[16]Cao Y, Cheng Y, Yang C, et al. Double chain blockchain based on improved Virginia algorithm [C]. Journal of Physics, 2021, 1820(1): 012158.
[17]李夢琪, 楊信廷, 徐大明, 等. 基于主從多鏈的水產(chǎn)品區(qū)塊鏈溯源信息管理系統(tǒng)設(shè)計與實(shí)現(xiàn)[J]. 漁業(yè)現(xiàn)代化, 2021, 48(3): 80-89.
Li Mengqi, Yang Xinting, Xu Daming, et al. Design and implementation of aquatic product blockchain traceability information management system based on master-slave multi-chain [J]. Fishery Modernization, 2021, 48(3): 80-89.
[18]于華竟, 徐大明, 羅娜, 等. 雜糧供應(yīng)鏈區(qū)塊鏈多鏈追溯監(jiān)管模型設(shè)計[J]. 農(nóng)業(yè)工程學(xué)報, 2021, 37(20): 323-332.
Yu Huajing, Xu Daming, Luo Na, et al. Design of the blockchain multi-chain traceability supervision model for coarse cereal supply chain [J]. Transactions of the Chinese Society of Agricultural Engineering, 2021, 37(20): 323-332.
[19]孫傳恒, 于華竟, 羅娜, 等.基于智能合約的果蔬區(qū)塊鏈溯源數(shù)據(jù)存儲方法研究[J]. 農(nóng)業(yè)機(jī)械學(xué)報, 2022, 52(8): 361-370.
Sun Chuanheng, Yu Huajing, Luo Na, et al. Research on the storage method of fruit and vegetable blockchain traceability data based on smart contracts [J]. Transactions of the Chinese Society for Agricultural Machinery, 2022, 52(8): 361-370.
[20]于合龍, 陳邦越, 徐大明, 等. 基于區(qū)塊鏈的水稻供應(yīng)鏈追溯信息保護(hù)模型研究[J]. 農(nóng)業(yè)機(jī)械學(xué)報, 2020, 51(8): 328-335.
Yu Helong, Chen Bangyue, Xu Daming, et al. Modeling of rice supply chain traceability information protection based on block chain [J]. Transactions of the Chinese Society for Agricultural Machinery, 2020, 51(8): 328-335.
[21]王志鏵, 柳平增, 宋成寶, 等. 基于區(qū)塊鏈的農(nóng)產(chǎn)品柔性可信溯源系統(tǒng)研究[J]. 計算機(jī)工程, 2020, 46(12): 313-320.
Wang Zhihua, Liu Pingzeng, Song Chengbao, et al. Prototype system of information security management of cereal and oil food whole supplychain based on blockchain [J]. Computer Engineering, 2020, 46(12): 313-320.