亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于區(qū)塊鏈的農(nóng)產(chǎn)品溯源系統(tǒng)研究

        2021-05-14 03:57:34吳曉彤柳平增王志鏵
        關(guān)鍵詞:智能產(chǎn)品信息

        吳曉彤 柳平增 王志鏵

        (山東農(nóng)業(yè)大學(xué)信息科學(xué)與工程學(xué)院 山東 泰安 271018)

        0 引 言

        農(nóng)產(chǎn)品溯源系統(tǒng)作為一種對(duì)農(nóng)產(chǎn)品質(zhì)量進(jìn)行監(jiān)督與控制的有效方法,已成為國(guó)內(nèi)外農(nóng)產(chǎn)品質(zhì)量安全監(jiān)管的有效手段[1]。但由于傳統(tǒng)農(nóng)產(chǎn)品溯源系統(tǒng)依賴于中心數(shù)據(jù)庫存儲(chǔ)和管理數(shù)據(jù),系統(tǒng)中心化嚴(yán)重,導(dǎo)致信息在記錄過程中易被篡改、數(shù)據(jù)不公開透明、信息易丟失等問題,系統(tǒng)在數(shù)據(jù)存儲(chǔ)安全方面面臨著眾多挑戰(zhàn)。

        區(qū)塊鏈?zhǔn)且环N分布式賬本技術(shù),具有去中心化、公開透明、分布式存儲(chǔ)、不可篡改、安全可靠等技術(shù)特點(diǎn),被認(rèn)為是一種與生俱來的信任機(jī)器,可用于解決傳統(tǒng)溯源系統(tǒng)產(chǎn)生的中心化、信任危機(jī)等問題,提高溯源的可靠性與安全性[2-4]。

        本文在總結(jié)和分析傳統(tǒng)農(nóng)產(chǎn)品溯源系統(tǒng)問題的基礎(chǔ)上,構(gòu)建基于區(qū)塊鏈的農(nóng)產(chǎn)品溯源模型和溯源系統(tǒng)架構(gòu),利用區(qū)塊鏈的分布式存儲(chǔ)、智能合約等技術(shù)實(shí)現(xiàn)了去中心化的農(nóng)產(chǎn)品溯源模式,將農(nóng)產(chǎn)品溯源信息分布式的存儲(chǔ)在鏈上的每一個(gè)節(jié)點(diǎn)中,并通過HyperledgerFabric框架實(shí)現(xiàn)了基于區(qū)塊鏈的農(nóng)產(chǎn)品溯源系統(tǒng)。該系統(tǒng)提高了農(nóng)產(chǎn)品溯源信息的透明度與安全性。

        1 傳統(tǒng)農(nóng)產(chǎn)品溯源系統(tǒng)問題分析

        國(guó)內(nèi)外許多學(xué)者在物聯(lián)網(wǎng)、網(wǎng)絡(luò)信息、數(shù)據(jù)庫等技術(shù)方面,對(duì)農(nóng)產(chǎn)品溯源系統(tǒng)進(jìn)行創(chuàng)新性的研究并取得顯著成效[5-17]。傳統(tǒng)農(nóng)產(chǎn)品溯源以種植、倉儲(chǔ)、加工及物流等流程為主線,記錄和管理從種植到銷售所有環(huán)節(jié)的產(chǎn)品信息,溯源模型如圖1所示。

        圖1 傳統(tǒng)農(nóng)產(chǎn)品溯源系統(tǒng)模型

        可以看出:傳統(tǒng)的農(nóng)產(chǎn)品溯源系統(tǒng)一般以中心數(shù)據(jù)庫為基礎(chǔ),采取分段、分環(huán)節(jié)的溯源模式;在農(nóng)產(chǎn)品流通過程中,國(guó)內(nèi)多部門實(shí)行切塊分段共管的運(yùn)行機(jī)制,分段監(jiān)管步調(diào)不一;部分系統(tǒng)基礎(chǔ)建設(shè)缺乏標(biāo)準(zhǔn)化,信息不規(guī)范、系統(tǒng)不兼容;對(duì)于監(jiān)管部門和消費(fèi)者來說,所有信息需要從中心數(shù)據(jù)庫中獲取[18-23]。傳統(tǒng)溯源系統(tǒng)依賴于中心數(shù)據(jù)庫會(huì)導(dǎo)致以下問題:

        (1) 系統(tǒng)中心化嚴(yán)重,信息真實(shí)性無法驗(yàn)證。傳統(tǒng)溯源系統(tǒng)大多采用中心數(shù)據(jù)庫實(shí)現(xiàn)信息存儲(chǔ),信息存在人為篡改的可能,使得消費(fèi)者對(duì)于溯源信息的真實(shí)性有較大的質(zhì)疑。

        (2) 農(nóng)產(chǎn)品信息不公開透明,導(dǎo)致交易雙方出現(xiàn)信任問題。不同環(huán)節(jié)的用戶作為不同的角色參與溯源過程,角色間缺乏信息反饋,信息不公開透明,導(dǎo)致各角色掌握的信息不對(duì)稱,交易雙方缺乏信任,容易產(chǎn)生信任危機(jī)問題。

        (3) 農(nóng)產(chǎn)品責(zé)任主體難確定。由于傳統(tǒng)溯源系統(tǒng)各環(huán)節(jié)分散、碎片化嚴(yán)重,一旦產(chǎn)品出現(xiàn)質(zhì)量問題,需從每個(gè)環(huán)節(jié)逐步進(jìn)行溯源,過程較為繁瑣,無法快速準(zhǔn)確定位責(zé)任主體。

        2 區(qū)塊鏈技術(shù)

        2.1 區(qū)塊鏈概述

        區(qū)塊鏈?zhǔn)且环N分布式賬本技術(shù),是一串利用加密算法相關(guān)聯(lián)而產(chǎn)生的鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),通過去中心化和去信任的方式集體維護(hù)一個(gè)可靠數(shù)據(jù)庫,具有去中心化、共識(shí)機(jī)制、開放透明、匿名性四個(gè)特點(diǎn)[24-26],區(qū)塊鏈連接示意圖如圖2所示。

        圖2 區(qū)塊鏈接示意圖

        區(qū)塊鏈?zhǔn)且环N大家共同參與信息的記錄和存儲(chǔ)的技術(shù)。在之前,人們通過中心化的機(jī)構(gòu)進(jìn)行信息記錄和存儲(chǔ)的工作,區(qū)塊鏈技術(shù)的出現(xiàn)則允許系統(tǒng)中的每個(gè)節(jié)點(diǎn)都能夠參與信息的記錄和存儲(chǔ),即使系統(tǒng)中的部分參與節(jié)點(diǎn)失效或作假也不能改變區(qū)塊鏈的完整性,更不能篡改區(qū)塊鏈中的信息[27]。目前區(qū)塊鏈作為一種去中心化的核心技術(shù),被廣泛應(yīng)用于金融、政務(wù)、物聯(lián)網(wǎng)等領(lǐng)域。

        2.2 關(guān)鍵應(yīng)用技術(shù)

        2.2.1分布式存儲(chǔ)

        區(qū)塊鏈分布式存儲(chǔ)是一種數(shù)據(jù)存儲(chǔ)的技術(shù),它將網(wǎng)絡(luò)上每臺(tái)機(jī)器的磁盤空間作為分散的存儲(chǔ)資源形成虛擬的存儲(chǔ)設(shè)備,數(shù)據(jù)被分散存儲(chǔ)在鏈的每一個(gè)節(jié)點(diǎn)中,并完整地保存下來。

        區(qū)塊鏈的分布式存儲(chǔ)過程如圖3所示,可以分為以下六個(gè)步驟:(1) 創(chuàng)建數(shù)據(jù)分片;(2) 加密每個(gè)分片;(3) 為每個(gè)分片生成哈希;(4) 復(fù)制每個(gè)分片;(5) 分發(fā)復(fù)制的分片;(6) 記錄事務(wù)到分類帳。

        圖3 區(qū)塊鏈分布式存儲(chǔ)過程

        區(qū)塊鏈的分布式存儲(chǔ)打破了傳統(tǒng)溯源系統(tǒng)數(shù)據(jù)存儲(chǔ)中心化的局面,使信息分布式存儲(chǔ)在多個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)都保持完整的信息副本,鏈上信息對(duì)所有參與成員都是透明且可驗(yàn)證的,同時(shí)增強(qiáng)了產(chǎn)業(yè)鏈各環(huán)節(jié)的信息互通性,其去中心化、透明性、可恢復(fù)性和防篡改性的特點(diǎn)也使得其與農(nóng)產(chǎn)品溯源領(lǐng)域極為契合。

        2.2.2智能合約

        智能合約又稱為智能合同,是事件驅(qū)動(dòng)的、有狀態(tài)的、多方識(shí)別的、運(yùn)行在區(qū)塊鏈上的、能夠根據(jù)預(yù)設(shè)條件自動(dòng)處理資產(chǎn)的合約。智能合約的最大優(yōu)點(diǎn)是使用程序算法來代替仲裁和合同的執(zhí)行[28]。

        如果說區(qū)塊鏈?zhǔn)且粋€(gè)數(shù)據(jù)庫,那么智能合約就是將區(qū)塊鏈技術(shù)應(yīng)用于現(xiàn)實(shí)的應(yīng)用層。智能合約是在區(qū)塊鏈數(shù)據(jù)庫上運(yùn)行的一種計(jì)算機(jī)程序,能在滿足源代碼編寫條件的情況下自動(dòng)執(zhí)行。智能合約為傳統(tǒng)農(nóng)產(chǎn)品溯源系統(tǒng)標(biāo)準(zhǔn)不同、流通性不強(qiáng)的問題帶來了解決辦法,實(shí)現(xiàn)了信息的連續(xù)實(shí)時(shí)傳遞和跟蹤,且進(jìn)一步增強(qiáng)了系統(tǒng)的去中心化。目前,智能合約在選舉、供應(yīng)鏈優(yōu)化、電子商務(wù)等場(chǎng)景中都得到了有效應(yīng)用。

        3 系統(tǒng)方案設(shè)計(jì)

        3.1 區(qū)塊鏈應(yīng)用設(shè)計(jì)

        農(nóng)產(chǎn)品溯源涉及種植、倉儲(chǔ)、加工、物流、銷售、查詢等多個(gè)環(huán)節(jié),各環(huán)節(jié)之間的高效協(xié)作能夠保障農(nóng)產(chǎn)品信息的有效溯源。本文根據(jù)農(nóng)產(chǎn)品溯源的實(shí)際需求對(duì)區(qū)塊鏈技術(shù)在產(chǎn)業(yè)鏈各環(huán)節(jié)的應(yīng)用進(jìn)行了設(shè)計(jì),使區(qū)塊鏈中的智能合約和分布式存儲(chǔ)技術(shù)能夠確保產(chǎn)品信息流的正常傳遞,保證了產(chǎn)品的流通、溯源和信息的分布式存儲(chǔ)。

        (1) 種植(生產(chǎn))環(huán)節(jié)。主要節(jié)點(diǎn)為農(nóng)場(chǎng)或企業(yè)。節(jié)點(diǎn)需要將生產(chǎn)資料和產(chǎn)品信息錄入并上傳到區(qū)塊鏈中,創(chuàng)建初始區(qū)塊。在此過程中系統(tǒng)調(diào)用智能合約實(shí)現(xiàn)對(duì)節(jié)點(diǎn)的認(rèn)證和信息上鏈,并通過數(shù)據(jù)分片的方式實(shí)現(xiàn)信息的分布式存儲(chǔ)。當(dāng)產(chǎn)品隨著產(chǎn)業(yè)鏈流動(dòng)進(jìn)入下一環(huán)節(jié)即倉儲(chǔ)環(huán)節(jié)時(shí),當(dāng)前節(jié)點(diǎn)會(huì)向下一個(gè)節(jié)點(diǎn)發(fā)送交易請(qǐng)求,雙方利用密鑰對(duì)區(qū)塊進(jìn)行驗(yàn)證,并根據(jù)內(nèi)嵌在區(qū)塊鏈中的智能合約進(jìn)行交易過程,在全員審核通過后完成交易,倉庫便成為新的授權(quán)角色。在交易過程中,監(jiān)管部門作為鏈中的節(jié)點(diǎn)有權(quán)對(duì)種植信息進(jìn)行訪問及審查,審查合格后以私鑰方式簽名來認(rèn)證種植環(huán)節(jié)合乎規(guī)范。算法偽代碼如算法1所示。

        算法1智能合約中的農(nóng)產(chǎn)品交易操作

        已知節(jié)點(diǎn)編號(hào)為user_id,節(jié)點(diǎn)角色為user_name,交易編號(hào)為tran_id,時(shí)間戳為timestamp,產(chǎn)品信息為pro_info。

        //注冊(cè)用戶并生成私鑰

        user.id=user_id,user.name=user_name,;

        newKeyPair() (user_id,[]byte);

        //進(jìn)行產(chǎn)品信息的錄入和區(qū)塊的生成

        protected List inputs;

        pro_hash=sha256(pro_info),pro_time=timestamp;

        generateBlock(pro_info);

        //節(jié)點(diǎn)驗(yàn)證

        if proving(user_id).equal==0 then

        return false;

        //區(qū)塊廣播及驗(yàn)證

        else public boolean broadcast(Block pro_info);

        isBlockValid(Block pro_info);

        AddBlockchain();

        return ture;

        (2) 倉儲(chǔ)環(huán)節(jié)。此環(huán)節(jié)的主要節(jié)點(diǎn)為倉庫(冷庫)。倉庫接受了來自種植環(huán)節(jié)的產(chǎn)品之后,獲得訪問和維護(hù)產(chǎn)品信息的權(quán)限,并且將該環(huán)節(jié)特定信息寫入?yún)^(qū)塊中,在轉(zhuǎn)移產(chǎn)品的過程中調(diào)用智能合約將變更的溯源編碼進(jìn)行更新。這個(gè)過程中節(jié)點(diǎn)之間通過共識(shí)算法進(jìn)行區(qū)塊的廣播和數(shù)據(jù)的同步,使得鏈中的其他節(jié)點(diǎn)也可以實(shí)現(xiàn)自身區(qū)塊的信息更新和對(duì)該環(huán)節(jié)區(qū)塊的訪問。

        (3) 加工環(huán)節(jié)。作為消費(fèi)者最關(guān)心的環(huán)節(jié),在收到來自于上一環(huán)節(jié)的產(chǎn)品后,需要寫入加工信息。其中:檢驗(yàn)合格信息需要有監(jiān)管部門參與檢驗(yàn)并通過數(shù)字簽名對(duì)產(chǎn)品的合格與否來進(jìn)行認(rèn)證,與產(chǎn)品信息一同寫入?yún)^(qū)塊中,同時(shí)生產(chǎn)資料的供應(yīng)商作為節(jié)點(diǎn)加入到鏈中,防止產(chǎn)品溯源過程中產(chǎn)生斷鏈現(xiàn)象。最后的產(chǎn)品包裝過程中,除了必要的包裝信息外,還需要為產(chǎn)品生成溯源碼或二維碼,便于消費(fèi)者進(jìn)行產(chǎn)品的溯源查詢。

        (4) 物流環(huán)節(jié)。主要節(jié)點(diǎn)為物流公司。在更新產(chǎn)品信息時(shí)需要提供物流信息,運(yùn)輸中每個(gè)包裝上應(yīng)包含產(chǎn)品的標(biāo)識(shí),以便于當(dāng)前節(jié)點(diǎn)與下一節(jié)點(diǎn)的對(duì)接管理。

        (5) 銷售環(huán)節(jié)。主要節(jié)點(diǎn)為超市等銷售企業(yè)。農(nóng)產(chǎn)品經(jīng)過物流環(huán)節(jié)的運(yùn)輸后,會(huì)發(fā)往不同地區(qū)的銷售企業(yè),所以區(qū)塊中的產(chǎn)品信息須添加當(dāng)前節(jié)點(diǎn)的企業(yè)信息;銷售企業(yè)同樣也需要明確產(chǎn)品的來源信息、銷售信息等,確保產(chǎn)品信息的完整性,由于以上環(huán)節(jié)的代碼邏輯與生產(chǎn)環(huán)節(jié)較為相似,故此處不再闡述。

        (6) 查詢環(huán)節(jié)。主要節(jié)點(diǎn)是消費(fèi)者和監(jiān)管部門。消費(fèi)者可以通過掃描所購買產(chǎn)品包裝上的一維碼和二維碼對(duì)產(chǎn)品進(jìn)行溯源,獲取產(chǎn)品的相關(guān)信息;在查詢過程中系統(tǒng)首先會(huì)對(duì)消費(fèi)者的身份進(jìn)行驗(yàn)證,通過驗(yàn)證后系統(tǒng)將通過溯源碼進(jìn)行區(qū)塊鏈地址查詢,查詢成功后返回地址,后臺(tái)接口將該地址的區(qū)塊信息反饋給消費(fèi)者,完成逆向溯源的過程。該算法偽代碼如算法2所示。

        算法2智能合約中的農(nóng)產(chǎn)品信息查詢

        已知節(jié)點(diǎn)編號(hào)為user_id,產(chǎn)品批次號(hào)為tran_id,時(shí)間戳為timestamp,產(chǎn)品信息為pro_info。

        //節(jié)點(diǎn)驗(yàn)證

        if proving(user_id).equal==0 then

        return false;

        //遍歷區(qū)塊

        Else

        mineTxList=blockStoreProvider.loadRelatedTransactions();

        for

        (TransactionStore.getTransactionStore:mineTxList)

        If

        (TransactionStore.getTransaction().getHash.equals(pro_hash))

        Listoutputs=TransactionStore.getOutputs();

        //遍歷查詢輸出

        For(int i=0;i

        TransactionOutput output=outputs.get(i);

        Break;

        return output;

        3.2 區(qū)塊鏈溯源模型設(shè)計(jì)

        基于傳統(tǒng)農(nóng)產(chǎn)品溯源和區(qū)塊鏈技術(shù)各自的特點(diǎn),本文設(shè)計(jì)了基于區(qū)塊鏈的農(nóng)產(chǎn)品溯源系統(tǒng)模型,如圖4所示。為便于敘述,本文將基于區(qū)塊鏈的農(nóng)產(chǎn)品溯源系統(tǒng)包含的產(chǎn)業(yè)鏈環(huán)節(jié)分為六個(gè),分別為種植、倉儲(chǔ)、加工、物流、銷售、查詢環(huán)節(jié),考慮到產(chǎn)業(yè)鏈可能還存在眾多分支環(huán)節(jié),此處僅取主鏈進(jìn)行分析。

        圖4 基于區(qū)塊鏈的農(nóng)產(chǎn)品溯源系統(tǒng)模型

        從生產(chǎn)到銷售的流通過程中,農(nóng)產(chǎn)品會(huì)經(jīng)歷眾多環(huán)節(jié),而產(chǎn)品信息傳遞的關(guān)鍵在于其環(huán)節(jié)參與節(jié)點(diǎn)。本文給每個(gè)參與節(jié)點(diǎn)設(shè)置密鑰,密鑰就像是區(qū)塊鏈錢包,上面包含其農(nóng)產(chǎn)品的詳細(xì)信息,使得產(chǎn)業(yè)鏈每一環(huán)節(jié)的參與節(jié)點(diǎn)都能夠利用自身的密鑰對(duì)信息進(jìn)行加密;在兩個(gè)環(huán)節(jié)進(jìn)行產(chǎn)品交易時(shí),發(fā)起者首先通過自身密鑰進(jìn)行節(jié)點(diǎn)認(rèn)證,認(rèn)證通過后開始整個(gè)交易流程,此時(shí)兩節(jié)點(diǎn)需要利用非對(duì)稱加密技術(shù)達(dá)成一致協(xié)議,使產(chǎn)品所屬關(guān)系被轉(zhuǎn)移。通過共識(shí)算法保證交易的一致性,例如在某個(gè)節(jié)點(diǎn)進(jìn)行信息的存儲(chǔ)后,會(huì)對(duì)全網(wǎng)發(fā)送一個(gè)廣播,鏈上所有節(jié)點(diǎn)確認(rèn)廣播后,使產(chǎn)品信息分布式存儲(chǔ)于各節(jié)點(diǎn)的分布式賬本中,通過密碼學(xué)和共識(shí)算法的結(jié)合能夠保證信息不可篡改。通過編寫智能合約,保證農(nóng)產(chǎn)品的每一次信息傳遞、位置變更等都會(huì)被記錄在區(qū)塊鏈上,并且真實(shí)有效。比如:當(dāng)生產(chǎn)者將農(nóng)產(chǎn)品交付給物流環(huán)節(jié)的過程就是一個(gè)合同,物流將農(nóng)產(chǎn)品運(yùn)送到銷售店面同樣也會(huì)有一個(gè)合同。在整個(gè)流程過程中有無數(shù)個(gè)合同要簽約,把這一系列的合同通過代碼的形式在區(qū)塊鏈上實(shí)現(xiàn),就是通過智能合約來完成。通過此模型實(shí)現(xiàn)的產(chǎn)品溯源全過程信息透明且不可篡改,解決了傳統(tǒng)溯源的誠(chéng)信問題。

        若某個(gè)環(huán)節(jié)的參與節(jié)點(diǎn)發(fā)生了故障,系統(tǒng)仍然能夠正常運(yùn)行,且故障節(jié)點(diǎn)的數(shù)據(jù)可以恢復(fù)。這些參與節(jié)點(diǎn)在系統(tǒng)中都享有數(shù)據(jù)寫入和讀取的權(quán)限,并且鏈中的區(qū)塊能夠進(jìn)行數(shù)據(jù)同步,這意味著每個(gè)節(jié)點(diǎn)間可以共享產(chǎn)品信息,在保證數(shù)據(jù)真實(shí)的前提下,實(shí)現(xiàn)農(nóng)產(chǎn)品信息的有效跟蹤和溯源,真正達(dá)到系統(tǒng)去中心化的效果。

        由于區(qū)塊鏈農(nóng)產(chǎn)品溯源系統(tǒng)所涉及到的參與節(jié)點(diǎn)眾多,并且這些節(jié)點(diǎn)都是特定的或是簽訂協(xié)議的組織,不同節(jié)點(diǎn)所享有的權(quán)限不同,因此每個(gè)節(jié)點(diǎn)都可以作為一個(gè)中心參與到溯源過程中,系統(tǒng)在運(yùn)行過程中所需要的數(shù)據(jù)承載能力也較高。結(jié)合不同類型區(qū)塊鏈技術(shù)特點(diǎn)的分析,本文選用聯(lián)盟鏈作為區(qū)塊鏈溯源系統(tǒng)的底層架構(gòu)支撐。

        3.3 系統(tǒng)架構(gòu)設(shè)計(jì)

        根據(jù)上述模型所設(shè)計(jì)的區(qū)塊鏈溯源系統(tǒng)的總體架構(gòu)如圖5所示,主要分為用戶層、系統(tǒng)層、數(shù)據(jù)存儲(chǔ)層、智能合約層、數(shù)據(jù)傳輸層、物理層。其中,區(qū)塊鏈技術(shù)主要用于數(shù)據(jù)存儲(chǔ)層和智能合約層。

        圖5 區(qū)塊鏈農(nóng)產(chǎn)品溯源系統(tǒng)架構(gòu)圖

        物理層主要包含物聯(lián)網(wǎng)傳感器和感知、處理和傳輸模塊等,承擔(dān)數(shù)據(jù)自動(dòng)采集與物聯(lián)網(wǎng)遠(yuǎn)程控制等功能,用于將環(huán)境感知信息、產(chǎn)品信息等通過協(xié)議上傳到區(qū)塊中,可以通過設(shè)備中的加密技術(shù)和完整性驗(yàn)證確保采集到的信息的安全性。

        數(shù)據(jù)傳輸層提供網(wǎng)絡(luò)數(shù)據(jù)傳輸服務(wù),包含WLAN、數(shù)據(jù)網(wǎng)絡(luò)、藍(lán)牙等方式。主要目的是實(shí)現(xiàn)區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(diǎn)之間的信息交互,區(qū)塊鏈的本質(zhì)是一個(gè)P2P(點(diǎn)對(duì)點(diǎn))網(wǎng)絡(luò),每一個(gè)節(jié)點(diǎn)既能夠接受信息,又能夠發(fā)布信息,節(jié)點(diǎn)之間通過維護(hù)一個(gè)共同的區(qū)塊鏈來保持通信。在區(qū)塊鏈的網(wǎng)絡(luò)中,每一個(gè)節(jié)點(diǎn)都可以創(chuàng)造出新的區(qū)塊,在新區(qū)塊被創(chuàng)造出以后會(huì)通過廣播的形式通知其他節(jié)點(diǎn),而其他節(jié)點(diǎn)則反過來會(huì)對(duì)這個(gè)節(jié)點(diǎn)進(jìn)行驗(yàn)證,當(dāng)區(qū)塊鏈網(wǎng)絡(luò)中超過半數(shù)的用戶驗(yàn)證通過以后,這個(gè)新的區(qū)塊就會(huì)被添加到主鏈上了。

        智能合約層則根據(jù)企業(yè)間的商業(yè)合同編寫,定義了一系列的事務(wù)處理流程,包括數(shù)據(jù)操作模塊、資金周轉(zhuǎn)模塊、安全預(yù)警模塊。數(shù)據(jù)操作模塊是對(duì)數(shù)據(jù)的添加、查詢等操作;資金交易模塊是自動(dòng)執(zhí)行企業(yè)間事先協(xié)商好的資金交易過程,例如供貨企業(yè)向進(jìn)貨企業(yè)提供原料,原料到達(dá)后進(jìn)貨企業(yè)檢測(cè)無誤后會(huì)自動(dòng)支付供貨企業(yè)貨款;安全預(yù)警模塊是如果區(qū)塊鏈系統(tǒng)檢測(cè)到有非法訪問或數(shù)據(jù)異常,會(huì)自動(dòng)向系統(tǒng)管理員發(fā)送警報(bào)。

        數(shù)據(jù)存儲(chǔ)層中主要指對(duì)分布式數(shù)據(jù)庫的操作,系統(tǒng)將數(shù)據(jù)記錄到區(qū)塊主體的Merkle樹中后,會(huì)對(duì)其進(jìn)行Hsah求值,形成鏈?zhǔn)浇Y(jié)構(gòu),在對(duì)其進(jìn)行時(shí)間戳的加蓋后,區(qū)塊便開始生效,上傳到區(qū)塊鏈中的數(shù)據(jù)經(jīng)過完整性驗(yàn)證后都可以供任何鏈中的節(jié)點(diǎn)用戶進(jìn)行訪問。而節(jié)點(diǎn)管理是指針對(duì)于不同類型的鏈,鏈中每個(gè)節(jié)點(diǎn)設(shè)置的訪問權(quán)限不同,例如公有鏈中的信息可以對(duì)鏈中的所有節(jié)點(diǎn)公開,而聯(lián)盟鏈或私有鏈中各節(jié)點(diǎn)的訪問權(quán)限可能不同,權(quán)限的設(shè)置根據(jù)實(shí)際的需求來決定。數(shù)據(jù)存儲(chǔ)層中的存儲(chǔ)介質(zhì)分為兩部分:普通數(shù)據(jù)庫和基于超級(jí)賬本的區(qū)塊鏈系統(tǒng)。非溯源數(shù)據(jù)存入?yún)^(qū)塊鏈會(huì)占用不必要的系統(tǒng)資源,所以此類數(shù)據(jù)會(huì)被存入各企業(yè)自己的數(shù)據(jù)庫中,而關(guān)鍵的溯源數(shù)據(jù)會(huì)上傳至區(qū)塊鏈系統(tǒng)中安全保存。

        系統(tǒng)層和用戶層主要是面向用戶,而用戶分為政府、企業(yè)和公眾,不同用戶所擁有的職能和權(quán)限也不同,同時(shí)增加數(shù)據(jù)可視化的方式,提高溯源系統(tǒng)的實(shí)用性。

        4 系統(tǒng)實(shí)現(xiàn)

        本文研究基于上述的系統(tǒng)架構(gòu)和區(qū)塊鏈溯源模型,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)基于區(qū)塊鏈的農(nóng)產(chǎn)品溯源系統(tǒng),系統(tǒng)拓?fù)浣Y(jié)構(gòu)如圖6所示。該系統(tǒng)由區(qū)塊鏈后臺(tái)系統(tǒng)、溯源前臺(tái)系統(tǒng)兩個(gè)子系統(tǒng)組成,并利用組件式開發(fā),將視頻監(jiān)控、環(huán)境感知、政府管理、電商平臺(tái)等模塊融合,是一個(gè)面向政府、農(nóng)戶和消費(fèi)者的農(nóng)產(chǎn)品可信溯源系統(tǒng)。

        圖6 區(qū)塊鏈農(nóng)產(chǎn)品溯源系統(tǒng)拓?fù)浣Y(jié)構(gòu)圖

        4.1 環(huán)境部署

        本文是在Ubuntu操作系統(tǒng)環(huán)境下,采用Hyperledger Fabric 1.0底層架構(gòu)和Docker、Git等工具,利用Go語言通過GoLand編譯器進(jìn)行區(qū)塊鏈后臺(tái)環(huán)境的部署,區(qū)塊鏈后臺(tái)環(huán)境部署成功如圖7所示。前臺(tái)系統(tǒng)的Web應(yīng)用是在Windows操作系統(tǒng)環(huán)境下,利用SSH框架、MySQL數(shù)據(jù)庫及Tomcat服務(wù)器,使用Java語言在MyEclipse編譯器中進(jìn)行部署。

        圖7 區(qū)塊鏈環(huán)境部署

        4.2 功能實(shí)現(xiàn)

        系統(tǒng)查詢界面如圖8所示,消費(fèi)者可以點(diǎn)擊企業(yè)介紹和網(wǎng)上商城來了解企業(yè)信息和購買農(nóng)產(chǎn)品。另外系統(tǒng)還提供政府和企業(yè)兩個(gè)不同的管理入口,政府能夠?qū)ζ髽I(yè)的資質(zhì)和操作規(guī)范進(jìn)行監(jiān)督,企業(yè)享有內(nèi)部人員和企業(yè)效益的管理權(quán)限。當(dāng)消費(fèi)者輸入產(chǎn)品包裝上的溯源碼或掃描二維碼后,即可跳轉(zhuǎn)到系統(tǒng)的產(chǎn)品信息溯源界面,獲取到該產(chǎn)品從種植到銷售的溯源信息,以及對(duì)應(yīng)的人員信息和區(qū)塊鏈地址等,如圖9所示。

        圖8 系統(tǒng)查詢界面

        圖9 產(chǎn)品信息溯源界面

        5 結(jié) 語

        區(qū)塊鏈技術(shù)的去中心化、不可篡改、分布式存儲(chǔ)的天然特性,使其在農(nóng)產(chǎn)品溯源系統(tǒng)中具有廣泛的應(yīng)用前景。本文分析了傳統(tǒng)農(nóng)產(chǎn)品溯源系統(tǒng)存在的問題,提出了基于區(qū)塊鏈的農(nóng)產(chǎn)品溯源系統(tǒng)研究,對(duì)區(qū)塊鏈溯源系統(tǒng)模型和系統(tǒng)架構(gòu)進(jìn)行了構(gòu)建和分析,利用區(qū)塊鏈數(shù)據(jù)分片的方式實(shí)現(xiàn)信息的分布式存儲(chǔ),對(duì)智能合約進(jìn)行設(shè)計(jì)使其滿足農(nóng)產(chǎn)品產(chǎn)業(yè)鏈的實(shí)際需求,解決了傳統(tǒng)農(nóng)產(chǎn)品溯源系統(tǒng)中心化嚴(yán)重導(dǎo)致的信息易被篡改、信息不透明、存儲(chǔ)安全性低等問題。在此基礎(chǔ)上利用HyperledgerFabric平臺(tái)實(shí)現(xiàn)了該區(qū)塊鏈系統(tǒng),該系統(tǒng)與傳統(tǒng)的溯源系統(tǒng)相比,具有去中心化、數(shù)據(jù)分布式存儲(chǔ)的特點(diǎn),且建立了新的信托機(jī)制,保障了信息的安全性及可信性,打破傳統(tǒng)溯源系統(tǒng)中的技術(shù)壁壘,為農(nóng)產(chǎn)品溯源提供了一個(gè)不依賴于第三方的可信平臺(tái)。

        由于目前區(qū)塊鏈技術(shù)還處于尚未完全成熟的階段,區(qū)塊鏈溯源系統(tǒng)的性能和節(jié)點(diǎn)達(dá)成共識(shí)的效率亟待提高。因此,如何提高區(qū)塊鏈系統(tǒng)的性能和共識(shí)效率是后續(xù)研究中應(yīng)著重解決的問題。

        猜你喜歡
        智能產(chǎn)品信息
        智能前沿
        文苑(2018年23期)2018-12-14 01:06:06
        智能前沿
        文苑(2018年19期)2018-11-09 01:30:14
        智能前沿
        文苑(2018年17期)2018-11-09 01:29:26
        智能前沿
        文苑(2018年21期)2018-11-09 01:22:32
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        2015產(chǎn)品LOOKBOOK直擊
        Coco薇(2015年1期)2015-08-13 02:23:50
        展會(huì)信息
        新產(chǎn)品
        玩具(2009年10期)2009-11-04 02:33:14
        產(chǎn)品
        下一個(gè)酷產(chǎn)品是什么
        舒適廣告(2008年9期)2008-09-22 10:02:48
        欧美巨大xxxx做受中文字幕| аⅴ资源天堂资源库在线| 亚洲av无码一区二区三区在线| 国产美女裸身网站免费观看视频 | 色综合久久蜜芽国产精品| 日本老熟妇毛茸茸| 精选麻豆国产AV| 青青草视频网站免费看| 亚洲av片无码久久五月| a级毛片成人网站免费看| 人妻无码一区二区在线影院| 经典亚洲一区二区三区| 久久久久久久久无码精品亚洲日韩| 无码av无码天堂资源网| 国产白丝网站精品污在线入口| 亚洲av性色精品国产| 国产亚洲成人av一区| 欧美日韩国产成人高清视频| 四虎精品国产一区二区三区| 中文乱码字幕人妻熟女人妻| 一边摸一边抽搐一进一出口述| 波多野结衣一区二区三区高清| 亚洲AV乱码毛片在线播放| 国产一区二区三区免费av| 日本一区二区三区免费播放| 久久99精品久久久久久| 亚洲精品无人区一区二区三区 | 国产av无码专区亚洲版综合| 看国产黄大片在线观看| 国产成人一区二区三区高清| 可以直接在线看国产在线片网址| 成午夜精品一区二区三区| 无码国产亚洲日韩国精品视频一区二区三区 | 亚洲国产av导航第一福利网| 国产高清白浆| 午夜精品久久99蜜桃| 美女张开腿让男人桶爽| 亚洲国产麻豆综合一区| 精品一区2区3区4区| 99久久免费只有精品国产| 欧洲色综合|