郭含月 周霽婷 王嘉麒 馬瀟宇 劉廣源
(上海大學上海電影學院 上海 200072)
隨著進口產品在國內市場的推廣,海淘客戶端應用軟件和海淘網站層出不窮,消費者購買海外商品的消費行為越來越普遍。2019年1月9日,天貓國際聯合第一財經商業數據中心共同發布《2018跨境消費新常態年輕人群洞察報告》:2018年跨境電商爆炸式增長,進口總額大幅增長。截至2018年10月,跨境電商進口總額同比增長53.7%,預計2020年,中國跨境消費用戶將超過2億人[1]。
但目前為止,海外商品的溯源系統并不完善。商品真假難辨,產品信息、發貨信息甚至物流信息均可以造假,假貨在市場上的流通給正品商家造成了巨大的財產損失,更是嚴重危害了消費者的權益。
傳統模式下的授權、存證系統存在一系列問題:(1) 傳統系統采用集中式存儲方式進行記錄,信息容易被篡改,更容易造成中心節點壓力過載的問題。(2) 中心化平臺的信任機制無法滿足物聯網信息高度自動化趨勢的需求。(3) 中心化平臺無法保證用戶隱私數據不被泄露。(4) 目前各大跨境電商平臺的授權管理分布于各大跨境電商系統,不同的平臺需要對接不同平臺的海外進口業務。由此可見,去中心化、去信任化、信息可追溯化是目前供應鏈的發展需求。
區塊鏈技術涵蓋的數字簽名技術、現代密碼學技術、時間戳和智能合約[2]能夠更好地滿足未來互聯網信息高度自動化和程序化的需求,滿足目前供應鏈上的需求。目前,國內資料和論文主要圍繞農產品、食品安全、奢侈品的溯源方向,跨境電商溯源系統的相關論文稀少。本文分析比較國內商品追溯系統學術成果,如:文獻[3]面向跨境化妝品提出一種區塊鏈溯源系統,可以保證化妝品的交易、分銷、物流管理中的安全可靠,在區塊鏈網絡層面上分析并提出使用某種算法來保證交易信息的可靠性,但具體算法并未得出;文獻[4]基于對食品安全的需求提出了一種互聯網環境下豬肉的溯源系統,但系統沒有脫離對于中心數據庫的依賴;文獻[5]具體分析了大數據環境下區塊鏈技術溯源模型的優勢給出了相應的業務模型和系統架構,但沒有進行應用方面的分析。這三篇文獻為區塊鏈方向上的溯源系統研究提供了理論上的參考和架構。本文分析國外的學術成果,如:Korpela等[6]通過區塊鏈技術高效地實現了供應鏈整合;Tian[7]建立一個區塊鏈的食品供應鏈實時追溯系統,提供了一個開放、透明、中立、可靠和安全的信息平臺,并且討論了在未來的供應鏈追溯系統中應用區塊鏈技術所面臨的挑戰。這兩篇文獻為區塊鏈技術在供應鏈領域上的發展提供了新的思路。
結合上述文獻中區塊鏈技術對于防偽、信息追溯方向的探索,本文提出一種適用于我國相關政策,安全可靠的區塊鏈存證系統。系統的主要創新點在于:(1) 以交易的形式完成商品和商品數量的授權工作,支持多層次、多級別的授權形式。(2) 通過智能合約設置權限,實現用戶之間的商品授權、交易登記與存證、交易信息的可追溯性查詢。(3) 授權交易過程中采用了數字簽名技術,保證了交易信息的安全可靠。(4) 進行了相對應的功能測試仿真實驗,生成了對應的可視化界面,客觀地確保了本系統的可操作性。
比特幣的開發者中本聰[8]于 2008 年整合了前人的相關技術和算法提出了比特幣的底層架構——區塊鏈。
區塊鏈本質上是一個去中心化的數據庫,是一串使用現代密碼學加密手段相關聯產生的塊鏈式數據結構,每一個數據區塊中包含了一系列的交易信息,用于驗證交易的有效性并生成下一個區塊[9]。區塊鏈雖然是近十年提出的新概念,但區塊鏈涵蓋的技術都已經十分成熟。在供應鏈上物流、資金流等實體之間的協調與交易信息錯綜復雜,難以保證供應鏈上信息的透明度和可信度。區塊鏈技術可以統一供應鏈平臺,提高供應鏈管理效率,降低維護成本,實現信息可溯源化,基于區塊鏈技術的供應鏈系統具有很廣闊的應用場景。
智能合約的概念于1995年由Nick Szabo首次提出,他指出智能合約是一套以數字形式定義的承諾,包括合約參與方可以在上面執行這些承諾的協議。智能合約是一種模塊化、可重用的自動執行腳本,可替代第三方信任平臺實現交易雙方直接進行可信交易,這些交易可追溯且無法發生回滾。智能合約根據按照實際業務邏輯定義相應規則,調用智能合約將會按照合約定義的交易規則來實現鏈上的交易,訪問鏈上信息。智能合約運行于區塊鏈系統之中,訪問區塊和狀態數據[10]。
智能合約的提出大大拓展了區塊鏈的應用領域,使其不僅僅存在于數字貨幣的概念,由此進入了區塊鏈2.0階段。以以太坊為代表,目前應用主要分為三種類型:金融領域應用;半金融領域應用,并非完全的數字貨幣交易;非金融應用[11]。本文提出的應用是無幣區塊鏈系統,屬于第三種應用領域。
區塊鏈與智能合約相結合,區塊鏈應用技術得以發展,但底層協議相對復雜,開發難度較大,不便于區塊鏈系統的開發和應用[12]。
2013年,以太坊創始人Vitalik Buterin[2]發起了以太坊項目。以太坊的開發與應用相對方便,提供了圖靈完備的智能合約開發語言。以太坊完善了腳本系統,使智能合約應用于非金融領域,進入提供資產貨幣以外應用場景,更加節約存儲空間。本文基于智能合約代碼和以太坊平臺最終實現了一個去中心化應用。
數字簽名又稱為電子簽名,核心思想是通過某種算法對數字信息進行“簽署”,數字簽名和物理簽名一樣具有法律效益[13]。數字簽名的主要作用是驗證信息來源和保證傳輸過程中信息的完整性。數字簽名的主要流程如下,其中:M為發送信息(交易信息);H為生成的消息摘要;Kpv為發送者私鑰;Kpb為發送者公鑰;Sig表示公鑰簽名算法;D代表解密算法。
(1) 發送方使用散列算法將交易信息M生成信息摘要H,并使用私鑰Kpv對信息摘要簽名,簽名后的信息為S=Sig(Kpv,M)。
(2) 發送者將簽名后的信息摘要S以及信息M發送給接收方。
(3) 接收方使用發送者公鑰Kpb對信息摘要進行解密D(Kpb,S),得到解密后的信息摘要H1。
(4) 接收方將信息M進行散列算法生成摘要H2,并且與步驟(3)中解密后的摘要進行比對,若H1=H2,則可以證明消息由授權方發出并且得到了授權方的簽署,接收到的授權信息沒有受到篡改,信息在發送過程中沒有受到篡改。
本系統面向各大海外品牌商家和消費者兩類用戶,分別滿足兩類用戶的防偽、溯源需求。各大海外品牌商家可以通過本系統查詢所有授權商品和授權信息,對于未授權卻參與售賣商家進行投訴。消費者可以通過商品ID查詢所在商場是否具備商品授權資格,以及商品的授權數量,商品ID將載入商品的外包裝上。
對于海外商家,其在國外擁有自己的發貨倉,可以向國內各大授權分倉發貨,國內各分倉可繼續向小超市授權商品、發貨。區塊鏈記錄商品ID,向各個分倉的發貨數量、交易信息。各大分倉庫完成注冊以及登記,海外商家發貨給分倉,發貨數量登記在鏈,用于品牌授權證明。
海外發貨倉擁有查詢所有交易的權限,除了能夠查詢到本倉與國內各地分倉的交易之外,還可以查詢到分倉的商品流向,一旦查詢到商鋪的進口商品的流量大于授權數量,就可以發起訴訟,或者保留電子憑證咨詢情況。每個倉庫都可以查詢到自己庫存商品的商品信息和商品剩余情況,商鋪或者線上倉庫每次交易后的交易信息都會經過私鑰簽名發送到區塊鏈網絡上,同時通過智能合約更新自己商品的庫存情況。
海外商家向各地分倉(如上海分倉,蘇州分倉,北京分倉)進行商品授權,各地分倉可以繼續向各地超市和小分商進行授權管理,各地超市和小分商授權進行線下售賣活動,同樣由區塊鏈記錄交易詳情。消費者也可以直接向國內分倉線上交易,分倉庫發貨給消費者。為了保證授權交易的安全性和可信度,每一項授權業務都會由發起方進行數字簽名。通過認證的消息才會被接收者獲得,否則會被過濾。具體分級授權流程如圖1所示。

圖1 授權流程圖
對于消費者,其可以通過商品ID,查詢到商品從海外總倉授權給了哪幾個各地分倉,各地分倉又授權給了哪些商鋪的整個流動信息,可以查詢所購買產品所在分倉或者超市(取決于購物方式是線上交易還是線下交易)是否擁有產品授權資格,以及商品的授權數量。消費者以此判斷所購買的產品是否正版,購買途徑是否正規。
購買商品時,商品的授權數量會顯示在消費者的小票或者頁面詳情上,發生購買行為后,購買方商品庫存數量會相應減少。如果國內商家在授權商品數量已經小于出售數量的情況下依然販賣商品,消費者可以依據查詢情況對商品真偽作初步判斷。圖2是系統業務時序圖。

圖2 業務時序圖
本系統通過區塊鏈技術記錄交易信息,通過數字簽名技術完成簽名認證,通過智能合約完成授權信息存證、交易信息上鏈,以及各個平臺的查詢工作。整個系統分為上層客戶端、后端系統和底層存儲三部分。
上層客戶端直接為客戶服務,整合了HTML+CSS+JavaScript+LayUI等應用技術,可以使用中間層提供的RESTful接口與區塊鏈進行交互。
后端系統作為客戶端和區塊鏈之間的中間層結構,采用Node.js作為后端,選擇Web3.js接口。關鍵的算法邏輯智能合約已經實現,后端的作用是實現數據的編碼、解碼、轉發,以及為客戶端提供RESTful接口。本系統在存證、授權交易過程中添加了數字簽名,保證了信息的可靠性。
底層系統使用以太坊區塊鏈來保證存證、授權功能的安全性和不可篡改性,通過智能合約完成大部分的算法邏輯。圖3中列出了以太坊具體的挖礦模式、共識機制、網絡協議,以及內部應用技術。

圖3 系統架構圖
本系統用戶主要有海外商家、國內分倉、各大超市、消費者四種用戶類型,相對應的功能模塊如圖4所示。

圖4 功能模塊圖
根據需求分析,海外商家擁有登記商品信息,添加、更新商品,向國內分倉授權商品和查詢庫存商品和商品流向的功能(可以查詢到授權的商品從國內分倉流向下一級小分商的流向信息),國內分倉具有查看授權商品、向各大超市或者小分商授權商品,以及查詢商品流向的功能。各大超市用戶的功能為查看授權商品、查詢商品流向。消費者可以實現的功能是通過商品ID查詢到商品的來源。
在智能合約的算法設計上,主要業務邏輯是倉庫的注冊或登錄、商品入庫、庫存商品查詢、商品授權和交易追溯。 本文在Remix在線測試網絡環境下使用Solidity語言編譯智能合約,并完成智能合約的功能測試。其中Remix 是一個開源的Solidity智能合約開發環境,提供基本的編譯、部署至本地或測試網絡、執行合約等功能。Solidity是以太坊官方設計和支持的高級開發語言,專門用于編寫智能合約。
本文多次測試了智能合約所定義的每一個方法,全部測試成功。表1為測試結果,包括輸入信息以及返回結果。

表1 智能合約測試結果表

續表1
實驗部署于以太坊本地網絡,通過Solidity語言對智能合約進行編譯,通過Remix對智能合約進行開發和測試工作。本實驗所用計算機硬件配置為CPU:Intel(R) Core(TM) i7-2600 @3.40 GHz ,RAM:4.00 GB。編譯環境如表2所示。

表2 編譯環境表
實驗將系統部署于本地網絡上,具體步驟如下:
(1) 啟動Ganache CLI,設置監聽端口,模擬以太坊網絡環境。在以太坊區塊鏈網絡中,區塊的產出和交易數據的記錄是由礦工執行的。Ganache CLI的前身是Testrpc,提供了相關的監聽端口,集成了Truffle開發框架,提供了一個以太坊的本地測試環境,自動產生10個測試節點以及相應的10個私鑰,并且隨著交易的進行而不斷產生區塊,記錄信息。
(2) Truffle框架下,編譯、部署智能合約。智能合約編譯結束后,將其部署于本地測試網絡,產生了相應的交易哈希,通過js進行接口調用,編譯完成后的智能合約部署在區塊鏈網絡上,可進行相關的讀取和存儲操作。
(3) 開啟本地服務器,訪問客戶端界面。通過智能合約,區塊鏈數據與用戶之間發生動態交互,生成可視化界面。進行客戶端界面開發,測試相關功能,保證系統中的合法用戶可以按照對應的權限對區塊鏈的交易進行讀寫。
本文展示了一個基于區塊鏈技術存證與授權去中心化系統。其中各大用戶分布在區塊鏈網絡上,賬戶地址用節點地址進行登記。海外商家具有登記商品、授權商品、更新商品數量、查詢庫存和查詢全部交易的功能。國內分倉和小分商具有查詢庫存和與倉庫地址相關的交易記錄的功能。
本系統最重要的業務邏輯是商品入庫、商品授權和授權交易信息的溯源,本節展示產品入庫后的庫存查詢和授權交易信息界面。
4.3.1商品入庫
海外商家有權限進行商品的添加與更新,而國內分倉與三級分商的商品全部來源于海外商家授權的商品,從而保證數據的真實可靠。商品入庫界面如圖5所示。

圖5 商品入庫圖
4.3.2商品授權
圖6是海外商家對國內分倉的商品授權圖,完成授權工作后,國內分倉合法擁有已經授權的商品數量,并且擁有商品的授權、售賣資格,但存在交易上限,交易上限即授權商品數量。

圖6 商品授權圖
4.3.3商家庫存查詢
商家商品入庫后,可以查詢到入庫的所有商品,具體如圖7所示。國內分倉和三級分商也可以查詢相關庫存,每個用戶只享有查詢該用戶地址倉庫庫存情況的權限。

圖7 庫存查詢界面圖
4.3.4追溯交易記錄
圖8為海外商家查詢商品交易詳情界面,前三個交易信息是海外商家向國內分倉用戶(本實驗注冊了三個國內分倉用戶)授權的商品數量以及交易信息,之后的交易是國內分倉發送給三級分商的商品交易信息。交易信息包括:交易發送方地址,交易接收方地址,交易數量,交易時間。海外商家可以通過商品ID查詢到與之相關的所有商品交易信息,包括海外商家分配給國內分倉的交易信息和國內分倉發送三級分商的商品交易信息。同樣的業務邏輯,國內倉庫用戶可以查詢到該地址所授權的與三級分商發生交易的交易信息。消費者同樣可以通過商品的ID查詢到購買方是否具有授權資格,代碼邏輯和界面基本與海外品牌商查詢界面一致。

圖8 交易信息溯源界面圖
本系統基于區塊鏈技術實現了三級授權、交易存證的功能,保證了交易信息可追溯,交易過程以及交易結果安全可靠。表3為本系統與傳統的授權存證系統的對比,充分說明了去中心化系統的優勢。

表3 本系統與傳統系統對比表
本文提出了一個基于區塊鏈技術的跨境商品授權與存證系統,為海外防偽提供了一種新的思路,以三級授權的形式實現了海外品牌商對國內分倉的分級授權以及信息鏈上存證,實現了一個交易可追溯、安全可靠的去中心化應用系統。區塊鏈技術在本系統中的作用是授權與存證,不參與數字資產交易,符合我國相關法律和政策,滿足國內供應鏈需求。