孫遠(yuǎn)運(yùn)
(中國(guó)國(guó)家鐵路集團(tuán)有限公司 科技和信息化部,北京 100844)
中歐班列是落實(shí)“一帶一路”倡議的旗艦項(xiàng)目和標(biāo)志性品牌,自2011年開行以來,線路逐步擴(kuò)展,班次不斷增加,截至2021年2月12日,國(guó)內(nèi)中歐班列累計(jì)開行超過百列的城市增加到30個(gè),通達(dá)歐洲21個(gè)國(guó)家106個(gè)城市,覆蓋大部分中東歐國(guó)家,成為拉動(dòng)經(jīng)濟(jì)發(fā)展的新引擎。“十四五”期間中歐班列面臨高質(zhì)量發(fā)展的新要求,為打造數(shù)字中歐班列,推動(dòng)中歐班列高質(zhì)量發(fā)展,中歐班列沿線7國(guó)鐵路在實(shí)現(xiàn)雙邊國(guó)際聯(lián)運(yùn)電子數(shù)據(jù)交換基礎(chǔ)上,共同致力于利用區(qū)塊鏈技術(shù)拓展數(shù)據(jù)共享范圍,發(fā)揮數(shù)據(jù)匯聚優(yōu)勢(shì),進(jìn)一步提升中歐班列服務(wù)水平,提高中歐班列運(yùn)輸組織效率。
區(qū)塊鏈?zhǔn)欠植际?、網(wǎng)絡(luò)化的數(shù)據(jù)管理技術(shù),利用密碼技術(shù)和分布式共識(shí)協(xié)議保證數(shù)據(jù)傳輸和訪問安全,實(shí)現(xiàn)數(shù)據(jù)的多方維護(hù)、交叉驗(yàn)證、全網(wǎng)一致和不易篡改,為解決中歐班列跨境運(yùn)輸數(shù)據(jù)共享的去中心化、參與國(guó)身份認(rèn)證、數(shù)據(jù)共享安全等問題提供了新思路和新解決方案[1-2]。
去中心化是區(qū)塊鏈最基本的特征。區(qū)塊鏈本質(zhì)上是一個(gè)去中心化的分布式賬本數(shù)據(jù)庫(kù),其數(shù)據(jù)分散存儲(chǔ)在網(wǎng)絡(luò)中多個(gè)節(jié)點(diǎn)上,使用分布式存儲(chǔ)及算力使得所有節(jié)點(diǎn)具有相同的權(quán)利和義務(wù),數(shù)據(jù)由鏈上所有節(jié)點(diǎn)共同維護(hù),而不再依靠中央處理節(jié)點(diǎn)提高數(shù)據(jù)的容錯(cuò)力、抗攻擊力及防篡改力。
區(qū)塊鏈利用分布式存儲(chǔ)及哈希算法的單向性保證其數(shù)據(jù)的不可篡改性。區(qū)塊鏈數(shù)據(jù)存儲(chǔ)在區(qū)塊中,每個(gè)區(qū)塊都有1個(gè)區(qū)塊頭,用于存儲(chǔ)本區(qū)塊中數(shù)據(jù)的哈希值以及前一個(gè)區(qū)塊數(shù)據(jù)的哈希值,每個(gè)區(qū)塊通過所存儲(chǔ)的前一個(gè)區(qū)塊的哈希值串聯(lián)起來,形成了區(qū)塊鏈。一旦某個(gè)區(qū)塊數(shù)據(jù)產(chǎn)生變動(dòng),后續(xù)所有區(qū)塊的哈希值都會(huì)產(chǎn)生變動(dòng),所有節(jié)點(diǎn)都能發(fā)現(xiàn)數(shù)據(jù)被篡改,不認(rèn)可且丟棄這種無效數(shù)據(jù),保證了區(qū)塊鏈數(shù)據(jù)的不可篡改性。
區(qū)塊鏈通過區(qū)塊數(shù)據(jù)結(jié)構(gòu),存儲(chǔ)了創(chuàng)世區(qū)塊后的所有歷史數(shù)據(jù),區(qū)塊鏈上的任意1條數(shù)據(jù)均綁定了交易者信息,皆可通過鏈?zhǔn)浇Y(jié)構(gòu)追溯其本源。
中歐班列沿線各國(guó)鐵路為提前進(jìn)行運(yùn)輸組織,除了需要預(yù)先掌握班列的運(yùn)單、編組信息以外,還需要及時(shí)掌握貨物的全程位置追蹤信息,這就對(duì)多國(guó)之間的信息共享機(jī)制提出了新的要求。
各國(guó)鐵路組織的始發(fā)班列,按照運(yùn)輸徑路,由班列始發(fā)國(guó)、途經(jīng)國(guó)、終到國(guó)等運(yùn)輸承運(yùn)人,將貨物位置信息通過區(qū)塊鏈共享給相關(guān)國(guó)家鐵路。
中歐班列貨物全程位置追蹤數(shù)據(jù)共享內(nèi)容包括:集裝箱箱號(hào)、班列車次、車號(hào)、始發(fā)國(guó)代碼、所在國(guó)代碼、當(dāng)前車站代碼、當(dāng)前車站性質(zhì)(始發(fā)站、途中??空?、途中通過站、終到站)、當(dāng)前時(shí)間、當(dāng)前位置時(shí)區(qū)、報(bào)告時(shí)間、距離目的地距離等。
在中歐班列數(shù)據(jù)共享過程中,既要保證數(shù)據(jù)充分共享,又要保證數(shù)據(jù)隱私安全。通過對(duì)中歐班列數(shù)據(jù)共享流程分析,數(shù)據(jù)共享授權(quán)邏輯存在2種模式,見圖1、圖2。
圖1 始發(fā)國(guó)向運(yùn)輸徑路上的各國(guó)鐵路發(fā)送信息示意
圖2 途經(jīng)國(guó)向運(yùn)輸徑路上的相關(guān)國(guó)家鐵路發(fā)送信息示意
(1)始發(fā)國(guó)向運(yùn)輸徑路上的各國(guó)鐵路發(fā)送信息。始發(fā)國(guó)需將貨物追蹤信息共享給預(yù)先定義好的班列運(yùn)輸徑路上的各個(gè)國(guó)家鐵路。非運(yùn)輸徑路上的國(guó)家鐵路無權(quán)共享該班列的貨物追蹤信息。
(2)途經(jīng)國(guó)向運(yùn)輸徑路上的相關(guān)國(guó)家鐵路發(fā)送信息。班列途經(jīng)國(guó)需將貨物追蹤信息共享給始發(fā)國(guó)和后續(xù)運(yùn)輸徑路上的各個(gè)國(guó)家鐵路。已經(jīng)通過的非貨物始發(fā)國(guó)家鐵路無權(quán)共享后續(xù)的貨物追蹤信息。
為滿足中歐班列全程數(shù)據(jù)共享需求,中歐班列沿線國(guó)家鐵路共同組建跨國(guó)區(qū)塊鏈網(wǎng)絡(luò),建立中歐班列貨物追蹤信息共享平臺(tái),實(shí)現(xiàn)貨物追蹤信息的接入和實(shí)時(shí)可信共享[3-4]。中歐班列貨物追蹤信息共享平臺(tái)分為區(qū)塊鏈服務(wù)層和應(yīng)用服務(wù)層2個(gè)部分。中歐班列貨物追蹤信息共享平臺(tái)系統(tǒng)架構(gòu)見圖3。
圖3 中歐班列貨物追蹤信息共享平臺(tái)系統(tǒng)架構(gòu)
區(qū)塊鏈服務(wù)層基于聯(lián)盟鏈的Hyperledger Fabric 2.2技術(shù)框架,依托權(quán)限控制、分布式共識(shí)、通道隔離、私有數(shù)據(jù)等機(jī)制,為中歐班列沿線各國(guó)貨物追蹤信息共享提供安全、可靠的區(qū)塊鏈服務(wù),包括身份驗(yàn)證服務(wù)、智能合約服務(wù)、背書服務(wù)、排序服務(wù)和記賬服務(wù)等。
應(yīng)用服務(wù)層主要實(shí)現(xiàn)中歐班列貨物追蹤信息共享平臺(tái)上層應(yīng)用服務(wù)的建設(shè),包括區(qū)塊鏈網(wǎng)絡(luò)管理服務(wù)、追蹤信息交換服務(wù)、追蹤信息應(yīng)用服務(wù)和平臺(tái)管理服務(wù)等,同時(shí)通過鐵路數(shù)據(jù)服務(wù)平臺(tái)與鐵路既有相關(guān)信息系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)的共享與應(yīng)用。
為保障系統(tǒng)及數(shù)據(jù)安全,中方鐵路區(qū)塊鏈節(jié)點(diǎn)及相關(guān)應(yīng)用系統(tǒng)的應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器等部署在中國(guó)國(guó)家鐵路集團(tuán)有限公司(簡(jiǎn)稱國(guó)鐵集團(tuán))安全生產(chǎn)網(wǎng)。中歐班列貨物追蹤信息共享平臺(tái)網(wǎng)絡(luò)架構(gòu)見圖4。
圖4 中歐班列貨物追蹤信息共享平臺(tái)網(wǎng)絡(luò)架構(gòu)
在國(guó)鐵集團(tuán)安全生產(chǎn)網(wǎng)和外部服務(wù)網(wǎng)中分別部署代理服務(wù),實(shí)現(xiàn)中方鐵路節(jié)點(diǎn)與其他國(guó)家鐵路區(qū)塊鏈節(jié)點(diǎn)之間的通信轉(zhuǎn)發(fā)。其他國(guó)家鐵路的區(qū)塊鏈節(jié)點(diǎn)通過互聯(lián)網(wǎng)訪問外部代理服務(wù);外部代理服務(wù)對(duì)訪問請(qǐng)求內(nèi)容進(jìn)行協(xié)議轉(zhuǎn)換;外部代理服務(wù)與內(nèi)部代理服務(wù)通過國(guó)鐵集團(tuán)網(wǎng)絡(luò)安全平臺(tái)進(jìn)行信息交換;內(nèi)部代理服務(wù)將接收到的信息轉(zhuǎn)換為區(qū)塊鏈通信協(xié)議,并提交給區(qū)塊鏈服務(wù)節(jié)點(diǎn);區(qū)塊鏈服務(wù)節(jié)點(diǎn)對(duì)接收到的請(qǐng)求信息進(jìn)行響應(yīng)處理;響應(yīng)信息提交到內(nèi)部代理服務(wù),再次通過內(nèi)外部代理服務(wù)的轉(zhuǎn)換與傳遞,實(shí)現(xiàn)對(duì)外部訪問請(qǐng)求的響應(yīng)。同樣由中方發(fā)起的服務(wù)請(qǐng)求,也需要經(jīng)過內(nèi)外部代理服務(wù),提交給各個(gè)國(guó)家的對(duì)等節(jié)點(diǎn)進(jìn)行處理。
Fabric作為一種基于許可機(jī)制的區(qū)塊鏈技術(shù)框架,具有完整的身份管理與認(rèn)證體系,提供專門的成員管理服務(wù),并基于CA中心分別提供ECert(Enrollment Cert)、TCert(Transaction Cert)和TLSCert(Transport Layer Security Cert)3種類型的數(shù)字證書,以滿足審計(jì)和隱私保護(hù)的需求。為保障參與國(guó)家鐵路身份信息的平等性與合法性,各個(gè)國(guó)家的鐵路部門采用經(jīng)本國(guó)認(rèn)證的證書機(jī)構(gòu)簽發(fā)的根證書,由根證書為組織下的節(jié)點(diǎn)與服務(wù)簽發(fā)對(duì)應(yīng)的ECert、TCert和TLSCert證書。
ECert證書用于身份認(rèn)證,即在登錄中歐班列貨物追蹤信息共享平臺(tái)時(shí)確認(rèn)節(jié)點(diǎn)和用戶的身份。
TCert證書用于交易的簽名與驗(yàn)證。中歐班列貨物追蹤信息的新增與更新構(gòu)成了中歐班列區(qū)塊鏈的一筆交易,每筆交易都包含了發(fā)送者的簽名和交易證書。同時(shí)為保證第三方無法由交易證書追溯出具體的發(fā)送者,每次交易可使用不同的TCert證書。
TLSCert證書用于中歐班列區(qū)塊鏈系統(tǒng)組件間的安全通信(SSL/TLS)。
為保證參與國(guó)家鐵路之間身份能夠互認(rèn)互驗(yàn),中歐班列區(qū)塊鏈證書統(tǒng)一采用X.509國(guó)際標(biāo)準(zhǔn),并將各自根證書信息寫入到創(chuàng)世區(qū)塊中,各參與方從創(chuàng)世區(qū)塊中獲取證書進(jìn)行身份與交易信息的驗(yàn)證。區(qū)塊鏈節(jié)點(diǎn)間的交互形式見圖5。
圖5 區(qū)塊鏈節(jié)點(diǎn)間的交互形式
基于區(qū)塊鏈的中歐班列數(shù)據(jù)共享網(wǎng)絡(luò)主要包括3類數(shù)據(jù)對(duì)象:核心數(shù)據(jù)對(duì)象、配置數(shù)據(jù)對(duì)象和賬戶數(shù)據(jù)對(duì)象[5-8]。
核心數(shù)據(jù)對(duì)象包括中歐班列區(qū)塊鏈中的區(qū)塊、事務(wù)、實(shí)體和合約。每個(gè)區(qū)塊數(shù)據(jù)對(duì)象中包含1個(gè)或多個(gè)事務(wù)數(shù)據(jù)對(duì)象,每個(gè)事務(wù)對(duì)象包括實(shí)體數(shù)據(jù)對(duì)象(班列追蹤數(shù)據(jù)共享的發(fā)起方、接收方,班列追蹤數(shù)據(jù)、備注等),以及合約數(shù)據(jù)對(duì)象(合約的標(biāo)識(shí)、版本號(hào)、代碼等)。
配置數(shù)據(jù)對(duì)象包括共識(shí)協(xié)議版本號(hào)、軟件版本號(hào)和網(wǎng)絡(luò)通信底層對(duì)等節(jié)點(diǎn)配置信息等中歐班列區(qū)塊鏈系統(tǒng)正常運(yùn)行所需的配置信息。配置數(shù)據(jù)對(duì)象和核心數(shù)據(jù)對(duì)象共同構(gòu)建了中歐班列區(qū)塊鏈數(shù)據(jù)共享所需的基礎(chǔ)數(shù)據(jù)基礎(chǔ)。
賬戶數(shù)據(jù)對(duì)象為中歐班列區(qū)塊鏈中業(yè)務(wù)的實(shí)際發(fā)起者和相關(guān)方對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu),包括賬戶公鑰、私鑰、所屬機(jī)構(gòu)等。
區(qū)塊鏈的用戶角色一般包括鏈管理員、系統(tǒng)管理員、內(nèi)容審核員、交易用戶、監(jiān)管機(jī)構(gòu)、應(yīng)用開發(fā)者等。中歐班列區(qū)塊鏈為滿足數(shù)據(jù)共享需求,保證數(shù)據(jù)的安全性,額外設(shè)計(jì)了3種數(shù)據(jù)用戶角色,即數(shù)據(jù)提供或編輯者(M)、數(shù)據(jù)訪問者(S)、數(shù)據(jù)無關(guān)者(N)。針對(duì)某一筆貨物追蹤數(shù)據(jù)而言,數(shù)據(jù)提供或編輯者(M)即在鏈上提交或更新數(shù)據(jù)的用戶;數(shù)據(jù)訪問者(S)即有權(quán)檢索滿足預(yù)配權(quán)限的數(shù)據(jù)記錄用戶,如果沒有符合條件的數(shù)據(jù)則返回空;數(shù)據(jù)無關(guān)者(N)即無權(quán)訪問該筆追蹤數(shù)據(jù)的用戶。數(shù)據(jù)用戶角色的權(quán)限分配見圖6。
圖6 數(shù)據(jù)用戶角色權(quán)限分配示意圖
中歐班列區(qū)塊鏈系統(tǒng)使用Fabric的私有數(shù)據(jù)(Private Data)機(jī)制,實(shí)現(xiàn)中歐班列追蹤數(shù)據(jù)的權(quán)限控制。
智能合約是一種運(yùn)行在區(qū)塊鏈上,由事件觸發(fā)的、具有狀態(tài)的、自行驗(yàn)證和自動(dòng)執(zhí)行的計(jì)算機(jī)程序[9-10]。智能合約的工作原理類似于計(jì)算機(jī)程序的if-then語句,即當(dāng)一個(gè)預(yù)置條件被觸發(fā)時(shí),相應(yīng)的合約條款將會(huì)被自動(dòng)執(zhí)行[11]。與傳統(tǒng)合約相比,智能合約具有去信任、安全、高效、無須第三方仲裁等特點(diǎn),其運(yùn)行原理見圖7。
圖7 智能合約原理
根據(jù)中歐班列貨物追蹤信息共享業(yè)務(wù)規(guī)則,設(shè)計(jì)開發(fā)區(qū)塊鏈智能合約,實(shí)現(xiàn)追蹤信息共享業(yè)務(wù)邏輯,包括身份管理、身份驗(yàn)證、追蹤信息共享、追蹤信息授權(quán)、追蹤信息校驗(yàn)、追蹤信息查詢等功能,編譯后部署到區(qū)塊鏈網(wǎng)絡(luò)中。
基于中歐班列全程運(yùn)輸多國(guó)之間數(shù)據(jù)共享需求,以區(qū)塊鏈去中心化、不可篡改、可追溯等特點(diǎn)為基礎(chǔ),研究了基于區(qū)塊鏈技術(shù)的中歐班列數(shù)據(jù)共享機(jī)制,設(shè)計(jì)了中歐班列區(qū)塊鏈的系統(tǒng)架構(gòu)、網(wǎng)絡(luò)結(jié)構(gòu)、身份認(rèn)證體系、數(shù)據(jù)結(jié)構(gòu)等,為中歐班列數(shù)據(jù)共享中數(shù)據(jù)所屬權(quán)、數(shù)據(jù)訪問控制及構(gòu)建數(shù)據(jù)共享生態(tài)圈等方案提供了一種新的解決思路。