?

應用于食品追溯體系的區塊鏈架構設計

2019-12-12 07:06仵冀穎馬志遠
計算機應用與軟件 2019年12期
關鍵詞:架構區塊節點

仵冀穎 杜 聰 馬志遠 鄭 剛

(國家市場監管總局信息中心 北京 100088)

0 引 言

改革開放以來,我國經濟發展的特征屬于發展型國家經濟體制,國家在市場資源配置中起著關鍵性的決定作用,即資源配置、經濟發展目標、發展策略等都由政府發揮核心作用,在市場監管領域中由政府駕馭市場。隨著我國市場經濟的不斷發展,政府和市場之間的關系不斷發生變化,政府在市場中的行為逐漸轉變為公平監管、維護公平競爭、維持市場秩序、塑造良好營商環境等,我國的市場監管體系進入重構階段。

2015年國務院辦公廳下發《國務院辦公廳關于加快推進重要產品追溯體系建設的意見》(以下簡稱《意見》),明確要求對食用農產品、食品、藥品、稀土產品等重要產品建立追溯體系,利用現代信息技術,提升全過程的安全監管、風險控制水平,創新市場監管模式?!兑庖姟芬?,食用農產品、食品、藥品、主要農業生產資料、特種設備和危險品、稀土產品等在統一規劃下分類建設追溯體系。統一規劃明確了“強化企業主體責任”和“發揮政府督促引導作用”的要求。根據《意見》要求,追溯體系要能夠覆蓋重要產品從原材料供應直至消費者的全鏈條,同時積極發揮第三方技術機構的作用,為監管部門提升監管水平提供技術支持。

近年來,互聯網、信息技術不斷發展,新技術、新產品、新成果不斷涌現。云計算、大數據、物聯網、5G、區塊鏈等新的技術在各行各業中的應用不斷推廣,沖擊了市場環境,也給市場監管體系重構帶來了機遇和挑戰[1-3]。食品安全是關系到國計民生的重中之重,加強對食品安全的監管、提高食品安全水平是國家的重要目標,也是市場監管總局以及各級市場監管機關的重要任務。

本文重點探討區塊鏈技術在追溯體系中的應用,以食品作為實例,探討搭建鏈接食品的原材料供應商、生產商、倉儲物流平臺、經銷商、分銷商、零售商,以及技術機構、消費者和監管部門的區塊鏈,實現食品相關生產、銷售、監管信息全程共享、實時可追溯。以區塊鏈平臺為依托,根據不同參與方的需求開發應用端系統,構建完整的食品追溯體系。依托區塊鏈技術,探索創新食品追溯體系的構建,完善監管手段,提升監管的科學化、規范化水平。

1 區塊鏈技術在食品追溯中的應用

1.1 區塊鏈技術背景

區塊鏈是近幾年來信息技術領域的重點研究內容,最初用于比特幣交易,隨后陸續應用在金融、供應鏈以及稅務等行業中,成為了解決多參與方信任問題的有效技術手段[5-6]。區塊鏈并不是一種全新的技術,其本質上是一個去中心化的數據庫,基于非對稱加密、共識機制、智能合約、分布式賬本等傳統的信息技術構建的新型應用架構。區塊鏈網絡架構通過合理利用各項技術,滿足了去中心化的數據信任、數據安全以及通用性等要求。同時有效利用時間戳技術,實現了數據的可靠性保證及不可篡改,因此能夠在跨主體的業務應用中解決以往只能通過業務協調解決的問題[4]。

早期區塊鏈產品搭建完全去中心化的公有鏈,通過共識機制、智能合約實現多參與方的可靠數據交換,不執行實時事務處理[7-9]。后期區塊鏈產品不斷應用于事務交互處理的信息化中,通過聯盟鏈、私有鏈等方式實現在一定范圍內的去中心化,即有效去中心化[10-11]。這類區塊鏈產品設有專門的管理機構或管理平臺來控制鏈上節點的驗證和授權,這種有效去中心化與區塊鏈完全無中心化的初衷并不完全一致,但能夠滿足部門內部或行業內部的可靠性互聯互通。

1.2 食品追溯中的應用

根據《意見》要求,近年來,各地區和有關部門利用信息化技術積極探索構建重要產品的追溯體系。各類產品生產及經營主體、技術機構等根據業務需要陸續建立了信息化系統,實現了業務流程的電子化處理和重要信息的電子化存檔。同時部分產品根據需要已經構建追溯信息化系統,包括生產企業自建的追溯系統和第三方檢驗認證機構主導建立的追溯系統兩類,實現了一定范圍內、一定產品的可追溯。這些業務系統和追溯系統利用物聯網、云計算等信息技術,同時運用大數據分析等技術手段不斷提升風險預測、市場反應評估的水平,一定程度上為產品監管提供了有效手段。

以食品監管為例,市場監管部門依托現有的信息化手段,主要通過第三方檢測機構出示證書、生產商或銷售商向監管機構備案信息、監管機構抽檢等方式實施市場監管。這種監管模式仍存在一些問題:(1) 監管以信息填報的信息化系統為基礎,手工填報錄入的數據存在人為主觀錯誤錄入和誤操作輸入等可能,信息化系統多為企業自建,數據的真實性、準確性不高;(2) 由不同業務主體主導開發的業務系統、追溯系統等,應用的開發技術不同、數據格式和數據標準不統一,針對同一產品的編號也不同,因此無法實現對同一產品的全流程追溯;(3) 傳統的監管方式以執法、抽查為主要手段,這種監管手段以事后監督為主,不能做到有效的實時監控,一旦涉及仲裁,往往需要漫長的取證過程。

構建食品追溯體系涉及多參與方信任的問題,本文引入區塊鏈技術,利用區塊鏈不可篡改、數據一致性、可追溯性等特點,有效構建政府監管機構、企業主體、第三方監管機構等的聯盟鏈,從而實現食品相關各類產品信息的全流程共享。由于區塊鏈中對數據的產生、交易、流轉、計算、分析、應用等過程全程留痕,因此數據質量具有前所未有的強信任背書,數據的分析效果、挖掘質量等都有保證。

2 食品追溯體系的區塊鏈架構設計

《意見》要求,在重要產品監管過程中要“強化企業主體責任”和“發揮政府督促引導作用”,因此在追溯體系建設過程中既具有企業主體多參與方的特點,也依然保留政府市場監管機制的督促引導作用,并不是完全的無中心化。此外,完全無中心化的公有鏈的智能合約機制執行的實時性、處理速度等無法滿足在線實時業務辦理的要求。而純私有鏈與現階段的分布式架構、云平臺架構等并無本質區別,只是增加了一個不可篡改、數據可信的功能,對于全鏈條、多參與方的應用并不適用。因此在食品追溯體系建設過程中應用區塊鏈技術,應當構建以政府市場監管機構為核心的聯盟鏈。本文提出一種區塊鏈架構設計,包含用戶層、應用系統層、接入層以及區塊鏈平臺四層。具體網絡架構見圖1。

圖1 區塊鏈網絡架構

2.1 用戶層

用戶層主要指各參與方,具體到食品追溯系統中,包括原材料供應商、生產商、分銷商、零售商,以及監管部門、技術機構、消費者等。不同參與方根據參與角色與系統進行不同的交互,有的作為數據產生者與區塊鏈網絡進行數據傳輸,有的則主要是數據查詢的節點。用戶層直接訪問應用系統,從用戶層的角度來說,整個基于區塊鏈的追溯體系相當于一個沙箱,用戶的體會、操作與訪問一般信息化系統并無明顯區別。

2.2 應用系統層

應用系統層通過接入層接入區塊鏈平臺,其作用類似于傳統架構下的應用系統。應用系統層調用網關接入平臺的方式主要有SQL和API兩種,本文建議基于微服務架構進行應用系統開發,從而通過API方式接入區塊鏈平臺。微服務架構是一種全新的應用架構理念,通過對業務進行梳理,提煉出共性的服務,從而改變傳統應用架構強耦合的特點,提供松耦合的服務支撐。微服務架構是一種分布式的應用架構,因此特別適合于分布式數據庫架構的區塊鏈。在追溯體系中,參與方往往具有多重角色,例如食品生產商掌握著食品的生產信息,同時也關注原材料、銷售情況以及消費者反饋信息等,因此基于微服務架構的應用系統能夠快速響應參與方需求,通過統一的API網關進行服務功能的調用。

(1) 數據生成問題。應用系統根據業務需要產生各類數據以及日志記錄等,但并不是應用系統中生成的全部數據都需要上鏈,全量數據一般仍然保存在應用系統本地數據庫中,本文稱這些本地數據庫為節點服務器。節點服務器的一部分作用類似傳統架構中的應用服務器,其中存儲了對應業務的全量業務數據,部署了基礎操作系統、數據庫等。用戶層根據自身需要登錄訪問或直接處理節點服務器。用戶層在自身的節點服務器中發布各類應用,滿足自身各類業務處理需要。在區塊鏈網絡中,節點服務器除了上述一般性要求外,還部署應用了區塊鏈技術,包括:節點之間的點對點網絡傳輸技術、分布式賬本技術、不對稱加密及驗證技術等。

針對食品追溯的應用需求,為了完整構建可靠、可用的食品追溯體系,本文梳理了各參與方必須提供的上鏈數據。生產企業上鏈信息包括產品配方信息、原輔材料管理記錄、生產加工記錄、成品管理記錄、銷售管理記錄、風險信息收集記錄以及產品召回信息等。

供應商是食品追溯的流通環節,作為整體追溯的重要環節需將流通的相關標準信息上鏈,具體包括:生產企業名稱,生產批次信息,采購信息,資質審核記錄,供應商審批記錄,食品原料、食品添加劑和食品相關產品名稱,規格,生產日期,保質期,進貨數量,進貨日期,使用信息等。

經營商是整個食品追溯的末端環節,直接對應消費者。經營商掌握了除食品基本信息外的重要客戶評價信息,因此需按標準上鏈的信息有:產品名稱,產品編碼,規格,生產日期及批號,經營企業名稱,數量,銷售區域,銷售記錄,商品發貨信息,出庫時間,出庫數量,責任人,發往單位及接收人,消費者點評信息,消費者投訴信息等。

技術機構是整個追溯流程中的第三方環節,能夠將食品的抽樣、采樣、檢測結果等信息按標準上鏈,為其他環節的安全追溯提供信息支撐。具體的上鏈信息包括:生產企業信息,供應商信息,經營企業信息,消費者點評和投訴舉報信息,監管部門發布信息等。

(2) 數據一致性問題。對于區塊鏈架構來說,數據一致性是應用的難點之一,即如何保證面向用戶層的應用系統中存儲的數據與區塊鏈中的數據一致。由于區塊鏈具有不可篡改性,數據一旦記賬成功則不可能再修改,而區塊鏈的記賬結果也不是實時反饋的。

本文提出的微服務架構的應用系統采用異步處理模式,即發出數據上鏈記賬的申請后會處于等待狀態。當微服務得到上鏈記賬成功的通知后執行節點服務器中的數據庫更新操作,而一旦記賬失敗能夠執行反交易處理。圖2給出了基于本文架構實現食品追溯體系數據一致性的過程:應用系統層執行操作后完成業務流水的記錄,啟動調用區塊鏈平臺,同時在節點服務器中對應的事件表中留下此次調用的記錄,完成操作。應用系統層等待區塊鏈平臺反饋,反饋記賬成功則更新時間表,反饋記帳失誤則執行業務補償操作。

圖2 數據一致性過程

為了保證鏈上數據的準確性,需要定期進行數據對賬處理。由于區塊鏈的不可篡改性,對賬的過程以區塊鏈平臺中的數據為準。

具體對賬流程見圖3,由應用系統層發起對賬操作請求,提供業務數據的ID和對賬文件,區塊鏈平臺收到請求后查詢對應的ID及對賬文件,應用系統層執行對賬操作,以區塊鏈平臺中的數據為依據對應用的結果做相應的處理。

圖3 對賬流程

由數據一致性和對賬處理流程可以看出,基于區塊鏈的食品追溯體系中數據以區塊鏈平臺中的數據為依據,一旦數據上鏈則不可再次更改,這就給應用系統的開發和用戶層的使用提出了更高的要求。傳統應用系統使用出錯后允許操作員再次修改或由管理員修改后臺數據庫,這些操作在區塊鏈架構的系統中都是不允許的。例如,原材料供應商錄入材料有誤,上傳鏈上后生產商、銷售商、消費者等能夠查詢的都是錯誤的材料。不可修改的系統架構給應用系統的日常使用、程序開發等都提出了更高的要求。

2.3 網關接入層

區塊鏈網絡和應用系統之間通過網關接入層連接。本文提出微服務架構的應用系統,因此通過API方式完成調用。網絡接入層的主要功能包括通信網關、事件監聽,同時會配合微服務應用框架,完成上文中提到的數據一致性、對賬功能等。網關接入層的具體流程見圖4。

圖4 網關接入層流程

區塊鏈平臺受自身技術限制,包括共識機制、智能合約等,服務能力和處理速度有限,以太網等公有鏈甚至無法滿足實時業務處理的要求。為了協調應用系統和區塊鏈平臺之間的服務能力,接入層采用異步處理的模式。應用系統層可多次調用接入層,而接入層只在一定時間內調用一次區塊鏈平臺。這種機制允許應用系統層在一定時間內對上鏈數據進行修改。

區塊鏈平臺中有新的數據上鏈、記賬簿發生變化后,需要通過接入層的事件偵聽機制通知應用系統。區塊鏈平臺本身為了保證數據一致性,不支持單獨對外調用。輪詢機制見圖5。

圖5 輪詢機制

2.4 區塊鏈平臺

區塊鏈平臺是整個追溯體系的核心,主要包括協議層和擴展層。協議層是整個區塊鏈網絡最底層技術。早期區塊鏈網絡應用于事務處理,基于開源的區塊鏈產品,一般封裝為類似操作系統的成熟產品,對外提供API調用。

協議層中具體還可區分為數據層、網絡層、共識層。數據層中創建規格相同的區塊通過鏈式結構構成主鏈。本文為了保證食品追溯信息的安全、可信,不允許生成側鏈。隨著新的產品上鏈,區塊鏈主鏈不斷延長,網絡層依靠P2P技術,每一個節點都可獨立對外服務,節點能創造新的區塊并對外廣播。節點生成區塊的有效性則通過共識層中的共識機制來判斷,常用共識機制包括PoS、PoW等,本文應用拜占庭容錯機制。

擴展層主要包括智能合約及針對具體應用的定制開發等。區塊鏈中的標準智能合約一般包括資產一致性檢驗、多方確認信息交互等簡單邏輯的合約。針對食品追溯區塊鏈系統,要制定專門的智能合約約束業務過程。智能合約定義了生產者、供應商、技術機構以及監管方上鏈信息的數據格式,從食品的原材料采購、生產、銷售、供應商、技術檢驗,直到監管機構獲得的投訴反饋信息等全過程的業務狀態以表單形式在智能合約中明確規定。此外,智能合約中還需明確不同業務狀態之間發生轉換的觸發條件等。整個區塊鏈的實現過程為:明確上鏈的各方身份賬戶,編寫智能合約從而對完整的食品追溯的業務過程進行詳細定義,通過觸發業務初始條件后開始工作。

針對食品追溯體系在擴展層部署管理平臺,包括了數據交換的目錄體系以及查詢模塊、綜合管理模塊等,配合應用系統的微服務架構以API的方式提供對外服務的接口。其中:綜合管理模塊提供日常監控、接入管理、CA證書發放以及智能合約管理、公共賬本瀏覽等功能。管理平臺目錄交換體系針對對應節點服務器中存儲的業務數據進行編目,以生產商節點服務器為例,對產品的全量數據按照種類、生產日期、銷售記錄等進行分類編目,對用于交換的目錄進行單獨編目。在依托區塊鏈進行數據查詢時,一般先交換的查詢模塊中的信息,在確定是符合自己要求的數據后,再進行全量數據的下載,這種操作方式能夠大大提升區塊鏈處理實時業務的效率。

綜上,基于區塊鏈的食品追溯體系工作流程如下:各用戶方根據自己的業務和權限訪問節點服務器,根據上鏈信息要求將相關全量數據上傳到節點服務器中。節點服務器中的目錄體系記載全部上鏈數據目錄,應用系統自動將上鏈數據同步到目錄體系中,通過解密服務器進行加密后目錄體系權限管理模塊對外發布至鏈上的全部節點。同時,在節點服務器中生成新的索引節點。鏈上的每一個節點服務器都按此流程操作,將全部索引節點聯系起來生成最終的食品追溯的完整索引鏈,從而實現食品相關信息的全面歸集。通過檢索索引節點,即可查詢相關信息的分布情況,即實現快速跨區域、跨業務主體的信息檢索。檢索到的信息能夠附加區塊鏈中對應此次查詢的哈希驗證信息,所有區塊鏈中的數據均具有數據發布主體的簽名,具有不可篡改性。進一步,如果希望獲取全量信息,則可通過跨鏈的接口調取對應的全量信息。

3 問題討論與分析

區塊鏈作為一種新興技術應用于食品追溯仍有問題尚需進一步的討論與分析。

(1) 區塊鏈各參與方可信度問題。區塊鏈中的上鏈數據由各個參與方提供,雖根據共識機制信息會自動上鏈,而非人工處理后主動上報,但仍存在虛假數據、人為錯誤數據等問題。區塊鏈最終是解決“技術可信”而非“世界可信”。一旦甄別出虛假數據,整個區塊鏈需要整體更新,從而影響區塊鏈的工作效率。為解決可信度問題,一些專家提出與物聯網結合的方式,即直接在原材料供應、生產商供應等環節自動采集數據,從而避免人為因素對原始數據的干擾。

(2) 應用系統開發問題。區塊鏈技術要求數據一旦上鏈不可更改,應用系統中的數據變更、后臺修改等都不再可行。區塊鏈網絡中鏈接了多個應用主體,傳統IT架構模式下各應用主體使用獨立的應用系統,通過ESB、MQ等機制完成數據交換共享,因此應用主體可以自主決定哪些數據可以交換,交換前是否做哪些處理,甚至交換后仍可重新交換覆蓋前面的數據。應用區塊鏈架構,不僅僅是上鏈區塊鏈網絡的問題,對原

有應用系統的開發、日常使用、維護等都是新的挑戰。

(3) 跨鏈交易的問題。本文提出的食品追溯體系應用聯盟鏈,隨著追溯產品的不斷增加、追溯體系的不斷完善,甚至是跨境產品的不斷納入,相對獨立的現有區塊鏈網絡與其他區塊鏈網絡之間的互聯互通問題不可避免。不同區塊鏈由于底層技術的不同,例如鏈結構、共識機制、智能合約等,跨鏈協作的難度很大,目前跨鏈技術是研究熱點,但尚未能真正商用。目前主要的跨鏈技術有公證人機制、側鏈中繼機制以及哈希鎖定等。這些機制需要引入第三方中介,或是只能用于傳遞信息不能轉移數據資產等,在當前情況下無法應用于食品追溯體系中。

4 結 語

本文重點研究區塊鏈技術在追溯體系中的應用,根據已有研究成果可知,物聯網、5G、高清視頻監控、人工智能、大數據分析等技術應用于追溯體系中也可獲得較好效果。本文具體分析了用戶層的構成、接入層的異步接入方式、應用系統的微服務架構和接口方式,以及區塊鏈網絡的主要技術等,最后對區塊鏈在實際中應用存在的問題進行了討論。

區塊鏈在很多實際的應用場景中已經得到了較好的應用,例如區塊鏈電子發票、區塊鏈金融、區塊鏈存證等,但目前主要集中于聯盟鏈或私有鏈等方式??珂溂夹g還停留在理論研究的階段,尚無實踐應用。食品追溯體系涉及的產品種類多、產品鏈長,單純的聯盟鏈方式仍有局限,構建完整、統一的區塊鏈追溯系統尚需進一步研究。

猜你喜歡
架構區塊節點
基于FPGA的RNN硬件加速架構
功能架構在電子電氣架構開發中的應用和實踐
概念格的一種并行構造算法
結合概率路由的機會網絡自私節點檢測算法
采用貪婪啟發式的異構WSNs 部分覆蓋算法*
《紅樓夢》的數字化述評——兼及區塊鏈的啟示
構建富有活力和效率的社會治理架構
區塊鏈助跑財資管理
Crosstalk between gut microbiota and antidiabetic drug action
一場區塊鏈引發的全民狂歡
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合