費(fèi)悅,陳平平,劉慧玲,譚定英
(廣州中醫(yī)藥大學(xué)醫(yī)學(xué)信息工程學(xué)院,廣州510000)
中藥材質(zhì)量追溯主要是利用信息化手段和物聯(lián)網(wǎng)技術(shù)來監(jiān)管流通的各個環(huán)節(jié),從而保障中藥質(zhì)量的安全性和有效性[1]。在我國,多年來中藥材的種植和生產(chǎn)都處于一個粗放式的狀態(tài),中藥材主要來自散戶種植或者大型種植基地。由于中醫(yī)藥事業(yè)歷史悠久,這樣較為落后的生產(chǎn)模式也已持續(xù)多年。隨著社會的進(jìn)步和科學(xué)技術(shù)的迅速發(fā)展,粗放式經(jīng)營狀態(tài)的生產(chǎn)模式顯然不再可行,存在諸多問題亟待改進(jìn)和完善。為改善目前中藥材質(zhì)量安全難以保證且信息難以有效追溯的現(xiàn)狀,許多學(xué)者專注于中藥材溯源領(lǐng)域的研究,并提出相應(yīng)的解決方案,若發(fā)生中藥材質(zhì)量安全事件,能夠迅速找到問題的源頭并在必要時將中藥材產(chǎn)品準(zhǔn)確召回。施明毅等人[2]通過分析中藥質(zhì)量安全與中藥材追溯體系之間的關(guān)系說明后者的重要意義,并歸納總結(jié)了目前的追溯系統(tǒng)采用的關(guān)鍵技術(shù)以及仍然存在的問題和原因。文獻(xiàn)[3]具體分析了目前中藥材溯源體系的行業(yè)現(xiàn)狀,提出通過關(guān)鍵信息的電子化管理實(shí)現(xiàn)中藥材質(zhì)量追溯,并將追溯體系實(shí)際應(yīng)用,得到了不錯的效果。目前中心化數(shù)據(jù)庫被廣泛用于傳統(tǒng)的中藥材溯源系統(tǒng)的數(shù)據(jù)存儲,然而,這種存儲方式實(shí)際并不可靠,因?yàn)槠鋽?shù)據(jù)的安全性和真實(shí)性在很大程度上取決于數(shù)據(jù)的擁有者[4]。作為數(shù)據(jù)流通上的利益相關(guān)者,如源頭加工的企業(yè)、中間的物流、分銷商等,一旦數(shù)據(jù)不利于某一方的情況出現(xiàn)時,則極有可能出現(xiàn)數(shù)據(jù)篡改、甚至造假等情況,難以保證數(shù)據(jù)的真實(shí)性。因此,傳統(tǒng)的溯源系統(tǒng)在信息安全等方面普遍難以得到消費(fèi)者的信任。
在中央政治局第十八次集體學(xué)習(xí)中,習(xí)近平總書記強(qiáng)調(diào),“區(qū)塊鏈技術(shù)的集成應(yīng)用在新的技術(shù)革新和產(chǎn)業(yè)變革中起著重要作用”。鑒于區(qū)塊鏈具有分布容錯性、不可篡改性以及隱私保護(hù)性等優(yōu)勢,有學(xué)者提出將區(qū)塊鏈技術(shù)應(yīng)用到食品溯源中。文獻(xiàn)[5]提出基于區(qū)塊鏈技術(shù)構(gòu)建食品溯源體系的方案,并且在理論方面十分可行。隨著區(qū)塊鏈技術(shù)的日益成熟和應(yīng)用的廣泛,同時受其在農(nóng)產(chǎn)品溯源體系中的應(yīng)用啟發(fā),本文將利用區(qū)塊鏈技術(shù)對中藥材溯源體系進(jìn)行設(shè)計(jì)和研究,從而實(shí)現(xiàn)中藥材來源可追溯、去向可跟蹤、質(zhì)量可監(jiān)督、責(zé)任可究查。
區(qū)塊鏈技術(shù)追根溯源由中本聰于2008年提出,作為比特幣的底層技術(shù),區(qū)塊鏈本質(zhì)上是一個去中心化的數(shù)據(jù)庫[6],區(qū)塊鏈網(wǎng)絡(luò)中的數(shù)據(jù)由各節(jié)點(diǎn)共同維護(hù)和更新。區(qū)塊鏈融合了P2P網(wǎng)絡(luò)、加密算法、分布式架構(gòu)和數(shù)據(jù)存儲等關(guān)鍵技術(shù),具有分布容錯性、不可篡改性以及隱私保護(hù)性等特性,在數(shù)據(jù)存儲安全、去中心化系統(tǒng)方面的應(yīng)用具有顯著的優(yōu)勢。
區(qū)塊鏈?zhǔn)且粋€共享的、不可更改的賬本,利用鏈?zhǔn)浇Y(jié)構(gòu)將信息存儲在區(qū)塊中,區(qū)塊均由區(qū)塊頭和區(qū)塊體兩部分組成(創(chuàng)世區(qū)塊除外)[8]。區(qū)塊頭存儲上一區(qū)塊的Merkle根節(jié)點(diǎn)(Merkle root)、哈希值(prev block Hash)、時間戳(time stamp)以及隨機(jī)數(shù)(nonce)[9],區(qū)塊體包含10分鐘內(nèi)選定的交易記錄。區(qū)塊鏈的結(jié)構(gòu)如圖1所示。每個區(qū)塊頭都包含它的上一個區(qū)塊的哈希值,對每個區(qū)塊頭進(jìn)行SHA256加密哈希,可生成一個哈希值,將該值保存到當(dāng)前區(qū)塊中,并使其與前一個區(qū)塊相連,同時為使區(qū)塊鏈中的區(qū)塊添加可以認(rèn)證的時間節(jié)點(diǎn),時間戳記錄下數(shù)據(jù)寫入的時間。這樣每個區(qū)塊就通過鏈接到各自父區(qū)塊的哈希值序列創(chuàng)建了一條一直可以追溯到第一個區(qū)塊的鏈條。
圖1 區(qū)塊鏈結(jié)構(gòu)示意圖
區(qū)塊鏈系統(tǒng)可分為數(shù)據(jù)層、網(wǎng)絡(luò)層、共識激勵層、合約層以及應(yīng)用層[7]。區(qū)塊鏈系統(tǒng)的基本架構(gòu)模型如圖2所示。
圖2 區(qū)塊鏈系統(tǒng)基本架構(gòu)示意圖
中藥材生產(chǎn)全過程環(huán)節(jié)多、鏈條長,主要包括中藥材種植環(huán)節(jié)、中藥材生產(chǎn)加工環(huán)節(jié)以及中藥材流通銷售環(huán)節(jié)。在中藥材供應(yīng)鏈中,參與活動的主體有:中藥材種植戶、中藥材加工廠、物流運(yùn)輸方、分銷商以及消費(fèi)者。中藥材供應(yīng)鏈如圖3所示。
圖3 中藥材供應(yīng)鏈流程圖
結(jié)合食品安全溯源體系和中藥材種植生產(chǎn)的特點(diǎn),本文將中藥材溯源歸納為以下過程,如圖4所示。
圖4 中藥材溯源信息流程圖
在中藥材供應(yīng)鏈的每個重要環(huán)節(jié),均需準(zhǔn)確記錄其關(guān)鍵信息點(diǎn)。在中藥材種植環(huán)節(jié),記錄種苗來源信息、產(chǎn)地信息、種植的一些相關(guān)信息(如溫度等)以及收獲中藥材出庫前的檢驗(yàn)信息。在中藥材加工環(huán)節(jié),則需要錄入藥材入廠的基本信息、藥材的檢驗(yàn)信息、在加工廠進(jìn)行加工的過程信息以及加工完成后對成品的檢驗(yàn)信息。在物流運(yùn)輸和分銷商交易階段,記錄相關(guān)的運(yùn)輸信息、藥材交易信息等。最終將由消費(fèi)者購買,同樣要準(zhǔn)確記錄交易信息。可見,中藥材的供應(yīng)鏈環(huán)節(jié)多、涉及的關(guān)鍵信息點(diǎn)復(fù)雜。若采用傳統(tǒng)的溯源方式,恐難以保證信息的準(zhǔn)確性和可靠性。因此本文將采用區(qū)塊鏈技術(shù)將各環(huán)節(jié)各信息點(diǎn)進(jìn)行鏈?zhǔn)酱鎯凸芾?,若中藥材出現(xiàn)質(zhì)量安全問題,則立即層層遞進(jìn)排查尋找中藥材質(zhì)量問題的源頭,從而使中藥材的整個生產(chǎn)流通過程具有可追溯性。
本文所設(shè)計(jì)的中藥材溯源體系的技術(shù)架構(gòu)如圖5所示,在進(jìn)行了最初的數(shù)據(jù)采集后,分為數(shù)據(jù)層、網(wǎng)絡(luò)層、共識層、合約層和應(yīng)用層。
圖5 基于區(qū)塊鏈的中藥材溯源體系技術(shù)架構(gòu)圖
中藥材通過生產(chǎn)商的種植、加工商的加工、物流運(yùn)輸以及分銷商的銷售最終到達(dá)消費(fèi)者。在數(shù)據(jù)采集階段,收集上述過程各環(huán)節(jié)的追溯信息,并對信息記錄進(jìn)行總結(jié)和提煉,作為中藥材溯源體系的底層數(shù)據(jù)基礎(chǔ)。
在數(shù)據(jù)層,將底層數(shù)據(jù)封裝起來并進(jìn)行區(qū)塊化鏈?zhǔn)酱鎯?。通過存儲時間戳實(shí)現(xiàn)各環(huán)節(jié)的精準(zhǔn)追溯,使用哈希函數(shù)對各節(jié)點(diǎn)存儲的關(guān)鍵數(shù)據(jù)進(jìn)行加密達(dá)到信息保密的目的,通過非對稱算法中私鑰加密、公鑰解密的機(jī)制實(shí)現(xiàn)數(shù)字簽名防止抵賴。與傳統(tǒng)的加密過程不同的是,整個追溯過程引入第三方認(rèn)證機(jī)構(gòu),在用公鑰解密信息并進(jìn)行核實(shí)后,用認(rèn)證機(jī)構(gòu)擁有的私鑰對已有信息以及時間戳進(jìn)行共同加密。從而避免了供應(yīng)鏈上下游之間的聯(lián)合欺騙。
網(wǎng)絡(luò)層負(fù)責(zé)數(shù)據(jù)傳播機(jī)制,數(shù)據(jù)驗(yàn)證機(jī)制以及分布式組網(wǎng)機(jī)制,采用對等互聯(lián)網(wǎng)技術(shù)(Peer-to-Peer,P2P),以保證區(qū)塊鏈中的任一節(jié)點(diǎn)都能夠收發(fā)信息,當(dāng)一個節(jié)點(diǎn)產(chǎn)生一個新區(qū)塊時,必須通過廣播將信息通知其他節(jié)點(diǎn),并由相關(guān)部門如食品藥品監(jiān)督管理局等對新區(qū)塊進(jìn)行核實(shí),以保證中藥材溯源信息對全體用戶呈現(xiàn)的透明化。
在共識層,區(qū)塊鏈的成員節(jié)點(diǎn)包括中藥材生產(chǎn)商、中藥材加工商、物流運(yùn)輸、中藥材分銷商、第三方檢測機(jī)構(gòu)、政府監(jiān)管部門以及消費(fèi)者。為了保證區(qū)塊鏈系統(tǒng)中的各節(jié)點(diǎn)都能夠依據(jù)一個統(tǒng)一的、成員一致認(rèn)同的規(guī)則來維護(hù)和更新區(qū)塊鏈系統(tǒng)的數(shù)據(jù),目前主流的共識機(jī)制算法有:以太坊的權(quán)益證明(PoS)、比特幣的工作量證明(PoW)、EOS的委托權(quán)益證明(DPoS)等,這些算法能夠使高度分散的節(jié)點(diǎn)在去中心化的區(qū)塊鏈系統(tǒng)中高效達(dá)成共識。
根據(jù)中藥材質(zhì)量監(jiān)管的相關(guān)規(guī)定以及中藥材的溯源特點(diǎn),合約層將基于中醫(yī)藥質(zhì)量管理法規(guī)和中藥材安全監(jiān)督管理辦法,并將供應(yīng)方合約、監(jiān)管方合約以及需求方合約嵌入?yún)^(qū)塊中,確保對中藥材進(jìn)行規(guī)范化、標(biāo)準(zhǔn)化的管理。
最后在應(yīng)用層,為提供用戶與溯源平臺之間交互的入口,嵌入應(yīng)用程序或協(xié)議,為用戶提供中藥材的品質(zhì)、生產(chǎn)、加工以及運(yùn)輸?shù)刃畔ⅲ瑸橹兴幉馁|(zhì)量溯源服務(wù)提供技術(shù)支撐。
基于中藥材的特點(diǎn),中藥材加工環(huán)節(jié)主要包括如表1所示的關(guān)鍵信息點(diǎn)。
表1 中藥材加工環(huán)節(jié)關(guān)鍵信息點(diǎn)
圖6 中藥材加工環(huán)節(jié)數(shù)據(jù)輸入過程
利用區(qū)塊鏈將中藥材加工環(huán)節(jié)的關(guān)鍵信息點(diǎn)進(jìn)行數(shù)據(jù)采集,通過區(qū)塊鏈系統(tǒng)將中藥材入庫前、加工前、加工時以及出庫前的檢驗(yàn)信息采用加密關(guān)鍵信息、封裝時間戳等方式按照區(qū)塊鏈系統(tǒng)中數(shù)據(jù)層的結(jié)構(gòu)分別寫入?yún)^(qū)塊鏈系統(tǒng)的數(shù)據(jù)區(qū)塊并進(jìn)行連接,從而保證中藥材加工環(huán)節(jié)信息的可追溯性。
“智能合約”概念由密碼學(xué)家Szabo于1995年首次提出,指出“智能合約通過使用協(xié)議和用戶接口來促進(jìn)合約的執(zhí)行”[10]。本質(zhì)上,智能合約是可以自動地執(zhí)行傳統(tǒng)合約中規(guī)定的“如果滿足某個設(shè)定條件就執(zhí)行相應(yīng)的結(jié)果”的計(jì)算機(jī)代碼。相比于傳統(tǒng)合約的自然語言,智能合約所采用的代碼形式具有更強(qiáng)的表達(dá)力和極低的歧義性,并且代碼本身具有很少的潛在含義,可以保證簽訂合約的雙方擁有提前達(dá)成共識的平等權(quán)利。
在中藥材種植、加工、運(yùn)輸以及最終的銷售過程中,賣家會簽訂供應(yīng)方合約、買家則簽訂需求方合約等,監(jiān)督中藥材質(zhì)量的機(jī)構(gòu)會與廠家簽訂監(jiān)督方合約。除此之外,中藥材的整個生產(chǎn)過程須遵守我國的《中醫(yī)藥質(zhì)量管理法規(guī)》和《中藥材安全監(jiān)督管理辦法》。在本文所提出的基于區(qū)塊鏈技術(shù)的中藥材溯源體系中,以上合約將以智能合約即計(jì)算機(jī)代碼的形式體現(xiàn)以消除自然語言的歧義。在真正實(shí)現(xiàn)過程中,可以考慮在簽訂的紙質(zhì)合約中說明“雙方同意運(yùn)行并遵守代碼執(zhí)行的結(jié)果”。本文以中藥材供應(yīng)方與需求方的供需合約為例,設(shè)計(jì)了智能合約小程序,模擬中藥材供需雙方的智能合約簽訂與交貨信息檢查系統(tǒng),實(shí)現(xiàn)用計(jì)算機(jī)代碼代替自然語言以達(dá)到消除潛在的歧義的目的。圖7為利用RSA算法進(jìn)行數(shù)字簽名的流程圖。供需雙方簽訂合約時進(jìn)行數(shù)字簽名的代碼實(shí)現(xiàn)如下所示,編程語言為Java8,JDK1.8版本。圖8和圖9為智能合約小程序的部分界面展示。
圖7 RSA數(shù)字簽名流程圖
圖8 智能合約 小程序首頁
圖9 智能合約小程序 合約初始化界面
在對供需雙方公司的進(jìn)行身份認(rèn)證的基礎(chǔ)上,可通過“智能合約”小程序進(jìn)行供需智能合約的簽訂。小程序可以提供的功能有:合約初始化、交貨信息錄入以及檢查記錄詳情查看。在合約初始化頁面,雙方公司可以根據(jù)合約模版填寫相關(guān)的合約信息,包括中藥材種類及其數(shù)量、中藥材定價、中藥材質(zhì)量驗(yàn)收標(biāo)準(zhǔn)、包裝要求等,填寫完成后進(jìn)行數(shù)字簽名并提交,以上內(nèi)容將發(fā)送至對方公司待確認(rèn),雙方填寫內(nèi)容保持一致且均進(jìn)行數(shù)字簽名后即合約簽訂完成,系統(tǒng)將通知雙方。在交貨信息錄入頁面,檢查員在對中藥材貨物進(jìn)行清點(diǎn)等操作后,可按照模版對數(shù)量等其他信息進(jìn)行輸入,填寫完成后,系統(tǒng)將根據(jù)合約內(nèi)容對交貨信息進(jìn)行檢查和比對,并生成檢查結(jié)果報告。檢查記錄詳情則可以查看歷史的中藥材交貨信息檢查記錄,具體包括檢查日期、檢查員、供應(yīng)公司、需求公司等內(nèi)容。
近年來,中藥材的品質(zhì)保證和質(zhì)量問題一直都是國家和社會關(guān)注的熱點(diǎn)。但中藥材的供應(yīng)鏈涉及眾多關(guān)鍵節(jié)點(diǎn)且生產(chǎn)過程較為復(fù)雜,僅按照傳統(tǒng)方式構(gòu)建中藥材溯源體系很可能出現(xiàn)關(guān)鍵信息造假、篡改,相關(guān)部門、利益相關(guān)者等聯(lián)合欺騙等情況,從而造成追溯體系中信息的不對稱性和不可信性,進(jìn)而難以保證出庫銷售的中藥材成品或加工制成的中藥的質(zhì)量,因此傳統(tǒng)溯源在一定程度上對于最終中藥材質(zhì)量安全的信息追溯是沒有太大意義的。本文根據(jù)中藥材生產(chǎn)過程的特點(diǎn),基于區(qū)塊鏈技術(shù)設(shè)計(jì)了中藥材溯源體系,并詳細(xì)闡述體系各層次的內(nèi)容與作用。其中,本文具體設(shè)計(jì)了利用區(qū)塊鏈技術(shù)追溯中藥材加工環(huán)節(jié)模塊,確保溯源的可行性。此外,本文設(shè)計(jì)實(shí)現(xiàn)了中藥材溯源智能合約小程序,將溯源過程中的智能合約進(jìn)行編程實(shí)現(xiàn),消除了自然語言的強(qiáng)烈主觀性和可能產(chǎn)生的歧義,為中藥材溯源體系的進(jìn)一步發(fā)展提供價值參考。