劉子豪,陳浩棠,錢尚斌
(廣東工業大學機電工程學院,廣州 510006)
過去10年間,快時尚給市場帶來了革命性的變化。快時尚是在傳統高檔品牌和大眾品牌之間開辟出的一種新型服務模式[1]。著名的國際快時尚零售商H&M、UNIQLO和Zara,這些品牌在國內外市場迅速打開局面是消費者的消費偏好的直接表現,實現了年輕消費者對高檔時尚產品的體驗感。快時尚給這些紡織和服裝行業帶來了新鮮血液,及時滿足消費者需求、產品批量小和交貨期短都體現了快時尚的優越性[2]。同時,因為快時尚的這些優越性,快時尚供應鏈需要敏捷的供應鏈,去快速地反應消費者需求,尤其是在制造商和零售商這個二級供應鏈之間。然而,快時尚供應鏈中制造商和零售商之間的不信任很難對頻繁和不可預測的市場做出反應[3]。因此,對于快時尚消費品行業來說,解決快時尚供應鏈實體之間的不信任是降低牛鞭效應和實現敏捷零售的關鍵因素之一。
快時尚供應鏈上的實體企業已經意識到信息協作的重要性,為了提高自身的競爭力,需要企業通過現有的企業數據和供應鏈上的其他各方進行共享,加快供應鏈上的信息流,提高供應鏈的效率,并且快速反應顧客的需求[4]。在快時尚供應鏈上,許多企業通過自己的快時尚系統來進行信息協作,但是這些傳統的信息系統多數被核心企業掌握,而且會出現數據泄漏的問題,導致許多企業不愿參與這種交互數據的協作模式[5]。同時,由于不同企業之間的多源數據交互難和數據共享意愿上存在差異,許多企業也不愿意共享自己的業務數據和產品數據。因此,只有在一種特別的共享模式或者系統下,企業才更加愿意參與到多方協作的環境中,促進供應鏈的多方合作生態發展,以支持決策。
區塊鏈將交易信息永久保存在網絡上,并且不能篡改,因此它具有可信度、可分布性、高透明度和準確性等優點[6]。此外,智能合約是區塊鏈上的軟件代碼,它能按照不同的請求執行不同的交易,與傳統合同類似,但是它具有自動執行的特點[7]。Ma認為區塊鏈可以解決數據信任問題,因為傳統的集中式系統缺乏保密性和可信性[8]。具體來說,隨著信息技術的發展,區塊鏈可以幫助分布式參與者的協作,在高可信度下完成事務[9]。同時,區塊鏈技術的發展也幫助企業設計平臺的服務更新。區塊鏈不僅能促進傳統協作模式的事務發展,也能增強分布式供應鏈之間信息共享的安全性。區塊鏈的特性可以將聯邦學習中的模型在實際應用中得到良好的體現,例如去中心化、永久記錄性和激勵機制等。Umer Majeed則設計了一種基于區塊鏈網絡的邊緣設備組成聯邦學習體系結構FLchain,并提出全局模型的概念,進一步提高聯邦學習的安全性[10]。
為了解決上述問題,提出了一個基于區塊鏈的供應鏈聯邦共享系統。該系統利用區塊鏈技術作為底層技術,聯邦學習作為共享模式的關鍵隱私保護技術,不像傳統的信息共享方案需要共享原始數據數據,而是將企業之間的特征數據進行交互,同時數據加密態不會被察覺,實現數據不共享,達到共享的效果,并且企業之間聯邦建模的交易記錄在區塊鏈中。其次,將全局模型和交易記錄寫入區塊鏈,區塊鏈上的數據難以被篡改,保證了快時尚企業的安全性。最后,滿足企業或者部門之間在信息共享上的高效需求。
本文的目的是提出一個使用區塊鏈的快時尚供應鏈聯邦共享系統。該系統可以幫助快時尚供應鏈上的制造商和供應商在不共享各自的源數據前提下,通過區塊鏈和聯邦學習技術達到信息共享的目的,并且利用智能合約改進聯邦學習過程中協作組參與的問題,進一步提高安全性。所提出的系統的實施可以提供隱私安全和交易透明的聯邦共享機制。所提出的系統的體系結構如圖1所示。所提出的系統中有5層,即對象層、應用層、計算層、數據層和底層。
圖1 基于區塊鏈的快時尚供應鏈聯邦共享平臺架構
區塊鏈網絡是整個系統的底層技術,它提供了一種安全的記錄數據方法。區塊鏈由許多節點組成,每個節點都有一個公共分類帳的副本。在該系統中,每個節點代表一個企業。節點之間的通信是為了獲得內容的協議,并且不需要中央代理來協調和驗證事務。交易表示用戶代碼之間的交易,即供應鏈中的不同參與者,暫時研究制造商和零售商兩個節點。它是區塊鏈中權力下放的核心。交易完成后,交易記錄將記錄到分類帳中,并且不會被篡改。在交易執行期間,智能合約的應用占據重要地位。智能合約是一種計算機協議,旨在促進,驗證或執行合同的談判或履行。用戶通過此機制注冊其個人信息并上傳模型參數數據。結合智能合約,實現計算完成后的利潤分配。非對稱加密是一種在數據交換過程中執行的復雜算法機制。它可以保護交易信息在不安全的網絡環境中被盜,從而保護用戶的隱私。
數據層是制造商的數據參數為主,零售商的數據參數為輔。制造商運用自己的數據,例如生產信息、物流數據等在本地進行訓練模型,生成了屬于自己特有的模型參數,零售商發出請求,請求制造商共享模型參數,制造商將自己的本地模型參數上傳到區塊鏈,區塊鏈會將模型參數進行非對稱加密,然后經過區塊打包交給零售商,零售商收到區塊進行驗證。
計算層是基于區塊鏈的聯邦學習算法。快時尚制造商獲取這個共享的全局模型,通過使用自己本地的數據子集對模型進行一定的迭代訓練。然后,快時尚制造商通過本地訓練的局部模型參數和梯度值,通過區塊鏈上傳給快時尚零售商。快時尚零售商收到局部模型對全局模型進行加權聚合,再次進行多次迭代之后,全局模型達到滿足預定義的收斂條件,聯邦學習任務結束。
每個制造商看作一個邊緣節點n,各自擁有著自己的數據集Di,i∈N={1,2,···}。在每次迭代過程t屬于{0,1,···,R-1}[11]。
Step1:制造商發送全局模型M(t)給每個邊緣節點。
Step2:每個制造商用本地數據集Di去訓練全局模型M(t),返回局部模型Mi(t)給零售商。
Step3:零售商整個所有的局部模型{Mi(t)|i∈N},獲得一個全新的全局模型M(t+1)進行下一次迭代。模型迭代過程首先是制造商計算每一個邊緣節點的梯度,一般是用隨機梯度下降法(SGD)來進行迭代:
然后,零售商對全部節點上傳的局部模型更新進行加權聚合,就能得到更新的全局模型,為:
其中|Di|是訓練數據Di的大小,最后零售商通過梯度下降法計算更新的全局模型:
應用層基于底層的區塊鏈技術和計算層的聯邦學習技術實現。零售商想和和制造商進行聯邦建模的請求會觸發智能合約中的條款,智能合約的代碼會自動執行。首先,零售商發出請求,區塊鏈會將請求消息記錄在鏈上,在制造商與零售商達成通信之后,智能合約自動觸發,智能合約替代聯邦學習,交易信息記錄在區塊鏈上。
對象層由供應鏈的主要角色組成,零售商和制造商為聯邦共享的主體,其余的都是制造商和零售商合理獲取數據的對象。
基于樣本特征和樣本ID的數據在空間的分布情況,聯邦學習分為3類:橫向聯邦學習、縱向聯邦學習和聯邦遷移學習。考慮兩方參與的場景,有角色A和角色B,在橫向聯邦學習中角色A與角色B兩者的用戶重疊度高,而用戶特征的重疊度低;縱向聯邦學習中角色A與角色B兩者的用戶特征重疊度高,而用戶的重疊度低;聯邦遷移學習就是通過聯邦學習和遷移學習,解決角色A和角色B的用戶和用戶特征重疊部分都比較小的問題[12]。
在本文提出的快時尚供應鏈場景中,制造商與零售商是鄰近關系。研究制造商和零售商之間的共享模式,制造商與零售商之間產品數據的特征重合度很高,零售商與制造商是零售商需要根據制造商定的批發價來定零售價。因此,采用縱向聯邦學習來對這個二級供應鏈進行研究,將產品ID進行加密匹配,得到兩者之間的交集。
縱向聯邦學習由加密ID匹配和聯邦建模兩個過程完成。在制造商和零售商合作之前需要進行產品匹配,找出產品的交集,但是不能泄漏交集,加密ID匹配過程主要基于RSA算法和哈希算法實現的[13]。在確認公共的交集后,開始聯邦建模過程,訓練模型的損失和參數返回為制造商和零售商。
RSA算法與哈希算法的具體實現步驟如下。
(1)B方通過RSA加密算法生成N(公鑰)、e(加密算法)、d(解密算法),然后將加密密鑰(e,N),傳遞給A。
(2)A將自己擁有的樣本ID通過哈希函數加密,再通過加密密鑰(e,N)加密,然后傳遞給B,傳遞回去的是Y(A)。
(3)B接受到Y(A)之后,首先使用解密算法(d,N)解密,這時候ri的e和d抵消了(一個加密、一個解密),但是由于還是存在隨機噪聲ri和A的哈希函數H,所以B無法得知A的樣本id。B計算Z(A)、Z(B),其中,Z(B)是指B在A傳回來的結果中的一部分加了一個哈希函數,將Z(A)、Z(B)回傳給A。
(4)A首先消除掉Z(A)中的隨機噪聲(第2步中自己加的),然后再做一次哈希,生成D(A),此時D(A)的形式和Z(B)就一致了,兩者求交。A就可以得到兩者的交集{u1,u2,u3}。此時B也獲得的兩者交集{u1,u2,u3}。
聯邦共享平臺的工作機制如圖2所示,零售商想要進行聯邦共享,發出請求觸發區塊鏈上的智能合約,合約將區塊實現打包傳遞給制造商,制造商將建立本地模型,經過聯邦共享平臺提取產品ID和特征數據,將其上傳區塊鏈,打包傳遞給主動方即零售商,同時零售商也上傳經過聯邦學習平臺提取的產品ID和特征數據,并且含有帶有標簽的特征數據,兩者的數據上傳成功后,觸發智能合約執行聯邦建模過程,聯邦建模過程完后,智能合約分配更新的模型參數給雙方。
圖2 工作機制
平臺的聯邦共享過程如圖3所示。圖4所示為平臺的信息流。企業A想和企業B進行信息共享,雙方首先成為區塊鏈上的兩個節點,經過區塊鏈網關進行相互通信。在建立通信的基礎上,企業A發出信息共享請求,觸發區塊鏈上的智能合約,合約會將企業A想要信息共享的請求發給企業B,企業B收到共享請求后會確認請求,也通過智能合約返回接受請求的通知信息,這些請求交易信息都會永久地保留在區塊鏈上,然后各自通過自己的企業信息系統,先在本地建立模型A和B,再用自己企業的數據訓練各自的模型,然后將各自的模型參數上傳至鏈上,觸發智能合約,驅動系統執行聯邦建模,聯邦計算結束后,系統會觸發一次智能合約,返回全局模型,傳遞更新的模型參數給企業A和企業B。從而企業A和企業B可以通過更新的模型參數訓練各自的模型,并且不需要泄漏自己的核心數據,將其共享給其他企業,而是通過共享本地訓練模型的參數,實現信息共享的目的。
圖3 聯邦共享過程
圖4 平臺信息流
本文以快時尚供應鏈為背景,提出了基于區塊鏈的快時尚供應鏈聯邦共享平臺。首先,加密快時尚企業的核心數據,保證信息共享過程中數據的安全性和不被反推;其次,提出聯邦共享模式實現數據不共享,達到共享的效果。最后,利用區塊鏈技術保證交易記錄和模型參數的不可篡改及可靠性,并滿足企業或者部門之間在信息共享上的高效需求。綜上所述發現,區塊鏈能與聯邦學習結合能形成新的數據安全應用方案,在各種行業背景下都有應用的潛力。在目前的技術背景下,研究如何將區塊鏈的優勢與聯邦學習的優勢有機結合以進一步提高隱私安全是有必要的。