焦巍巍 劉 彤
(大連海事大學(xué)航海學(xué)院 遼寧 大連 116000)
多式聯(lián)運(yùn)由航空、公路、鐵路和水路中的任意兩種或多種運(yùn)輸方式組成,是衡量一個(gè)國家或地區(qū)交通運(yùn)輸現(xiàn)代化程度的重要指標(biāo)。順暢高效的多式聯(lián)運(yùn)系統(tǒng)對(duì)降低物流成本、提高物流效率、促進(jìn)節(jié)能減排具有積極的意義。多式聯(lián)運(yùn)單證承擔(dān)著發(fā)貨收據(jù)、運(yùn)輸合同、物權(quán)憑證、提貨憑據(jù)等多項(xiàng)功能,是開展多式聯(lián)運(yùn)業(yè)務(wù)時(shí)的必要環(huán)節(jié)。目前,多式聯(lián)運(yùn)單證主要有紙質(zhì)單證和電子單證兩種形式。紙質(zhì)單證具有內(nèi)容重復(fù)填寫、制作速度慢等缺點(diǎn),對(duì)物流時(shí)間和成本造成了很大影響;電子數(shù)據(jù)交換(Electronic Data Interchange,EDI)單證存在軟硬件兼容性差、安裝成本高等問題[1],導(dǎo)致了多式聯(lián)運(yùn)信息共享困難。
由智能合約、對(duì)等式網(wǎng)絡(luò)(Peer-to-peer network,P2P網(wǎng)絡(luò))、時(shí)間戳、非對(duì)稱加密等組成的區(qū)塊鏈(Blockchain)技術(shù)具有分布式數(shù)據(jù)易共享、可編程自動(dòng)執(zhí)行、數(shù)據(jù)可信溯源、安全隱私保護(hù)等特性[2],可以有效降低跨境支付成本。2019年5月,聯(lián)合國貿(mào)易便利化和電子業(yè)務(wù)中心(UN/CEFACT)發(fā)起了“應(yīng)用區(qū)塊鏈技術(shù)進(jìn)行優(yōu)惠原產(chǎn)地證書跨境總賬交換”項(xiàng)目,其發(fā)展框架指出未來將支持應(yīng)用區(qū)塊鏈技術(shù)進(jìn)行政府間的任何數(shù)據(jù)交換[3],為解決當(dāng)前多式聯(lián)運(yùn)單證中存在的問題提供了新思路。
本文以實(shí)現(xiàn)多式聯(lián)運(yùn)單證功能為目標(biāo),利用區(qū)塊鏈技術(shù)對(duì)傳統(tǒng)的多式聯(lián)運(yùn)單證進(jìn)行數(shù)字化升級(jí),以提高物流效率,促進(jìn)信息共享。
多式聯(lián)運(yùn)單證主要有以下三種功能:作為多式聯(lián)運(yùn)經(jīng)營人直接為發(fā)貨人簽發(fā)的收據(jù)和運(yùn)輸合同;作為發(fā)貨人通過金融機(jī)構(gòu)向收貨人轉(zhuǎn)讓的物權(quán)憑證;作為收貨人向多式聯(lián)運(yùn)經(jīng)營人提貨的憑據(jù)?!秶H多式聯(lián)運(yùn)規(guī)則》規(guī)定,在所適用法律的允許下,多式聯(lián)運(yùn)單證可以由電子數(shù)據(jù)交換信息取代[4]。區(qū)塊鏈匯集了智能合約、P2P網(wǎng)絡(luò)、時(shí)間戳、非對(duì)稱加密等多種技術(shù)手段,具有強(qiáng)大的功能,為多式聯(lián)運(yùn)單證數(shù)字化升級(jí)提供了技術(shù)支撐,如表1所示。
表1 實(shí)現(xiàn)多式聯(lián)運(yùn)單證功能所需的區(qū)塊鏈技術(shù)
智能合約是一段部署在區(qū)塊鏈上的計(jì)算機(jī)程序,通常具有合約值和合約狀態(tài)兩個(gè)屬性,當(dāng)數(shù)據(jù)或事件被傳入后,通過預(yù)置的規(guī)則來自動(dòng)執(zhí)行操作,改變后的合約值和合約狀態(tài)會(huì)被記錄到區(qū)塊鏈上[5]。多式聯(lián)運(yùn)單證各項(xiàng)功能的實(shí)現(xiàn)都需要用到智能合約。
在區(qū)塊鏈的鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)中,每一個(gè)數(shù)據(jù)區(qū)塊包含區(qū)塊頭和區(qū)塊體兩部分,區(qū)塊頭中內(nèi)置了時(shí)間戳。時(shí)間戳用于記錄數(shù)據(jù)區(qū)塊生成的時(shí)間信息,有助于防止記錄在區(qū)塊鏈上的信息被篡改,可用于多式聯(lián)運(yùn)數(shù)字化單證的信息溯源場景。
區(qū)塊鏈底層平臺(tái)通常會(huì)采用非對(duì)稱加密算法,非對(duì)稱加密中的密鑰由一對(duì)公鑰和私鑰組成,經(jīng)過公鑰加密的信息只能用相應(yīng)的私鑰解密,由私鑰加密的信息只能被同對(duì)的公鑰打開。非對(duì)稱加密可用于多式聯(lián)運(yùn)數(shù)字化單證需要數(shù)字簽名的場景[6],如發(fā)貨人辦理托運(yùn)業(yè)務(wù)、監(jiān)管單位授權(quán)、收貨人簽收貨物等。
區(qū)塊鏈底層平臺(tái)采用節(jié)點(diǎn)地位對(duì)等、拓?fù)浣Y(jié)構(gòu)扁平的P2P網(wǎng)絡(luò)進(jìn)行組網(wǎng)。每一筆已簽署的交易都會(huì)被用戶節(jié)點(diǎn)廣播至它的單跳對(duì)等節(jié)點(diǎn),收到這筆交易的目標(biāo)節(jié)點(diǎn)會(huì)進(jìn)行有效性驗(yàn)證,驗(yàn)證通過后再繼續(xù)轉(zhuǎn)發(fā),直至實(shí)現(xiàn)交易的全網(wǎng)傳播[7]。P2P網(wǎng)絡(luò)可以幫助多式聯(lián)運(yùn)實(shí)現(xiàn)去中心化,發(fā)貨人和收貨人不必再通過銀行進(jìn)行物權(quán)轉(zhuǎn)讓和現(xiàn)金交易,有利于降低中間成本、提高交易效率。
目前,國內(nèi)缺乏統(tǒng)一的多式聯(lián)運(yùn)單證,在不同單證中存在許多重復(fù)填制的內(nèi)容;國際上采用的多式聯(lián)運(yùn)單證中部分信息需要自定義,不利于多式聯(lián)運(yùn)信息的標(biāo)準(zhǔn)化建設(shè)。相關(guān)研究大多圍繞“鐵-水”聯(lián)運(yùn)或“公-鐵-水”聯(lián)運(yùn)開展,沒有考慮快速發(fā)展的航空運(yùn)輸。
多式聯(lián)運(yùn)數(shù)字化單證的主要內(nèi)容由航空、公路、鐵路和水路四種運(yùn)輸方式所涉及的單證整合而成。四種運(yùn)輸方式涉及的主要單證如表2所示。此外,在跨境運(yùn)輸中還會(huì)涉及海關(guān)部門的單證,如進(jìn)口貨物報(bào)關(guān)單、出口貨物報(bào)關(guān)單等。
表2 航空、公路、鐵路和水路運(yùn)輸涉及的單證
匯總以上單證的內(nèi)容,刪去功能重復(fù)的部分,然后按信息來源將剩余部分劃分為發(fā)貨人信息、收貨人信息、貨物信息、承運(yùn)信息和監(jiān)管信息,如表3所示,它們構(gòu)成了多式聯(lián)運(yùn)數(shù)字化單證的主要內(nèi)容。
表3 數(shù)字化單證內(nèi)容
續(xù)表3
多式聯(lián)運(yùn)數(shù)字化單證的用戶功能由傳統(tǒng)多式聯(lián)運(yùn)單證的業(yè)務(wù)需求轉(zhuǎn)化而成。按所承擔(dān)任務(wù)的性質(zhì),多式聯(lián)運(yùn)參與主體可以被劃分為客戶、監(jiān)管和承運(yùn)三類用戶。在數(shù)字化單證背景下的多式聯(lián)運(yùn)中,客戶類用戶在使用數(shù)字化單證時(shí),需要通過簽名的形式來簽收貨物;監(jiān)管類用戶為履行自己的部門職責(zé),需要在檢查通過后進(jìn)行授權(quán)操作;承運(yùn)類用戶在承接業(yè)務(wù)時(shí)需要完成信息的初始錄入工作,并且在完成每一階段的運(yùn)輸工作后進(jìn)行簽注,以實(shí)現(xiàn)多式聯(lián)運(yùn)狀態(tài)的更新。此外,這三類用戶都有查詢貨物信息和運(yùn)輸狀態(tài)的需求。以上用戶需求可轉(zhuǎn)化為簽收、授權(quán)、錄入、簽注和查詢等多式聯(lián)運(yùn)數(shù)字化單證的功能需求,如表4所示。
表4 多式聯(lián)運(yùn)數(shù)字化單證用戶和功能
多式聯(lián)運(yùn)數(shù)字化單證的系統(tǒng)架構(gòu)由物理層、平臺(tái)層、合約層和應(yīng)用層等四層組成,如圖1所示。其中,物理層包括參與多式聯(lián)運(yùn)的客戶、監(jiān)管和承運(yùn)三類主體節(jié)點(diǎn);平臺(tái)層則封裝了時(shí)間戳、P2P網(wǎng)絡(luò)、加密算法、共識(shí)算法等區(qū)塊鏈技術(shù)模塊;合約層封裝了主合約和工具合約;應(yīng)用層包括信息錄入、查詢、授權(quán)、簽注和簽收等功能模塊。
圖1 多式聯(lián)運(yùn)數(shù)字化單證系統(tǒng)架構(gòu)
結(jié)合區(qū)塊鏈技術(shù)的分布式網(wǎng)絡(luò)特點(diǎn),建立了多式聯(lián)運(yùn)數(shù)字化單證的應(yīng)用流程。在多式聯(lián)運(yùn)發(fā)展的理想狀態(tài)[8]下,多式聯(lián)運(yùn)經(jīng)營人不必再多次充當(dāng)托運(yùn)人和收貨人來銜接各運(yùn)輸分段,只需要在起運(yùn)地和目的地開展對(duì)接工作,途中運(yùn)輸方式的切換工作由各分段承運(yùn)人直接完成。
多式聯(lián)運(yùn)數(shù)字化單證的應(yīng)用流程如圖2所示。
圖2 多式聯(lián)運(yùn)數(shù)字化單證應(yīng)用流程
(1) 發(fā)貨人在起運(yùn)地多式聯(lián)運(yùn)經(jīng)營人處辦理托運(yùn)業(yè)務(wù),提交業(yè)務(wù)所需信息;
(2) 多式聯(lián)運(yùn)經(jīng)營人對(duì)客戶訂單進(jìn)行預(yù)審,滿足條件后向監(jiān)管單位申報(bào)查驗(yàn);
(3) 監(jiān)管單位對(duì)貨運(yùn)業(yè)務(wù)開展逐項(xiàng)檢查,對(duì)符合要求的予以授權(quán)放行;
(4) 多式聯(lián)運(yùn)經(jīng)營人對(duì)接分段承運(yùn)人1開始貨物運(yùn)輸;
(5) 各分段承運(yùn)人依次開展運(yùn)輸業(yè)務(wù);
(6) 最后一個(gè)分段承運(yùn)人n將貨物運(yùn)抵目的地;
(7) 目的地多式聯(lián)運(yùn)經(jīng)營人對(duì)訂單進(jìn)行復(fù)查,然后向收貨人交付。
以太坊(Ethereum)是一個(gè)開源的公共區(qū)塊鏈平臺(tái),它內(nèi)置了支持圖靈完備腳本語言的以太坊虛擬機(jī)(Ethereum Virtual Machine,EVM),這使得用戶可以通過在該平臺(tái)上創(chuàng)建去中心化應(yīng)用(Decentralized Application,DApp)來實(shí)現(xiàn)各種業(yè)務(wù)需求。智能合約是DApp中連接前端界面和底層分布式網(wǎng)絡(luò)的核心部分[6],可以用來處理信息、傳遞價(jià)值[9]。前文以“業(yè)務(wù)需求—用戶需求—功能需求”的需求轉(zhuǎn)化路徑,將“實(shí)現(xiàn)傳統(tǒng)多式聯(lián)運(yùn)單證的功能”的業(yè)務(wù)需求轉(zhuǎn)化為“實(shí)現(xiàn)數(shù)字化單證中的功能”的功能需求;這里采用Solidity語言開發(fā)智能合約,通過在以太坊的Remix平臺(tái)上在線實(shí)現(xiàn)多式聯(lián)運(yùn)數(shù)字化單證的各項(xiàng)用戶功能來完成驗(yàn)證。
本實(shí)驗(yàn)的智能合約包含了主合約和工具合約。主合約是實(shí)現(xiàn)多式聯(lián)運(yùn)數(shù)字化單證中各項(xiàng)功能的核心部分,可分為單證信息和功能函數(shù)兩個(gè)部分。工具合約內(nèi)存放了輔助智能合約業(yè)務(wù)方法執(zhí)行的功能函數(shù),如用于bytes和string數(shù)據(jù)類型轉(zhuǎn)換的工具。
以參與多式聯(lián)運(yùn)的主體為對(duì)象,選擇合適的數(shù)據(jù)類型逐條定義多式聯(lián)運(yùn)單證中的信息。圖3定義了客戶類和貨物類結(jié)構(gòu)體,其中:客戶類結(jié)構(gòu)體用于定義發(fā)貨人和收貨人信息,包括姓名、電話、地址和郵編;貨物類結(jié)構(gòu)體用于定義辦理托運(yùn)的貨物信息,包括編號(hào)、嘜頭、集裝箱箱號(hào)等。
圖3 定義單證信息
為了滿足多式聯(lián)運(yùn)參與主體的錄入、查詢、授權(quán)、簽注和簽收等功能,在主合約中建立了信息錄入、狀態(tài)更新、狀態(tài)顯示等函數(shù)。其中:信息錄入函數(shù)用于多式聯(lián)運(yùn)經(jīng)營人節(jié)點(diǎn)傳入客戶、貨物、運(yùn)輸、監(jiān)管等各類信息參數(shù);狀態(tài)更新函數(shù)的作用是幫助各參與主體在完成自己的任務(wù)階段后進(jìn)行多式聯(lián)運(yùn)狀態(tài)更新,應(yīng)用流程如表5所示。通過調(diào)用狀態(tài)顯示函數(shù),可以實(shí)現(xiàn)多式聯(lián)運(yùn)單證信息和運(yùn)輸狀態(tài)的查詢功能。
表5 狀態(tài)更新流程
續(xù)表5
在以太坊平臺(tái)成功部署合約后,運(yùn)行并得到以下結(jié)果:
(1) 按照提示輸入多式聯(lián)運(yùn)單證信息的相應(yīng)參數(shù),提交后信息成功返回,實(shí)現(xiàn)了信息錄入功能。圖4為輸入多式聯(lián)運(yùn)經(jīng)營人、第一分段承運(yùn)人、發(fā)貨人和收貨人的數(shù)據(jù)之后返回的結(jié)果。
圖4 單證信息錄入
(2) 調(diào)用狀態(tài)顯示函數(shù),返回初始狀態(tài)碼“-10”,說明查詢功能正常。
(3) 調(diào)用多式聯(lián)運(yùn)經(jīng)營人的簽注方法,返回狀態(tài)碼“-1”,說明簽注功能正常。
(4) 調(diào)用監(jiān)管單位授權(quán)方法,返回狀態(tài)碼“0”,說明授權(quán)功能正常。
(5) 再次調(diào)用多式聯(lián)運(yùn)經(jīng)營人簽注方法,返回狀態(tài)碼“-2”,表示多式聯(lián)運(yùn)經(jīng)營人開始安排運(yùn)輸;調(diào)用分段承運(yùn)人簽注方法,返回狀態(tài)碼“1”,表示正在進(jìn)行第一分段運(yùn)輸;第二次調(diào)用分段承運(yùn)人簽注方法,返回狀態(tài)碼“2”,表示正在進(jìn)行第二分段運(yùn)輸;第三次調(diào)用分段承運(yùn)人簽注方法,返回狀態(tài)碼“3”,表示正在進(jìn)行第三分段運(yùn)輸;調(diào)用多式聯(lián)運(yùn)經(jīng)營人簽注方法,返回狀態(tài)碼“-3”,表示貨物已運(yùn)抵目的地,等待交付。
(6) 調(diào)用收貨人簽收方法,返回狀態(tài)碼“-20”,說明簽收功能正常。
為解決多式聯(lián)運(yùn)單證中存在的內(nèi)容重復(fù)填寫、制作速度慢、信息共享難等問題,引入?yún)^(qū)塊鏈技術(shù),在整合航空、公路、鐵路和水路四種運(yùn)輸方式單證的基礎(chǔ)上構(gòu)建了多式聯(lián)運(yùn)數(shù)字化單證。通過以太坊平臺(tái)進(jìn)行智能合約實(shí)驗(yàn),實(shí)現(xiàn)了多式聯(lián)運(yùn)數(shù)字化單證的信息錄入、查詢、授權(quán)、簽注和簽收功能,避免了使用紙質(zhì)單證時(shí)內(nèi)容重復(fù)填寫、制作速度慢等問題,可以實(shí)現(xiàn)多式聯(lián)運(yùn)信息共享,有利于節(jié)約物流成本,提高物流效率,促進(jìn)交通綠色發(fā)展。