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