摘要: 針對傳統(tǒng)的水產(chǎn)品溯源中心化嚴(yán)重、數(shù)據(jù)易被篡改等問題,運用區(qū)塊鏈技術(shù),基于危害分析與關(guān)鍵控制點(HACCP)設(shè)計水產(chǎn)品溯源體系.采用多元線性回歸的方法對樣品數(shù)據(jù)指標(biāo)進(jìn)行處理,確認(rèn)了養(yǎng)殖過程中的關(guān)鍵控制點;在確定關(guān)鍵信息的基礎(chǔ)上,設(shè)計了智能合約對水產(chǎn)品溯源各環(huán)節(jié)的上傳數(shù)據(jù)進(jìn)行判定.從系統(tǒng)可行性出發(fā),分別對系統(tǒng)功能、共識拓?fù)洹⑺菰淳幋a進(jìn)行詳細(xì)設(shè)計.搭建水產(chǎn)品溯源系統(tǒng),并對系統(tǒng)的功能和性能進(jìn)行了測試.結(jié)果表明:系統(tǒng)的交易吞吐量固定在320筆/s上下,平均交易延遲在0.5 s左右,交易成功率在99.8%左右,完全可以滿足生產(chǎn)實踐的需求.
關(guān)鍵詞:" 水產(chǎn)品; 溯源; 區(qū)塊鏈; HACCP; 智能合約; Hyperledger Fabric
中圖分類號: TP391; S981.9" 文獻(xiàn)標(biāo)志碼:" A" 文章編號:"" 1671-7775(2024)05-0565-09
引文格式:" 鮑 煦,方 宇,林 鋒,等. 基于區(qū)塊鏈和HACCP的水產(chǎn)品溯源系統(tǒng)[J].江蘇大學(xué)學(xué)報(自然科學(xué)版),2024,45(5):565-573.
收稿日期:"" 2023-06-06
基金項目:" 浙江省淡水水產(chǎn)研究所重點實驗室開放課題(ZJK202204); 湖州市公益農(nóng)業(yè)項目(2022GZ31)
作者簡介:"" 鮑 煦(1982—),男,江蘇靖江人,教授,博士生導(dǎo)師(xbao@ujs.edu.cn),主要從事物聯(lián)網(wǎng)技術(shù)研究.
方 宇(1999—),男,江蘇宿遷人,碩士研究生(1731239997@qq.com),主要從事區(qū)塊鏈溯源研究.
Aquatic product traceability system based on blockchain and HACCP
BAO Xu1, FANG Yu1, LIN Feng2, HUANG Xiaohong2
(1. School of Computer Science and Communication Engineering, Jiangsu University, Zhenjiang, Jiangsu 212013, China; 2. Zhejiang Institute of Freshwater Fisheries, Huzhou, Zhejiang 313001, China)
Abstract: To solve the problems of severe centralization and vulnerability to data tampering in traditional seafood traceability systems, the blockchain technology was employed to design the seafood traceability system based on hazard analysis and critical control points (HACCP). The multiple linear regression was used to process the sample data indicators and confirm the critical control points in the farming process. Based on the determination of key information, the smart contracts were designed to verify the uploaded data at each stage of seafood traceability. From the perspective of system feasibility, the detailed designs were conducted for system functionality, consensus topology and traceability coding. The seafood traceability system was developed and subjected to function and performance testing. The results show that the system transaction throughput is consistently around 320 transactions per second. The average transaction latency is approximate 0.5 s, and the transaction success rate is about 99.8%. The performance is fully capable of meeting the needs of production practices.
Key words:" aquatic product; traceability; blockchain; HACCP; smart contract; Hyperledger Fabric
隨著社會經(jīng)濟的發(fā)展、人民生活水平的提升,水產(chǎn)品由于具有富含維生素和礦物質(zhì)、可以提供優(yōu)質(zhì)蛋白質(zhì)等營養(yǎng)特點,在中國已形成了一個規(guī)模性產(chǎn)業(yè).然而水產(chǎn)品在養(yǎng)殖、運輸、銷售過程中,容易出現(xiàn)遭受各種病蟲害侵襲、農(nóng)藥重金屬殘留污染、氧化腐蝕等問題,引發(fā)水產(chǎn)品質(zhì)量安全問題.傳統(tǒng)的水產(chǎn)品溯源系統(tǒng)大部分由企業(yè)和監(jiān)管部門一起管理,導(dǎo)致溯源系統(tǒng)中心化問題顯著,數(shù)據(jù)易被修改,產(chǎn)品溯源信息的真實性得不到保證[1].信息的可靠性低,出現(xiàn)水產(chǎn)品安全事故時很難第一時間定位到問題環(huán)節(jié)[2],以上都是傳統(tǒng)溯源方式所具有的問題.
區(qū)塊鏈作為一種共享賬本技術(shù),具有去中心化、公開透明、不可篡改等特點[3-4],區(qū)塊鏈上每個節(jié)點都能參與數(shù)據(jù)上鏈的過程,使查詢到的溯源信息擁有真實性與可信度.在水產(chǎn)品溯源場景下運用區(qū)塊鏈技術(shù),將區(qū)塊鏈技術(shù)與水產(chǎn)品的追溯性相結(jié)合,能夠提高可追溯數(shù)據(jù)的安全性,從而調(diào)整養(yǎng)殖戶的養(yǎng)殖行為,提升消費者對水產(chǎn)品質(zhì)量的信任度[5],讓監(jiān)管部門能夠?qū)κ袌鰧嵭懈玫谋O(jiān)管.在區(qū)塊鏈溯源這一領(lǐng)域,許多研究者進(jìn)行了探索.
王莉等[6]針對糧食溯源的安全問題,設(shè)計了基于區(qū)塊鏈的糧食防偽溯源系統(tǒng),滿足消費者溯源查詢的基本需求,保障了糧食信息的安全性.殷文杰等[7]研究了一個基于Hyperledger Fabric區(qū)塊鏈的野生農(nóng)產(chǎn)品溯源系統(tǒng)優(yōu)化方案,提升供應(yīng)鏈信息的透明度并實現(xiàn)了溯源信息的不可篡改性,提高消費者對野生農(nóng)產(chǎn)品的信任度并降低產(chǎn)品造假的風(fēng)險.
但少有研究者將HACCP(hazard analysis critical control point)管理體系和區(qū)塊鏈溯源、智能合約相結(jié)合來保證產(chǎn)品質(zhì)量.
文中擬以南美白對蝦為例,融合HACCP管理體系和區(qū)塊鏈技術(shù),基于HACCP模型構(gòu)建水產(chǎn)品溯源系統(tǒng),確認(rèn)關(guān)鍵控制點(critical control point,CCP)并設(shè)計智能合約,以優(yōu)化質(zhì)量安全的同時保證數(shù)據(jù)的不可篡改性.
1 相關(guān)技術(shù)與理論
1.1 區(qū)塊鏈的數(shù)據(jù)結(jié)構(gòu)
區(qū)塊鏈由許多區(qū)塊構(gòu)成,每個區(qū)塊包括區(qū)塊頭和區(qū)塊體兩部分.區(qū)塊頭主要包含以下內(nèi)容:前一區(qū)塊的哈希值(pre-Hash),用來指向前一區(qū)塊;區(qū)塊哈希,被后一區(qū)塊所指向;時間戳,用來保存生成區(qū)塊的時間;默克爾樹根,用來查驗區(qū)塊內(nèi)的交易是否被修改;隨機值,用來獲得區(qū)塊目標(biāo)值的一個變量.區(qū)塊體由許多不同的區(qū)塊構(gòu)成,保存著本區(qū)塊中所有交易的數(shù)據(jù)信息.
區(qū)塊鏈技術(shù)實際上是一種分布式賬本,可以防止數(shù)據(jù)被惡意篡改[8].在水產(chǎn)品溯源階段,任何通過共識機制的有效數(shù)據(jù)都會被寫入到對應(yīng)的數(shù)據(jù)區(qū)塊,保存進(jìn)數(shù)據(jù)庫中.鏈接各區(qū)塊時,先按照交易順序排序,再按順序?qū)⑾噜彽慕灰子涗浧唇由晒V?,然后生成?shù)字簽名用來驗證信息的準(zhǔn)確性,最后再將本區(qū)塊中前一區(qū)塊哈希指向上一區(qū)塊的區(qū)塊哈希,當(dāng)前區(qū)塊中均有信息指向前一個區(qū)塊,通過區(qū)塊頭中的pre-Hash相連成鏈,從而構(gòu)成一個區(qū)塊鏈,來完成信息與信息間的傳播.
1.2 HACCP
HACCP表示危害分析關(guān)鍵控制點,是識別和控制食品安全危害的方法,也是保證食品供應(yīng)鏈免受生物危害污染的安全管理工具.HACCP管理體系能夠確保食品質(zhì)量 [9],可以有效控制產(chǎn)品的微生物、物理和化學(xué)危害,保證水產(chǎn)品質(zhì)量安全.HACCP體系在水產(chǎn)養(yǎng)殖中包括5項原則: ① 危害分析,對生產(chǎn)過程中可能存在的危害進(jìn)行識別和評估; ② 確定關(guān)鍵控制點,確定生產(chǎn)過程中能夠控制或消除危害的關(guān)鍵步驟; ③ 確立監(jiān)控措施,建立監(jiān)控體系,確保在關(guān)鍵控制點的參數(shù)符合預(yù)定的標(biāo)準(zhǔn); ④ 制定糾正措施,當(dāng)監(jiān)控結(jié)果超出預(yù)定的標(biāo)準(zhǔn)時,需要采取相應(yīng)的糾正措施; ⑤ 建立記錄和文件,對HACCP計劃的實施過程進(jìn)行記錄和文件化,以便審查和驗證.其中危害分析、關(guān)鍵控制點是HACCP的核心.危害分析從危害角度規(guī)定如果管理不當(dāng)可能出現(xiàn)的危害內(nèi)容,例如藥物殘留、重金屬污染等.關(guān)鍵控制點(CCP)從環(huán)節(jié)角度聲明供應(yīng)鏈流程的各環(huán)節(jié),隨后針對具體環(huán)節(jié)設(shè)置監(jiān)控內(nèi)容并與關(guān)鍵值比較,反映水產(chǎn)品質(zhì)量[10].CCP是養(yǎng)殖中的一個重要環(huán)節(jié),如果在這一環(huán)節(jié)中不采取控制措施將可能對養(yǎng)殖產(chǎn)品產(chǎn)生危害,因此必須對此環(huán)節(jié)加以控制以便消除危害或使該危害降低到可接受的水平.
2 數(shù)據(jù)分析確認(rèn)關(guān)鍵控制點
在養(yǎng)殖環(huán)節(jié)中,高發(fā)性細(xì)菌病害與養(yǎng)殖水環(huán)境之間具有相關(guān)性,為了降低病害發(fā)生率,提高水產(chǎn)品質(zhì)量,以南美白對蝦為例進(jìn)行研究,其發(fā)病率和死亡率高發(fā)與機會致病菌有關(guān).根據(jù)浙江水產(chǎn)研究所提供的數(shù)據(jù),監(jiān)測結(jié)果表明不同的蝦塘之間各項指標(biāo)變化趨勢雖然有著部分相似性,但是無法發(fā)現(xiàn)與病害之間的相關(guān)規(guī)律性.因此,需要利用多元線性模型進(jìn)行數(shù)據(jù)處理分析,以便從中找到各水質(zhì)參數(shù)之間、參數(shù)與菌群、參數(shù)與飼料投喂量(即產(chǎn)量)等之間的相互關(guān)系.
選擇杭州市蕭山區(qū)4個在0.066~0.198 km2之間規(guī)模的南美白對蝦養(yǎng)殖場作為定期定點監(jiān)測對象,從2021年4月底開始至10月中旬截止,每隔一周進(jìn)行一次水質(zhì)采集監(jiān)測,在氣溫高、病害易發(fā)時段進(jìn)行為期5~7 d的連續(xù)監(jiān)測.令ρ表示質(zhì)量濃度,每次水樣檢測指標(biāo)為溶解氧(DO)、總磷(TP)、總氮(TN)、溫度(Tm)、總堿度(TAL)、菌落數(shù)(n)、弧菌數(shù)(nG)、ρ(NH4-N)、ρ(NO2-N)、ρ(H2S)、ρ(Ca2+)、ρ(Mg2+)、化學(xué)需氧量(COD)、生物需氧量(BOD)、pH.由于具有多個自變量、一個因變量,選擇使用多元線性回歸的方法進(jìn)行數(shù)據(jù)分析.
在多個自變量(即水質(zhì)指標(biāo))中,DO、TP、TN、TAL、 ρ(NH4-N)、 ρ(NO2-N)、 ρ(H2S)、 ρ(Ca2+)、 ρ(Mg2+)、COD、BOD的單位統(tǒng)一為mg/L;Tm單位為℃;n、nG單位統(tǒng)一為CFU/mL.
本次分析選取了20個蝦塘,約180組數(shù)據(jù),其中1號塘水質(zhì)指標(biāo)變化趨勢如圖1所示.
選用SPSS統(tǒng)計軟件對數(shù)據(jù)進(jìn)行了分析,首先得到一個模型摘要如表1所示,模型摘要R方的值表示南美白對蝦的產(chǎn)量有45%的原因是由總磷、總氮、溫度等指標(biāo)決定的.德賓-沃森(DW)可以體現(xiàn)樣本之間的獨立性,DW在2附近,各個樣本之間獨立性好.表2是對方差的分析,可見在0.05的顯著性水平下,自變量對因變量影響顯著.
表3給出了對每個自變量方差擴大因子(variance inflation factor,VIF)與顯著性的分析,VIF體現(xiàn)自變量之間的關(guān)聯(lián)性,VIF小于5,則不存在關(guān)聯(lián)性.最重要的是對每個自變量顯著性的分析,能看到P值lt;0.05的
有pH、ρ(H2S)、TAL、ρ(Ca2+)、TP,從而可以得出結(jié)論,顯著性明顯的自變量有pH、ρ(H2S)、TAL、ρ(Ca2+)、TP.
由表3可見,pH、ρ(H2S)、TAL、ρ(Ca2+)、TP會影響南美白對蝦的產(chǎn)量,具體來說,過高的pH、鈣離子、硫化氫含量,較低的鋁、磷含量,容易造成細(xì)菌菌落的繁殖,形成機會致病菌,從而降低南美白對蝦的產(chǎn)量.根據(jù)數(shù)據(jù)分析結(jié)果確定出5個關(guān)鍵控制點(CCP):pH、ρ(H2S)、TAL、ρ(Ca2+)、TP.
多元線性回歸模型的一般形式為
Yi=β0+β1X1i+β2X2i+…+βkXki+μi,i=1,2,…,n,(1)
式中: Yi為因變量;k為解釋變量的數(shù)目;βj(j=1,2,…,k)稱為回歸系數(shù);μi為隨機誤差;Xki為在0.05的顯著性水平下的pH、ρ(H2S)、TAL、ρ(Ca2+)、TP共5個參數(shù).最后得出回歸方程為
Y=2.72-0.624*pH-16.942*ρ(H2S)+0.007*
TAL-0.06*ρ(Ca2+)+1.398*TP.(2)
3 水產(chǎn)品溯源系統(tǒng)總體設(shè)計
3.1 HACCP管理設(shè)計
根據(jù)數(shù)據(jù)分析結(jié)果確定養(yǎng)殖環(huán)節(jié)中5個關(guān)鍵控制點(CCP),把南美白對蝦的供應(yīng)鏈分為養(yǎng)殖、檢疫、運輸、銷售4個環(huán)節(jié),并組成數(shù)據(jù)庫.水產(chǎn)品溯源各環(huán)節(jié)危害分析與CCP判別如表4所示,需要采集上鏈的信息如表5所示.
3.2 質(zhì)量監(jiān)管設(shè)計
水產(chǎn)品溯源質(zhì)量安全監(jiān)管執(zhí)行方包括水產(chǎn)品養(yǎng)殖塘帶有傳感器的安全檢測系統(tǒng)和第3方檢測機構(gòu)的檢測系統(tǒng),它的內(nèi)容包含了水產(chǎn)品的生物化學(xué)指標(biāo)、檢測結(jié)果、關(guān)鍵控制點等,涉及從養(yǎng)殖到銷售的全過程.
1) 內(nèi)部系統(tǒng)品質(zhì)監(jiān)控.為了確保水產(chǎn)品質(zhì)量安全,通過設(shè)計智能合約來完成水產(chǎn)品質(zhì)量監(jiān)管.通過建立養(yǎng)殖、檢疫、運輸、銷售4個環(huán)節(jié)的安全預(yù)警功能,自動對比提前設(shè)定的水產(chǎn)品安全指標(biāo)并分析參數(shù)[11],并根據(jù)浙江省市場監(jiān)督管理局批準(zhǔn)發(fā)布的標(biāo)準(zhǔn)和養(yǎng)殖企業(yè)本身水產(chǎn)品質(zhì)量安全管控標(biāo)準(zhǔn),及時上傳反饋,來讓養(yǎng)殖戶重新調(diào)整養(yǎng)殖水域的環(huán)境.如果發(fā)現(xiàn)不新鮮、微生物超標(biāo)、農(nóng)藥與重金屬殘留等質(zhì)量問題產(chǎn)品,自動警告,排除隱患,避免水產(chǎn)品質(zhì)量問題.
2) 外部機構(gòu)品質(zhì)監(jiān)控.外部機構(gòu)品質(zhì)監(jiān)控依靠第3方檢測機構(gòu),可以對水產(chǎn)品生成更真實、準(zhǔn)確的報告.檢測記錄的信息主要包括檢測機構(gòu)、檢測類別、檢測時間、檢測人員、檢測項目、檢測樣本、檢測結(jié)果等.
3.3 智能合約設(shè)計
智能合約定義為“一套以數(shù)字形式定義的承諾,包括合約參與方可以在上面執(zhí)行這些承諾的協(xié)議”[12-13],它的本質(zhì)是一段程序,這段程序運行在區(qū)塊鏈系統(tǒng)的服務(wù)器上,會在觸發(fā)特定的條件下自動執(zhí)行.水產(chǎn)品溯源涉及很多環(huán)節(jié),如果出現(xiàn)質(zhì)量問題,不容易找到哪個環(huán)節(jié)出錯,因此可以利用智能合約對水產(chǎn)品供應(yīng)鏈各個環(huán)節(jié)進(jìn)行監(jiān)督控制,從根本上減少了問題產(chǎn)品的出現(xiàn).
以南美白對蝦為例,根據(jù)已經(jīng)總結(jié)的關(guān)鍵影響因素與浙江省市場監(jiān)督管理局批準(zhǔn)發(fā)布的DB33/T 2557—2022《南美白對蝦養(yǎng)殖技術(shù)規(guī)范》省級地方標(biāo)準(zhǔn),設(shè)計了智能合約,合約中對上傳數(shù)據(jù)進(jìn)行了判定,如果上傳數(shù)據(jù)符合標(biāo)準(zhǔn),則將數(shù)據(jù)上傳到區(qū)塊鏈中;如果不符合標(biāo)準(zhǔn),則不允許上傳到區(qū)塊鏈,并通知養(yǎng)殖戶對水質(zhì)條件進(jìn)行整改.智能合約流程見圖2.
3.4 水產(chǎn)品質(zhì)量安全溯源系統(tǒng)架構(gòu)設(shè)計
根據(jù)水產(chǎn)品質(zhì)量安全溯源信息需要存儲可信、數(shù)據(jù)真實可長久保持、公開透明、方便查詢等特點,在整個水產(chǎn)品溯源流程中,需要符合完整的商業(yè)模式,不同組織、不同節(jié)點的加入,共同維護(hù)整條區(qū)塊鏈交易信息數(shù)據(jù).考慮到水產(chǎn)品溯源場景的特點,本系統(tǒng)采用了聯(lián)盟鏈形式,以區(qū)塊鏈3.0階段比較成熟的Hyperledger Fabric平臺作為構(gòu)建水產(chǎn)品溯源系統(tǒng)的核心,主要包含了區(qū)塊鏈層和應(yīng)用層的架構(gòu)模式,如圖3所示.
由圖3可見,區(qū)塊鏈層包括接口層、數(shù)據(jù)存儲層、服務(wù)層. Hyperledger Fabric的服務(wù)層在水產(chǎn)品溯源系統(tǒng)中有重要作用,主要由成員服務(wù)、區(qū)塊鏈服務(wù)和鏈碼服務(wù)3部分構(gòu)成.成員服務(wù)包含注冊登錄、屬性證書等服務(wù),當(dāng)節(jié)點用戶獲得證書后,可以擁有資格加入?yún)^(qū)塊鏈網(wǎng)絡(luò).區(qū)塊鏈服務(wù)負(fù)責(zé)實現(xiàn)賬本的節(jié)點排序及背書驗證等功能,作為區(qū)塊鏈的基礎(chǔ)架構(gòu).接口層可以向第3方應(yīng)用提供調(diào)用接口、安裝鏈碼、查詢交易信息和監(jiān)聽事件等功能.數(shù)據(jù)存儲層包括存儲區(qū)塊鏈?zhǔn)澜鐮顟B(tài)的數(shù)據(jù)庫CouchDB、存儲后臺賬號密碼等管理信息的數(shù)據(jù)庫MySQL.應(yīng)用層包括終端層、感知層、用戶層、功能層.感知層由安裝在養(yǎng)殖塘的傳感器負(fù)責(zé)水產(chǎn)品各環(huán)節(jié)數(shù)據(jù)的采集.終端層負(fù)責(zé)在前端網(wǎng)頁進(jìn)行展示.用戶層涉及參與溯源的用戶,包括養(yǎng)殖戶、檢疫機構(gòu)、物流部門、銷售商、消費者、監(jiān)管部門,根據(jù)參與方的不同進(jìn)行追溯,調(diào)用溯源數(shù)據(jù).功能層為用戶提供數(shù)據(jù)上鏈、追溯查詢、質(zhì)量安全管理、物流管理、銷售管理等功能.
4 基于Fabric的水產(chǎn)品溯源系統(tǒng)設(shè)計
文中選用Hyperledger Fabric區(qū)塊鏈平臺進(jìn)行追溯系統(tǒng)開發(fā),該系統(tǒng)在linux環(huán)境下,以Fabric v2.4.6版本為基礎(chǔ)區(qū)塊鏈架構(gòu),配置Peer、orderer節(jié)點、Fabric CA以及通道,并在IDEA編譯器中實現(xiàn)應(yīng)用開發(fā).
根據(jù)水產(chǎn)品供應(yīng)鏈參與方分工的不同,構(gòu)建出不同節(jié)點對溯源過程的數(shù)據(jù)進(jìn)行存儲和維護(hù),4個組織對應(yīng)的節(jié)點、域名如表6所示.
4.1 Fabric基本組成與交易流程
Hyperledger Fabric由6大核心模塊組成,分別為peer、orderer、cryptogen、configtxgen、configtxlator以及fabric-CA.其中: peer和orderer作為系統(tǒng)模塊,負(fù)責(zé)對節(jié)點背書驗證并進(jìn)行排序,直接參與系統(tǒng)的運行[14];cryptogen、configtxgen和configtxlator作為工具模塊,主要負(fù)責(zé)生成創(chuàng)世區(qū)塊、證書文件等,不直接參與系統(tǒng)運行.Hyperledger Fabric的6大核心模塊基本功能如表7所示.
運用以上6大模塊能夠搭建區(qū)塊鏈網(wǎng)絡(luò),該網(wǎng)絡(luò)由Fabric-CA、peer和orderer節(jié)點3個基本部分構(gòu)成,peer節(jié)點可以根據(jù)功能不同細(xì)分為不同種類,并組成組織.
4.2 溯源系統(tǒng)功能設(shè)計
智能合約模塊主要由各個參與方的鏈碼名稱與所需要維護(hù)的信息組成,根據(jù)水產(chǎn)品溯源系統(tǒng)的需求,確定好鏈碼的功能.參與方維護(hù)信息對應(yīng)關(guān)系如表8所示.
4.3 共識拓?fù)湓O(shè)計
選擇適合的共識算法和設(shè)計合理的共識拓?fù)浣Y(jié)構(gòu)對于區(qū)塊鏈系統(tǒng)的性能和穩(wěn)定性至關(guān)重要,需要綜合考慮系統(tǒng)的需求和場景,以確保系統(tǒng)能夠穩(wěn)定高效地運行.Raft是一種分布式系統(tǒng)設(shè)計的共識算法,通過選舉機制選出一個領(lǐng)導(dǎo)者節(jié)點,由領(lǐng)導(dǎo)者節(jié)點來決定交易的排序和打包,其余節(jié)點則對領(lǐng)導(dǎo)者節(jié)點的決策進(jìn)行確認(rèn).Raft共識算法由于具有高效、可靠等特點,在Hyperledger Fabric中被廣泛使用.不同的共識算法具有不同的特點和適用場景,因此需要根據(jù)具體的需求和場景進(jìn)行選擇,考慮到本研究的溯源場景和業(yè)務(wù)需求,文中共識模塊選擇 Raft 算法,所設(shè)計的共識拓?fù)浣Y(jié)構(gòu)如圖4所示.
共識節(jié)點的部署應(yīng)考慮以下幾個方面: ① 分布式部署,將共識節(jié)點分布在不同組織中,以提高系統(tǒng)的可用性和抗攻擊能力; ② 容錯性,避免單點故障,確保即使一個或多個節(jié)點宕機,系統(tǒng)仍能正常運行; ③ 權(quán)限分配,根據(jù)各個節(jié)點在供應(yīng)鏈中的角色和權(quán)限分配,決定哪些組織應(yīng)該部署共識節(jié)點; ④ 監(jiān)控和管理,建立監(jiān)控和管理機制,對共識節(jié)點進(jìn)行實時監(jiān)控和管理,及時發(fā)現(xiàn)并解決問題.
圖4 共識拓?fù)浣Y(jié)構(gòu)
文中設(shè)計的部署方案包含4個共識節(jié)點,這4個節(jié)點將分別提供共識服務(wù)給聯(lián)盟用戶.為了最大程度地降低系統(tǒng)因節(jié)點故障而影響區(qū)塊鏈溯源系統(tǒng)工作的可能,4個共識節(jié)點被安排在不同的組織,分別為養(yǎng)殖、檢疫、運輸、銷售組織.將4個共識節(jié)點均勻部署,可以提高系統(tǒng)的去中心化程度.
4.4 溯源編碼設(shè)計
編碼是指將信息轉(zhuǎn)換為特定的符號、信號或數(shù)據(jù)格式的過程.編碼的主要目的是使信息能夠在計算機系統(tǒng)中進(jìn)行傳輸、存儲和處理,并確保數(shù)據(jù)的可靠性、完整性和安全性.條形編碼具有識別速度快、成本低廉、易于實現(xiàn)自動化識別等優(yōu)點,因此在零售、物流、庫存管理、生產(chǎn)線控制等領(lǐng)域得到了廣泛的應(yīng)用.EAN-13條碼是全球通用的條形碼之一,由前綴碼、廠商識別碼、商品項目代碼和校驗碼組成,共計13位數(shù)字.EAN-13條碼的編碼遵循唯一性原則,確保全球范圍內(nèi)的唯一性,因此被廣泛應(yīng)用于商品標(biāo)識和追溯等領(lǐng)域.EAN-13碼能夠識別涉及產(chǎn)品的有關(guān)信息,如產(chǎn)品編號、質(zhì)量、數(shù)量等,在許多領(lǐng)域得到了廣泛應(yīng)用,極大改善了供應(yīng)鏈的效率.本研究運用EAN-13編碼規(guī)則設(shè)計水產(chǎn)品溯源編碼,交易信息和該溯源碼一起上傳到區(qū)塊鏈系統(tǒng),每一個產(chǎn)品只有唯一的溯源碼,相當(dāng)于是產(chǎn)品的身份證,消費者憑此溯源碼進(jìn)行產(chǎn)品溯源.溯源碼由4部分組成,共計13位,其結(jié)構(gòu)見圖5.
5 水產(chǎn)品溯源系統(tǒng)實現(xiàn)及測試
5.1 水產(chǎn)品溯源系統(tǒng)實現(xiàn)
基于區(qū)塊鏈的水產(chǎn)品溯源系統(tǒng)運行在Linux操作系統(tǒng)中,F(xiàn)abric的peer節(jié)點、orderer節(jié)點和智能合約都在Docker容器中運行.Hyperledger Fabric采用容器化部署的方式,這使得節(jié)點和智能合約的管理更加靈活和便捷.系統(tǒng)采用Go語言進(jìn)行實現(xiàn).
5.2 系統(tǒng)功能測試
系統(tǒng)搭建完成后,對功能進(jìn)行測試.可視化界面由前端設(shè)計實現(xiàn),使用HTML、JavaScript,通過調(diào)用接口層提供的接口來實現(xiàn)用戶登錄、數(shù)據(jù)上傳、數(shù)據(jù)查詢功能.主要的功能測試界面如圖6-7所示.
5.3 系統(tǒng)性能測試
完成基本功能測試后,利用區(qū)塊鏈性能測試工具Hyperledger Caliper對文中設(shè)計的水產(chǎn)品溯源系統(tǒng)進(jìn)行數(shù)據(jù)寫入壓力測試.使用Hyperledger Caliper工具,能夠測試系統(tǒng)的如下性能指標(biāo): ① 交易成功率,在測試運行期間,Caliper會收集并記錄每個交易的處理結(jié)果.成功的交易將被記錄為成功,失敗的交易將被記錄為失敗.成功率為成功交易數(shù)與總交易數(shù)的比值,通常以百分比的形式呈現(xiàn); ② 交易吞吐量為一定時間內(nèi)處理的交易數(shù)量,Caliper可以模擬并發(fā)送大量的交易,然后測量系統(tǒng)在給定負(fù)載下的吞吐量; ③ 交易延遲為從交易提交到交易確認(rèn)之間的時間,Caliper可以記錄每個交易的提交時間和確認(rèn)時間,并得到延遲的統(tǒng)計數(shù)據(jù).
本次測試在linux系統(tǒng)中進(jìn)行,Caliper會模擬區(qū)塊鏈溯源系統(tǒng)的數(shù)據(jù)寫入交易量,測試內(nèi)容主要包括系統(tǒng)交易成功率、交易吞吐量和交易延遲.總共完成5輪測試,每輪1 000筆交易,共計5 000筆.測試結(jié)果如圖8-10所示.
由圖8-10可以看出,系統(tǒng)的交易吞吐量固定在320筆/s上下,平均交易延遲在0.5 s左右,交易成功率在99.8%左右,根據(jù)200筆/s的交易吞吐量可基本承載商業(yè)的標(biāo)準(zhǔn),系統(tǒng)達(dá)到的320筆/s交易吞吐量表明在性能方面完全可以滿足生產(chǎn)實踐的需求.
5.4 比較分析
把文中基于區(qū)塊鏈和HACCP的水產(chǎn)品溯源系統(tǒng)與傳統(tǒng)的水產(chǎn)品溯源系統(tǒng)進(jìn)行比較,結(jié)果見表9.
文中設(shè)計的基于區(qū)塊鏈的水產(chǎn)品溯源系統(tǒng)結(jié)合了HACCP管理,優(yōu)化了養(yǎng)殖信息存儲,提高了信任度,保障了水產(chǎn)品數(shù)據(jù)的不可篡改.但是處理交易數(shù)目較大時,事務(wù)處理吞吐量較低,不適合規(guī)模大的交易場景,需要進(jìn)一步提高共識效率,對共識算法進(jìn)行優(yōu)化.
6 結(jié) 論
文中研究了一種將區(qū)塊鏈與HACCP管理體系相結(jié)合的水產(chǎn)品溯源系統(tǒng),系統(tǒng)的交易吞吐量達(dá)到320筆/s,平均交易延遲約0.5 s,而且交易成功率在99.8%左右,具有一定的生產(chǎn)實用性.但是仍有一些需要改進(jìn)的地方,當(dāng)系統(tǒng)面對規(guī)模較大的交易場景時,可能會遇到性能、擴展性和隱私保護(hù)等方面的挑戰(zhàn).未來需要對共識算法進(jìn)行優(yōu)化,提高系統(tǒng)的靈活性和可擴展性,以滿足不同場景的需求.
參考文獻(xiàn)(References)
[1] 路良辰.區(qū)塊鏈技術(shù)在海產(chǎn)品溯源的研究與設(shè)計[D].舟山:浙江海洋大學(xué),2021.
[2] ZHU P, HU J, ZHANG Y, et al. A blockchain based solution for medication anti-counterfeiting and traceability[J]. IEEE Access,2020,8:184256-184272.
[3] NAKAMOTO S. Bitcoin: a peer-to-peer electronic cash system [EB/OL].[2023-06-06].https:∥bitcoin.org/bitcoin. pdf
[4] TIAN F. A supply chain traceability system for food safety based on HACCP, blockchain amp; internet of things [C]∥Proceedings of the 2017 14th International Conference on Services Systems and Services Management. Piscataway:IEEE, DOI:10.1109/ICSSSM.2017.7996119.
[5] BEHNKE K, JANSSEN M F W H A. Boundary conditions for traceability in food supply chains using blockchain technology[J]. International Journal of Information Management, DOI:10.1016/j.ijinfomgt.2019.05.025.
[6] 王莉,任健榮,王濤,等.基于區(qū)塊鏈的糧食防偽溯源系統(tǒng)的設(shè)計與實現(xiàn)[J].科學(xué)技術(shù)與工程,2023,23(4):1625-1634.
WANG L, REN J R, WANG T, et al. Design and implementation of food security traceability system based on blockchain[J]. Science Technology and Engineering,2023,23(4):1625-1634.(in Chinese)
[7] 殷文杰,都牧,賈凱文,等.基于區(qū)塊鏈的野生農(nóng)產(chǎn)品溯源系統(tǒng)[J].電子科技大學(xué)學(xué)報(社科版),2022,24(5):88-98.
YIN W J, DU M, JIA K W, et al. A blockchain-based traceability system for wild agricultural products[J]. Journal of UESTC (Social Sciences Edition), 2022,24(5):88-98.(in Chinese)
[8] 唐飛,王金洋,陽祥貴,等.基于記錄查詢布隆過濾器的區(qū)塊鏈溯源方案[J].重慶郵電大學(xué)學(xué)報(自然科學(xué)版),2023,35(5):916-926.
TANG F, WANG J Y, YANG X G, et al.Blockchain traceability scheme based on query recorded bloom filter[J]. Journal of Chongqing University of Posts and Telecommunications (Natural Science Edition), 2023,35(5):916-926. (in Chinese)
[9] MALIK S, KRISHNASWAMY K, MUSTAPHA A. Ha-zard analysis and risk-based preventive controls (HARPC): current food safety and quality standards for complementary foods[J]. Foods, DOI:10.3390/foods10092199.
[10] 黃朝良.基于HACCP的水產(chǎn)品供應(yīng)鏈區(qū)塊鏈溯源關(guān)鍵問題研究與實現(xiàn)[D].上海:上海海洋大學(xué),2021.
[11] 魏立斐,朱嘉英,衡旭日,等.基于區(qū)塊鏈技術(shù)和HACCP管理的智能化水產(chǎn)品質(zhì)量安全溯源系統(tǒng)的設(shè)計與實現(xiàn)[J].漁業(yè)現(xiàn)代化,2020,47(4):89-96.
WEI L F, ZHU J Y, HENG X R, et al. Design and rea-lization of intelligent quality-and-safety traceability system for aquatic products based on blockchain combined with HACCP management[J]. Fishery Modernization,2020,47(4):89-96.(in Chinese)
[12] SZABO N. Formalizing and securing relationships on public networks[J]. First Monday, DOI:10.5210/fm.v2i9.548.
[13] KERIKME T, RULL A. The Future of Law and eTechnologies[M]. Berlin: Springer International Publishing,2016.
[14] 段冉陽,周文輝,魏驍,等.基于Hyperledger Fabric的食品溯源系統(tǒng)設(shè)計與實現(xiàn)[J]. 電子技術(shù)應(yīng)用,2021,47(3):55-60.
DUAN R Y, ZHOU W H, WEI X, et al. Design and implementation of food traceability system based on Hyperledger Fabric[J]. Application of Electronic Technique,2021,47(3):55-60.(in Chinese)
(責(zé)任編輯 梁家峰)