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

?

基于區(qū)塊鏈的農(nóng)產(chǎn)品追溯系統(tǒng)架構(gòu)研究

2018-10-31 08:38何小東陳建華
河南農(nóng)業(yè)科學 2018年10期
關鍵詞:分布式架構(gòu)區(qū)塊

孫 俊,何小東,陳建華

(中南林業(yè)科技大學 計算機與信息工程學院,湖南 長沙 410004)

農(nóng)產(chǎn)品的安全追溯是全國乃至全世界關注的熱門問題。我國農(nóng)業(yè)農(nóng)村部將2018年確定為農(nóng)業(yè)質(zhì)量年,以此來確保農(nóng)產(chǎn)品安全問題;同年3月召開的全國兩會上,多位委員再次提出要加強農(nóng)產(chǎn)品全程監(jiān)管,實現(xiàn)質(zhì)量可追溯。

目前,在農(nóng)產(chǎn)品追溯系統(tǒng)的研究上,李琳等[1]、孫書謹?shù)萚2]研究了基于RFID技術(shù)的追溯系統(tǒng);張京京等[3]設計了基于NFC的農(nóng)產(chǎn)品追溯系統(tǒng);李建偉[4]、董玉德等[5]、申強等[6]研究了追溯系統(tǒng)中供應鏈的優(yōu)化;楊信廷等[7]、張馳等[8]闡述了農(nóng)產(chǎn)品追溯系統(tǒng)中關鍵技術(shù)的研究進展;劉佳[9]研究了基于二維碼技術(shù)的追溯系統(tǒng);顏波等[10]研究了物聯(lián)網(wǎng)環(huán)境下追溯系統(tǒng)的監(jiān)管體系。但以上研究仍不能完全解決農(nóng)產(chǎn)品追溯系統(tǒng)中心化管理及數(shù)據(jù)易被篡改的問題。區(qū)塊鏈作為一種基于非對稱加密算法和共識機制的分布式數(shù)據(jù)庫,通過各節(jié)點的集體維護保證網(wǎng)絡的穩(wěn)定運行,具有去中心化、可追溯性、一致性與不可篡改等特性[11]。為此,本研究提出基于區(qū)塊鏈的農(nóng)產(chǎn)品追溯系統(tǒng)框架模型,將區(qū)塊鏈的技術(shù)框架同現(xiàn)有農(nóng)產(chǎn)品追溯系統(tǒng)的框架相融合,研究解決農(nóng)產(chǎn)品追溯系統(tǒng)因中心化管理,導致數(shù)據(jù)不便及時共享、存儲不安全、難以追溯等問題,以提高農(nóng)產(chǎn)品追溯系統(tǒng)的魯棒性和數(shù)據(jù)的可靠性。

1 區(qū)塊鏈概述

1991年, Haber等[12]第一次描述了區(qū)塊的加密鏈,并于1992年將Merkle樹并入加密鏈,以便多份文件集中于一個區(qū)塊中;2008年,Nakamoto[13]在其論文《比特幣:一種點對點的電子現(xiàn)金系統(tǒng)》中首次引用了區(qū)塊鏈并闡述了相關原理。區(qū)塊鏈可以理解為一種基于密碼學方法、按時間順序相連的鏈式數(shù)據(jù)結(jié)構(gòu),其作為一個分布式賬本,不需要借助或依賴第三方信用,具有數(shù)據(jù)一致性、不可篡改性、可追溯性以及去中心化的特性[14]。

區(qū)塊鏈現(xiàn)階段主要包括公有鏈(Public blockchain)、私有鏈(Private blockchain)和聯(lián)盟鏈(Consortium blockchain)3種類型[15-16],各適應于不同的場合,具有不同的特性。公有鏈是最早的區(qū)塊鏈,基于特定的共識機制和激勵機制,共識過程的各節(jié)點通過密碼學原理以及代幣獎勵等激勵機制共同維護數(shù)據(jù)庫的安全,具有去中心化、訪問門檻低、數(shù)據(jù)無法篡改等特點;私有鏈適應對象為個人或組織,其中各個節(jié)點的讀取和寫入權(quán)限受控制,但其交易速度非???,為隱私提供了保障,螞蟻金服就是私有鏈的典型代表;聯(lián)盟鏈介于公有鏈和私有鏈,屬于多中心化,超級賬本(Hyperledger)是聯(lián)盟鏈運用的典型[14]。公有鏈、聯(lián)盟鏈、私有鏈的各自特征見表1。

表1 公有鏈、聯(lián)盟鏈、私有鏈的特征

區(qū)塊鏈的主要技術(shù)特點:(1)不可篡改性。區(qū)塊鏈中提供了多種共識機制可防止數(shù)據(jù)的篡改和刪除。(2)去中心化,分布式容錯。區(qū)塊鏈中的數(shù)據(jù)分布式存儲,不需要統(tǒng)一的軟硬件,同時分布式系統(tǒng)使得網(wǎng)絡抗攻擊性強,理論上能容許一半的節(jié)點出錯。(3)一致性、可追溯性。區(qū)塊鏈中的數(shù)據(jù)嚴格按照加密算法進行存儲和核算,能保證數(shù)據(jù)的一致性,相鄰的2個區(qū)塊通過區(qū)塊頭的哈希值達到鏈式效果,也方便追溯時定位某次數(shù)據(jù)的所屬區(qū)塊。

綜上,利用區(qū)塊鏈共識機制、分布式存儲、加密等技術(shù)特點,能針對性地解決農(nóng)產(chǎn)品追溯系統(tǒng)中,企業(yè)和部門間數(shù)據(jù)不共享、中間環(huán)節(jié)數(shù)據(jù)可能被惡意篡改以及數(shù)據(jù)來源不明等問題。本研究擬采用聯(lián)盟鏈作為組織模式,以在保證交易速度的情況下,能實現(xiàn)部分去中心化,同時保證系統(tǒng)的安全性和公開透明性。

2 追溯系統(tǒng)架構(gòu)的設計與比較

2.1 架構(gòu)設計

本研究提出的基于區(qū)塊鏈的農(nóng)產(chǎn)品追溯系統(tǒng)基本架構(gòu)分為數(shù)據(jù)層、網(wǎng)絡層、共識層、激勵層、合約層和應用層(圖1)。其中,區(qū)塊鏈技術(shù)主要應用于框架中的數(shù)據(jù)層、網(wǎng)絡層、共識層和應用層。

數(shù)據(jù)層負責將通過數(shù)字化方式采集到的數(shù)據(jù)進行分布式存儲,將數(shù)據(jù)記錄到區(qū)塊主體的Merkle樹中,Merkle樹中的所有數(shù)據(jù)通過Hash求值得出Merkle樹的根,并將根值保存在區(qū)塊頭中,同時將上一個區(qū)塊頭的80字節(jié)數(shù)據(jù)進行SHA256運算,作為當前區(qū)塊的父哈希值,形成哈希鏈式結(jié)構(gòu),區(qū)塊蓋上時間戳加上數(shù)字簽名后便開始生效,區(qū)塊一經(jīng)形成則不可篡改。

網(wǎng)絡層負責數(shù)據(jù)的傳播和驗證。農(nóng)產(chǎn)品整個生命周期中涉及到的身份識別、源位置、屬性、認證等數(shù)據(jù)均與一個特定的項目或批次ID相連接,認證授權(quán)中心通過參與者擁有的密鑰與農(nóng)產(chǎn)品ID號來判斷節(jié)點的權(quán)限。節(jié)點收到各環(huán)節(jié)上傳的數(shù)據(jù)后,通過P2P網(wǎng)絡向全網(wǎng)廣播。數(shù)據(jù)在流轉(zhuǎn)過程中(如棉花從種植地到加工廠的流轉(zhuǎn)中),產(chǎn)品的所屬關系發(fā)生轉(zhuǎn)移,2個節(jié)點間在達成協(xié)議后,使用數(shù)字簽名(多重簽名)和時間戳,來保證信息不會被篡改;P2P的組網(wǎng)方式使得每個節(jié)點均以扁平式拓撲結(jié)構(gòu)相連接,參與者根據(jù)所分配的密鑰對應相應的權(quán)限,生廠商和供應商無法獲知第三方人員的權(quán)限信息[17]。

圖1 基于區(qū)塊鏈的農(nóng)產(chǎn)品追溯系統(tǒng)架構(gòu)

共識層采用實用拜占庭容錯協(xié)議(PBFT),以保證數(shù)據(jù)在網(wǎng)絡傳播和存儲過程中不被惡意節(jié)點篡改,即使在網(wǎng)絡中有不明節(jié)點的情況下仍能達成共識,同時不同于PoW和PoS機制,拜占庭容錯協(xié)議不需要依賴數(shù)字貨幣,能減少大量計算所造成的資源浪費問題。

應用層為不同的主體提供相應的權(quán)限和接口,生產(chǎn)商、供貨商、經(jīng)銷商等企業(yè)可通過系統(tǒng)界面,向區(qū)塊鏈輸入指定農(nóng)產(chǎn)品的主要信息。同時,企業(yè)和消費者都能通過相應的系統(tǒng)平臺,進行產(chǎn)品的查詢、追溯和驗證,相關的政府權(quán)威機構(gòu)則負責制定標準條例,實時監(jiān)督。

2.2 架構(gòu)比較

本研究將傳統(tǒng)的農(nóng)產(chǎn)品追溯系統(tǒng)與基于區(qū)塊鏈的農(nóng)產(chǎn)品追溯系統(tǒng)進行架構(gòu)比較(圖2),傳統(tǒng)的農(nóng)產(chǎn)品追溯系統(tǒng)大都采用B/S(Browser/Server)網(wǎng)絡架構(gòu),將數(shù)據(jù)存放在服務器的Oracle、SQL等數(shù)據(jù)庫中,同時整個農(nóng)產(chǎn)品追溯系統(tǒng)擁有一個中心數(shù)據(jù)庫,在權(quán)威政府和相關標準組織的監(jiān)管下,對溯源數(shù)據(jù)進行集中式管理。而在基于區(qū)塊鏈的農(nóng)產(chǎn)品追溯架構(gòu)中,用戶通過系統(tǒng)界面注冊后,會自動獲取1對密鑰(1個公鑰和1個私鑰)[18],區(qū)塊鏈網(wǎng)絡根據(jù)密鑰所屬類型開放對應權(quán)限。消費者只可以查詢和追溯農(nóng)產(chǎn)品數(shù)據(jù),生產(chǎn)商、供應商等環(huán)節(jié)中的人員可進行數(shù)據(jù)錄入和查詢,權(quán)威機構(gòu)的政府或標準化組織甚至還可以查看數(shù)據(jù)錄入人員的個人信息等。整個區(qū)塊鏈基于P2P網(wǎng)絡,每個節(jié)點的計算機都可充當服務器。

基于區(qū)塊鏈的農(nóng)產(chǎn)品追溯系統(tǒng)在傳統(tǒng)的農(nóng)產(chǎn)品追溯系統(tǒng)基礎上,有一定的創(chuàng)新。首先,P2P的網(wǎng)絡結(jié)構(gòu)使數(shù)據(jù)分布式存儲于各節(jié)點,其分布式容錯特性,減少了網(wǎng)絡攻擊對數(shù)據(jù)的影響,區(qū)塊鏈的哈希鏈式結(jié)構(gòu)也排除了人為篡改的可能;其次,聯(lián)盟鏈的組織模式對不同主體開放對應權(quán)限、區(qū)塊鏈的鏈式結(jié)構(gòu)和時間戳等技術(shù),也方便了用戶對數(shù)據(jù)的查詢和追溯;最后,區(qū)塊鏈是一個共享性的分布式數(shù)據(jù)庫,不需要用戶從生產(chǎn)商、銷售商等一級一級往上查詢(追溯)數(shù)據(jù),同時數(shù)據(jù)不可篡改的特性,也使數(shù)據(jù)的可信度大大提高。

2.3 應用場景

以魚肉制品為例,探討基于區(qū)塊鏈的農(nóng)產(chǎn)品追溯系統(tǒng)架構(gòu)在魚肉制品追溯中的應用。監(jiān)管組織可借助區(qū)塊鏈開源平臺客戶端提供的硬代碼,初始化數(shù)據(jù)生成創(chuàng)世區(qū)塊,也可以利用python、java等編程語言自行建立創(chuàng)世區(qū)塊,自行創(chuàng)建的過程中,需要定義區(qū)塊的時間戳、hash值、工作量證明等數(shù)據(jù)結(jié)構(gòu);隨即監(jiān)管組織將包含創(chuàng)世區(qū)塊、域名數(shù)組、IP地址數(shù)組等基礎組件的區(qū)塊鏈向外發(fā)布對外接口;魚肉制品追溯中的相關單位第一次訪問該區(qū)塊鏈將創(chuàng)建一個節(jié)點,之后的每次訪問都會通過連接項目中的域名和IP地址,加載驗證本地區(qū)塊或者同步區(qū)塊鏈;追溯環(huán)節(jié)的相關單位通過私鑰連接網(wǎng)絡,在系統(tǒng)中輸入數(shù)據(jù),數(shù)據(jù)驗證成功后,信息將以序列化的數(shù)據(jù)形式存儲在產(chǎn)品信息電子檔中。在追溯系統(tǒng)中,產(chǎn)品信息電子檔是農(nóng)產(chǎn)品信息的體現(xiàn)方式。產(chǎn)品信息電子檔包括以下幾個方面:追溯環(huán)節(jié)中相關單位的信息、時間戳、農(nóng)產(chǎn)品信息。同時,產(chǎn)品信息電子檔中嵌入了一定的硬代碼,使不同身份對應不同權(quán)限。

圖2 不同追溯系統(tǒng)網(wǎng)絡架構(gòu)對比

以魚肉制品為例,分析其在生產(chǎn)、加工、銷售和追溯等環(huán)節(jié)中數(shù)據(jù)的錄入與追溯。首先,在追溯過程中涉及到的個人或企業(yè)要由權(quán)威機構(gòu)認證其身份信息,并由審計系統(tǒng)對相關的外部條件進行驗證,驗證通過后,參與者在基于區(qū)塊鏈的農(nóng)產(chǎn)品追溯系統(tǒng)上注冊登記身份賬戶,系統(tǒng)自動分配對應的1對密鑰,密鑰決定了與參與者身份相對應的權(quán)限。

養(yǎng)殖(生產(chǎn))中,養(yǎng)殖場為所有魚類進行身份標識,并將屬性、所處位置、飼料信息、檢測免疫等數(shù)據(jù)輸入系統(tǒng)中,區(qū)塊鏈根據(jù)地理位置和生產(chǎn)時間自動生成唯一的ID號。ID號與數(shù)據(jù)記錄相連,一起存儲在區(qū)塊鏈中,隨后系統(tǒng)平臺為每個魚肉制品自動生成附帶時間戳的產(chǎn)品信息電子檔。

在魚肉加工成新產(chǎn)品的過程中,產(chǎn)品信息電子檔發(fā)生轉(zhuǎn)移,權(quán)威機構(gòu)需要事先確定合理的加工用料的計算方法(如金槍魚在加工成罐裝的過程中,200 g金槍魚最多用10 mL橄欖油),并將實施過程存儲于區(qū)塊鏈合同中用于驗證,加工環(huán)節(jié)中的參與者將產(chǎn)品類型、用料含量、包裝材料、保質(zhì)期等信息數(shù)字化存儲于區(qū)塊鏈中,隨即更新產(chǎn)品信息電子檔。經(jīng)過加工后的魚肉成了罐頭、魚塊等不同的新產(chǎn)品,新產(chǎn)品最終分銷到超市、魚販、餐廳等不同場所。銷售企業(yè)或個人必須明確產(chǎn)品來源,同時將產(chǎn)品價格、售出時間等信息寫入產(chǎn)品信息電子檔,保證區(qū)塊鏈中數(shù)據(jù)的完整性和連貫性。

最終,消費者、企業(yè)、相關機構(gòu)均可通過二維碼、條形碼、RFID等訪問產(chǎn)品的信息電子檔,追溯和查詢產(chǎn)品的整個流通過程。在魚肉生產(chǎn)加工的每個環(huán)節(jié)中,認證機構(gòu)都可介入審核數(shù)據(jù)。另外,不同身份對應查詢到不同的產(chǎn)品信息,消費者只能看到與產(chǎn)品相關的主要信息,如保質(zhì)期、生產(chǎn)地、生產(chǎn)時間、產(chǎn)品價格等,相關監(jiān)管機構(gòu)可以查詢到各環(huán)節(jié)中的參與者信息、制作流程等細節(jié)(圖3)。產(chǎn)品的標識符通過區(qū)塊鏈傳遞,區(qū)塊鏈是所有數(shù)字化信息存儲和流通的載體。

圖3 基于區(qū)塊鏈的魚肉制品追溯系統(tǒng)流程

3 結(jié)論與討論

本研究將區(qū)塊鏈技術(shù)與現(xiàn)有農(nóng)產(chǎn)品追溯系統(tǒng)的架構(gòu)相融合,提出了基于區(qū)塊鏈的農(nóng)產(chǎn)品追溯系統(tǒng)基本架構(gòu),并對架構(gòu)各層功能進行詳細分析。同時將該系統(tǒng)與傳統(tǒng)的農(nóng)產(chǎn)品追溯系統(tǒng)進行比較,具有去中心化、數(shù)據(jù)分布式存儲的特點,避免了因有中心而易受網(wǎng)絡攻擊的問題,提高了系統(tǒng)的魯棒性;數(shù)據(jù)區(qū)塊的鏈式結(jié)構(gòu)和時間戳排除了人為篡改的可能性,提高數(shù)據(jù)的可信度和可靠性。以魚肉制品追溯系統(tǒng)為例,說明了基于區(qū)塊鏈的追溯系統(tǒng)在生產(chǎn)、加工、銷售和監(jiān)管等各個環(huán)節(jié)的追溯流程,探討了系統(tǒng)實際應用的可行性,為進一步研究和建立基于區(qū)塊鏈的農(nóng)產(chǎn)品追溯系統(tǒng)原型提供技術(shù)參考。

由于目前區(qū)塊鏈技術(shù)還處于起步階段,該系統(tǒng)受限于當前區(qū)塊鏈的技術(shù)現(xiàn)狀,區(qū)塊鏈要求系統(tǒng)中的各個節(jié)點均存儲數(shù)據(jù)備份,這對于擁有海量數(shù)據(jù)的追溯系統(tǒng)來說是受限的,區(qū)塊鏈的性能和效率亟待提高[18]。同時,本研究主要保證數(shù)據(jù)錄入系統(tǒng)后數(shù)據(jù)不被篡改,但對于數(shù)據(jù)源頭即錄入之前數(shù)據(jù)被篡改的情況未設計保障機制。因此,在后續(xù)的研究中,將著重考慮數(shù)據(jù)錄入之前到數(shù)據(jù)查詢整個過程中數(shù)據(jù)的一致性,并提高本系統(tǒng)的性能效率,實現(xiàn)可實用的系統(tǒng)原型。

猜你喜歡
分布式架構(gòu)區(qū)塊
基于FPGA的RNN硬件加速架構(gòu)
基于RTDS的分布式光伏并網(wǎng)建模研究
功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應用和實踐
區(qū)塊鏈:一個改變未來的幽靈
區(qū)塊鏈:主要角色和衍生應用
《紅樓夢》的數(shù)字化述評——兼及區(qū)塊鏈的啟示
基于云服務的圖書館IT架構(gòu)
一場區(qū)塊鏈引發(fā)的全民狂歡
基于預處理MUSIC算法的分布式陣列DOA估計
VoLTE時代智能網(wǎng)架構(gòu)演進研究