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

?

基于以太坊技術(shù)的農(nóng)產(chǎn)品溯源系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2022-11-03 07:52:04藍(lán)建平
現(xiàn)代信息科技 2022年18期
關(guān)鍵詞:以太合約區(qū)塊

藍(lán)建平

(嘉興職業(yè)技術(shù)學(xué)院,浙江 嘉興 314036)

0 引言

在人民生活水平日益提高的今天,食品安全問(wèn)題受到了更多的關(guān)注。而農(nóng)產(chǎn)品作為一種特殊商品,其質(zhì)量安全關(guān)系到廣大人民群眾的身體健康與生命安全,因此建立一個(gè)完善有效的農(nóng)產(chǎn)品追溯體系尤為重要。農(nóng)產(chǎn)品是指由農(nóng)業(yè)生產(chǎn)出來(lái)并經(jīng)過(guò)加工處理后獲得的產(chǎn)品。傳統(tǒng)農(nóng)產(chǎn)品溯源系統(tǒng)通過(guò)二維碼,射頻識(shí)別技術(shù)(RFID)技術(shù)等手段能一定程度上消費(fèi)者食品溯源的需求,但是因傳統(tǒng)系統(tǒng)使用中心化應(yīng)用易出現(xiàn)如下問(wèn)題:

(1)中心化容易出現(xiàn)系統(tǒng)受到攻擊而癱瘓。

(2)中心化應(yīng)用容易出現(xiàn)信息篡改。

(3)中心化應(yīng)用由于信息不公開(kāi)透明,導(dǎo)致不同主體間的信任問(wèn)題。

而區(qū)塊鏈?zhǔn)腔诜植际劫~本、去中心化的技術(shù),把該技術(shù)應(yīng)用到農(nóng)產(chǎn)品溯源系統(tǒng)中可以很好地解決傳統(tǒng)溯源系統(tǒng)中存在的問(wèn)題。本文基于區(qū)塊鏈2.0 的以太坊(Ethereum)技術(shù),分析、設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)農(nóng)產(chǎn)品溯源的去中心化應(yīng)用Dapp。

1 需求分析

農(nóng)產(chǎn)品溯源涵蓋了生產(chǎn),流通,銷售和查詢等諸多環(huán)節(jié),各個(gè)環(huán)節(jié)的高效合作可以確保農(nóng)產(chǎn)品信息得到有效追溯。區(qū)塊鏈?zhǔn)且环N基于共識(shí)機(jī)制的去中心化網(wǎng)絡(luò)技術(shù),其具有數(shù)據(jù)不可篡改、可追溯性以及時(shí)間戳等特點(diǎn),能夠滿足不同領(lǐng)域?qū)τ谵r(nóng)產(chǎn)品追溯的要求。文章結(jié)合農(nóng)產(chǎn)品溯源實(shí)際需求,設(shè)計(jì)區(qū)塊鏈技術(shù)應(yīng)用于產(chǎn)業(yè)鏈各個(gè)環(huán)節(jié),使得區(qū)塊鏈上智能合約與分布式存儲(chǔ)技術(shù)可以保障產(chǎn)品信息流正常傳輸,保障產(chǎn)品流通,溯源與信息分布式存儲(chǔ)。具體的溯源流程如圖1所示。

圖1 農(nóng)產(chǎn)品溯源流程

在農(nóng)產(chǎn)品生產(chǎn)、銷售、運(yùn)輸?shù)母鱾€(gè)環(huán)節(jié),相關(guān)的信息均要提交到區(qū)塊鏈中,而且每個(gè)環(huán)節(jié)中包括了上一個(gè)環(huán)節(jié)中產(chǎn)生的數(shù)據(jù)信息。最后消費(fèi)者通過(guò)訪問(wèn)系統(tǒng)進(jìn)而訪問(wèn)底層的區(qū)塊鏈,就能反向跟蹤消費(fèi)的農(nóng)產(chǎn)品的信息。

系統(tǒng)中涉及的用戶角色有普通消費(fèi)者、與農(nóng)產(chǎn)品生產(chǎn)到銷售整個(gè)流程中涉及的各類企業(yè)(如種植企業(yè)、運(yùn)輸單位、經(jīng)銷商、零售商等)、各類監(jiān)管政府部門(mén)、系統(tǒng)管理員。

在前臺(tái),新用戶可以注冊(cè)個(gè)人信息并選擇相關(guān)角色,注冊(cè)完成后通過(guò)管理員后臺(tái)驗(yàn)證,就可以通過(guò)登錄模塊登錄到平臺(tái)上。

用戶登錄成功后,根據(jù)用戶的角色不同,主界面也不同。

對(duì)于消費(fèi)者登錄后,主要是溯源查詢,通過(guò)輸入產(chǎn)品的條碼或二維碼信息后,獲取該產(chǎn)品從生產(chǎn)到流通到銷售整個(gè)環(huán)節(jié)中的各個(gè)溯源信息。

農(nóng)產(chǎn)品生產(chǎn)商、運(yùn)輸商、銷售商通過(guò)登錄系統(tǒng)后,可以完善單位信息,并申請(qǐng)認(rèn)證。通過(guò)認(rèn)證后就可以在平臺(tái)中管理相關(guān)產(chǎn)品信息,如添加商品、修改商品、商品信息上鏈、查詢顯示商品等功能。

各類監(jiān)管政府部門(mén)注冊(cè)登錄后,可以在平臺(tái)中查詢供應(yīng)鏈上的各類單位信息,進(jìn)行主體單位的認(rèn)證工作,通過(guò)平臺(tái),可以溯源出現(xiàn)問(wèn)題的商品,從而及時(shí)精準(zhǔn)召回,落實(shí)相關(guān)主體的責(zé)任。

管理員用戶登錄后,主要通過(guò)管理后臺(tái)進(jìn)行角色管理,系統(tǒng)數(shù)據(jù)字典維護(hù)等與系統(tǒng)運(yùn)營(yíng)相關(guān)的工作。

具體的系統(tǒng)功能模塊圖如圖2所示。

圖2 農(nóng)產(chǎn)品溯源系統(tǒng)功能模塊圖

2 系統(tǒng)設(shè)計(jì)

2.1 關(guān)鍵技術(shù)

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

簡(jiǎn)單來(lái)說(shuō),區(qū)塊鏈?zhǔn)怯深愃菩畔⒂涗浗M成的分布式賬本,稱為區(qū)塊鏈。這個(gè)賬本在不斷增長(zhǎng),所有的區(qū)塊都是通過(guò)密碼學(xué)連接的。區(qū)塊鏈持有的信息是一個(gè)共享的、不斷更新的數(shù)據(jù)庫(kù)。

作為一種分布式、去中心化的賬本,它不是只存在于一個(gè)地方,而是真正公開(kāi)的、可核查的。區(qū)塊鏈技術(shù)不需要第三方背書(shū),就能使系統(tǒng)內(nèi)全部數(shù)據(jù)信息公開(kāi)透明,不可篡改,不可偽造,可追溯。所以區(qū)塊鏈技術(shù)可以很好地應(yīng)用到溯源領(lǐng)域,從而解決傳統(tǒng)溯源系統(tǒng)中存在的痛點(diǎn)。

區(qū)塊鏈技術(shù)按節(jié)點(diǎn)參與模式可分為:公有鏈、聯(lián)盟鏈、私有鏈。

公有鏈:任何區(qū)塊鏈服務(wù)用戶都可以使用,任何節(jié)點(diǎn)都可以訪問(wèn),所有訪問(wèn)節(jié)點(diǎn)都可以參與讀寫(xiě)數(shù)據(jù)。

聯(lián)盟鏈:只適用于一組具體客戶,只允許授權(quán)節(jié)點(diǎn)訪問(wèn),訪問(wèn)節(jié)點(diǎn)可以按照規(guī)則參與數(shù)據(jù)讀寫(xiě)。

私有鏈:只適用于個(gè)別客戶,只有被授權(quán)節(jié)點(diǎn)才能訪問(wèn),訪問(wèn)節(jié)點(diǎn)可以按照規(guī)則參與讀寫(xiě)數(shù)據(jù)。

溯源系統(tǒng)開(kāi)發(fā)測(cè)試階段,使用私有鏈。生產(chǎn)運(yùn)行環(huán)境為聯(lián)盟鏈,與溯源系統(tǒng)相關(guān)的各類用戶通過(guò)授權(quán)接入,即可進(jìn)行數(shù)據(jù)上傳到區(qū)塊鏈和從區(qū)塊鏈中查詢相關(guān)溯源信息。

2.1.2 以太坊技術(shù)

以太坊(Ethereum)是一個(gè)建立在區(qū)塊鏈技術(shù)之上,去中心化應(yīng)用平臺(tái)。以太坊是平臺(tái),它讓我們方便地使用區(qū)塊鏈技術(shù)開(kāi)發(fā)去中心化的應(yīng)用,在這個(gè)應(yīng)用中,使用Solidity來(lái)編寫(xiě)和區(qū)塊鏈交互的智能合約。

智能合約只是一個(gè)運(yùn)行在以太坊鏈上的一個(gè)程序。它是位于以太坊區(qū)塊鏈上一個(gè)特定地址的一系列代碼(函數(shù))和數(shù)據(jù)(狀態(tài))。

2.1.3 物聯(lián)網(wǎng)技術(shù)

物聯(lián)網(wǎng)(Internet of Things,IoT),就是通過(guò)多種信息傳感器,射頻識(shí)別技術(shù)(RFID),全球定位系統(tǒng)(GPS),紅外感應(yīng)器(FTIR),激光掃描器(LIBS)等多種設(shè)備和技術(shù)來(lái)實(shí)時(shí)獲取任何一個(gè)需要監(jiān)測(cè),連接和交互的對(duì)象或進(jìn)程,收集其聲音,光線,熱量,電力,力學(xué),化學(xué),生物,位置等多種所需信息,并通過(guò)多種可能的網(wǎng)絡(luò)接入方式來(lái)達(dá)到事物之間,事物之間以及事物與人類之間泛在聯(lián)系,從而達(dá)到智能化地感知,識(shí)別以及管理事物及進(jìn)程的目的。

物聯(lián)網(wǎng)(IoT)是以互聯(lián)網(wǎng),傳統(tǒng)電信網(wǎng)等為基礎(chǔ),使所有可以獨(dú)立尋址的常見(jiàn)物理對(duì)象組成互聯(lián)互通網(wǎng)絡(luò)的信息承載體。

本文中所涉及的溯源系統(tǒng)中,通過(guò)部署在農(nóng)田,溫室和園林目標(biāo)區(qū)域內(nèi)的海量傳感節(jié)點(diǎn)對(duì)溫度,濕度,光照,氣體濃度和土壤水分進(jìn)行實(shí)時(shí)采集,并將采集到的上述傳感信息和GPS,農(nóng)場(chǎng)信息計(jì)時(shí)寫(xiě)入?yún)^(qū)塊鏈作為初始區(qū)塊。

2.1.4 開(kāi)發(fā)框架

Truラe 是針對(duì)基于以太坊的Solidity 語(yǔ)言的一套開(kāi)發(fā)框架。本身基于Java。Truラe 為以太坊提供了開(kāi)發(fā)環(huán)境、測(cè)試框架和資產(chǎn)管道。本文所涉及的溯源系統(tǒng)采用的是Truラe開(kāi)發(fā)框架。

以太坊節(jié)點(diǎn)只能識(shí)別一種JSON-RPC 的語(yǔ)言,但JSONRPC 寫(xiě)起來(lái)很麻煩,也很容易出錯(cuò),所以通過(guò)Web3.js 來(lái)進(jìn)行封裝,Web3.js 是以太坊Javascript API,這樣就只需要與Web3.js 進(jìn)行交互就可以了。

MetaMask(小狐貍錢(qián)包)是一個(gè)瀏覽器插件,可以用作以太坊錢(qián)包,并且可以像任何常規(guī)插件一樣安裝。安裝之后,它允許用戶存儲(chǔ) Ether 和其他ERC-20 令牌,從而使他們能跟其他以太坊地址之間進(jìn)行交易轉(zhuǎn)賬。

2.2 系統(tǒng)架構(gòu)

本文中所涉及的溯源系統(tǒng)的三層架構(gòu)如圖3所示。

圖3 系統(tǒng)架構(gòu)圖

(1)最底層的是:分布式和去中心化的持久層,由在以太坊區(qū)塊鏈上使用SOLIDTY 語(yǔ)言開(kāi)發(fā)的智能合約(Smart Contract)組成(開(kāi)發(fā)過(guò)程中使用了Truラe 框架,用于提供本地以太坊開(kāi)發(fā)環(huán)境和測(cè)試框架)。在測(cè)試階段使用了以太坊私有鏈Ganche 進(jìn)行本地部署、運(yùn)行、測(cè)試。

(2)中間層:作為數(shù)據(jù)存儲(chǔ)層和應(yīng)用層間的中介,通過(guò)一個(gè)Node.js 中間件,利用Web3.js 庫(kù)訪問(wèn)智能合約,為應(yīng)用層提供相關(guān)API,與本地或遠(yuǎn)程以太坊節(jié)點(diǎn)上的智能合約進(jìn)行互動(dòng),從而實(shí)現(xiàn)具體的基于以太坊技術(shù)的應(yīng)用。

(3)最上層為應(yīng)用層,該層主要通過(guò)Vue.js 框架實(shí)現(xiàn)分布式應(yīng)用Dapp,用戶通過(guò)在支持Ethereum 的瀏覽器上運(yùn)行訪問(wèn)項(xiàng)目(如Metamask 瀏覽器擴(kuò)展程序)。

2.3 智能合約設(shè)計(jì)

根據(jù)具體的業(yè)務(wù),在項(xiàng)目中設(shè)計(jì)了不同的智能合約,與人員管理相關(guān)的有農(nóng)戶智能合約,消費(fèi)者智能合約,零售商智能合約,分銷商智能合約,及物流公司智能合約,監(jiān)管部門(mén)智能合約。在這些合約中主要完成一是驗(yàn)證當(dāng)前賬戶是否是指定的用戶,當(dāng)前用戶的注冊(cè),資質(zhì)申請(qǐng)等功能,監(jiān)管部門(mén)智能合約主要是對(duì)特定用戶的資質(zhì)申請(qǐng)進(jìn)行審批功能。

除了上述的人員類智能合約外,還有支持農(nóng)產(chǎn)品溯源的核心業(yè)務(wù)的供應(yīng)鏈智能合約,上述的人員在完成角色驗(yàn)證后,就可以進(jìn)行相關(guān)的信息上鏈操作。系統(tǒng)的核心智能合約如圖4所示。

圖4 溯源系統(tǒng)核心智能合約類圖

對(duì)于農(nóng)戶來(lái)說(shuō),農(nóng)產(chǎn)品的原材料,化肥,作物生長(zhǎng)環(huán)境信息要定時(shí)上鏈,農(nóng)產(chǎn)品收獲時(shí),相應(yīng)的信息要進(jìn)行注冊(cè)上鏈。

對(duì)于農(nóng)產(chǎn)品經(jīng)物流配送到具體單位時(shí),會(huì)把物流信息進(jìn)行注冊(cè)上鏈。

零售商對(duì)農(nóng)產(chǎn)品上架出售前會(huì)進(jìn)行信息登記并上鏈。

消費(fèi)者通過(guò)農(nóng)產(chǎn)品上的溯源二維碼就可以反向追蹤到產(chǎn)品從生產(chǎn)到運(yùn)輸?shù)戒N售的整個(gè)過(guò)程數(shù)據(jù)。

監(jiān)管部門(mén)對(duì)系統(tǒng)中的人員,單位信息進(jìn)行認(rèn)證,對(duì)產(chǎn)品進(jìn)行溯源監(jiān)督和問(wèn)題產(chǎn)品的溯源查處。

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

3.1 系統(tǒng)前臺(tái)

3.1.1 前臺(tái)主界面

農(nóng)產(chǎn)品溯源系統(tǒng)的前臺(tái)包括登錄(非管理員用戶)、注冊(cè)(各類不同角色用戶)、溯源查詢?nèi)齻€(gè)子模塊的功能。新用戶在登錄頁(yè)中點(diǎn)擊注冊(cè)新用戶鏈接,跳轉(zhuǎn)到注冊(cè)頁(yè)面,填寫(xiě)用戶名、郵箱、密碼等信息后完成注冊(cè)。已完成注冊(cè)的用戶,在登錄頁(yè)中,輸入用戶名、密碼、驗(yàn)證碼,驗(yàn)證通過(guò)后就可進(jìn)入系統(tǒng)。

3.1.2 用戶詳細(xì)信息管理

新注冊(cè)的用戶首次登錄系統(tǒng)后,必須根據(jù)頁(yè)面內(nèi)容完善用戶信息,不同的角色需要填寫(xiě)的用戶信息有所不同,對(duì)于消費(fèi)者用戶,填寫(xiě)個(gè)人的姓名、性別、年齡等信息后,保存即可以使用系統(tǒng)的溯源查詢功能。對(duì)于其他用戶,填寫(xiě)單位名稱、地址、聯(lián)系人、經(jīng)營(yíng)產(chǎn)品等信息后保存,通過(guò)認(rèn)證后,即可以使用系統(tǒng)實(shí)現(xiàn)產(chǎn)品溯源上鏈和查詢功能。

3.1.3 溯源查詢

如圖5所示,在前臺(tái)的溯源頁(yè)面中,輸入產(chǎn)品的二維碼信息,點(diǎn)擊查詢就可以顯示該產(chǎn)品的整個(gè)溯源信息。

圖5 溯源查詢

3.2 系統(tǒng)后臺(tái)

3.2.1 農(nóng)產(chǎn)品管理

進(jìn)入后臺(tái),點(diǎn)擊農(nóng)產(chǎn)品管理,在頁(yè)面中顯示查詢表單和農(nóng)產(chǎn)品列表信息。輸入類別、名稱、位置點(diǎn)擊搜索按鈕,顯示符合條件的相關(guān)農(nóng)產(chǎn)品列表信息。顯示界面如圖6所示,點(diǎn)擊列表上方的添加按鈕,可以在彈窗中輸入農(nóng)產(chǎn)品的各種信息,保存會(huì)寫(xiě)入中心數(shù)據(jù)庫(kù)。點(diǎn)擊連接到MetaMask 按鈕,則連接區(qū)塊鏈,連接成功后,點(diǎn)擊列表項(xiàng)中的操作中的上鏈按鈕,把相應(yīng)的農(nóng)產(chǎn)品信息存儲(chǔ)到區(qū)塊鏈中,區(qū)塊鏈的鏈塊地址就會(huì)與該商品綁定,記錄到中心數(shù)據(jù)庫(kù)中。此外,相關(guān)用戶可以進(jìn)行農(nóng)產(chǎn)品查看詳情、修改、刪除等操作。

圖6 農(nóng)產(chǎn)品管理

3.2.2 資質(zhì)認(rèn)證管理

監(jiān)管部門(mén)用戶登錄后,在主界面中點(diǎn)擊資質(zhì)認(rèn)證鏈接后,顯示“申請(qǐng)資質(zhì)認(rèn)證”列表,“已完成資質(zhì)認(rèn)證列表”。在申請(qǐng)列表中選中某項(xiàng),并點(diǎn)擊認(rèn)證按鈕鏈接后,顯示申請(qǐng)認(rèn)證的企業(yè)完整信息,核驗(yàn)后,點(diǎn)擊認(rèn)證通過(guò)或者認(rèn)證不通過(guò),并填寫(xiě)相關(guān)備注信息。完成后相關(guān)的條目信息就從申請(qǐng)列表中移除,在已完成列表中新增了一條相關(guān)的數(shù)據(jù)。

3.2.3 個(gè)人信息管理

點(diǎn)擊后臺(tái)主界面的右上方的用戶名下列箭頭,彈出快捷菜單,菜單中有基本資料、修改密碼、退出系統(tǒng)等菜單項(xiàng)。點(diǎn)擊基本資料,進(jìn)入修改個(gè)人基本信息頁(yè)面,在該頁(yè)面中可以修改郵箱、手機(jī)號(hào)、備注等信息。點(diǎn)擊修改密碼,進(jìn)入修改密碼頁(yè)面,在該面上輸入正確的舊密碼、新的密碼,新的確認(rèn)密碼后,點(diǎn)擊確認(rèn)保存,完成密碼修改功能。點(diǎn)擊退出系統(tǒng),注銷登錄信息,跳轉(zhuǎn)到登錄頁(yè),進(jìn)行登錄操作。

4 結(jié)論

區(qū)塊鏈不可篡改,安全開(kāi)放,去中心化等特性使得區(qū)塊鏈在溯源領(lǐng)域有著廣闊應(yīng)用前景。目前已有不少學(xué)者對(duì)基于區(qū)塊鏈技術(shù)構(gòu)建溯源系統(tǒng)進(jìn)行研究,并取得一定成果。但是對(duì)于如何將區(qū)塊鏈與傳統(tǒng)溯源系統(tǒng)相結(jié)合仍是一個(gè)有待解決的問(wèn)題。

本文對(duì)傳統(tǒng)農(nóng)產(chǎn)品溯源系統(tǒng)現(xiàn)狀及問(wèn)題分析的基礎(chǔ)上,提出一種以以太坊技術(shù)為核心的農(nóng)產(chǎn)品溯源系統(tǒng)。對(duì)系統(tǒng)進(jìn)行需求分析和技術(shù)架構(gòu),利用以太坊進(jìn)行系統(tǒng)的分布式、去中心化存儲(chǔ),設(shè)計(jì)實(shí)現(xiàn)了一系列的智能合約,整個(gè)項(xiàng)目客戶端使用Vue 框架實(shí)現(xiàn),通過(guò)Web3j 庫(kù)訪問(wèn)相關(guān)智能合約,實(shí)現(xiàn)溯源數(shù)據(jù)上鏈和查詢業(yè)務(wù)。該系統(tǒng)由于融入了區(qū)塊鏈技術(shù),在很大程度上解決了傳統(tǒng)溯源系統(tǒng)中數(shù)據(jù)集中,容易被篡改及容易產(chǎn)生信任危機(jī),溯源流程不完整等一些痛點(diǎn)問(wèn)題,具有很強(qiáng)的實(shí)用性和不可替代性。

猜你喜歡
以太合約區(qū)塊
以太極為旗,開(kāi)啟新時(shí)代“黃河大合唱”
少林與太極(2023年7期)2023-08-25 05:27:52
區(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
車易鏈:做汽車業(yè)的“以太坊”
汽車觀察(2018年9期)2018-10-23 05:46:24
區(qū)塊鏈+媒體業(yè)的N種可能
讀懂區(qū)塊鏈
百通推出入門(mén)級(jí)快速工業(yè)以太網(wǎng)絡(luò)交換器系列
以太互聯(lián) 高效便捷 經(jīng)濟(jì)、可靠、易用的小型可編程控制器
合約必守,誰(shuí)能例外!——對(duì)“情勢(shì)變更”制度不可寄于過(guò)高期望
阿瓦提县| 旌德县| 辽中县| 汾西县| 昭苏县| 汝南县| 安徽省| 肃北| 丘北县| 桦甸市| 屏山县| 财经| 资兴市| 丹阳市| 新乡市| 枝江市| 三穗县| 两当县| 石阡县| 易门县| 维西| 永仁县| 广宁县| 呼和浩特市| 忻城县| 常宁市| 苏尼特右旗| 启东市| 昭苏县| 临湘市| 成安县| 得荣县| 西吉县| 英超| 齐齐哈尔市| 图木舒克市| 潜江市| 贺州市| 胶州市| 宁武县| 调兵山市|