• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Hyperledger Fabric的稻米質(zhì)量溯源系統(tǒng)的設(shè)計與實現(xiàn)

      2022-05-30 14:18:14朱克濤胡勝桃
      電腦知識與技術(shù) 2022年21期
      關(guān)鍵詞:智能合約稻米

      朱克濤 胡勝桃

      摘要:針對以集中式數(shù)據(jù)庫為中心的傳統(tǒng)溯源系統(tǒng)中存在溯源數(shù)據(jù)易被篡改及可信度低的問題,在對稻米流通環(huán)節(jié)及溯源需求進行分析后,該文提出基于區(qū)塊鏈技術(shù)分支中的Hyperledger Fabric構(gòu)建稻米質(zhì)量溯源系統(tǒng),通過調(diào)用智能合約將稻米信息存儲在分布式賬本中,由于區(qū)塊鏈技術(shù)具有防篡改性和去中心化的特點,能夠保證稻米信息不易被篡改,從而提高稻米溯源信息的可信度,通過對系統(tǒng)進行吞吐量測試,試驗結(jié)果表明本系統(tǒng)可應(yīng)用于生產(chǎn)實踐當(dāng)中。

      關(guān)鍵詞:稻米;Hyperledger Fabric;智能合約;溯源信息

      中圖分類號:TP399? ? ?文獻標(biāo)識碼:A

      文章編號:1009-3044(2022)21-0041-03

      開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):

      1 引言

      稻米是世界上最重要的糧食作物之一,是全球農(nóng)業(yè)經(jīng)濟的重要支柱[1]。近年來,食品安全問題頻發(fā),農(nóng)藥、化肥、生長調(diào)節(jié)劑、獸藥等化學(xué)品濫用,工業(yè)廢棄物排放增加,造成毒大米泛濫,嚴重危害了人民的身體健康[2]。構(gòu)建一個溯源系統(tǒng)可以追溯稻米來源,有效解決質(zhì)量安全問題[3]。

      目前,在對稻米溯源系統(tǒng)的研究上,主要以物聯(lián)網(wǎng)技術(shù)、RFID、二維碼技術(shù)、無線傳感網(wǎng)絡(luò)等為基礎(chǔ),對稻米從農(nóng)田到餐桌的過程中產(chǎn)生的數(shù)據(jù)進行追蹤溯源。傳統(tǒng)農(nóng)產(chǎn)品溯源系統(tǒng)普遍以集中式數(shù)據(jù)庫為中心[4],從種植到銷售的各個環(huán)節(jié)產(chǎn)生的數(shù)據(jù)都上傳至集中式數(shù)據(jù)庫中,這會帶來數(shù)據(jù)安全問題:一些商家可能會通過篡改數(shù)據(jù)而改變溯源數(shù)據(jù)的真實性;中心化數(shù)據(jù)庫一旦遭到攻擊或者發(fā)生損壞,其溯源數(shù)據(jù)可能會被破壞甚至消失;由此消費者無法獲取到可信的溯源數(shù)據(jù)。

      區(qū)塊鏈技術(shù)具有去中心化存儲、隱私保護、防篡改等特點[5],提供了開放、分散和容錯的事務(wù)機制,成為新一代匿名在線支付、匯款和數(shù)字資產(chǎn)交易的核心,被廣泛應(yīng)用于各大交易平臺[6]??梢詫⑦@些技術(shù)與溯源業(yè)務(wù)結(jié)合起來進而提高大米溯源的可信度和安全性。本文結(jié)合稻米從種植到銷售的流通過程(業(yè)務(wù)邏輯)提出采用Hyperledger Fabric構(gòu)建稻米質(zhì)量溯源系統(tǒng),并通過安徽牧馬湖農(nóng)業(yè)開發(fā)集團的稻米溯源案例對提出的溯源系統(tǒng)進行安全性和業(yè)務(wù)性能分析。

      2 系統(tǒng)模型

      2.1 稻米質(zhì)量溯源流程分析

      通過對牧馬湖農(nóng)業(yè)開發(fā)集團下的稻米種植基地的考察,稻米流通主要分為五個環(huán)節(jié):1)種植環(huán)節(jié),將育苗期的水稻秧苗下地種植。2)加工環(huán)節(jié),水稻成熟后需對其進行剝殼、焯米、半成品加工等一系列的操作。3)質(zhì)檢環(huán)節(jié),對加工好的水稻按批次取樣抽檢。4)運輸環(huán)節(jié),質(zhì)檢合格的稻米通過貨車運輸至各銷售點。5)銷售環(huán)節(jié),對接收的稻米產(chǎn)品進行簽收以及出售。每個環(huán)節(jié)通過客戶端對應(yīng)的鏈碼將信息上傳至區(qū)塊鏈網(wǎng)絡(luò)中,數(shù)字編碼在系統(tǒng)中具有唯一性,消費者可以通過數(shù)字編碼在對應(yīng)客戶端中查詢稻米的流通信息,溯源流程如圖1所示。

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

      Hyperledger Fabric作為聯(lián)盟鏈的代表具有去中心化、部署成本低、可擴展性高和數(shù)據(jù)安全可追溯等特點[7],其介于公有鏈與私有鏈之間,相較于公鏈更加適合企業(yè)內(nèi)部管理,只有通過認證才可以加入聯(lián)盟鏈中,相較于私有鏈能夠?qū)ν夥?wù),聯(lián)盟鏈更加符合實體對象較多的應(yīng)用場景,本文研究對象中涉及多方實體對象,所以本文選擇Hyperledger Fabric作為區(qū)塊鏈的技術(shù)切入點。

      系統(tǒng)架構(gòu)主要分為數(shù)據(jù)層、網(wǎng)絡(luò)層、合約層、應(yīng)用層,如圖2所示。

      1)數(shù)據(jù)層包括水稻種植信息、加工信息、質(zhì)檢信息、運輸信息、銷售信息的采集。

      2)網(wǎng)絡(luò)層采用Hyperledger Fabric的去中心化的分布式網(wǎng)絡(luò),加入同一通道中的節(jié)點可以通過錨節(jié)點進行通信,通過Kafka共識算法確保交易的一致性。

      3)合約層方面,通過上述分析的溯源流程,針對每個環(huán)節(jié)編寫不同的智能合約(基于Go語言),通過智能合約實現(xiàn)應(yīng)用與區(qū)塊鏈的交互服務(wù)。

      4)應(yīng)用層是提供稻米質(zhì)量溯源信息交互服務(wù)的可視化界面,通過智能合約提供的API接口對區(qū)塊數(shù)據(jù)進行信息交互,主要為種植環(huán)節(jié)客戶端、加工環(huán)節(jié)客戶端、運輸環(huán)節(jié)客戶端、質(zhì)檢環(huán)節(jié)客戶端、消費者溯源客戶端。

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

      3.1 區(qū)塊鏈網(wǎng)絡(luò)模塊

      基于所要構(gòu)建的系統(tǒng)架構(gòu),設(shè)計了基于區(qū)塊鏈技術(shù)的網(wǎng)絡(luò)模型,如圖3所示,五個Peer節(jié)點分別對應(yīng)種植環(huán)節(jié)、加工環(huán)節(jié)、質(zhì)檢環(huán)節(jié)、運輸環(huán)節(jié)、銷售環(huán)節(jié),分屬于五個組織:種植戶、加工廠商、質(zhì)檢廠商、運輸、銷售,排序節(jié)點采用Kafka集群的方式。Kafka具有高擴展性的特點,具有很高的容錯能力[8]。Orderer節(jié)點對Peer節(jié)點驗證通過后的交易進行排序,Orderer與Kafka集群直接通信,每個Peer節(jié)點根據(jù)業(yè)務(wù)邏輯編寫智能合約并且會有一個CA證書機構(gòu)用于身份注冊和認證,采用支持復(fù)雜查詢的CouchDB狀態(tài)數(shù)據(jù)庫對Peer節(jié)點進行數(shù)據(jù)的存儲,智能合約中提供的查詢功能可供消費者進行信息的查詢。各組織及安裝智能合約的信息如表1所示。

      3.2 智能合約設(shè)計

      智能合約是一組情景—應(yīng)對型的程序化規(guī)則和邏輯, 是部署在區(qū)塊鏈上的去中心化、可信共享的程序代碼。智能合約同樣具有區(qū)塊鏈數(shù)據(jù)的一般特征, 如分布式記錄、存儲和驗證, 不可篡改和偽造等[9]。由于溯源系統(tǒng)涉及種植、加工、質(zhì)檢、運輸、銷售五個環(huán)節(jié)且每個環(huán)節(jié)業(yè)務(wù)功能不完全相同。種植環(huán)節(jié)中需要上傳水稻基本信息和生長信息,基本信息可以一次上鏈,生長信息需要定期根據(jù)水稻生長情況上鏈;運輸環(huán)節(jié)中需要把水稻入庫出庫信息和運輸中定位信息上鏈;加工環(huán)節(jié)中需要把加工操作的步驟和加工人員信息上鏈;質(zhì)檢環(huán)節(jié)中需要把質(zhì)檢報告上鏈;銷售環(huán)節(jié)需要把簽收信息進行上鏈,基于以上需求,本文采用分模塊的智能合約,對不同環(huán)節(jié)設(shè)計不同智能合約,對應(yīng)組織安裝其對應(yīng)業(yè)務(wù)邏輯的智能合約。本文溯源系統(tǒng)鏈碼采用Go語言編寫,鏈碼功能包括上傳和查詢稻米種植信息、運輸信息、加工信息、質(zhì)檢信息。以種植環(huán)節(jié)智能合約為例,智能合約結(jié)構(gòu)如下:

      1)定義稻米結(jié)構(gòu)體,其中包含稻米名稱、種植時間、種植地點等,如圖4所示。

      2)實現(xiàn)對鏈碼的初始化和調(diào)用,調(diào)用包括稻米溯源信息查詢、上鏈、初始化賬本等功能。

      3)編寫實現(xiàn)方法,通過上述設(shè)計的功能編寫對應(yīng)的方法,圖6為稻米信息上傳功能代碼,對上傳信息判斷是否符合長度要求,若符合則將信息保存在賬本當(dāng)中。

      3.3 上鏈與溯源流程設(shè)計

      本文溯源系統(tǒng)上鏈流程如圖7所示,開發(fā)工具采用Fabirc- SDK-Java(以下簡稱SDK),首先客戶端發(fā)起上鏈服務(wù)請求,SDK對請求的用戶通過CA進行認證,認證通過后對應(yīng)組織節(jié)點的鏈碼會被調(diào)用,調(diào)用成功后上鏈信息會被存儲在CouchDB數(shù)據(jù)庫,上鏈信息結(jié)果會被返回客戶端。溯源過程與上鏈流程相似,用戶輸入溯源碼后,系統(tǒng)會將溯源碼對應(yīng)的稻米信息通過前端頁面顯示給用戶。

      4 系統(tǒng)測試與分析

      4.1 功能測試

      測試平臺為VMware虛擬機中預(yù)裝的Centos7.9,虛擬機為內(nèi)存16G、硬盤50G的配置,Hyperledger Fabric采用1.4.0版本,部署方式用單機多節(jié)點部署,運行在Docker容器中。

      Hyperledger Fabric網(wǎng)絡(luò)啟動前,需配置crypto-config.yaml和configtx.yaml文件用于生成組織信息、證書信息、創(chuàng)世區(qū)塊等,通過docker-compose.yaml文件啟動網(wǎng)絡(luò)。待網(wǎng)絡(luò)啟動后創(chuàng)建通道會生成通道配置文件,所有節(jié)點加入同一個通道當(dāng)中,Org1、Org2、Org3、Org4、Org5分別對應(yīng)五個環(huán)節(jié)的組織,將不同的鏈碼安裝到對應(yīng)組織的Peer節(jié)點,客戶端發(fā)起服務(wù)請求后,Peer節(jié)點會調(diào)用智能合約完成對應(yīng)功能,圖8為上鏈數(shù)據(jù)詳情。在系統(tǒng)查詢界面,輸入溯源碼可以完整地看到稻米流通的信息,圖9為對稻米溯源信息查詢。查看種植過程,會調(diào)用智能合約進行查詢。上述操作的區(qū)塊鏈后臺反饋如圖10,顯示認證成功后會根據(jù)輸入的溯源碼進行查詢并將查詢信息通過SDK傳送至客戶端,用戶就完成對稻米信息的查詢。

      4. 2 性能測試

      對于區(qū)塊鏈溯源來說,吞吐量 ( Transaction Per Second ,TPS) 可以很直觀地反映系統(tǒng)的整體性能,吞吐量計算公式如下:

      TPS = 事務(wù)處理數(shù)量 / 響應(yīng)時間? ? ? ? ? ? ? ? ? ? (1)

      系統(tǒng)吞吐量可以由服務(wù)器單位時間內(nèi)處理的交易數(shù)量來表示,以牧馬湖農(nóng)業(yè)開發(fā)集團稻米流通為例,稻米生產(chǎn)為按需加工,因此稻米溯源信息為同一批次的稻米,對同一次批次稻米只需上鏈一次,更多是需要對稻米信息進行查詢,所以本試驗主要針對系統(tǒng)查詢請求的吞吐量進行測試,測試工具采用Caliper-Benchmark對區(qū)塊鏈進行基準測試。圖11為測試結(jié)果,本次測試系統(tǒng)在交易并發(fā)量為50~1300筆/s時,系統(tǒng)吞吐量的變化情況。經(jīng)過壓力測試,交易并發(fā)量在50~150筆/s時,系統(tǒng)吞吐量提升較為明顯,交易量700~1100筆/s時,系統(tǒng)吞吐量無明顯的變化,交易并發(fā)量在1200筆/s附近達到峰值,之后再提升交易量,由于交易并發(fā)量較大,系統(tǒng)吞吐量已呈下降趨勢。通過對系統(tǒng)測試,其功能性得到有效驗證,系統(tǒng)吞吐量可以達到200~310筆/s,可以應(yīng)用于生產(chǎn)實踐當(dāng)中[10]。

      5 結(jié)論

      本文研究從稻米質(zhì)量溯源流程出發(fā),設(shè)計并實現(xiàn)了基于Hyperledger Fabric的稻米質(zhì)量溯源系統(tǒng),利用Hyperledger Fabric具有去中心化和不可被篡改的特性,有效解決了稻米質(zhì)量溯源信息可信度低的問題,從性能上來看,本文設(shè)計的系統(tǒng)交易吞吐量可達200~300筆/s,方案的可行性得到了驗證,通過將水稻質(zhì)量溯源與區(qū)塊鏈技術(shù)結(jié)合能夠有效防止不法商家通過篡改稻米信息而將質(zhì)量不合格的產(chǎn)品流入市場。

      參考文獻:

      [1] Fang Fuping,Cheng Shihua.The development of rice science, technology and industry in China[J].Journal of Agriculture,2018,8(1):92-98.

      [2] Guo Lijing,Wang Ying.Study on overdose of pesticides in rice production in China: based on the perspective of maximizing social and private interests[J].Journal of Ecolo-gy and Rural Environment,2018,34(5):401-407.

      [3] Sun S,Wang X.Promoting traceability for food supply chain with certification[J].Jo-urnal of Cleaner Production,2019,217:658-665.

      [4] 李明佳,汪登,曾小珊,等.基于區(qū)塊鏈的食品安全溯源體系設(shè)計[J].食品科學(xué),2019,40(3):279-285.

      [5] Lu Y.The blockchain: state-of-the-art and research challenges[J].Journal of Industrial Information Integration,2019(15):80-90.

      [6] Creydt M,F(xiàn)ischer M.Blockchain and more–Algorithm driven food traceability[J].Food Control,2019,105:45-51.

      [7] 黃立波,王偉,徐彥軍,等.基于區(qū)塊鏈的數(shù)字結(jié)業(yè)證書管理系統(tǒng)及其性能評估[J].華東師范大學(xué)學(xué)報(自然科學(xué)版),2020(6):72-81.

      [8] 馮國富,胡俊輝,陳明.基于區(qū)塊鏈的水產(chǎn)品交易溯源系統(tǒng)研究與實現(xiàn)[J].漁業(yè)現(xiàn)代化,2022,49(1):44-51.

      [9] 袁勇,王飛躍.區(qū)塊鏈技術(shù)發(fā)展現(xiàn)狀與展望[J].自動化學(xué)報,2016,42(4):481-494.

      [10] 張朝棟,王寶生,鄧文平.基于側(cè)鏈技術(shù)的供應(yīng)鏈溯源系統(tǒng)設(shè)計[J].計算機工程,2019,45(11):1-8.

      【通聯(lián)編輯:梁書】

      猜你喜歡
      智能合約稻米
      隱藏于稻米花果中的酒香
      美食(2022年5期)2022-05-07 22:27:35
      稻米飄香醉人時光
      稻米香噴噴
      發(fā)揮內(nèi)外因作用 促進稻米業(yè)發(fā)展
      農(nóng)產(chǎn)品供應(yīng)鏈金融信用體系框架設(shè)計
      基于區(qū)塊鏈技術(shù)的去中心化數(shù)字出版平臺研究
      區(qū)塊鏈技術(shù)在互聯(lián)網(wǎng)保險行業(yè)的應(yīng)用探討
      區(qū)塊鏈技術(shù)在會計中的應(yīng)用展望
      會計之友(2016年17期)2016-11-02 16:05:15
      智能合約與金融合約
      商(2016年6期)2016-04-20 17:50:36
      阿維菌素在稻米中的殘留檢測
      鹤岗市| 罗甸县| 钦州市| 那坡县| 张北县| 庆城县| 瑞丽市| 虎林市| 常山县| 临清市| 蒙山县| 新津县| 锡林郭勒盟| 蕉岭县| 广汉市| 旅游| 西宁市| 晋中市| 张家口市| 南漳县| 仙桃市| 平度市| 乾安县| 军事| 黄龙县| 镇安县| 崇信县| 拜城县| 竹北市| 科尔| 顺平县| 化德县| 白河县| 玉田县| 中山市| 永济市| 广东省| 武安市| 即墨市| 大足县| 阿坝县|