肖夢雪, 左 力, 徐志錕, 田金簫
1(西南交通大學 信息科學與技術學院, 成都 611756)
2(西南交通大學 計算機與人工智能學院, 成都 611756)
鐵路運輸是國際貿易主要運輸方式之一, 具有運量大、連續性高、風險小等優點. 傳統的鐵路物流票據是運單, 并不具有作為物權憑證的能力. 為確保貨物貿易的順利進行, 在跨境運輸中采用具有物權憑證功能的多式聯運“一單制”提單已成為必然趨勢. 然而, 由于紙質提單存在流轉成本高、速度慢、安全性低等問題, 極大地影響了貨物運輸和資金流轉的效率, 提單電子化已然成為提單發展的重要方向.
目前, 電子數據交換(electronic data interchange,EDI)技術[1]是提單電子化的主要途徑, 然而, 基于EDI技術的電子提單系統存在以下弊端.
(1)效率低. 數據信息的統計與分析都集中在EDI網絡中心進行, 信息傳輸效率低.
(2)安全性低. 采用中心化的B/S或C/S架構, 存在單點故障和數據篡改問題.
(3)公信力低. 文獻[2]指出, EDI系統中多機構、多地域間的信任只能依靠第三方機構建立, 然而這類機構卻很難在世界各地同時取得話語權與公信力. 因此, 在EDI系統中, 提單不具有金融屬性. 這對電子提單跨機構、跨地域的審查和價值轉移造成了阻礙.
而區塊鏈技術具有去中心化、高透明度、去信任、不可篡改的特性, 為上訴問題提供了有效解決方案. 目前已經有學者對區塊鏈技術應用于紙質提單電子化做了相關研究, 如文獻[3,4]都提出了在國際多式聯運中使用電子提單的構想, 闡明了基于區塊鏈的電子提單系統的可行性. 成都陸港公司推出了針對提單金融服務的區塊鏈提單一點通, 運用區塊鏈的防篡改優勢與金融機構銀行等進行提單質押貸款交易, 但僅限于公司與合作機構內部使用. 因此, 我們需要在此基礎上拓展業務主體均使用的統一區塊鏈電子提單, 推動多式聯運“一單制”的發展.
基于國際鐵路物流迫切的落地需求和區塊鏈技術的優勢, 本文首先參考現有鐵路運單與紙質提單的功能與制式, 設計了一套電子提單數據結構; 其次, 依據EDI系統電子提單流轉模式[5]與當前國際貿易規則,制定了物權轉移業務邏輯; 最后, 實現了一個多方監管共同維護的區塊鏈電子提單系統.
電子提單不同于以紙面為媒介的傳統提單, 其內容以電子數據的形式存在, 可通過電子計算機通訊的形式傳輸. 文獻[6]指出, 電子提單在《海上貨物運輸公約草案》中被定義為“可流通性電子記錄”, 具有與紙質提單等價的功能, 包括: 貨物交付、運輸合同證明、承運人接收貨物證明、物權憑證與提單流轉、抵押貸款與單據交易.
目前, 鐵路電子提單發展停留在紙質提單電子化階段, 其流轉模式和相關法制還不成熟, 缺少一個完善的電子提單國際貿易平臺.
區塊鏈(Blockchain)[7]本質是一個去中心化的、不可篡改的共享賬本. 使用區塊鏈技術在不可信網絡環境中構建多方信任的分布式系統, 將為企業和用戶提供更低的溝通整合成本和更高的業務效率. 除此之外, 國家的支持為基于區塊鏈技術的電子提單的實施提供了政策保障. 2016年工信部發布了區塊鏈白皮書[7],2019年國家互聯網信息辦公室發布了《區塊鏈信息服務管理規定》, 目前, 區塊鏈已上升為國家戰略.
與傳統的電子提單流轉平臺EDI系統相比, 區塊鏈技術具有以下優勢: 一是去信任, 能夠在多地區、多機構之間建立信任關系; 二是去中心, 區塊鏈中數據分布式存儲, 邊緣數據訪問效率高; 三是不可篡改與可追溯, 能夠解決貨物溯源與物權歸屬問題; 四是高透明度,鏈上所有信息和業務規則能被參與方監督和驗證, 合法用戶可憑借鏈式結構追溯訂單本源.
超級賬本(hyperledger fabric)[8,9]是一種模塊化可插拔的區塊鏈實施方案, 從邏輯上結合了3個范疇, 即成員管理、區塊鏈和智能合約(鏈碼). 成員管理功能在準入型區塊鏈中實現權限控制, 而合法的參與者只能通過智能合約記賬. 智能合約[10]是參與方之間必須執行約定內容的協議, 執行過程不需要第三方干預, 能夠避免任何參與方欺詐.
電子提單系統整體框架, 由下至上分為基礎技術層、系統核心層和應用層, 如圖1所示.

圖1 電子提單系統整體框架
在基礎技術層中, P2P網絡協議實現了事務數據傳輸和區塊同步; TLS協議實現了對交易信息的驗證以及安全保密通信; LevelDB數據庫和CouchDB數據庫則用于數據存儲.
在系統核心層中, 聯盟管理者 (member service provider, MSP)進行聯盟成員證書以及權限管理; 海關和監察部門對合約執行結果背書, 生成相應事務信息;共識節點集群接受事務信息, 通過共識協議實現對區塊的更新和同步.
在應用層中, 智能合約定義了系統的業務邏輯, 以網頁的方式向用戶提供服務, 包括賬戶登錄/注冊、提單發布、金融質押等. 其中, 用戶分為普通用戶(托運人、承運人、收貨人)、金融機構和海關3種角色. 各個角色具體職能如下.
托運方: 發起托運請求, 提供貨物信息, 向海關提交申請, 向金融機構貸款還款.
承運方: 運輸貨物, 提供運輸信息.
收貨人: 向提單持有方匯款獲得貨物支配權, 從承運人處提貨結束提單, 以及向金融機構抵押贖回.
金融機構: 提供供應鏈金融功能, 包括資金暫存與金融質押.
海關和檢查部門: 對線上信息和線下貨物實體的一致性進行核實, 在系統中更新提單審核信息.
2.2.1 數據結構設計
參考《鐵路貨物運輸國際公約》與《國際鐵路貨物聯運協定》, 本系統設計了一套流通于電子提單平臺的數據結構, 包括賬戶和提單兩個部分.
(1) 賬戶用于保存用戶信息, 其內容如表1所示.系統為每個用戶記錄了一個賬戶, 內容包括用戶ID、角色、貨物質量、貨運能力、資金以及身份證書的哈希值. 其中貨運能力、貨物、剩余資金等信息用于背書節點驗證交易是否可被執行; 證書的哈希值用于驗證交易發起者是否是資產持有人.

表1 賬戶數據結構
(2) 電子提單數據結構記錄了交易的參與者、貨物所需運力以及提單持有人的信息. 此外, 還記錄了提單當前狀態、審核狀態和貸款抵押狀態, 以及這些狀態對應賬戶. 提單簽發后, 用戶可根據貨物狀態對提單內容修改和更新, 提單操作將作為交易被打包上傳至區塊鏈, 具體結構如表2.

表2 提單數據結構
2.2.2 物權轉移業務邏輯設計
根據實際運輸場景和物權轉移流程, 基于區塊鏈的電子提單系統業務邏輯如圖2所示, 可分為3大主要業務以及其他業務, 其中主要業務包括提單簽發、金融質押和結款提貨.

圖2 電子提單系統業務邏輯
(1) 提單簽發
提單簽發涉及到電子提單的初始化以及提單審核.如圖3所示, 電子提單簽發流程如下.

圖3 提單簽發流程圖
1) 托運人提出托運申請, 區塊鏈平臺對該申請記鏈, 并生成待審核提單.
2) 海關審核貨物與用戶信息后, 更新提單中的審核狀態, 并將更新后的提單發布到區塊鏈平臺.
3) 收貨人查詢到該提單通過審核后可付款, 貨款暫存至金融機構, 區塊鏈平臺記鏈并更新提單的狀態.
4) 托運人確認貨款已付至金融機構后, 對貨物裝載并更新提單狀態, 此時提單的持有人為托運人.
5) 區塊鏈平臺更新提單狀態, 提單簽發完畢.
(2) 金融質押
賬本數據的不可篡改性和同構性, 使提單具備物權屬性, 金融質押成為可能. 如圖4所示, 金融質押流程如下.

圖4 金融質押流程圖
1) 抵押方, 即托運人, 提出貸款申請.
2) 借貸方, 即金融機構, 在鏈上查詢當前提單的貸款申請情況, 并驗證賬號的信用.
3) 金融機構審核并完成轉賬操作后, 物權將轉移給借貸方, 即提單的持有人變為金融機構.
4) 區塊鏈平臺更新提單狀態, 金融質押完畢.
(3) 結款提貨
承運人運輸貨物至目的地, 此時提單持有者為托運人, 貨款代存在金融機構. 如圖5所示, 結款提貨流程如下.

圖5 結款提貨流程圖
1) 收貨人查詢貨物到站后, 可提出提貨申請.
2) 金融機構將代為暫存的貨款支付給托運人, 并申請將物權轉移至收貨人, 銀行結款成功.
3) 區塊鏈平臺驗證申請, 更新提單狀態.
4) 承運人確認提單持有者, 收貨人提貨成功.
(4) 其他業務
系統提供的其他業務包括注冊/登錄業務、海關審核業務、查詢賬戶/提單業務以及區塊查詢業務.
基于區塊鏈的電子提單系統由3大部分組成, 分別為前端、后端和區塊鏈網絡.
(1) 基于區塊鏈的電子提單系統前端
電子提單系統前端頁面設計采用HTML5、 CSS3以及JavaScript技術. 下面是電子提單系統的前端組成與功能描述.
1) 首頁: 實時更新區塊, 提供區塊查詢功能.
2) 用戶注冊頁面: 初始化賬戶.
3) 普通用戶業務辦理頁面: 提供提單發布、付款、發貨、運輸以金融質押等業務.
4) 海關審核頁面: 提單審核. 海關以及檢查部門在完成貨物審核后, 通過該頁面使提單生效.
5) 銀行處理頁面: 審核貸款、抵押業務.
(2) 基于區塊鏈的電子提單系統后端
電子提單系統后端由Gin框架實現, Gin是一個輕量級HTTP Web框架, 作用是創建路由引擎. 當網頁發送請求某個路徑時, 后端執行相應處理函數, 并返回結果至頁面中. 其函數接口描述如表3所示.

表3 后端函數接口描述
(3) 區塊鏈網絡
電子提單系統運行在一組經過認證的參與者之間,每筆交易都包含發起者的證書, 區塊鏈管理者可憑此進行交易追溯. 故系統的可監管性強, 參與者帶來的風險較低. 基于此情況, 本論文考慮構建部分同步通信模型, 要求系統能夠容忍故障錯誤. 具體的軟件環境配置信息如表4所示, 在實現時, 使用超級賬本提供聯盟鏈網絡, 底層配置為Raft共識算法、Gossip數據分發協議以及LevelDB數據庫. 在應用層, 通過編寫智能合約, 實現電子提單系統的業務邏輯, 智能合約函數接口描述如表5所示.

表4 軟件環境配置信息

表5 智能合約函數接口描述
在數據交互方面, 區塊鏈網絡、后端與前端之間的數據傳輸如圖6所示. 前端網頁發送請求參數至服務器, 服務器提交參數至區塊鏈網絡中的系統鏈碼、Fabric CA或用戶鏈碼, 并將請求結果返回給前端.

圖6 系統數據交互圖
圖7為提單發布頁面, 托運人需提供托運人ID、承運人ID、收貨人ID、貨物信息等, 提交成功后系統將返回該提單ID. 圖8為海關審核頁面, 海關提供提單ID與自己的用戶ID完成貨運提單的審核. 其他頁面操作與海關審核頁面類似, 使用提單ID和賬戶ID即可完成交易與查詢.

圖7 用戶注冊頁面

圖8 海關審核頁面
(1) 測試環境及配置
該系統中節點可分為對等節點(Peer)、排序服務節點(Orderer)、以及證書頒發機構(CA). 其中Peer節點負責交易的執行、背書與驗證; Orderer節點采用Raft協議保持一致性, 組成共識集群, 負責交易的打包與排序; CA節點負責證書頒發. 為實現物流信息數據共享及物權價值多方認可, 在實際中, 節點分布于多地區, 其中Orderer節點由海關和檢查機構管理.
在系統的可用性及交易處理能力測試中, 使用Docker集群部署Peer與Orderer兩類節點, 并為這些節點配置了證書. 此外, SDK為上層應用, 能夠調用智能合約. 具體部署情況如表6所示.

表6 性能測試環境
同時, 為滿足實際應用需求, 限制區塊所含最大交易數為100, 單個交易最大為98 MB, 出塊時間不超過2 s.
(2) 測試內容及測試結果
在容錯能力方面, 共識集群采用Raft協議, 可容忍的故障共識節點數為總共識節點數的50%以內, 用戶讀寫具有強一致性, 符合應用需求.
在性能方面, 測試內容為提單發布(Invoke)業務性能與賬戶查詢(Query)業務性能, 指標包括每秒交易數(TPS)、每秒查詢數(QPS)與平均響應時間(ART).
可見, 隨著并發數增加, 平均響應時間增長, TPS、QPS增加. 如圖9, 當并發數為1 200時, 系統TPS最大, 為182.1; 當并發數為1 000時, 系統QPS最大, 為6 310.3, 符合一般業務場景對并發數的需求. 在最大并發數下, 提單發布業務與賬戶查詢業務的平均響應時間分別為5.616 s和0.517 s, 處于用戶普遍可容忍等待時間內, 滿足提單業務辦理的普遍要求.

圖9 性能測試結果
并且, 隨著并發數的增加, 系統CPU占用率與內存占用率皆<20%, 在正常范圍內, 區塊鏈電子提單系統能夠在訂單量突增情況下正常處理業務辦理請求.
區別于傳統電子提單系統, 本文設計并實現了具有去信任、防篡改、可溯源特性的電子提單平臺, 使用統一制式實現了電子提單“一單制”. 該平臺中的電子提單具有物權屬性, 提供了一套適用于區塊鏈的提單流轉與質押流程. 此外, 經測試該系統性能滿足鐵路貨運需求.
本文著重研究基于區塊鏈的電子提單系統基礎性設計與實現方案, 旨在為當前多機構、多地域的鐵路運輸業務提供技術支撐. 同時, 這也是對未來電子提單系統進一步發展的前沿性探索.