劉國翔 董凱寧
(四川大學(xué)信息管理技術(shù)系,四川成都 610064)
黨的十八大以來,食品安全越來越受到黨和政府的高度重視,并將食品安全納入了國家公共安全體系,強調(diào)確保食品安全是各級黨委、政府義不容辭之責(zé),要求加快完善監(jiān)管體制和制度[1]。食品信息安全監(jiān)管已成為我國政府監(jiān)管治理的重點內(nèi)容。為此,食品信息安全監(jiān)管軟件系統(tǒng)大量涌現(xiàn),如廣東省食品安全監(jiān)管部門建成了全國首個覆蓋銷售、生產(chǎn)、物流全環(huán)節(jié)的嬰幼兒配方乳粉電子追溯系統(tǒng),有力地提高了政府食品安全監(jiān)管水平[2]。但是,從學(xué)者研究[3-5]可以看到,我國食品信息安全監(jiān)管系統(tǒng)主要存在以下3個方面的問題:一是缺乏參與式監(jiān)管。建成的監(jiān)管信息系統(tǒng)往往面向體制內(nèi)使用,不支持參與式的、互動式的監(jiān)管過程,這種集中式監(jiān)管使人們參與度較低,給人們獲取信息增加了壁壘。同時,在監(jiān)管中,被排斥在監(jiān)管系統(tǒng)之外的匿名參與者因缺乏責(zé)任心而可能散布虛假信息。食品信息安全監(jiān)管系統(tǒng)迫切需要一種去中心、能提升參與度,并且能對系統(tǒng)內(nèi)所有參與者進行認證識別的技術(shù)。二是整個系統(tǒng)比較脆弱。由于存在中心服務(wù)器單點故障技術(shù)問題,中心服務(wù)器負擔(dān)了與所有客戶機進行數(shù)據(jù)傳輸以及絕大多數(shù)數(shù)據(jù)計算工作,“服務(wù)器超載”問題尤顯突出。當(dāng)用戶增多時,服務(wù)器響應(yīng)速度變慢。特別是,在一段時間內(nèi)服務(wù)器收到的數(shù)據(jù)請求遠遠超出負荷時會出現(xiàn)服務(wù)器崩潰、數(shù)據(jù)丟失、系統(tǒng)癱瘓等嚴(yán)重問題,整個系統(tǒng)的健壯性脆弱。三是管理權(quán)限控制不力。中心服務(wù)器系統(tǒng)管理員權(quán)限較大,但缺乏監(jiān)管,往往出現(xiàn)權(quán)利濫用的現(xiàn)象。
針對上述存在的問題,如何利用信息技術(shù)允許人人參與、人人負責(zé)、去管理中心、分散管理員權(quán)利,實現(xiàn)參與式監(jiān)管,有效地提升食品安全信息監(jiān)管治理的水平?筆者認為,區(qū)塊鏈技術(shù)可以解決這些問題。由于區(qū)塊鏈技術(shù)具有不可篡改的特性,因此利用區(qū)塊鏈技術(shù)可以對傳統(tǒng)的食品信息監(jiān)管系統(tǒng)采用共識機制、邊緣計算替代集中監(jiān)管處理。區(qū)塊鏈技術(shù)自身所帶來的去中心化分布式網(wǎng)絡(luò)可以有效地避免傳統(tǒng)中心化監(jiān)管系統(tǒng)中的單點中心服務(wù)器故障問題[5],可以基于數(shù)據(jù)可追溯、可信機制,以計算機技術(shù)為信任基礎(chǔ),實現(xiàn)監(jiān)管過程的公開公正。本文將在研究區(qū)塊鏈技術(shù)特點的基礎(chǔ)上,以食品信息安全監(jiān)管為例,利用區(qū)塊鏈技術(shù)開發(fā)去中心化食品信息安全監(jiān)管系統(tǒng),依托區(qū)塊鏈網(wǎng)絡(luò)實現(xiàn)食品信息安全參與式監(jiān)管。
利用區(qū)塊鏈技術(shù)能夠構(gòu)建可信任網(wǎng)絡(luò)系統(tǒng),并能夠在該系統(tǒng)中自動運行業(yè)務(wù),這是區(qū)塊鏈技術(shù)的兩大特征[5]。區(qū)塊鏈技術(shù)采用分布式賬本在網(wǎng)絡(luò)成員之間共享、復(fù)制和同步數(shù)據(jù),記錄區(qū)塊鏈網(wǎng)絡(luò)參與者之間的交換數(shù)據(jù)。網(wǎng)絡(luò)中的參與者根據(jù)共識原則來制約和協(xié)商對賬本中記錄的更新,無須第三方仲裁機構(gòu)的參與,實現(xiàn)了去中心化,人人可以參與監(jiān)管,這是構(gòu)建可信網(wǎng)絡(luò)的基礎(chǔ)。在分布式賬本中的每條記錄都有一個時間戳和唯一的數(shù)字簽名,這使得賬本成為所有網(wǎng)絡(luò)交易中可審計的歷史記錄,這是構(gòu)建可信網(wǎng)絡(luò)的立足點;數(shù)字簽名是基于數(shù)論的非對稱公鑰體系算法,是不可篡改的,不依賴于任何行政命令手段,可見區(qū)塊鏈基于非對稱公鑰體系算法對信息提供安全監(jiān)管。食品信息安全監(jiān)管數(shù)據(jù)通過若干驗證節(jié)點進入?yún)^(qū)塊鏈網(wǎng)絡(luò)后,原來不可信的數(shù)據(jù)能夠得到驗證,變得可信,數(shù)據(jù)進入分布式賬本后,任何人不能篡改,從而保證了監(jiān)管信息的可審計性和可靠性。
在區(qū)塊鏈選型上,通過對比特幣區(qū)塊鏈、以太坊區(qū)塊鏈和HyperLedger Fabric區(qū)塊鏈等技術(shù)的比較,認為Fabric區(qū)塊鏈技術(shù)具有以下特點:一是Fabric區(qū)塊鏈技術(shù)具有智能合約的特點。Fabric是最新的開源區(qū)塊鏈技術(shù),采用go語言,在區(qū)塊鏈上可以建成智能合約、開源的多應(yīng)用的軟件平臺[6]。Fabric區(qū)塊鏈技術(shù)應(yīng)用于食品信息安全監(jiān)管,可以自由定義食品信息安全監(jiān)管過程中的各種事務(wù),構(gòu)建在安全監(jiān)管下的去中心化食品交易所。二是Fabric源代碼結(jié)構(gòu)是模塊化的。其模塊遵循高內(nèi)聚低耦合的軟件標(biāo)準(zhǔn)設(shè)計。開發(fā)者可基于各種功能模塊來搭建應(yīng)用程序,支持開發(fā)者的工作,因此利用Fabric區(qū)塊鏈技術(shù)可以大大降低應(yīng)用成本,提高運行速度。三是Fabric協(xié)議簡明易懂。Fabric平臺應(yīng)用就是合約,是區(qū)塊鏈的核心。當(dāng)用戶向合約的地址發(fā)送一筆交易后,該合約就被激活,然后根據(jù)交易中的額外信息,合約會運行自身的代碼,最后返回一個結(jié)果[6]。Fabric中的交易可以嵌入很多的額外信息,合約將根據(jù)這些信息來完成自身的業(yè)務(wù)邏輯。合約所提供的業(yè)務(wù)可根據(jù)用戶需求任意定制開發(fā),如基于智能合約的食品安全事故自動開出罰單等。這3類常見區(qū)塊鏈技術(shù)已用于游戲Dapp開發(fā)、應(yīng)用Dapp開發(fā)、電子商城開發(fā)與金融領(lǐng)域,在這些領(lǐng)域里,區(qū)塊鏈的應(yīng)用推廣速度很快,區(qū)塊鏈的分布信用、智能合約等功能解決了很多和食品安全監(jiān)管系統(tǒng)類似的問題,受到使用者歡迎。目前,在電子政務(wù)領(lǐng)域與食品安全監(jiān)管系統(tǒng)結(jié)合的案例還沒有見于文獻,在運用領(lǐng)域尚處于空白狀態(tài)。但這不影響可應(yīng)用性,因為對區(qū)塊鏈而言,不同的應(yīng)用只是一些非關(guān)鍵屬性有變化,且正因為空白才應(yīng)該努力促成區(qū)塊鏈技術(shù)與食品安全監(jiān)管系統(tǒng)融合。
綜上可以看到:(1)以食品安全區(qū)塊鏈監(jiān)管中心為核心,構(gòu)建手機移動監(jiān)管子系統(tǒng)、信息檢測子系統(tǒng)、食品追溯子系統(tǒng)、實時監(jiān)控子系統(tǒng)、行政審批服務(wù)子系統(tǒng)、風(fēng)險應(yīng)急子系統(tǒng)、企業(yè)信用評價子系統(tǒng)、公共信息服務(wù)子系統(tǒng)、數(shù)據(jù)分析決策子系統(tǒng)等全方位覆蓋的監(jiān)管系統(tǒng),可以使監(jiān)管工作由抽查式監(jiān)管向動態(tài)實時監(jiān)管轉(zhuǎn)變,由公職人員監(jiān)管向全民監(jiān)管轉(zhuǎn)變,體現(xiàn)了“參與式監(jiān)管”。這10個子系統(tǒng)可以全面覆蓋食品安全監(jiān)管的各個領(lǐng)域,各類相關(guān)參與人員,形成一個有機的、從信息收集、信息處理到信息響應(yīng)一體的完整安全監(jiān)管系統(tǒng)。(2)區(qū)塊鏈技術(shù)不可篡改的特性從根本上改變了中心化的信用創(chuàng)建方式。應(yīng)用區(qū)塊鏈技術(shù)實現(xiàn)去中心化信息分布處理,建立多單位聯(lián)盟多人參與的食品信息安全監(jiān)管平臺,對食品、食品加工從生產(chǎn)、流通、使用全過程的參與式監(jiān)管,保障食品的安全。根據(jù)食品信息安全參與式監(jiān)管的需求,本文將基于區(qū)塊鏈技術(shù)構(gòu)建食品信息安全監(jiān)管可信任網(wǎng)絡(luò),打破部門間的壁壘,打破體制內(nèi)和體制外的壁壘,實現(xiàn)對食品監(jiān)管各環(huán)節(jié)和各類食品生產(chǎn)經(jīng)營主體的全覆蓋,實現(xiàn)大眾參與式的監(jiān)管。(3)選擇Fabric區(qū)塊鏈技術(shù)構(gòu)建食品信息安全監(jiān)管系統(tǒng)是可行的、高效的。食品信息安全監(jiān)管系統(tǒng)一旦創(chuàng)建成功,用戶可以通過查詢網(wǎng)站、終端查詢機、手機APP、掃描微信二維碼等,進入?yún)^(qū)塊鏈網(wǎng)絡(luò)查詢產(chǎn)品的真實信息,了解所購產(chǎn)品的來源情況,從而放心購買;企業(yè)可以加強內(nèi)部管理,追溯食品生產(chǎn)過程中各個關(guān)鍵節(jié)點的信息,實現(xiàn)來源可查、去向可追、責(zé)任可究[7]。
利用Fabric區(qū)塊鏈技術(shù)構(gòu)建的食品信息安全監(jiān)管系統(tǒng)主要是依照面向接口設(shè)計的思想,采用分層的架構(gòu)。整個系統(tǒng)可以分為3層:頂層是用戶交互層,中間是函數(shù)功能層(Fabric API),底層是核心Fabric區(qū)塊鏈層。每層分別采用不同的技術(shù)框架實現(xiàn)不同的功能。圖1是食品信息安全監(jiān)管系統(tǒng)框架。
用戶在用戶交互層執(zhí)行對下層區(qū)塊鏈的各種操作,實現(xiàn)與其他系統(tǒng)的數(shù)據(jù)交換。本層采用HTML5、JavaScript和Jquery技術(shù)構(gòu)建。
Fabric API層響應(yīng)來自用戶交互層的控制請求,解析后傳輸給底層。如果將底層當(dāng)作內(nèi)核,那么這層就是計算機殼層(shell)。Fabric API層通過接受不同的超文本傳輸協(xié)議(http)請求調(diào)用不同的預(yù)先定義的函數(shù)。這些預(yù)先定義的函數(shù)規(guī)定了對HyperLedger Fabric網(wǎng)絡(luò)的查詢請求,F(xiàn)abric API層通過這些函數(shù)完成與區(qū)塊鏈網(wǎng)絡(luò)的數(shù)據(jù)交互。本層使用基于Node.js的Web框架Express封裝數(shù)據(jù)接口。
圖1 食品信息安全監(jiān)管系統(tǒng)框架
核心Fabric層包括智能合約、channel配置、組織設(shè)置、賬戶配置以及區(qū)塊鏈底層的網(wǎng)絡(luò)節(jié)點構(gòu)建、共識機制、交易實例、數(shù)據(jù)庫存儲等區(qū)塊鏈核心功能。核心Fabric層將對API層調(diào)用的函數(shù)進行響應(yīng),執(zhí)行區(qū)塊鏈網(wǎng)絡(luò)查詢、修改或其他相關(guān)操作。
由此可見,區(qū)塊鏈系統(tǒng)設(shè)計應(yīng)包含區(qū)塊鏈API接口模塊、區(qū)塊鏈數(shù)據(jù)傳輸模塊、區(qū)塊鏈函數(shù)功能模塊、共識控制模塊、分布式記賬模塊、智能合約模塊等。食品信息安全監(jiān)管系統(tǒng)中的節(jié)點由監(jiān)管部門、食品生產(chǎn)銷售運輸企業(yè)、最終用戶等多個角色組成。每個角色在區(qū)塊鏈網(wǎng)絡(luò)中承擔(dān)均等的義務(wù),也享有同樣的權(quán)限,他們彼此平等,各自對立。每一個角色都維護一個區(qū)塊鏈節(jié)點,每一個節(jié)點上都存放著區(qū)塊鏈網(wǎng)絡(luò)中的全部賬本數(shù)據(jù)和相應(yīng)的智能合約。
由于都是采用腳本技術(shù),都可是基于Web架構(gòu),因此區(qū)塊鏈技術(shù)運行速度快,且和傳統(tǒng)食品安全監(jiān)管系統(tǒng)易于融合,在實用中運行流暢,效果良好。
構(gòu)想一個水果生產(chǎn)銷售區(qū)塊鏈監(jiān)管系統(tǒng)的應(yīng)用場景。農(nóng)場A在區(qū)塊鏈網(wǎng)中發(fā)布一條信息:本農(nóng)場采摘水果車?yán)遄?000千克,運輸?shù)戒N售地點。銷售點B也在區(qū)塊鏈網(wǎng)上更新一條信息:當(dāng)天接受來自A農(nóng)場的車?yán)遄?000千克。這些數(shù)據(jù)進入?yún)^(qū)塊鏈網(wǎng)絡(luò)的賬本,并保存數(shù)據(jù)。隨后,檢驗檢疫機構(gòu)發(fā)現(xiàn)農(nóng)場A的部分車?yán)遄佑邢x害,于是追查農(nóng)場A。這時,農(nóng)場A想作假,聲稱是電腦操作失誤,其實只采摘了200千克沒有疫情的車?yán)遄?。該信息在區(qū)塊鏈賬本中只能追加更正信息,不可篡改。于是農(nóng)場A立即通知銷售點B做假。銷售點B也只能追加更正信息。農(nóng)場A更正信息需要全區(qū)塊鏈網(wǎng)絡(luò)投票確認,由于農(nóng)場工人作為監(jiān)管系統(tǒng)的參與者就會提出反對意見,致使這種掩蓋事故的做法難以實現(xiàn)。而銷售點B做假難度更大。物流環(huán)節(jié)、銷售管理、銷售人員、消費者等參與者都會提出反對意見,更正的數(shù)據(jù)很難添加到區(qū)塊鏈賬本中。即便這兩個更正都得到通過,在進行事故查詢時,這兩處更正都會留下很大的疑點。由此可見,要想在區(qū)塊鏈網(wǎng)絡(luò)中做假,要想突破信息鏈條、參與人投票的強大約束,其造假難度是很大的,不容易實現(xiàn)。
上述食品信息安全系統(tǒng)監(jiān)管過程如圖2所示,食品信息安全監(jiān)管的所有環(huán)節(jié)、所有數(shù)據(jù)都被寫入Fabric區(qū)塊鏈分布式賬本。
圖2 采用區(qū)塊鏈技術(shù)的食品信息安全監(jiān)管過程
監(jiān)管系統(tǒng)各子系統(tǒng)的數(shù)據(jù)進入?yún)^(qū)塊鏈網(wǎng)絡(luò)之后,分散存儲在區(qū)塊鏈網(wǎng)絡(luò)各個數(shù)據(jù)節(jié)點中。在Fabric區(qū)塊鏈網(wǎng)中,查看任何一個節(jié)點,都可以獲得本網(wǎng)絡(luò)的所有數(shù)據(jù),所有數(shù)據(jù)都有來源標(biāo)記,也就是數(shù)據(jù)發(fā)送人的數(shù)字簽名,可以根據(jù)數(shù)字簽名確定真實的數(shù)據(jù)發(fā)送人,從而保障了數(shù)據(jù)的可鑒別性、完整性。數(shù)字簽名算法基于數(shù)學(xué),是不可偽造和破譯的。
從實例可見,區(qū)塊鏈技術(shù)解決了以下3個傳統(tǒng)食藥品監(jiān)管問題:一是傳統(tǒng)監(jiān)管缺乏參與,區(qū)塊鏈構(gòu)建了參與式的、互動式的、去中心化的監(jiān)管過程。允許經(jīng)過身份認證的匿名參與者加入監(jiān)管。二是傳統(tǒng)監(jiān)管系統(tǒng)比較脆弱。區(qū)塊鏈技術(shù)構(gòu)建了分布式的、非中心服務(wù)器網(wǎng)絡(luò),可以容納大量用戶,解決了中心服務(wù)器單點故障技術(shù)問題。三是傳統(tǒng)監(jiān)管系統(tǒng)中心服務(wù)器系統(tǒng)管理員權(quán)限較大又缺乏監(jiān)管。區(qū)塊鏈技術(shù)用去中心化技術(shù)構(gòu)建了一個人人平等的網(wǎng)絡(luò),采用大眾投票機制解決了這一問題。
食品信息安全監(jiān)管系統(tǒng)是政府電子化、參與式監(jiān)管治理的具體實現(xiàn)。在整個系統(tǒng)信息監(jiān)管過程中,只有參與者,沒有中心領(lǐng)導(dǎo)者,去中心化及去權(quán)利化實現(xiàn)了參與式監(jiān)管。這一創(chuàng)新點是食品信息安全監(jiān)管系統(tǒng)的亮點,是提升政府治理能力的一種創(chuàng)新手段。盡管這項技術(shù)是成熟的,但在具體應(yīng)用場景、應(yīng)用方式上比較模糊,還需要根據(jù)政府治理的實際情況形成具體化的應(yīng)用模式。今后可以選取具體的治理應(yīng)用場景,結(jié)合政府的辦公流程進行深入、細化的研究。