張曉蝶,黃鄭正,趙金輝,鄒 惠
(河北地質(zhì)大學(xué) a.信息工程學(xué)院;b.網(wǎng)絡(luò)信息安全實驗室,石家莊 050031)
近年來,食品質(zhì)量安全問題頻繁出現(xiàn),從瘦肉精、禽流感、鎘大米事件到今年攜帶新冠病毒的海鮮等食品安全事件,已經(jīng)嚴重影響了消費者對食品質(zhì)量安全的信賴度。因此,人們對農(nóng)產(chǎn)品供應(yīng)鏈的溯源需求與日俱增,但由于傳統(tǒng)的農(nóng)產(chǎn)品供應(yīng)鏈中各環(huán)節(jié)數(shù)據(jù)信息零散,安全性低,信息交互有限,容易造成信息孤島且存在隨時被篡改的風(fēng)險,當出現(xiàn)產(chǎn)品質(zhì)量安全問題時,很難快速找出問題的源頭。因此,研究并建立農(nóng)產(chǎn)品的溯源體系,實現(xiàn)從生產(chǎn)到消費全過程的有效監(jiān)管,已經(jīng)成為各國普遍關(guān)注的熱點問題[1-2]。
傳統(tǒng)的農(nóng)產(chǎn)品溯源系統(tǒng)大多利用物聯(lián)網(wǎng)、大數(shù)據(jù)等技術(shù)增加數(shù)據(jù)采集量以達到溯源目的,但在溯源數(shù)據(jù)的安全性、存儲管理及供應(yīng)鏈上的交易等方面卻很少實現(xiàn)。而區(qū)塊鏈技術(shù)的去中心化、不可篡改、可追溯等特性[3]可以很好地解決傳統(tǒng)溯源系統(tǒng)中多環(huán)節(jié)間的信任問題,建立可靠的互信機制[4]。高陽陽等[5]采用多方驗證參與的方式,基于區(qū)塊鏈技術(shù)解決了農(nóng)產(chǎn)品溯源數(shù)據(jù)信任感低的問題;柳祺祺等[6]結(jié)合區(qū)塊鏈與農(nóng)產(chǎn)品溯源各自特點,對系統(tǒng)核心節(jié)點及系統(tǒng)協(xié)作溯源流程等方面進行設(shè)計,構(gòu)建了基于Fabric的農(nóng)產(chǎn)品溯源系統(tǒng)。區(qū)塊鏈技術(shù)為農(nóng)產(chǎn)品溯源提供了許多技術(shù)支持[7-8],但于立娜等[9]研究發(fā)現(xiàn)區(qū)塊鏈技術(shù)在數(shù)據(jù)存儲方面存在存儲壓力大、存儲空間不足的問題[10-12];Tian等[13-16]也發(fā)現(xiàn)了農(nóng)產(chǎn)品溯源查詢效率不高,會對農(nóng)產(chǎn)品供應(yīng)鏈上溯源數(shù)據(jù)的查詢有所限制的問題;祝烈煌等[17]發(fā)現(xiàn)在現(xiàn)有食品溯源體系中存在數(shù)據(jù)信息不安全、中心化嚴重、存儲不安全、數(shù)據(jù)易受攻擊等問題。
針對上述問題,本文采用基于復(fù)雜網(wǎng)絡(luò)的存儲結(jié)構(gòu),采用“區(qū)塊鏈+數(shù)據(jù)庫”的雙模存儲方式,提出了基于區(qū)塊鏈的農(nóng)產(chǎn)品溯源數(shù)據(jù)的多鏈式存儲保護模型,在讓供應(yīng)鏈中各環(huán)節(jié)的多家廠商或企業(yè)間更好進行數(shù)據(jù)交互的同時,不僅節(jié)省了區(qū)塊鏈的存儲空間,還保證溯源數(shù)據(jù)安全存儲。其次,根據(jù)需求設(shè)計了智能合約,保證農(nóng)產(chǎn)品供應(yīng)鏈中各環(huán)節(jié)的正常交易。最后,基于以太坊平臺開發(fā)了溯源系統(tǒng),并與現(xiàn)有基于區(qū)塊鏈技術(shù)實現(xiàn)的農(nóng)產(chǎn)品溯源系統(tǒng)作了對比分析。
區(qū)塊鏈是一種通過使用密碼學(xué)技術(shù)把區(qū)塊進行有序串聯(lián)存儲的分布式數(shù)據(jù)庫,具有去中心化、集體維護、不可篡改、可追溯、公開透明的特征[18],是當前信息安全領(lǐng)域內(nèi)非常前沿的技術(shù)。鏈中的每個區(qū)塊都由區(qū)塊頭和區(qū)塊體組成,區(qū)塊頭包含前一區(qū)塊的hash值、版本號、時間戳、隨機數(shù)、Merkle樹根和難度目標[19]。區(qū)塊體中存儲的是各個交易信息的交易記錄,然后通過Merkle樹的根節(jié)點校驗區(qū)塊中的數(shù)據(jù)判斷是否被篡改或者攻擊。區(qū)塊鏈的數(shù)據(jù)結(jié)構(gòu)如圖1所示。
圖1 區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)框圖
哈希函數(shù)是一種散列函數(shù),該算法可以把任意長度的數(shù)據(jù)信息變成一個固定長度的字符串輸出,這一特征使得它可以較好地滿足區(qū)塊鏈技術(shù)可驗證和不能篡改的安全性需求[20]。哈希函數(shù)是單向加密算法,因此很難對其進行逆向計算,如h=f(x)中已知數(shù)據(jù)信息x可以通過哈希函數(shù)得到相應(yīng)的哈希值h,但若已知哈希值h那么很難反過來獲取數(shù)據(jù)信息x,并且哈希計算非常敏感,即使輸入的數(shù)據(jù)信息發(fā)生微小的改變,那產(chǎn)生的相應(yīng)的哈希值也會有很大的區(qū)別。除此之外,哈希算法還具有強抗碰撞性,很難有不同的數(shù)據(jù)信息經(jīng)過哈希計算之后得到同樣的哈希值,這能在很大程度上保證數(shù)據(jù)的安全和不可篡改性。因此,可采用哈希算法對溯源數(shù)據(jù)進行哈希計算,得到安全可靠的數(shù)據(jù)摘要信息。
把區(qū)塊鏈按照不同應(yīng)用場景下的信任程度及去中心化的程度劃分,可分為許可鏈和非許可鏈[21]。許可鏈包含聯(lián)盟鏈和私有鏈,非許可鏈又被稱為公有鏈,這3類區(qū)塊鏈之間的特征如表1所示。在農(nóng)產(chǎn)品供應(yīng)鏈溯源系統(tǒng)中,從生產(chǎn)到銷售的各環(huán)節(jié)之間既相互獨立又相互關(guān)聯(lián),適合采用聯(lián)盟鏈的方式。
表1 區(qū)塊鏈的分類及各類型特征
多鏈是超級賬本1.0提出的新功能,不同于單鏈中所有節(jié)點都屬于同一條鏈,所有節(jié)點都同步所有數(shù)據(jù),而是將系統(tǒng)中各節(jié)點分成多條鏈,每條鏈由不同節(jié)點組成,相同鏈上節(jié)點維護相同數(shù)據(jù),不同鏈上的節(jié)點維護不同的數(shù)據(jù),且系統(tǒng)中的節(jié)點能根據(jù)需求加入不同鏈并同步相關(guān)鏈上的數(shù)據(jù),這樣不僅能對不同鏈上的數(shù)據(jù)進行有效的隔離,還能降低數(shù)據(jù)處理的壓力,節(jié)省區(qū)塊鏈的存儲空間。在多鏈存儲結(jié)構(gòu)中,若某節(jié)點屬于2個不同的鏈,且同步兩條鏈上的所有數(shù)據(jù)叫跨鏈節(jié)點;若不屬于同一條鏈上的節(jié)點間發(fā)生通信叫跨鏈通信。
為了有效地整理農(nóng)產(chǎn)品供應(yīng)鏈中從生產(chǎn)到銷售中各個環(huán)節(jié)數(shù)據(jù)信息,實現(xiàn)農(nóng)產(chǎn)品供應(yīng)鏈中數(shù)據(jù)信息溯源,本文采用了“區(qū)塊鏈+數(shù)據(jù)庫”的雙模存儲方式,構(gòu)建了如圖2所示的基于區(qū)塊鏈技術(shù)的農(nóng)產(chǎn)品供應(yīng)鏈存儲溯源系統(tǒng)架構(gòu)。
圖2 農(nóng)產(chǎn)品供應(yīng)鏈系統(tǒng)架構(gòu)框圖
該系統(tǒng)架構(gòu)主要分為存儲層、服務(wù)層、接口層、應(yīng)用層和用戶層這5層,其中存儲層包括鏈上存儲和鏈下存儲,把供應(yīng)鏈數(shù)據(jù)進行哈希計算得到數(shù)據(jù)摘要信息存入?yún)^(qū)塊鏈中,把其他業(yè)務(wù)數(shù)據(jù)存儲備份至數(shù)據(jù)庫中。服務(wù)層主要是利用智能合約自動化執(zhí)行和查詢用戶層產(chǎn)生的數(shù)據(jù),對供應(yīng)鏈中的農(nóng)產(chǎn)品數(shù)據(jù)信息進行分類,用非對稱加密算法中的數(shù)字簽名技術(shù)驗證農(nóng)產(chǎn)品數(shù)據(jù)信息的不可篡改,調(diào)用應(yīng)用程序接口把相應(yīng)的數(shù)據(jù)分別傳入數(shù)據(jù)庫和區(qū)塊鏈中。接口層是為了保證農(nóng)產(chǎn)品供應(yīng)鏈中各生產(chǎn)運輸環(huán)節(jié)和區(qū)塊鏈網(wǎng)絡(luò)進行良好的數(shù)據(jù)交互。應(yīng)用層是采用B/S結(jié)構(gòu)的Web前端界面,便于用戶查詢溯源信息。用戶層是根據(jù)農(nóng)產(chǎn)品供應(yīng)鏈上各環(huán)節(jié)不同職權(quán)分為生產(chǎn)商、加工管理方、倉儲管理方、物流管理方、銷售商、監(jiān)管方和消費者。
農(nóng)產(chǎn)品供應(yīng)鏈溯源過程涉及面廣、種類多源異構(gòu)、供應(yīng)鏈長,從生產(chǎn)到銷售各環(huán)節(jié)都包含大量的數(shù)據(jù)信息,若把所有的數(shù)據(jù)信息都上傳到區(qū)塊鏈中,這不僅會對區(qū)塊鏈存儲空間造成很大的壓力,還會降低數(shù)據(jù)存儲查詢的效率,付出很高的成本代價。因此,本文采用“區(qū)塊鏈+數(shù)據(jù)庫”的雙模存儲方式存儲溯源數(shù)據(jù)。把農(nóng)產(chǎn)品供應(yīng)鏈中的溯源數(shù)據(jù)經(jīng)過哈希計算得到的哈希值,通過數(shù)字簽名技術(shù)進行安全性驗證后存入?yún)^(qū)塊鏈以減少農(nóng)產(chǎn)品供應(yīng)鏈溯源數(shù)據(jù)的存儲空間,數(shù)據(jù)上鏈后把區(qū)塊鏈中的區(qū)塊信息,如各環(huán)節(jié)區(qū)塊的哈希地址及各環(huán)節(jié)間農(nóng)產(chǎn)品的交易信息等,存至本地數(shù)據(jù)庫中形成映射關(guān)系,溯源查詢時可通過查詢本地數(shù)據(jù)庫中的區(qū)塊地址快速定位到區(qū)塊鏈中各區(qū)塊的區(qū)塊信息,在保證數(shù)據(jù)安全可靠的同時,提高農(nóng)產(chǎn)品供應(yīng)鏈溯源查詢的效率。
供應(yīng)鏈中從生產(chǎn)到銷售的各個環(huán)節(jié)都可能存在多個廠商或企業(yè),這也意味著在很大程度上可能會出現(xiàn)一家廠商與多家企業(yè)合作的現(xiàn)象。本文基于復(fù)雜網(wǎng)絡(luò)的存儲結(jié)構(gòu),研究并提出了一種基于區(qū)塊鏈的農(nóng)產(chǎn)品供應(yīng)鏈溯源數(shù)據(jù)多鏈式存儲保護模型,在保證各環(huán)節(jié)數(shù)據(jù)安全高效存儲的前提下,節(jié)省區(qū)塊鏈的存儲空間,讓各環(huán)節(jié)不同的廠商或企業(yè)間能夠更好地進行數(shù)據(jù)交互,以便使消費者能夠獲取更準確完整的溯源信息。該農(nóng)產(chǎn)品供應(yīng)鏈溯源存儲模型如圖3所示。
圖3 農(nóng)產(chǎn)品供應(yīng)鏈多鏈式溯源存儲模型框圖
農(nóng)產(chǎn)品供應(yīng)鏈中包含生產(chǎn)、加工、倉儲、物流運輸及銷售這5個環(huán)節(jié)的數(shù)據(jù)信息。由于數(shù)據(jù)種類多且復(fù)雜,不同廠商或企業(yè)之間數(shù)據(jù)格式存在差異,本模型采用智能合約對各個環(huán)節(jié)的數(shù)據(jù)進行處理。智能合約在執(zhí)行的過程中,如果我們輸入的數(shù)據(jù)信息能夠滿足要求,就可以按照既定的規(guī)則執(zhí)行。為了保證各環(huán)節(jié)數(shù)據(jù)信息的安全性,將各環(huán)節(jié)數(shù)據(jù)在上鏈之前進行哈希計算,得到數(shù)據(jù)摘要信息,并采用數(shù)字簽名技術(shù)對其進行驗證:先用私鑰把數(shù)據(jù)摘要信息進行加密,把加密后的簽名數(shù)據(jù)摘要信息上傳至本地數(shù)據(jù)庫;數(shù)據(jù)庫再通過接收到的公鑰對其進行解密;最后把解密后的數(shù)據(jù)摘要信息與進行哈希計算后得到的數(shù)據(jù)摘要信息進行對比。如果相同,則證明數(shù)據(jù)沒有受到攻擊或破壞;如果不同,則證明數(shù)據(jù)信息被篡改或者遭到攻擊破壞。完成摘要數(shù)據(jù)信息的安全性驗證之后,通過共識算法讓信息上鏈,生成和更新區(qū)塊數(shù)據(jù)[22-26],保證系統(tǒng)的安全穩(wěn)定及順利運行。最后,把農(nóng)產(chǎn)品供應(yīng)鏈上所在的區(qū)塊信息上傳至數(shù)據(jù)庫進行存儲和備份。
在區(qū)塊鏈網(wǎng)絡(luò)中,一條鏈可生成多個區(qū)塊,一個區(qū)塊可以包含多個賬戶,如上述農(nóng)產(chǎn)品供應(yīng)鏈溯源存儲模型中,生產(chǎn)商區(qū)塊中包含3家生產(chǎn)商:A1、A2、A3;加工商區(qū)塊中包含2家加工廠:B1、B2;倉儲商區(qū)塊中包含2家倉庫存放地:C1、C2;物流運輸商區(qū)塊中包含3家物流公司:D1、D2、D3;銷售商區(qū)塊中包含3家銷售企業(yè):E1、E2、E3。由于農(nóng)產(chǎn)品供應(yīng)鏈中產(chǎn)品種類多且繁雜,不同的農(nóng)產(chǎn)品所使用的加工方式不同,也可能存在一家加工商與多家生產(chǎn)商合作的現(xiàn)象,且不同的農(nóng)產(chǎn)品選擇的倉儲方式、物流運輸公司及銷售點也會有所差異。因此,本文基于復(fù)雜網(wǎng)絡(luò)的方法,構(gòu)建了基于區(qū)塊鏈的農(nóng)產(chǎn)品供應(yīng)鏈多鏈式溯源存儲模型,根據(jù)各環(huán)節(jié)用戶信息交互的情況決定鏈的多少,每個節(jié)點可屬于不同鏈并且同步相關(guān)鏈上的所有數(shù)據(jù),能更加詳細地展示各環(huán)節(jié)的不同廠商或企業(yè)間合作的過程,多種組合方式用AiBjCkDmEn表示,其中0≤i≤3,0≤j≤2,0≤k≤2,0≤m≤3,0≤n≤3。這不僅讓供應(yīng)鏈中各環(huán)節(jié)的多家廠商或企業(yè)間能更好地進行數(shù)據(jù)交互,以便消費者獲取更完整的溯源信息,還保證了溯源數(shù)據(jù)信息的安全存儲,節(jié)省了區(qū)塊鏈存儲空間。
智能合約的概念于1994年由Nick Szabo 提出[27-28],是一種以數(shù)字信息化形式傳播、驗證及自動執(zhí)行合約的一種計算機協(xié)議[29]。由于它具有不可篡改和不可逆的特點,所以當約定了一個智能合約之后,并不能對它進行隨意修改。智能合約的自動執(zhí)行是區(qū)塊鏈技術(shù)去中心化的體現(xiàn),它不僅具有較高的安全性,還能提高執(zhí)行的效率,在很大程度上提高了交易準確性、降低了交易成本。
農(nóng)產(chǎn)品供應(yīng)鏈中各環(huán)節(jié)數(shù)據(jù)信息的自動執(zhí)行及驗證有賴于智能合約,供應(yīng)鏈中各環(huán)節(jié)的賬戶間的交互會形成相應(yīng)的區(qū)塊交易,例如在農(nóng)產(chǎn)品供應(yīng)鏈中生產(chǎn)商和供應(yīng)商之間的交易就是智能合約功能的重要體現(xiàn),若生產(chǎn)商和供應(yīng)商間的交易觸發(fā)了智能合約的交易狀態(tài),該節(jié)點間的區(qū)塊交易達成共識后會更新到區(qū)塊鏈中。本文設(shè)計的智能合約以生產(chǎn)商和供應(yīng)商之間的交易為例,生產(chǎn)商的結(jié)構(gòu)體包含生產(chǎn)受益人錢包地址、售出農(nóng)產(chǎn)品總額、供應(yīng)商數(shù)等信息,生產(chǎn)商和供應(yīng)商的結(jié)構(gòu)體如表2、3所示總個數(shù)及農(nóng)產(chǎn)品種類、產(chǎn)地等信息。供應(yīng)商結(jié)構(gòu)體包含供應(yīng)商地址、供應(yīng)產(chǎn)品總額。
表2 生產(chǎn)商結(jié)構(gòu)體
表3 供應(yīng)商結(jié)構(gòu)體
生產(chǎn)商和供應(yīng)商在交易過程中,供應(yīng)商需要提供自己的賬戶地址,生產(chǎn)商會提供受益人的錢包地址,當供應(yīng)商發(fā)出請求后需要收到生產(chǎn)商的響應(yīng)才能產(chǎn)生交易。雙方交易完成后,需要通過判斷生產(chǎn)商受益人的金額收益與原應(yīng)售出的總額是否一致來驗證收益是否達標,確定交易是否成功。在農(nóng)產(chǎn)品供應(yīng)鏈中也可以通過編寫其他的合約標準,通過觸發(fā)預(yù)制的條件,保證其他各環(huán)節(jié)之間的正常交易。通過此交易過程可以有效地保證農(nóng)產(chǎn)品供應(yīng)鏈中各方交易的安全性和可靠性。
農(nóng)產(chǎn)品供應(yīng)鏈中種植生產(chǎn)、加工、倉儲、物流運輸及銷售各個環(huán)節(jié)簽署的合約在合約內(nèi)容及預(yù)制執(zhí)行條件達到一致時,方可在區(qū)塊鏈上部署該智能合約。本文采用基于以太坊的智能合約開發(fā)語言Solidity進行合約編寫,使用geth1.8.3-stable版本的區(qū)塊鏈客戶端軟件進行區(qū)塊地址的連接,采用Ethereum-Wallet-win32-0-8-1版本以太坊錢包對智能合約進行部署。智能合約的部分代碼如下:
contract CrowdSupplier {
//供應(yīng)商和生產(chǎn)商結(jié)構(gòu)體部分智能合約代碼:
struct Supplier {
address addr;
uint amount;
…
uint storeAmout;
mapping (uint=> storeImformation) storeImformations;
mapping (uint => logisticsCompany) logisticsCompany;
…}
struct Famer {
address beneficiary;
uint SellingAgriculturalProductsGoal;
uint numSupplier;
…
uint date;
mapping (uint => Supplier) suppliers;
mapping (uint => Category) categorys;
…}
//生產(chǎn)商和供應(yīng)商交易過程的部分智能合約代碼:
uint numFamers;
mapping (uint => Famer) famers;
function newFamer(address beneficiary,uint goal) public returns (uint famerID) {
famerID=numFamers++;
famers[famerID]= Famer(beneficiary,goal,0,0);
}
function contribute(uint campaignID) public payable {
Famer storage c=famers[famerID];
c.suppliers[c.numSuppliers++]= Supplier({addr:msg.sender,amount:msg.value});
…
c.beneficiary.transfer(msg.value);
}
function checkGoalReached(uint famerID) public returns (bool reached) {
Famer storage c=famers[famerID];
if (c.amount < c.supplierGoal)
return false;
return true; }
}
首先對生產(chǎn)商和供應(yīng)商的結(jié)構(gòu)體進行定義,然后驗證兩者間的交易過程是否達標,最后通過以太坊錢包對智能合約進行部署,部署成功的智能合約狀態(tài)如圖4所示,該智能合約的地址為:0xB23D95a
圖4 智能合約成功部署狀態(tài)圖
b904eca3bAA0D1907865ADB974604c943。
該系統(tǒng)是結(jié)合MySQL數(shù)據(jù)庫、區(qū)塊鏈等,用HTML、JavaScript、CSS等語言構(gòu)建,基于B/S結(jié)構(gòu)瀏覽使用。傳統(tǒng)的農(nóng)產(chǎn)品供應(yīng)鏈溯源系統(tǒng)需要很多的勞動力維護,溯源難度大且沒有安全保障,基于區(qū)塊鏈的農(nóng)產(chǎn)品供應(yīng)鏈在部署和使用智能合約后就可實現(xiàn)產(chǎn)品的追溯。通過輸入購買的農(nóng)產(chǎn)品溯源碼進行溯源查詢,可查詢出該農(nóng)產(chǎn)品的生產(chǎn)、倉儲、加工、物流及銷售各方面的信息,如圖5所示。
圖5 農(nóng)產(chǎn)品供應(yīng)鏈信息溯源界面
傳統(tǒng)的農(nóng)產(chǎn)品溯源系統(tǒng)具有數(shù)據(jù)信息中心化、易被篡改、安全性低的特點,在很大程度上限制了消費者的信息查詢和監(jiān)管方的管理;基于區(qū)塊鏈的農(nóng)產(chǎn)品供應(yīng)鏈溯源系統(tǒng)具有數(shù)據(jù)信息安全可靠,由多環(huán)節(jié)參與人員共同維護,追溯查詢方便高效的特點。本文設(shè)計的基于區(qū)塊鏈技術(shù)的農(nóng)產(chǎn)品溯源查詢系統(tǒng)與現(xiàn)有的基于區(qū)塊鏈技術(shù)實現(xiàn)的農(nóng)產(chǎn)品溯源系統(tǒng)[5,30-31]的效果如表4所示,唯有本系統(tǒng)在數(shù)據(jù)完整性、可追溯性、安全性、存儲保護、監(jiān)管能力、交易可靠性和供應(yīng)鏈各環(huán)節(jié)的交互性都達到要求,其他現(xiàn)有的基于區(qū)塊鏈技術(shù)實現(xiàn)的農(nóng)產(chǎn)品溯源系統(tǒng)都或多或少存在缺陷,本系統(tǒng)尤其在存儲保護、監(jiān)管能力、交易可靠性及供應(yīng)鏈各環(huán)節(jié)交互性的方面凸顯出優(yōu)勢。通過對比可知,本系統(tǒng)相對于其他基于區(qū)塊鏈的溯源系統(tǒng)監(jiān)管力度更強,交易更可靠,供應(yīng)鏈各環(huán)節(jié)的節(jié)點間數(shù)據(jù)交互性更好。
表4 農(nóng)產(chǎn)品溯源系統(tǒng)性能
1) 基于區(qū)塊鏈技術(shù)構(gòu)建了農(nóng)產(chǎn)品供應(yīng)鏈溯源數(shù)據(jù)的多鏈式存儲保護模型,不僅可以保證數(shù)據(jù)的安全性,還有利于各商家或廠商之間進行數(shù)據(jù)交互。
2) 采用區(qū)塊鏈、數(shù)據(jù)庫相結(jié)合的雙模存儲方式,在讓供應(yīng)鏈中各環(huán)節(jié)的多家廠商或企業(yè)間能夠更好地進行數(shù)據(jù)交互,消費者在獲取更完整溯源信息的同時,還保證了溯源數(shù)據(jù)信息的安全存儲,節(jié)省了區(qū)塊鏈存儲空間,增加了消費者信任度。
3) 在該農(nóng)產(chǎn)品供應(yīng)鏈溯源系統(tǒng)設(shè)計上,按需求編寫并部署了智能合約,保證了各交易方數(shù)據(jù)信息的安全可信,并根據(jù)溯源碼對農(nóng)產(chǎn)品進行溯源查詢,驗證了該設(shè)計的可行性。
4) 本系統(tǒng)在存儲保護、監(jiān)管力度、交易可靠性及供應(yīng)鏈各環(huán)節(jié)間的交互性等方面有很大的優(yōu)勢。區(qū)塊鏈在用于農(nóng)產(chǎn)品供應(yīng)鏈的升級和發(fā)展過程中,將面對更多的問題和挑戰(zhàn),在其他應(yīng)用領(lǐng)域也存在更大的發(fā)展前景。