焦巍巍 劉 彤
(大連海事大學航海學院 遼寧 大連 116000)
多式聯運由航空、公路、鐵路和水路中的任意兩種或多種運輸方式組成,是衡量一個國家或地區交通運輸現代化程度的重要指標。順暢高效的多式聯運系統對降低物流成本、提高物流效率、促進節能減排具有積極的意義。多式聯運單證承擔著發貨收據、運輸合同、物權憑證、提貨憑據等多項功能,是開展多式聯運業務時的必要環節。目前,多式聯運單證主要有紙質單證和電子單證兩種形式。紙質單證具有內容重復填寫、制作速度慢等缺點,對物流時間和成本造成了很大影響;電子數據交換(Electronic Data Interchange,EDI)單證存在軟硬件兼容性差、安裝成本高等問題[1],導致了多式聯運信息共享困難。
由智能合約、對等式網絡(Peer-to-peer network,P2P網絡)、時間戳、非對稱加密等組成的區塊鏈(Blockchain)技術具有分布式數據易共享、可編程自動執行、數據可信溯源、安全隱私保護等特性[2],可以有效降低跨境支付成本。2019年5月,聯合國貿易便利化和電子業務中心(UN/CEFACT)發起了“應用區塊鏈技術進行優惠原產地證書跨境總賬交換”項目,其發展框架指出未來將支持應用區塊鏈技術進行政府間的任何數據交換[3],為解決當前多式聯運單證中存在的問題提供了新思路。
本文以實現多式聯運單證功能為目標,利用區塊鏈技術對傳統的多式聯運單證進行數字化升級,以提高物流效率,促進信息共享。
多式聯運單證主要有以下三種功能:作為多式聯運經營人直接為發貨人簽發的收據和運輸合同;作為發貨人通過金融機構向收貨人轉讓的物權憑證;作為收貨人向多式聯運經營人提貨的憑據?!秶H多式聯運規則》規定,在所適用法律的允許下,多式聯運單證可以由電子數據交換信息取代[4]。區塊鏈匯集了智能合約、P2P網絡、時間戳、非對稱加密等多種技術手段,具有強大的功能,為多式聯運單證數字化升級提供了技術支撐,如表1所示。

表1 實現多式聯運單證功能所需的區塊鏈技術
智能合約是一段部署在區塊鏈上的計算機程序,通常具有合約值和合約狀態兩個屬性,當數據或事件被傳入后,通過預置的規則來自動執行操作,改變后的合約值和合約狀態會被記錄到區塊鏈上[5]。多式聯運單證各項功能的實現都需要用到智能合約。
在區塊鏈的鏈式數據結構中,每一個數據區塊包含區塊頭和區塊體兩部分,區塊頭中內置了時間戳。時間戳用于記錄數據區塊生成的時間信息,有助于防止記錄在區塊鏈上的信息被篡改,可用于多式聯運數字化單證的信息溯源場景。
區塊鏈底層平臺通常會采用非對稱加密算法,非對稱加密中的密鑰由一對公鑰和私鑰組成,經過公鑰加密的信息只能用相應的私鑰解密,由私鑰加密的信息只能被同對的公鑰打開。非對稱加密可用于多式聯運數字化單證需要數字簽名的場景[6],如發貨人辦理托運業務、監管單位授權、收貨人簽收貨物等。
區塊鏈底層平臺采用節點地位對等、拓撲結構扁平的P2P網絡進行組網。每一筆已簽署的交易都會被用戶節點廣播至它的單跳對等節點,收到這筆交易的目標節點會進行有效性驗證,驗證通過后再繼續轉發,直至實現交易的全網傳播[7]。P2P網絡可以幫助多式聯運實現去中心化,發貨人和收貨人不必再通過銀行進行物權轉讓和現金交易,有利于降低中間成本、提高交易效率。
目前,國內缺乏統一的多式聯運單證,在不同單證中存在許多重復填制的內容;國際上采用的多式聯運單證中部分信息需要自定義,不利于多式聯運信息的標準化建設。相關研究大多圍繞“鐵-水”聯運或“公-鐵-水”聯運開展,沒有考慮快速發展的航空運輸。
多式聯運數字化單證的主要內容由航空、公路、鐵路和水路四種運輸方式所涉及的單證整合而成。四種運輸方式涉及的主要單證如表2所示。此外,在跨境運輸中還會涉及海關部門的單證,如進口貨物報關單、出口貨物報關單等。

表2 航空、公路、鐵路和水路運輸涉及的單證
匯總以上單證的內容,刪去功能重復的部分,然后按信息來源將剩余部分劃分為發貨人信息、收貨人信息、貨物信息、承運信息和監管信息,如表3所示,它們構成了多式聯運數字化單證的主要內容。

表3 數字化單證內容

續表3
多式聯運數字化單證的用戶功能由傳統多式聯運單證的業務需求轉化而成。按所承擔任務的性質,多式聯運參與主體可以被劃分為客戶、監管和承運三類用戶。在數字化單證背景下的多式聯運中,客戶類用戶在使用數字化單證時,需要通過簽名的形式來簽收貨物;監管類用戶為履行自己的部門職責,需要在檢查通過后進行授權操作;承運類用戶在承接業務時需要完成信息的初始錄入工作,并且在完成每一階段的運輸工作后進行簽注,以實現多式聯運狀態的更新。此外,這三類用戶都有查詢貨物信息和運輸狀態的需求。以上用戶需求可轉化為簽收、授權、錄入、簽注和查詢等多式聯運數字化單證的功能需求,如表4所示。

表4 多式聯運數字化單證用戶和功能
多式聯運數字化單證的系統架構由物理層、平臺層、合約層和應用層等四層組成,如圖1所示。其中,物理層包括參與多式聯運的客戶、監管和承運三類主體節點;平臺層則封裝了時間戳、P2P網絡、加密算法、共識算法等區塊鏈技術模塊;合約層封裝了主合約和工具合約;應用層包括信息錄入、查詢、授權、簽注和簽收等功能模塊。

圖1 多式聯運數字化單證系統架構
結合區塊鏈技術的分布式網絡特點,建立了多式聯運數字化單證的應用流程。在多式聯運發展的理想狀態[8]下,多式聯運經營人不必再多次充當托運人和收貨人來銜接各運輸分段,只需要在起運地和目的地開展對接工作,途中運輸方式的切換工作由各分段承運人直接完成。
多式聯運數字化單證的應用流程如圖2所示。

圖2 多式聯運數字化單證應用流程
(1) 發貨人在起運地多式聯運經營人處辦理托運業務,提交業務所需信息;
(2) 多式聯運經營人對客戶訂單進行預審,滿足條件后向監管單位申報查驗;
(3) 監管單位對貨運業務開展逐項檢查,對符合要求的予以授權放行;
(4) 多式聯運經營人對接分段承運人1開始貨物運輸;
(5) 各分段承運人依次開展運輸業務;
(6) 最后一個分段承運人n將貨物運抵目的地;
(7) 目的地多式聯運經營人對訂單進行復查,然后向收貨人交付。
以太坊(Ethereum)是一個開源的公共區塊鏈平臺,它內置了支持圖靈完備腳本語言的以太坊虛擬機(Ethereum Virtual Machine,EVM),這使得用戶可以通過在該平臺上創建去中心化應用(Decentralized Application,DApp)來實現各種業務需求。智能合約是DApp中連接前端界面和底層分布式網絡的核心部分[6],可以用來處理信息、傳遞價值[9]。前文以“業務需求—用戶需求—功能需求”的需求轉化路徑,將“實現傳統多式聯運單證的功能”的業務需求轉化為“實現數字化單證中的功能”的功能需求;這里采用Solidity語言開發智能合約,通過在以太坊的Remix平臺上在線實現多式聯運數字化單證的各項用戶功能來完成驗證。
本實驗的智能合約包含了主合約和工具合約。主合約是實現多式聯運數字化單證中各項功能的核心部分,可分為單證信息和功能函數兩個部分。工具合約內存放了輔助智能合約業務方法執行的功能函數,如用于bytes和string數據類型轉換的工具。
以參與多式聯運的主體為對象,選擇合適的數據類型逐條定義多式聯運單證中的信息。圖3定義了客戶類和貨物類結構體,其中:客戶類結構體用于定義發貨人和收貨人信息,包括姓名、電話、地址和郵編;貨物類結構體用于定義辦理托運的貨物信息,包括編號、嘜頭、集裝箱箱號等。

圖3 定義單證信息
為了滿足多式聯運參與主體的錄入、查詢、授權、簽注和簽收等功能,在主合約中建立了信息錄入、狀態更新、狀態顯示等函數。其中:信息錄入函數用于多式聯運經營人節點傳入客戶、貨物、運輸、監管等各類信息參數;狀態更新函數的作用是幫助各參與主體在完成自己的任務階段后進行多式聯運狀態更新,應用流程如表5所示。通過調用狀態顯示函數,可以實現多式聯運單證信息和運輸狀態的查詢功能。

表5 狀態更新流程

續表5
在以太坊平臺成功部署合約后,運行并得到以下結果:
(1) 按照提示輸入多式聯運單證信息的相應參數,提交后信息成功返回,實現了信息錄入功能。圖4為輸入多式聯運經營人、第一分段承運人、發貨人和收貨人的數據之后返回的結果。

圖4 單證信息錄入
(2) 調用狀態顯示函數,返回初始狀態碼“-10”,說明查詢功能正常。
(3) 調用多式聯運經營人的簽注方法,返回狀態碼“-1”,說明簽注功能正常。
(4) 調用監管單位授權方法,返回狀態碼“0”,說明授權功能正常。
(5) 再次調用多式聯運經營人簽注方法,返回狀態碼“-2”,表示多式聯運經營人開始安排運輸;調用分段承運人簽注方法,返回狀態碼“1”,表示正在進行第一分段運輸;第二次調用分段承運人簽注方法,返回狀態碼“2”,表示正在進行第二分段運輸;第三次調用分段承運人簽注方法,返回狀態碼“3”,表示正在進行第三分段運輸;調用多式聯運經營人簽注方法,返回狀態碼“-3”,表示貨物已運抵目的地,等待交付。
(6) 調用收貨人簽收方法,返回狀態碼“-20”,說明簽收功能正常。
為解決多式聯運單證中存在的內容重復填寫、制作速度慢、信息共享難等問題,引入區塊鏈技術,在整合航空、公路、鐵路和水路四種運輸方式單證的基礎上構建了多式聯運數字化單證。通過以太坊平臺進行智能合約實驗,實現了多式聯運數字化單證的信息錄入、查詢、授權、簽注和簽收功能,避免了使用紙質單證時內容重復填寫、制作速度慢等問題,可以實現多式聯運信息共享,有利于節約物流成本,提高物流效率,促進交通綠色發展。