李陽(yáng) 趙啟陽(yáng) 何云 濮文輝 李瓊
(1.北京航空航天大學(xué)/軟件開(kāi)發(fā)環(huán)境國(guó)家重點(diǎn)實(shí)驗(yàn)室 北京 100191;2.中國(guó)熱帶農(nóng)業(yè)科學(xué)院熱帶作物品種資源研究所 海南???571101)
農(nóng)業(yè)種質(zhì)資源包括作物、畜禽、水產(chǎn)、農(nóng)業(yè)微生物等,是遺傳信息由上一代傳給下一代的載體。簡(jiǎn)單地說(shuō),農(nóng)業(yè)種質(zhì)資源是農(nóng)產(chǎn)品的最初源頭,也是人類賴以生存和發(fā)展的重要物質(zhì)基礎(chǔ),是重要的國(guó)家戰(zhàn)略資源。目前市場(chǎng)中種質(zhì)資源的竊取、假冒、濫用等問(wèn)題較為嚴(yán)重,種質(zhì)資源的重要基因信息的安全保護(hù)同樣面臨困難,這些問(wèn)題都需要引起足夠的重視,以防止重要種質(zhì)資源流失。
面對(duì)這些問(wèn)題與難點(diǎn),需要利用先進(jìn)的軟件技術(shù)與工具,設(shè)計(jì)一個(gè)熱帶種質(zhì)資源信息管理及溯源方法,構(gòu)建更加安全高效的管理平臺(tái),以推動(dòng)種質(zhì)資源的采集保存與開(kāi)發(fā)利用,加強(qiáng)種質(zhì)資源的全面管理。2019年,劉鵬飛等[1]提出基于軟件工程的基本思想,即利用UML建模,結(jié)合Hyperledger Fabric 1.0開(kāi)源區(qū)塊鏈結(jié)構(gòu),將藥品溯源中所有的標(biāo)準(zhǔn)信息化,永久記錄在區(qū)塊鏈賬本中,做到從藥品生產(chǎn)到流通、使用全程可溯源[1],如查詢藥品基本信息、查詢藥品成分和中轉(zhuǎn)信息等,可有效避免傳統(tǒng)溯源系統(tǒng)存在的成本高昂、效率低下、數(shù)據(jù)造假等問(wèn)題[2],在藥品供應(yīng)管理體系中建立起信息共享的相互信任機(jī)制。中國(guó)農(nóng)業(yè)科學(xué)院作物科學(xué)研究所劉海洋等[3-5]提出的區(qū)塊鏈存儲(chǔ)模式是對(duì)數(shù)據(jù)傳輸節(jié)點(diǎn)按照區(qū)塊鏈中的網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行建模,將數(shù)據(jù)根據(jù)規(guī)范存儲(chǔ)在區(qū)塊鏈中,數(shù)據(jù)共識(shí)由“雙中心化”的網(wǎng)絡(luò)節(jié)點(diǎn)來(lái)達(dá)成,利用非對(duì)稱加密技術(shù),使用數(shù)據(jù)提交節(jié)點(diǎn)的私鑰在數(shù)據(jù)通過(guò)審核后對(duì)其進(jìn)行簽名,進(jìn)而實(shí)現(xiàn)對(duì)數(shù)據(jù)的加密。目前在種質(zhì)資源管理平臺(tái)上對(duì)于區(qū)塊鏈的應(yīng)用,并非完全“去中心化”,在種質(zhì)資源審批的過(guò)程中,仍然需要中心化機(jī)構(gòu)的參與,這使得平臺(tái)的底層架構(gòu)依舊類似于傳統(tǒng)的中心化架構(gòu),計(jì)算效率不高,交易流程上也有不足,難以滿足更大的用戶量與數(shù)據(jù)量、實(shí)時(shí)交易、便捷溯源等需求。
本文基于區(qū)塊鏈技術(shù),設(shè)計(jì)了一種熱帶作物種質(zhì)資源登記與溯源方法,可將種質(zhì)資源生命周期中不同環(huán)節(jié)的新增信息加上時(shí)間戳打包成區(qū)塊上鏈,由于區(qū)塊鏈技術(shù)本身的特性,上鏈后的區(qū)塊是天然可溯源的,可以方便地追溯種質(zhì)資源生命周期中信息的增加與修改。由于區(qū)塊鏈本身具有集體維護(hù)和不可篡改等特點(diǎn),保障了種質(zhì)資源的存儲(chǔ)與數(shù)據(jù)安全,如果資源在某個(gè)環(huán)節(jié)上出現(xiàn)了流失、篡改或偽造等問(wèn)題,也易于通過(guò)溯源查找到責(zé)任方[6]。
區(qū)塊鏈由Nakamoto[7]在2008年首次提出,以區(qū)塊鏈技術(shù)為基礎(chǔ),建立了比特幣系統(tǒng)架構(gòu),這是一個(gè)點(diǎn)對(duì)點(diǎn)式的電子現(xiàn)金系統(tǒng)[8],是去中心化的分布式系統(tǒng),雙方在進(jìn)行在線交易時(shí)可以直接面向?qū)Ψ竭M(jìn)行交易,而不必通過(guò)第三方機(jī)構(gòu)。比特幣金融系統(tǒng)自啟動(dòng)起,一直在穩(wěn)定地運(yùn)行和發(fā)展。而比特幣分布式的底層結(jié)構(gòu)也開(kāi)始被信息從業(yè)者注意和討論[9],人們將這種基于分布式數(shù)據(jù)庫(kù)的技術(shù)稱為“區(qū)塊鏈”技術(shù)。相較于傳統(tǒng)的中心化體系架構(gòu),區(qū)塊鏈作為一種去中心化基礎(chǔ)架構(gòu)和分布式計(jì)算范式[10],具有去中心化、集體維護(hù)、不可篡改、時(shí)序數(shù)據(jù)、可以追溯等特點(diǎn)[11-24],能夠更好地與種質(zhì)資源采集、保存、利用及其復(fù)雜的基因信息等特點(diǎn)相適應(yīng)。區(qū)塊鏈不將數(shù)據(jù)庫(kù)建立在中心機(jī)構(gòu)上,而是建立分布式系統(tǒng)結(jié)構(gòu),在分布式節(jié)點(diǎn)間通過(guò)純數(shù)學(xué)方法建立信任關(guān)系,進(jìn)行數(shù)據(jù)的驗(yàn)證、記賬、存儲(chǔ)、維護(hù)和傳輸?shù)?,保證去中心化分布式系統(tǒng)的可信任性。區(qū)塊鏈系統(tǒng)的不可篡改性通過(guò)區(qū)塊鏈技術(shù)中的非對(duì)稱密碼學(xué)原理對(duì)數(shù)據(jù)進(jìn)行加密來(lái)保證;此外,分布式系統(tǒng)的部署也使得對(duì)某一數(shù)據(jù)的篡改在系統(tǒng)各個(gè)節(jié)點(diǎn)強(qiáng)大算力的抵抗下無(wú)法實(shí)現(xiàn)[25];區(qū)塊鏈的數(shù)據(jù)存儲(chǔ)在鏈?zhǔn)絽^(qū)塊結(jié)構(gòu)中,除了數(shù)據(jù)原本的字段外還增加了時(shí)間戳,增加了數(shù)據(jù)的時(shí)間維度,基于此可對(duì)數(shù)據(jù)進(jìn)行驗(yàn)證與追溯[26];區(qū)塊鏈為用戶提供的腳本系統(tǒng)可由用戶根據(jù)自身需求自行編寫(xiě)智能合約,使得對(duì)區(qū)塊鏈的應(yīng)用更加靈活[27]。隨著區(qū)塊鏈技術(shù)的發(fā)展以及信息數(shù)據(jù)存儲(chǔ)需求的增加,傳統(tǒng)的區(qū)塊鏈中所部署的腳本已難以滿足日益復(fù)雜的需求,區(qū)塊鏈技術(shù)逐漸發(fā)展至第三代[28],“智能合約”的出現(xiàn)使得根據(jù)需求自行設(shè)定區(qū)塊鏈交易規(guī)則得以實(shí)現(xiàn)?,F(xiàn)如今,區(qū)塊鏈技術(shù)已經(jīng)被應(yīng)用到金融、物聯(lián)網(wǎng)和物流、公共服務(wù)、數(shù)字版權(quán)[29]、保險(xiǎn)、公益、醫(yī)療[30]等領(lǐng)域中,為這些領(lǐng)域數(shù)據(jù)與信息的管理與溯源提供了強(qiáng)大的技術(shù)支撐。
生物多樣性是人類生存發(fā)展的關(guān)鍵所在。對(duì)生物多樣性的保護(hù)核心在于生物種質(zhì)資源多樣性的保護(hù)和發(fā)展[31]。生物種質(zhì)資源的保護(hù)對(duì)于國(guó)家可持續(xù)發(fā)展以及人民生命安全具有重要意義,針對(duì)生物種質(zhì)資源建設(shè)信息化平臺(tái)符合國(guó)民經(jīng)濟(jì)和國(guó)家安全的需要,開(kāi)展種質(zhì)資源保護(hù)并使其健康發(fā)展是國(guó)家長(zhǎng)期規(guī)劃的重要內(nèi)容[32]。豐富優(yōu)質(zhì)的種質(zhì)資源是選育優(yōu)質(zhì)農(nóng)作物品種的基礎(chǔ),優(yōu)質(zhì)農(nóng)作物品種是提高農(nóng)作物產(chǎn)量的基礎(chǔ),農(nóng)作物品種與種質(zhì)資源密切相關(guān)[33]。美國(guó)在農(nóng)作物種質(zhì)資源保護(hù)方面走在世界前列,其最早開(kāi)展農(nóng)作物種質(zhì)資源信息共享與利用方面的工作,對(duì)農(nóng)作物種質(zhì)資源進(jìn)行了全面規(guī)范的標(biāo)準(zhǔn)化整理和數(shù)字化表示,實(shí)現(xiàn)了對(duì)農(nóng)作物種質(zhì)資源的信息化管理[34]?,F(xiàn)有種質(zhì)資源數(shù)據(jù)量較大,利用傳統(tǒng)人工對(duì)種質(zhì)資源進(jìn)行管理服務(wù)的方法效率較低,難以避免數(shù)據(jù)篡改等問(wèn)題。本文通過(guò)對(duì)種質(zhì)資源進(jìn)行信息化、數(shù)字化及高可信化轉(zhuǎn)換,實(shí)現(xiàn)數(shù)據(jù)的比對(duì)、挖掘、可視化,發(fā)現(xiàn)種質(zhì)資源間的潛在規(guī)律和隱含價(jià)值。
針對(duì)當(dāng)前熱帶種質(zhì)資源數(shù)量多、管理效率低、信息化程度低、可信化實(shí)現(xiàn)難等問(wèn)題,提出了一種熱帶作物種質(zhì)資源溯源技術(shù)。該技術(shù)利用區(qū)塊鏈技術(shù)的去中心化、不可篡改、可溯源等特點(diǎn),設(shè)計(jì)開(kāi)發(fā)了種質(zhì)資源溯源區(qū)塊鏈系統(tǒng),系統(tǒng)的基礎(chǔ)架構(gòu)如圖1所示。區(qū)塊鏈系統(tǒng)架構(gòu)主要分為合約層、應(yīng)用層、管理層、基礎(chǔ)設(shè)施層和節(jié)點(diǎn)。層級(jí)之間相互銜接,共同維護(hù)系統(tǒng)的正常運(yùn)轉(zhuǎn),各個(gè)層級(jí)的功能各不相同,以下對(duì)區(qū)塊鏈系統(tǒng)架構(gòu)的每個(gè)層級(jí)逐一介紹。
合約層:合約層結(jié)合區(qū)塊鏈的特點(diǎn),使用編程的方式定義數(shù)據(jù)操作流程,自動(dòng)執(zhí)行相應(yīng)操作,保證了合約的透明性與公平性,實(shí)現(xiàn)了自動(dòng)化與智能化,減少了時(shí)間成本,提升了各方合作的效率。合約層主要有資源收集、運(yùn)輸、保存信息登記合約、記錄種質(zhì)資源的采集流通情況,完成種質(zhì)資源信息以及流通信息的上鏈。資源溯源查詢合約則是為用戶提供了查詢種質(zhì)資源溯源信息的接口。面向資源登記與溯源的區(qū)塊鏈系統(tǒng)技術(shù)架構(gòu)見(jiàn)圖1。
應(yīng)用層:應(yīng)用層通過(guò)web端開(kāi)發(fā)直接面向用戶,為客戶提供了種質(zhì)資源信息的登記和溯源服務(wù),將系統(tǒng)底層的記錄與數(shù)據(jù)直觀顯示出來(lái)。
管理層:對(duì)種質(zhì)收集、運(yùn)輸、保存過(guò)程所涉及的單位信息和種質(zhì)本身的信息進(jìn)行管理,以確保信息正確安全地上傳到區(qū)塊鏈網(wǎng)絡(luò)并進(jìn)行永久存儲(chǔ),為監(jiān)管、追責(zé)預(yù)警等做數(shù)據(jù)保證。
基礎(chǔ)設(shè)施層:選用FISCO BCOS區(qū)塊鏈平臺(tái)作為底層實(shí)現(xiàn)基礎(chǔ),通過(guò)對(duì)智能合約的設(shè)計(jì),完成對(duì)種質(zhì)資源流通的永久記錄和追溯。
節(jié)點(diǎn):主要包括種質(zhì)資源收集、運(yùn)輸、保存的單位、用戶、監(jiān)管部門(mén)等,由他們共同維護(hù)整個(gè)基于區(qū)塊鏈的種質(zhì)資源登記與溯源系統(tǒng)的生態(tài)平衡,確保系統(tǒng)可以穩(wěn)定運(yùn)行,對(duì)種子資源的保護(hù)進(jìn)行監(jiān)督。
圖2為種質(zhì)資源登記與溯源業(yè)務(wù)流程圖。本研究提出的種質(zhì)資源登記與溯源系統(tǒng)主要包括收集環(huán)節(jié)、運(yùn)輸環(huán)節(jié)、保存環(huán)節(jié),各環(huán)節(jié)采集的溯源信息不同。
圖2 種質(zhì)資源登記與溯源業(yè)務(wù)流程
收集環(huán)節(jié):種質(zhì)資源收集單位主要到實(shí)地收集種質(zhì),并對(duì)收集的種質(zhì)根據(jù)編號(hào)進(jìn)行標(biāo)識(shí),記錄其名稱、資源類型、特性、用途、收集時(shí)間、收集單位等信息,并將信息上傳到區(qū)塊鏈中,這是種質(zhì)資源登記與溯源系統(tǒng)的重要組成部分。
運(yùn)輸環(huán)節(jié):種質(zhì)流通運(yùn)輸是種質(zhì)資源保護(hù)的中間環(huán)節(jié),是種質(zhì)資源分散的收集地點(diǎn)和保存地點(diǎn)之間的連接方,主要工作包括提供種質(zhì)的發(fā)送地、目的地、配送人員信息,運(yùn)輸種質(zhì)并對(duì)其信息進(jìn)行核對(duì),再將運(yùn)輸信息上傳到區(qū)塊鏈中。
保存環(huán)節(jié):當(dāng)種質(zhì)通過(guò)運(yùn)輸環(huán)節(jié)到達(dá)對(duì)應(yīng)的種質(zhì)保存單位時(shí),保存方通過(guò)上游機(jī)構(gòu)提供的追溯信息進(jìn)行比對(duì)與反饋,最后將保存信息包括保存單位、保存地點(diǎn)、所屬種質(zhì)圃、圃編號(hào)等上傳到區(qū)塊鏈中。
收集方、運(yùn)輸方、保存方以及普通用戶分別作為區(qū)塊鏈中的參與組織,為其分配節(jié)點(diǎn)。收集方、運(yùn)輸方與保存方根據(jù)各自的不同分工,對(duì)所負(fù)責(zé)登記的內(nèi)容進(jìn)行收集,將數(shù)據(jù)上傳至區(qū)塊鏈節(jié)點(diǎn)中,區(qū)塊鏈節(jié)點(diǎn)調(diào)用智能合約對(duì)上傳的數(shù)據(jù)進(jìn)行審查與驗(yàn)證,確認(rèn)合法后再將區(qū)塊上鏈。普通用戶可對(duì)溯源區(qū)塊鏈數(shù)據(jù)庫(kù)發(fā)起溯源查詢請(qǐng)求,通過(guò)唯一的溯源碼對(duì)種質(zhì)資源進(jìn)行定位,并返回種質(zhì)資源的溯源信息。
種質(zhì)資源溯源流程如圖3所示。在輸入框中輸入種質(zhì)資源所對(duì)應(yīng)的唯一溯源碼,區(qū)塊鏈數(shù)據(jù)庫(kù)中可以將其定位到與之相對(duì)應(yīng)的唯一的種質(zhì)資源數(shù)據(jù)表中,若表中無(wú)此溯源碼所對(duì)應(yīng)的種質(zhì)資源,則結(jié)束查詢流程;若有,則對(duì)該區(qū)塊的信息進(jìn)行訪問(wèn),查詢?cè)搮^(qū)塊的信息是否為最初信息;若是,則將查詢到的溯源信息返回給發(fā)起溯源請(qǐng)求的用戶;若否,則通過(guò)區(qū)塊頭中的上一區(qū)塊哈希值訪問(wèn)上一條信息,而后重復(fù)上述步驟直到訪問(wèn)至最初的信息,再將全部的溯源信息返回給發(fā)起溯源請(qǐng)求的用戶。
圖3 種質(zhì)資源溯源流程
測(cè)試環(huán)境為MacOS系統(tǒng),在Mac mini 8G 512G版本的電腦上運(yùn)行,開(kāi)發(fā)語(yǔ)言為Java語(yǔ)言,使用SpringBoot、Vue等框架搭建了熱帶作物種質(zhì)資源溯源系統(tǒng),采用MySQL作為系統(tǒng)數(shù)據(jù)庫(kù)與區(qū)塊鏈數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)中錄入的信息包括種質(zhì)基本信息與收集信息,為方便數(shù)據(jù)的分類管理,根據(jù)種質(zhì)資源信息的不同類型分為2個(gè)表,分別是種質(zhì)資源基本信息表(表1)和種質(zhì)資源收集信息表(表2)。其中,種質(zhì)資源基本信息表包含了溯源碼、種質(zhì)名稱種質(zhì)外文名稱、科名、屬名或亞屬名、種名、種質(zhì)資源類型、主要特性、主要用途、資源描述等與種質(zhì)資源本體相關(guān)的信息,種質(zhì)資源收集信息表則包含了溯源碼、收集號(hào)、采集號(hào)、引種號(hào)、收集單位、收集時(shí)間、來(lái)源國(guó)、來(lái)源省、來(lái)源地、土壤類型、生態(tài)系統(tǒng)類型等與種質(zhì)資源收集環(huán)節(jié)相關(guān)的信息。
表1 種質(zhì)資源基本信息表
表2 種質(zhì)資源收集信息表
系統(tǒng)首頁(yè)如圖4所示。在系統(tǒng)首頁(yè)展示了熱帶作物種質(zhì)資源管理服務(wù)系統(tǒng)底層區(qū)塊鏈的區(qū)塊數(shù)量、區(qū)塊鏈內(nèi)上鏈的資源總數(shù)量、上鏈未成功的資源數(shù)量、區(qū)塊鏈的同步狀態(tài)等。在首頁(yè)左邊側(cè)邊欄有系統(tǒng)管理的功能,包括資源異議處理、資源申請(qǐng)?zhí)幚?、反饋處理、管理員列表、角色管理等功能,涵蓋了熱帶作物種質(zhì)資源管理所需要的功能模塊。
圖4 熱帶作物種質(zhì)資源管理服務(wù)系統(tǒng)首頁(yè)
熱帶作物種質(zhì)資源管理服務(wù)系統(tǒng)的種質(zhì)資源信息保存在區(qū)塊鏈上,圖5為區(qū)塊詳情頁(yè)面。在該頁(yè)面中,含有目前的區(qū)塊高度、區(qū)塊的哈希地址、上一區(qū)塊的hash值等內(nèi)容。在區(qū)塊詳情頁(yè)面,可以通過(guò)點(diǎn)擊查看上一區(qū)塊的詳細(xì)內(nèi)容。
圖5 區(qū)塊鏈詳情頁(yè)面
基于本文所述技術(shù),一份種質(zhì)資源從收集到入圃(庫(kù))保存到共享的全鏈條過(guò)程如下:種質(zhì)資源收集者在收集一份資源時(shí)將資源的收集信息上傳到區(qū)塊鏈節(jié)點(diǎn)中→運(yùn)輸者、保存者將運(yùn)輸信息、保存信息上傳到相應(yīng)的區(qū)塊鏈節(jié)點(diǎn)中→區(qū)塊鏈節(jié)點(diǎn)調(diào)用智能合約對(duì)上傳的數(shù)據(jù)進(jìn)行審查與驗(yàn)證,確認(rèn)合法后上鏈。普通用戶可對(duì)溯源區(qū)塊鏈數(shù)據(jù)庫(kù)發(fā)起溯源查詢請(qǐng)求,通過(guò)唯一的溯源碼對(duì)種質(zhì)資源進(jìn)行定位,并返回種質(zhì)資源的溯源信息;如用戶對(duì)信息有異議,可從信息查看頁(yè)面(圖6)
圖6 種質(zhì)資源追溯信息
提交,從而實(shí)現(xiàn)種質(zhì)資源全鏈條跟蹤、追溯,保障各環(huán)節(jié)參與者的利益。
本研究針對(duì)當(dāng)下基于中心化組織的種質(zhì)資源管理平臺(tái)與熱帶種質(zhì)資源收集鏈條繁瑣、生命周期長(zhǎng)所造成的種質(zhì)資源數(shù)據(jù)丟失風(fēng)險(xiǎn)較高、種質(zhì)資源責(zé)任主體不清、信息化管理水平不高、溯源難度較大、共享程度較低等問(wèn)題,設(shè)計(jì)和實(shí)現(xiàn)一個(gè)基于區(qū)塊鏈的資源登記與溯源系統(tǒng)。通過(guò)對(duì)智能合約的編寫(xiě)、編譯、部署與調(diào)用,實(shí)現(xiàn)種質(zhì)資源全生命周期中各個(gè)環(huán)節(jié)信息的可信存儲(chǔ)、登記與溯源訪問(wèn),保證了種質(zhì)資源的安全性與易用性,為今后熱帶種質(zhì)資源信息化等研究性工作奠定了基礎(chǔ)。