国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Hyperledger Fabric 的食品溯源系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2021-04-02 03:44:14段冉陽(yáng)周文輝
電子技術(shù)應(yīng)用 2021年3期
關(guān)鍵詞:參與方牛奶區(qū)塊

段冉陽(yáng),周文輝,魏 驍,王 龍

(華北計(jì)算機(jī)系統(tǒng)工程研究所,北京100083)

0 引言

食品安全溯源體系是指在食品產(chǎn)供銷的各個(gè)環(huán)節(jié)(包括種植養(yǎng)殖、生產(chǎn)、流通以及銷售與餐飲服務(wù)等)中,食品質(zhì)量安全及其相關(guān)信息能夠被順向追蹤(生產(chǎn)源頭-消費(fèi)終端)或者逆向回溯(消費(fèi)終端-生產(chǎn)源頭),從而使食品的整個(gè)生產(chǎn)經(jīng)營(yíng)活動(dòng)始終處于有效監(jiān)控之中[1]。 但目前使用的食品溯源技術(shù)方案仍然以傳統(tǒng)記錄方式為主,存在以下幾方面的問(wèn)題:

(1)數(shù)據(jù)共享仍然缺乏[2]。 目前食品安全溯源主要依托于物流網(wǎng)絡(luò)等進(jìn)行實(shí)現(xiàn),但物流信息僅僅是整個(gè)供應(yīng)鏈上的部分信息,供應(yīng)鏈中如食品生產(chǎn)信息、包裝信息等無(wú)法進(jìn)行記錄和追溯,而這些信息的完整性與真實(shí)性對(duì)于增加產(chǎn)品的可信度有著極大的幫助。更多的信息錄入可以讓消費(fèi)者能夠更完整、更直觀地了解到產(chǎn)品從產(chǎn)生到消費(fèi)的全部流程,讓更多的參與方加入進(jìn)來(lái),在提高產(chǎn)品溯源信息完整性的同時(shí),加入更多的背書主體,提高產(chǎn)品溯源信息的真實(shí)性與可靠性。

(2)信息存儲(chǔ)中心化[3]。 在目前主流的產(chǎn)品溯源供應(yīng)鏈中,主要采用中心化的信息存儲(chǔ)模式,需要參與產(chǎn)品供應(yīng)鏈上的某一方進(jìn)行管理和維護(hù)。 但是,不論是生產(chǎn)方、運(yùn)輸方還是銷售方,均為產(chǎn)品供應(yīng)鏈上的利益相關(guān)方,當(dāng)有不利于其自身的信息產(chǎn)生時(shí),很有可能出現(xiàn)篡改賬本或者謊稱賬本信息由于技術(shù)原因而丟失的情況出現(xiàn),很難保證產(chǎn)品溯源信息的真實(shí)性和有效性。

(3)信息存儲(chǔ)孤島化[4]。 目前主流的系統(tǒng)在整個(gè)商品供應(yīng)鏈中,存在信息孤島問(wèn)題。通常情況下,參與產(chǎn)品供應(yīng)鏈的各方具有多個(gè)不同的信息系統(tǒng),各個(gè)信息系統(tǒng)之間很難進(jìn)行交互,這會(huì)導(dǎo)致信息同步困難、信息核對(duì)繁瑣、數(shù)據(jù)交互不均衡等問(wèn)題,為日后的使用埋下諸多隱患。 尤其是隨著使用時(shí)間增長(zhǎng),產(chǎn)品溯源系統(tǒng)產(chǎn)生的數(shù)據(jù)量增多,對(duì)多個(gè)系統(tǒng)的重復(fù)審計(jì)成本也將大大增加。

區(qū)塊鏈技術(shù)被認(rèn)為是近年來(lái)最具顛覆性和革命性的創(chuàng)新之一[5],已在金融、貿(mào)易[6]、物流[7]、征信[8]、公益、物聯(lián)網(wǎng)、共享經(jīng)濟(jì)等諸多領(lǐng)域嶄露頭角[9],其本質(zhì)上是提供信任保障的技術(shù),具有去中心、自動(dòng)化和可信任的理念與特性,能提供較為有效的數(shù)據(jù)保護(hù)[10],十分契合人們對(duì)新型食品安全溯源系統(tǒng)的需求。 因此,為了解決上述傳統(tǒng)食品溯源系統(tǒng)中存在的問(wèn)題,本文提出一種基于區(qū)塊鏈技術(shù)的食品溯源系統(tǒng)設(shè)計(jì)方案。

1 典型區(qū)塊鏈技術(shù)比較與選型

1.1 區(qū)塊鏈選型

區(qū)塊鏈技術(shù)發(fā)展到現(xiàn)在,形成了多樣的區(qū)塊鏈體系,其中最具代表性的區(qū)塊鏈體系有3 個(gè):比特幣系統(tǒng)中使用的比特幣(Bitcoin) 區(qū)塊鏈系統(tǒng)[11]、 以太坊(Ethereum)區(qū)塊鏈[12]和在2015 年由Linux 基金會(huì)發(fā)起的超級(jí)賬本(Hyperledger Fabric)開源區(qū)塊鏈項(xiàng)目[13]。 下面將從區(qū)塊鏈性質(zhì)、共識(shí)算法及運(yùn)行模式、智能合約和貨幣類型,綜合食品安全溯源的實(shí)際使用需求,對(duì)上述3 種區(qū)塊鏈系統(tǒng)進(jìn)行比較。 3 種區(qū)塊鏈特點(diǎn)如表1 所示。

表1 3 種典型區(qū)塊鏈特點(diǎn)對(duì)比表

現(xiàn)今食品溯源系統(tǒng)中,數(shù)據(jù)種類十分復(fù)雜且數(shù)量龐大[14],同時(shí)根據(jù)不同的食品,相關(guān)溯源信息需要不斷變更,這要求使用的區(qū)塊鏈系統(tǒng)具備較靈活的數(shù)據(jù)存儲(chǔ)系統(tǒng)和智能合約系統(tǒng),通過(guò)對(duì)不同種類食品的智能合約的編寫,達(dá)到對(duì)食品數(shù)據(jù)的精確統(tǒng)計(jì);同時(shí),參與食品溯源系統(tǒng)中的各個(gè)參與方本身均為傳統(tǒng)供應(yīng)鏈上的合作方,在現(xiàn)實(shí)中存在一定的信任關(guān)系,有著一定程度的信任積累,且供應(yīng)鏈上各個(gè)供應(yīng)方相對(duì)固定,無(wú)需面對(duì)整個(gè)公共網(wǎng)絡(luò),存在惡意節(jié)點(diǎn)的可能性比較??;另外,由于供應(yīng)鏈上參與方較多,各參與方需要寫入和維護(hù)的數(shù)據(jù)比較復(fù)雜,因此需要更快的區(qū)塊產(chǎn)生速度和更高效的區(qū)塊鏈網(wǎng)絡(luò)。

針對(duì)以上食品溯源系統(tǒng)的使用特點(diǎn),綜合3 種區(qū)塊鏈技術(shù)的特點(diǎn)進(jìn)行分析,Hyperledger Fabric 區(qū)塊鏈網(wǎng)絡(luò)的特點(diǎn)和優(yōu)勢(shì)十分契合食品安全溯源體系的實(shí)際情況和使用需求。 因此,本文采用Hyperledger Fabric 區(qū)塊鏈系統(tǒng)作為底層架構(gòu),對(duì)基于區(qū)塊鏈的食品安全溯源系統(tǒng)進(jìn)行設(shè)計(jì)與實(shí)現(xiàn)。

1.2 食品溯源樣例選型原因

在區(qū)塊鏈與溯源系統(tǒng)相結(jié)合的研究中,相關(guān)從業(yè)人員也進(jìn)行了許多積極的嘗試,但大都集中在貴重物品溯源與單一物品溯源中,首先信息量相對(duì)較小,同時(shí)需要管理的產(chǎn)品數(shù)量并不大,因此所有溯源信息往往在一個(gè)賬本中進(jìn)行維護(hù)。 本文旨在利用Hyperledger Fabric 的多賬本、模塊化等特性,對(duì)日常食品的溯源系統(tǒng)進(jìn)行構(gòu)建,在一定程度上增加整個(gè)溯源系統(tǒng)的靈活性,提高整體溯源系統(tǒng)的效率和數(shù)據(jù)吞吐能力。

食品溯源系統(tǒng)的主要溯源對(duì)象為消費(fèi)者經(jīng)常購(gòu)買的食品,選擇的溯源食品種類應(yīng)當(dāng)對(duì)食品原材料來(lái)源、加工生產(chǎn)過(guò)程、運(yùn)輸條件等有較高要求。 牛奶作為日常飲食的一種,深受各類人群,尤其是老年人和青少年兒童的喜愛。 但是由于目前生產(chǎn)鮮牛奶的廠商眾多,目前市場(chǎng)流通的鮮牛奶品質(zhì)良莠不齊,同時(shí)鮮牛奶容易變質(zhì),需要相對(duì)嚴(yán)格的存儲(chǔ)和運(yùn)輸環(huán)境,當(dāng)產(chǎn)生產(chǎn)品質(zhì)量問(wèn)題時(shí),傳統(tǒng)記錄手段很難對(duì)相關(guān)責(zé)任人進(jìn)行定位。 因此,消費(fèi)者們對(duì)鮮牛奶的食品溯源有著極大的需求,下面就以某品牌鮮牛奶為例,構(gòu)建基于Hyperledger Fabric區(qū)塊鏈的食品溯源系統(tǒng)。

2 基于Hyperledger Fabric 的食品安全溯源系統(tǒng)設(shè)計(jì)

2.1 整體模型

基于上文的分析,利用Hyperledger Fabric 聯(lián)盟區(qū)塊鏈技術(shù)構(gòu)建基于區(qū)塊鏈的食品安全溯源系統(tǒng),系統(tǒng)的整體模型如圖1 所示。

在圖1 中,列舉了直接參與牛奶食品供應(yīng)鏈的食品生產(chǎn)方、運(yùn)輸方、加工方以及銷售方,同時(shí)引入消費(fèi)者和監(jiān)管方進(jìn)行實(shí)時(shí)的查詢和監(jiān)管等操作。 每個(gè)參與方在實(shí)際的區(qū)塊鏈網(wǎng)路體系中為一個(gè)組織(Org),每個(gè)組織中可以根據(jù)實(shí)際信息錄入情況設(shè)置節(jié)點(diǎn)(Peer),每個(gè)組織中至少包含一個(gè)節(jié)點(diǎn)。各個(gè)節(jié)點(diǎn)負(fù)責(zé)對(duì)各自的相關(guān)信息,如原料采集信息、分裝加工信息、物流信息以及銷售信息等進(jìn)行錄入,錄入的信息經(jīng)智能合約判斷合法后,通過(guò)區(qū)塊鏈節(jié)點(diǎn)上鏈,各個(gè)區(qū)塊鏈節(jié)點(diǎn)同步交易信息,進(jìn)行區(qū)塊生成,形成共識(shí)的區(qū)塊鏈數(shù)據(jù)。消費(fèi)者和相關(guān)監(jiān)管部門利用區(qū)塊鏈節(jié)點(diǎn)進(jìn)行相關(guān)信息的管理、查詢等操作,使整個(gè)食品供應(yīng)鏈上的食品安全數(shù)據(jù)全過(guò)程真實(shí)、透明、不可篡改,達(dá)到食品安全信息可追溯、可查詢、可信任的目的。

根據(jù)參與方分工的不同,各個(gè)參與方對(duì)應(yīng)節(jié)點(diǎn)也具備不同的功能,并對(duì)牛奶溯源過(guò)程中的相關(guān)數(shù)據(jù)進(jìn)行寫入和維護(hù)。下面對(duì)各個(gè)參與方對(duì)應(yīng)的組織和節(jié)點(diǎn)進(jìn)行設(shè)置,同時(shí)定義各個(gè)組織需要寫入和維護(hù)的數(shù)據(jù)信息。 各個(gè)參與方對(duì)應(yīng)的組織和節(jié)點(diǎn)如表2 所示。

2.2 軟件架構(gòu)

圖1 基于Hyperledger Fabric 區(qū)塊鏈的食品安全溯源系統(tǒng)整體模型

表2 各參與方與組織對(duì)應(yīng)關(guān)系表

根據(jù)上文所述的基于區(qū)塊鏈的食品安全溯源系統(tǒng)整體模型,進(jìn)行該系統(tǒng)軟件架構(gòu)設(shè)計(jì)。 軟件架構(gòu)整體分為三大部分[15],分別為基礎(chǔ)層、數(shù)據(jù)層和應(yīng)用層?;A(chǔ)層為Fabric 區(qū)塊鏈基礎(chǔ)框架;數(shù)據(jù)層主要包括分布式數(shù)據(jù)存儲(chǔ)、共識(shí)機(jī)制、智能合約、鏈碼以及相關(guān)交易數(shù)據(jù),同時(shí)提供權(quán)限管理等功能;應(yīng)用層主要利用Fabric 區(qū)塊鏈網(wǎng)絡(luò)提供的各種語(yǔ)言版本的SDK 進(jìn)行功能的編寫和調(diào)用,包括溯源信息錄入、溯源信息查詢、溯源信息監(jiān)管等操作。 食品溯源系統(tǒng)軟件架構(gòu)圖如圖2 所示。

圖2 食品溯源系統(tǒng)軟件架構(gòu)圖

2.3 交互操作

基于上文所述的食品安全溯源系統(tǒng)的整體模型和軟件架構(gòu),利用Hyperledger Fabric 區(qū)塊鏈技術(shù)的特點(diǎn),可以實(shí)現(xiàn)相關(guān)食品安全信息的基本操作,包括信息錄入、信息更新、信息監(jiān)管以及信息查詢等功能,各參與方根據(jù)實(shí)際需求,通過(guò)相關(guān)的管理應(yīng)用與相應(yīng)區(qū)塊鏈系統(tǒng)進(jìn)行交互,完成整體食品安全溯源系統(tǒng)的功能實(shí)現(xiàn),食品溯源系統(tǒng)基本交互操作示意圖如圖3 所示。

圖3 食品溯源系統(tǒng)基本交互操作示意圖

同時(shí),利用Hyperledger Fabric 區(qū)塊鏈體系對(duì)智能合約的支持,可以根據(jù)實(shí)際的使用情況,對(duì)具體的應(yīng)用場(chǎng)景進(jìn)行專用的智能合約編寫,相關(guān)參與方進(jìn)行協(xié)商確定觸發(fā)條件,利用智能合約自動(dòng)執(zhí)行的特點(diǎn),自動(dòng)化地執(zhí)行相關(guān)信息的上聯(lián)操作,簡(jiǎn)化工作步驟和工作流程,在提高整體工作效率的同時(shí),降低人為參與的風(fēng)險(xiǎn),提高數(shù)據(jù)的有效性。智能合約工作原理示意圖如圖4 所示。

圖4 智能合約工作原理示意圖

3 基于Hyperledger Fabric 的食品溯源系統(tǒng)設(shè)計(jì)

3.1 Hyperledger Fabric 基本組成及技術(shù)原理

Hyperledger Fabric 由五大核心模塊組成,分別為peer、orderer、cryptogen、configtxgen 以及configtxlator。 其中,peer和orderer 屬于系統(tǒng)模塊,主要構(gòu)成Hyperledger Fabric 的基礎(chǔ)系統(tǒng),直接參與系統(tǒng)的運(yùn)行,并以守護(hù)進(jìn)程的方式在 后 臺(tái) 長(zhǎng) 期 運(yùn) 行;cryptogen、configtxgen 和configtxlator 屬于工具模塊,主要負(fù)責(zé)區(qū)塊鏈系統(tǒng)中的包括證書文件、創(chuàng)世區(qū)塊等相關(guān)文件的生成以及完成相關(guān)區(qū)塊鏈操作等工作,不直接參與系統(tǒng)運(yùn)行。Hyperledger Fabric 五大核心模塊的基本功能如表3 所示。

利用上述五大核心模塊,可以構(gòu)建Hyperledger Fabric聯(lián)盟區(qū)塊鏈的基礎(chǔ)區(qū)塊鏈網(wǎng)絡(luò),該網(wǎng)絡(luò)由Fabric-CA、peer 節(jié)點(diǎn)和orderer 節(jié)點(diǎn)3 個(gè)基本組成部分構(gòu)成,各個(gè)peer 節(jié)點(diǎn)可以根據(jù)功能不同細(xì)分為不同種類,并組成組織(Org)。

表3 Hyperledger Fabric 核心模塊基本功能表

peer 節(jié)點(diǎn)與orderer 節(jié)點(diǎn)構(gòu)成了基本的區(qū)塊鏈網(wǎng)絡(luò)之后,下一步需要對(duì)相關(guān)交易數(shù)據(jù)進(jìn)行處理和上鏈,對(duì)已完成的交易和上鏈數(shù)據(jù)進(jìn)行存儲(chǔ),并保證每個(gè)peer 節(jié)點(diǎn)的數(shù)據(jù)存儲(chǔ)是一致的,這一過(guò)程成為共識(shí)達(dá)成。 Hyper-Ledger Fabric 區(qū)塊鏈系統(tǒng)中的共識(shí)達(dá)成基本過(guò)程如圖5所示。

Hyperledger Fabric 區(qū)塊鏈系統(tǒng)共識(shí)達(dá)成過(guò)程分為以下4 個(gè)基本步驟:

(1)由區(qū)塊鏈中的一個(gè)節(jié)點(diǎn)peer0(領(lǐng)導(dǎo)節(jié)點(diǎn))發(fā)起交易,交易中含有相關(guān)交易內(nèi)容以及peer0 的數(shù)字簽名,交易信息會(huì)根據(jù)該交易定義的相關(guān)節(jié)點(diǎn)(這里假設(shè)相關(guān)節(jié)點(diǎn)為peer1、peer2 以及peer3)信息進(jìn)行廣播;

(2)相關(guān)背書節(jié)點(diǎn)peer1、peer2 以及peer3 對(duì)交易的內(nèi)容以及peer0 的簽名進(jìn)行驗(yàn)證,保證該交易的有效性和合法性;

(3)peer0 等待交易的背書結(jié)果,當(dāng)結(jié)果滿足交易要求時(shí),peer0 向orderer 節(jié)點(diǎn)集群提交該筆交易, 排序節(jié)點(diǎn)根據(jù)相關(guān)排序算法對(duì)交易進(jìn)行排序;

(4)一段時(shí)間后,orderer 節(jié)點(diǎn)集群將這段時(shí)間內(nèi)的所有交易排序打包,形成交易區(qū)塊并進(jìn)行廣播,所有提交節(jié)點(diǎn)接收交易區(qū)塊并生成賬本信息, 實(shí)現(xiàn)交易數(shù)據(jù)的上鏈操作。

圖5 Hyperledger Fabric 區(qū)塊鏈系統(tǒng)共識(shí)達(dá)成過(guò)程

3.2 食品溯源系統(tǒng)設(shè)計(jì)

對(duì)基于Hyperledger Fabric 的食品溯源系統(tǒng)的設(shè)計(jì)共分為三部分, 分別為網(wǎng)絡(luò)模塊設(shè)計(jì)、 智能合約模塊設(shè)計(jì)以及接口模塊設(shè)計(jì)。

網(wǎng)絡(luò)模塊設(shè)計(jì)主要建立牛奶溯源系統(tǒng)的區(qū)塊鏈內(nèi)部邏輯,牛奶溯源系統(tǒng)的區(qū)塊鏈內(nèi)部邏輯結(jié)構(gòu)如圖6 所示。

參與到整個(gè)牛奶溯源系統(tǒng)中的參與方分別為生產(chǎn)方、加工方、運(yùn)輸方以及銷售方,每個(gè)參與方用一個(gè)組織進(jìn)行代表, 每個(gè)組織中設(shè)置一個(gè)節(jié)點(diǎn)模擬實(shí)際工作情況,對(duì)牛奶溯源相關(guān)數(shù)據(jù)進(jìn)行維護(hù)和修改等操作。 各參與方與區(qū)塊鏈組織對(duì)應(yīng)關(guān)系如表2 所示。

圖6 牛奶溯源系統(tǒng)的區(qū)塊鏈內(nèi)部邏輯結(jié)構(gòu)圖

智能合約模塊設(shè)計(jì)主要包括各參與方的鏈碼名稱命名命及工作內(nèi)容確定。首先根據(jù)牛奶溯源系統(tǒng)中的實(shí)際環(huán)境和工作內(nèi)容,設(shè)置溯源系統(tǒng)中的各個(gè)參與方需要維護(hù)的牛奶信息種類,確定智能合約的名稱,具體對(duì)應(yīng)關(guān)系如表4 所示。

表4 各參與方維護(hù)信息對(duì)應(yīng)表

在本系統(tǒng)中,共需要記錄牛奶的7 項(xiàng)信息。 確定了智能合約的名稱和對(duì)應(yīng)功能,對(duì)智能合約實(shí)現(xiàn)功能進(jìn)行設(shè)計(jì),主要設(shè)計(jì)以下幾個(gè)功能:

(1)queryMilk():該功能實(shí)現(xiàn)對(duì)牛奶溯源信息的查詢,需要傳入1 個(gè)參數(shù),參數(shù)為牛奶編號(hào)(如Milk1),查詢結(jié)果返回Milk1 對(duì)應(yīng)的相關(guān)信息;

(2)createMilk():該功能需要傳入共8 個(gè)參數(shù),第一個(gè)參數(shù)為需要?jiǎng)?chuàng)建的牛奶編號(hào),其余7 各參數(shù)分別對(duì)應(yīng)牛奶溯源系統(tǒng)中的7 項(xiàng)數(shù)據(jù);

(3)changedata():該功能實(shí)現(xiàn)對(duì)指定牛奶相關(guān)信息的修改,需要傳入3 個(gè)參數(shù),第1 個(gè)參數(shù)指定需要修改的牛奶編號(hào),第2 個(gè)參數(shù)指定需要修改的信息標(biāo)簽,第3個(gè)參數(shù)為具體修改的值;

(4)getMilkHistory():該功能實(shí)現(xiàn)對(duì)指定牛奶的所有歷史信息進(jìn)行查詢,包括信息錄入或修改的記錄,實(shí)現(xiàn)對(duì)該牛奶的溯源需求,需要傳入1 個(gè)參數(shù),指定想要查詢的牛奶編號(hào)。

接口模塊設(shè)計(jì)主要通過(guò)Fabric-Nodejs-SDK 進(jìn)行實(shí)現(xiàn),主要分為兩個(gè)部分,分別為query.js 腳本與invoke.js腳本。 query.js 腳本主要調(diào)用queryMilk()和getMilkHistory()兩種功能;invoke.js 腳本主要調(diào)用createMilk()和changedata()兩種功能。

4 食品溯源系統(tǒng)實(shí)現(xiàn)及測(cè)試

4.1 食品溯源系統(tǒng)實(shí)現(xiàn)

Hyperledger Fabric 的牛奶溯源系統(tǒng)搭建的硬件環(huán)境采用Ubuntu 虛擬機(jī)完成,利用Docker 容器模擬多機(jī)環(huán)境進(jìn)行封裝,具體性能如表5 所示。

表5 系統(tǒng)搭建硬件環(huán)境

系統(tǒng)搭建的軟件環(huán)境如表6 所示。

環(huán)境搭建完成后,利用Hyperledger Fabric 提供的5 個(gè)核心模塊對(duì)牛奶溯源系統(tǒng)進(jìn)行實(shí)際搭建。

4.2 原型系統(tǒng)測(cè)試

基于Hyperledger Fabric 的牛奶溯源系統(tǒng)搭建完成后,以Milk1 為例,對(duì)相關(guān)功能進(jìn)行測(cè)試。

表6 系統(tǒng)搭建軟件環(huán)境

(1)createMilk():創(chuàng)建Milk1,并對(duì)Milk1 中的所有溯源信息置空;

(2)queryMilk():對(duì)Milk1 進(jìn)行查詢,結(jié)果如圖7 所示,可以看出Milk1 已經(jīng)被創(chuàng)建,且所有溯源信息均為空;

圖7 Milk1 查詢結(jié)果(未錄入)

(3)changedata():對(duì)Milk1 中的相關(guān)數(shù)據(jù)進(jìn)行寫入,并再次進(jìn)行queryMilk()操作,結(jié)果如圖8 所示,可以看出Milk1 的相關(guān)信息已經(jīng)改變,溯源信息不再為空;

圖8 Milk1 查詢結(jié)果(已錄入)

(4)getMilkHistory():對(duì)Milk1 的歷史信息進(jìn)行查詢,部分結(jié)果如圖9 所示。

圖9 Milk1 歷史記錄查詢結(jié)果(部分)

完成基本功能測(cè)試后,對(duì)本文設(shè)計(jì)的牛奶溯源系統(tǒng)進(jìn)行性能測(cè)試,利用多次讀寫的方式對(duì)牛奶溯源系統(tǒng)進(jìn)行測(cè)試。

編寫腳本對(duì)本系統(tǒng)進(jìn)行重復(fù)寫入操作,寫入次數(shù)500 次,實(shí)測(cè)區(qū)塊生成平均時(shí)長(zhǎng)均小于3 s;編寫腳本對(duì)牛奶溯源信息進(jìn)行重復(fù)讀取操作,讀取次數(shù)500 次,未發(fā)生錯(cuò)誤,具備一定的可用性。

5 結(jié)論

本文研究了一種基于Hyperledger Fabric 區(qū)塊鏈的食品溯源系統(tǒng),分析了目前的食品溯源系統(tǒng)存在的問(wèn)題;同時(shí),對(duì)現(xiàn)今主流的區(qū)塊鏈系統(tǒng)進(jìn)行篩選,選定Hyperledger Fabric 聯(lián)盟區(qū)塊鏈平臺(tái)構(gòu)建食品溯源系統(tǒng)并進(jìn)行實(shí)際搭建;搭建完成后對(duì)食品溯源系統(tǒng)中的相關(guān)功能進(jìn)行了模擬測(cè)試,并對(duì)整個(gè)系統(tǒng)進(jìn)行了簡(jiǎn)單的性能測(cè)試。

跟據(jù)測(cè)得的結(jié)果,本文提出的基于Hyperledger Fabric區(qū)塊鏈的食品溯源系統(tǒng)基本滿足當(dāng)前消費(fèi)者對(duì)食品溯源系統(tǒng)的需求,解決了傳統(tǒng)食品溯源系統(tǒng)中存在的數(shù)據(jù)量缺乏、存儲(chǔ)信息中心化等問(wèn)題,保證了食品溯源數(shù)據(jù)的完整性、有效性與不可篡改性。

猜你喜歡
參與方牛奶區(qū)塊
基于秘密分享的高效隱私保護(hù)四方機(jī)器學(xué)習(xí)方案
送牛奶
炫彩牛奶畫
樹上也能擠出“牛奶”嗎?
區(qū)塊鏈:一個(gè)改變未來(lái)的幽靈
科學(xué)(2020年5期)2020-11-26 08:19:12
區(qū)塊鏈:主要角色和衍生應(yīng)用
科學(xué)(2020年6期)2020-02-06 08:59:56
區(qū)塊鏈+媒體業(yè)的N種可能
讀懂區(qū)塊鏈
綠色農(nóng)房建設(shè)伙伴關(guān)系模式初探
神奇的牛奶樹
旬邑县| 嘉荫县| 南溪县| 隆德县| 波密县| 泰和县| 广南县| 南城县| 玉田县| 乌苏市| 大安市| 新兴县| 阜城县| 吴江市| 娄底市| 陇川县| 固原市| 林周县| 仲巴县| 龙胜| 玛纳斯县| 邢台县| 苏尼特右旗| 洪雅县| 丁青县| 樟树市| 上饶县| 灌云县| 疏附县| 孟州市| 天峻县| 宁德市| 永德县| 砀山县| 阿克| 岱山县| 简阳市| 外汇| 呼图壁县| 临猗县| 乌拉特中旗|