畢 婭,張曙紅,冷凱君,初葉萍,劉 慧,潘 林
(1.湖北經(jīng)濟(jì)學(xué)院 工商管理學(xué)院,湖北 武漢 430205;2.華中科技大學(xué) 公共管理學(xué)院,湖北 武漢 430074)
制造服務(wù)集成平臺(tái)具有松耦合和智能化擴(kuò)展分布式制造資源的能力[1-2],能夠通過(guò)對(duì)各利益主體“碎片資源”[3]的激活、清洗[4-5]和噪音消除[6],打破利益主體固有的系統(tǒng)界限和壁壘,挖掘出制造資源的集聚性、交互性、經(jīng)濟(jì)性、可重復(fù)開(kāi)采性和粘性。因此,將海量的社會(huì)化制造資源引入制造服務(wù)集成平臺(tái)是當(dāng)前制造行業(yè)發(fā)展的大勢(shì)所趨。
然而,由于分布式資源管理所要求的去中心化數(shù)據(jù)處理框架與當(dāng)前主流的中心化資源管控模式并不兼容[7],且其矛盾無(wú)法調(diào)合[8],制造服務(wù)集成平臺(tái)在現(xiàn)有中心化資源管控模式下很難實(shí)現(xiàn)對(duì)分布式制造資源管理的公平性、透明性、均衡性以及信息保護(hù)和多主體互信等,不僅抬高了分布式制造資源進(jìn)入制造服務(wù)集成平臺(tái)的門(mén)檻,還增加了制造服務(wù)集成平臺(tái)對(duì)分布式資源的管理難度。
與傳統(tǒng)中心化的資源管控模式不同,區(qū)塊鏈技術(shù)是一種基于公開(kāi)賬本和去中心化的存儲(chǔ)技術(shù)[9],具有的分布式、開(kāi)源共享和智能管理等特征[10],能夠大幅降低信任成本,實(shí)現(xiàn)安全可靠、可驗(yàn)證的信息交互,是與分布式制造資源集成管理要求高度契合的底層技術(shù)。在制造服務(wù)集成平臺(tái)的底層引入?yún)^(qū)塊鏈技術(shù),能夠:①利用區(qū)塊鏈的數(shù)據(jù)透明特性,增加龐雜制造供應(yīng)鏈上信息的可見(jiàn)度,實(shí)現(xiàn)生產(chǎn)全生命周期的可視化溯源;②利用區(qū)塊鏈的智能合約,實(shí)現(xiàn)機(jī)器化的訂單發(fā)布、采購(gòu)和交易更快的響應(yīng)生產(chǎn)需求;③利用區(qū)塊鏈的集體維護(hù)機(jī)制(共識(shí)算法),解決系統(tǒng)的一致性問(wèn)題,實(shí)現(xiàn)可信價(jià)值跨鏈轉(zhuǎn)移[11];④利用區(qū)塊鏈的去中心化架構(gòu),重構(gòu)多主體之間非第三方的信任關(guān)系。
由此可知,區(qū)塊鏈能夠在大規(guī)模網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)分布式的高效共識(shí),建立起安全的數(shù)據(jù)存儲(chǔ)系統(tǒng)[12],并通過(guò)智能合約提供大規(guī)??尚诺姆植际接?jì)算能力,是制造服務(wù)集成平臺(tái)對(duì)分布式制造資源進(jìn)行優(yōu)化管理的一種綜合解決方案。
制造業(yè)是最早引入?yún)^(qū)塊鏈技術(shù)的行業(yè)。許多學(xué)者和業(yè)內(nèi)專家均認(rèn)為區(qū)塊鏈?zhǔn)俏磥?lái)制造技術(shù)的革命,是信息基礎(chǔ)技術(shù)的巨大創(chuàng)新。
(1)開(kāi)放共享,促進(jìn)資源交易
區(qū)塊鏈具有共享賬本、不可篡改、時(shí)序數(shù)據(jù)以及支持計(jì)量和認(rèn)證等內(nèi)生優(yōu)勢(shì),能夠從技術(shù)上保證交易過(guò)程和結(jié)果的完整性、公平性、透明性[13]和相關(guān)證據(jù)在區(qū)塊鏈上的高冗余保存。同時(shí),各參與主體之間的交易通過(guò)智能合約機(jī)器化實(shí)現(xiàn),不僅能夠提高交易的速度和效率,還能加強(qiáng)主體之間的互信程度。
(2)去中心化,破解信息孤島
制造服務(wù)集成平臺(tái)的本質(zhì)是一種聚少成多、積弱變強(qiáng)、優(yōu)勢(shì)互補(bǔ)、共贏共享理念的體現(xiàn)。然而傳統(tǒng)中心化的資源管控模式無(wú)法實(shí)現(xiàn)對(duì)制造服務(wù)集成平臺(tái)上海量分布式制造資源的處理。相較之下,區(qū)塊鏈技術(shù)可以利用其去中心化和分布式特征,重構(gòu)制造服務(wù)集成平臺(tái)上的資源管理過(guò)程,為制造服務(wù)集成平臺(tái)在數(shù)據(jù)層面的共享和互通提供新的路徑[14]。
(3)構(gòu)建可信環(huán)境,保障交易的公平性
公平和信任是解決制造服務(wù)集成平臺(tái)安全問(wèn)題的關(guān)鍵路徑。區(qū)塊鏈技術(shù)能夠通過(guò)加密技術(shù)、分布式共識(shí)算法和集體維護(hù)機(jī)制等,在不需要任何中央節(jié)點(diǎn)背書(shū)的情況下使節(jié)點(diǎn)達(dá)成共識(shí)和互信,構(gòu)建一個(gè)全新的去中心化的可信任系統(tǒng)[15]。這標(biāo)志著“中心化的權(quán)威信用”向“去中心化的技術(shù)信用”的根本性轉(zhuǎn)變。
盡管區(qū)塊鏈與制造服務(wù)集成平臺(tái)在開(kāi)放性、分布式和去中心化等方面具有極高的契合度,但區(qū)塊鏈架構(gòu)、隱私保護(hù)、系統(tǒng)性能以及交易達(dá)成的效率與透明度等關(guān)鍵問(wèn)題在不同的應(yīng)用領(lǐng)域還存在一定的不足。目前,國(guó)內(nèi)外學(xué)者們已經(jīng)對(duì)這些問(wèn)題展開(kāi)了相應(yīng)的研究,得到了一些有益的成果和結(jié)論。
在支撐平臺(tái)運(yùn)行的區(qū)塊鏈架構(gòu)方面,畢婭等[16]提出一種基于雙鏈架構(gòu)的醫(yī)藥商業(yè)資源公有區(qū)塊鏈,該架構(gòu)能夠兼顧交易信息的開(kāi)放性、安全性和企業(yè)信息的隱私性,大幅提高公共服務(wù)平臺(tái)的公信力和系統(tǒng)的整體效率;袁輝等[17]認(rèn)為區(qū)塊鏈的核心是通過(guò)分布式共識(shí)機(jī)制實(shí)現(xiàn)資源價(jià)值的重構(gòu)和轉(zhuǎn)移,并提出了區(qū)塊鏈在智能能源網(wǎng)中的架構(gòu)方案;張朝棟等[18]提出一種基于側(cè)鏈的區(qū)塊鏈架構(gòu),不僅實(shí)現(xiàn)了基于智能合約的貨物管理,還解決了區(qū)塊鏈數(shù)據(jù)冗余問(wèn)題。
在區(qū)塊鏈隱私安全保護(hù)方面,雖然針對(duì)區(qū)塊鏈隱私安全的防護(hù)方法和技術(shù)不斷推陳出新,但大多都是從網(wǎng)絡(luò)層[19-20]或交易層[21]的角度,針對(duì)某一具體問(wèn)題提出的數(shù)據(jù)隱私安全保護(hù)技術(shù),如針對(duì)交易隱私威脅推出的門(mén)羅幣、CryptNote協(xié)議和ZeroCash方案等,雖然可以隱藏地址信息,增加數(shù)字交易的隱蔽性,但其自身的計(jì)算代價(jià)問(wèn)題仍然沒(méi)有解決。
在平臺(tái)運(yùn)行模式及策略方面,楊明通等[22]構(gòu)建了基于區(qū)塊鏈的微網(wǎng)市場(chǎng)總體框架,對(duì)微網(wǎng)中電力資源的調(diào)度模式進(jìn)行了優(yōu)化;徐建等[23]提出一種基于區(qū)塊鏈的分布式能源競(jìng)價(jià)交易平臺(tái),設(shè)計(jì)了一種準(zhǔn)入機(jī)制與權(quán)限控制方法保障交易的安全。
以上研究在各自的領(lǐng)域已經(jīng)取得了較多的成果,但這些成果尚未形成系統(tǒng)性的分析框架和思想體系,若將其應(yīng)用于制造服務(wù)集成平臺(tái)的相關(guān)實(shí)踐,還有3個(gè)問(wèn)題亟待解決:
(1)制造服務(wù)集成平臺(tái)兼有公共數(shù)據(jù)開(kāi)放和隱私數(shù)據(jù)保密的要求,且交易規(guī)模巨大,應(yīng)該采用哪種區(qū)塊鏈架構(gòu)和數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)才能同時(shí)保證訪問(wèn)的安全控制和交易的響應(yīng)速度?
(2)制造服務(wù)集成平臺(tái)上交易各方的權(quán)利和義務(wù)都是由智能合約決定的。一旦條件符合要求,交易將會(huì)機(jī)器化執(zhí)行,無(wú)須人為干預(yù)。這在客觀上要求一套簡(jiǎn)單高效、帶有激勵(lì)管理的智能合約機(jī)制。同時(shí)在交易過(guò)程中,會(huì)涉及大量的數(shù)據(jù),這其中有些數(shù)據(jù)可以公開(kāi),有些數(shù)據(jù)不能公開(kāi)。針對(duì)不同的區(qū)塊鏈結(jié)構(gòu),其隱私數(shù)據(jù)的加密傳輸機(jī)制應(yīng)該如何設(shè)計(jì)?
(3)區(qū)塊鏈要求其上的每個(gè)節(jié)點(diǎn)都具有強(qiáng)大的計(jì)算能力,以便對(duì)賬本進(jìn)行共識(shí)計(jì)算。這種以犧牲系統(tǒng)運(yùn)行效率為代價(jià)的模式使之在商業(yè)上的應(yīng)用大打折扣。為了優(yōu)化基于區(qū)塊鏈技術(shù)的制造服務(wù)集成平臺(tái)的整體效率,區(qū)塊鏈的共識(shí)算法、子鏈的擴(kuò)展以及信任機(jī)制等都是值得深入研究的問(wèn)題。
因此,本文擬構(gòu)建一類基于雙鏈區(qū)塊鏈的制造服務(wù)集成平臺(tái)框架。其大致思路為:首先采用用戶數(shù)據(jù)子鏈和交易服務(wù)子鏈分離的雙鏈區(qū)塊鏈架構(gòu),將用戶的隱私數(shù)據(jù)和交易數(shù)據(jù)分開(kāi)處理并存儲(chǔ),以降低攻擊者直接通過(guò)地址推測(cè)出用戶信息的風(fēng)險(xiǎn);其次設(shè)計(jì)一種基于公開(kāi)密鑰的加密機(jī)制與基于權(quán)重的智能合約融合機(jī)制,以保護(hù)交易服務(wù)子鏈上交易數(shù)據(jù)的隱私安全和制造服務(wù)集成平臺(tái)上制造資源交易的公平性;第三,提出一種子鏈可擴(kuò)展機(jī)制,以解決區(qū)塊鏈上負(fù)載均衡和交易效率問(wèn)題;第四,設(shè)計(jì)一種考慮權(quán)重的簡(jiǎn)化PoWS(simple-proof of work)共識(shí)算法,以解決去中心化的多主體信任問(wèn)題;最后設(shè)計(jì)4組仿真實(shí)驗(yàn),以驗(yàn)證基于雙鏈區(qū)塊鏈的制造服務(wù)集成平臺(tái)在交易執(zhí)行能力、峰值信息傳輸能力、均衡負(fù)載和隱私安全保護(hù)這4個(gè)關(guān)鍵任務(wù)上的合理性、有效性與科學(xué)性。
制造服務(wù)集成平臺(tái)上有大量的用戶信息和交易數(shù)據(jù)。其中,用戶信息含有資源所有者不愿對(duì)外披露的敏感數(shù)據(jù)和數(shù)據(jù)的表征特性[24],而交易數(shù)據(jù)則含有具有不同訪問(wèn)控制權(quán)限且不斷更新的交易過(guò)程和結(jié)果數(shù)據(jù)。因此,本文將制造服務(wù)集成平臺(tái)區(qū)塊鏈中的數(shù)據(jù)分為用戶數(shù)據(jù)和交易數(shù)據(jù)。
(1)用戶數(shù)據(jù)是指用戶的身份信息和區(qū)塊鏈地址之間的關(guān)聯(lián)關(guān)系。由于區(qū)塊鏈中只使用地址參與相關(guān)業(yè)務(wù),而地址是由用戶自行創(chuàng)建或設(shè)定的假名或賬號(hào),相較于傳統(tǒng)數(shù)據(jù)應(yīng)用系統(tǒng)中直接使用用戶的信息(如身份證、銀行賬號(hào)等),區(qū)塊鏈地址具有良好的匿名性。
(2)交易數(shù)據(jù)是指區(qū)塊鏈中存儲(chǔ)的制造資源信息和交易撮合記錄。制造資源信息通常是公開(kāi)的,不需要額外的保護(hù);交易撮合記錄存儲(chǔ)了制造服務(wù)交易中的敏感數(shù)據(jù)(如交易價(jià)格、服務(wù)規(guī)格等),屬于交易數(shù)據(jù)隱私,需要采取安全措施限制非授權(quán)用戶的使用。
考慮到制造服務(wù)集成平臺(tái)的平臺(tái)性質(zhì)和隱私數(shù)據(jù)安全的要求,本文針對(duì)用戶數(shù)據(jù)和交易數(shù)據(jù)設(shè)計(jì)了基于“用戶數(shù)據(jù)子鏈”和“交易服務(wù)子鏈”分離的雙鏈區(qū)塊鏈架構(gòu),具體如圖1所示。其中:用戶數(shù)據(jù)子鏈僅讀寫(xiě)在制造服務(wù)集成平臺(tái)進(jìn)行注冊(cè)的用戶的信息;而交易服務(wù)子鏈僅讀寫(xiě)與交易相關(guān)的信息和數(shù)據(jù)。在制造服務(wù)集成平臺(tái)上采用雙鏈區(qū)塊鏈架構(gòu)基于以下四點(diǎn)考慮:①利用雙鏈架構(gòu)將用戶數(shù)據(jù)與交易數(shù)據(jù)分開(kāi)存儲(chǔ)和管理,可以大幅降低黑客根據(jù)網(wǎng)絡(luò)層數(shù)據(jù)傳播的軌跡推測(cè)出區(qū)塊鏈地址和用戶之間對(duì)應(yīng)關(guān)系的風(fēng)險(xiǎn);②能夠根據(jù)需求,動(dòng)態(tài)調(diào)整節(jié)點(diǎn)進(jìn)入用戶數(shù)據(jù)子鏈的門(mén)檻,既保證用戶數(shù)據(jù)子鏈上用戶信息的安全,又不妨礙普通大眾對(duì)制造資源服務(wù)公共信息的獲取;③能夠有效減少節(jié)點(diǎn)存儲(chǔ)數(shù)據(jù)的冗余量,提高共識(shí)算法的速度和系統(tǒng)的吞吐率;④易于制造服務(wù)集成平臺(tái)向外進(jìn)行業(yè)務(wù)擴(kuò)展。
根據(jù)制造服務(wù)集成平臺(tái)區(qū)塊鏈的雙鏈架構(gòu)以及其上數(shù)據(jù)的不同性質(zhì),本文為兩條子鏈分別設(shè)計(jì)了不同的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)。
用戶數(shù)據(jù)子鏈的主要功能是對(duì)制造服務(wù)集成平臺(tái)上的注冊(cè)用戶信息的完整性、真實(shí)性和隱私性進(jìn)行保護(hù)。由于Merkle Tree存儲(chǔ)結(jié)構(gòu)能夠快速歸納和檢驗(yàn)大規(guī)模數(shù)據(jù)的完整性,本文采用Merkle Tree對(duì)用戶數(shù)據(jù)進(jìn)行存儲(chǔ)和訪問(wèn),如圖2所示。由圖2可知,Merkle Tree上每個(gè)節(jié)點(diǎn)都包含了相鄰區(qū)塊的Hash值[25],其作用是快速驗(yàn)證區(qū)塊數(shù)據(jù)的真實(shí)性和完整性。Merkle Tree首先對(duì)區(qū)塊主體的內(nèi)容進(jìn)行哈希運(yùn)算,并將運(yùn)算結(jié)果插入到該區(qū)塊主體中;不斷重復(fù),最后得到的哈希結(jié)果就是Merkle Tree的根,Merkle Tree的根被封裝在每個(gè)區(qū)塊的頭部。Merkle Tree結(jié)構(gòu)使得每個(gè)區(qū)塊的頭部只封裝Merkle Tree的根,而沒(méi)有底層數(shù)據(jù),大幅減少了數(shù)據(jù)的傳輸量和計(jì)算的復(fù)雜度。每個(gè)區(qū)塊都保存了上一個(gè)區(qū)塊的Hash值,這樣就可以將這些區(qū)塊前后連接起來(lái)。區(qū)塊鏈節(jié)點(diǎn)的最終存儲(chǔ)形式是[k,v]鍵值對(duì),使用的[k,v]型底層數(shù)據(jù)庫(kù)是LevelDB;與交易操作相關(guān)的數(shù)據(jù),其呈現(xiàn)的集合形式是Block;如果以Block為單位鏈接起來(lái),則構(gòu)成了更大粒度的BlockChain。
交易服務(wù)子鏈的主要功能是實(shí)現(xiàn)制造服務(wù)集成平臺(tái)上交易過(guò)程的可追溯和保證交易結(jié)果的完整性、真實(shí)性等??紤]到數(shù)據(jù)查詢等功能的實(shí)現(xiàn)和將來(lái)的擴(kuò)展,本文采用以太坊的Merkle Patricia Tree結(jié)構(gòu)對(duì)交易數(shù)據(jù)進(jìn)行存儲(chǔ)[26]。Merkle Patricia Tree結(jié)構(gòu)是一種trie前綴樹(shù),其本質(zhì)是Merkle Tree的變體[27],除了具有Merkle Tree的基本功能之外,還可以存儲(chǔ)所有的(key, value)對(duì)[28],即能夠通過(guò)key值檢索和追溯交易的結(jié)果,為后文2.4節(jié)的鏈?zhǔn)綌U(kuò)展預(yù)留接口。
本文在雙鏈架構(gòu)的公有區(qū)塊鏈中采用Merkle樹(shù)存儲(chǔ)系統(tǒng)主要基于以下理由:①能夠提高區(qū)塊鏈的運(yùn)行效率和可擴(kuò)展性,使得區(qū)塊頭只需包含根哈希值而不必封裝所有底層數(shù)據(jù),使得哈希運(yùn)算可以高效地運(yùn)行在智能手機(jī)甚至物聯(lián)網(wǎng)設(shè)備上;②Merkle樹(shù)支持簡(jiǎn)化支付驗(yàn)證協(xié)議(Simplify Payment Verification, SPV),可以在不運(yùn)行完整區(qū)塊鏈網(wǎng)絡(luò)節(jié)點(diǎn)的情況下對(duì)交易數(shù)據(jù)進(jìn)行檢驗(yàn)。
交易服務(wù)子鏈上存儲(chǔ)了制造資源的公共信息和交易數(shù)據(jù)。其中:制造資源的公共信息無(wú)需任何加密,可以自由地在制造服務(wù)集成平臺(tái)上流動(dòng);而交易數(shù)據(jù)包含了交易的敏感信息,屬于隱私數(shù)據(jù),需要根據(jù)區(qū)塊鏈的架構(gòu)設(shè)計(jì)有針對(duì)性的數(shù)據(jù)安全加密保護(hù)機(jī)制。本文設(shè)計(jì)的雙鏈區(qū)塊鏈子鏈數(shù)據(jù)保護(hù)方案如圖3所示。
同時(shí),制造服務(wù)集成平臺(tái)在對(duì)分布式制造資源進(jìn)行調(diào)度的時(shí)候,還要兼顧制造資源的經(jīng)濟(jì)性和公平性(若制造資源的交易有失公平,會(huì)引發(fā)大量利益主體攜帶其資源集體退出制造服務(wù)集成平臺(tái),導(dǎo)致制造服務(wù)集成平臺(tái)運(yùn)行不穩(wěn)定),因此需要通過(guò)實(shí)施選擇性激勵(lì)(以動(dòng)態(tài)權(quán)重的形式實(shí)現(xiàn))引導(dǎo)制造資源的有序交易。
由此,本文設(shè)計(jì)了基于公開(kāi)密鑰的數(shù)據(jù)隱私加密算法和考慮選擇性激勵(lì)的智能合約的融合模型。之所以將區(qū)塊鏈中的交易隱私安全保護(hù)機(jī)制和智能合約放在一起,進(jìn)行融合設(shè)計(jì),主要原因是:①在區(qū)塊鏈中,隱私數(shù)據(jù)的加密和傳輸與智能合約的生成是一體的,不可分割。智能合約的本質(zhì)是一種自動(dòng)執(zhí)行的代碼合約,其基礎(chǔ)是隱私數(shù)據(jù)的安全傳輸。②智能合約是區(qū)塊鏈構(gòu)建信任框架的重要基礎(chǔ),區(qū)塊鏈和智能合約的融合設(shè)計(jì)可以使系統(tǒng)中所有節(jié)點(diǎn)能夠在去信任化的環(huán)境中自由安全的交易,把對(duì)人的信任轉(zhuǎn)變成對(duì)機(jī)器的信任。這不僅是信任的最高表現(xiàn)形式,還是以區(qū)塊鏈為底層技術(shù)的制造服務(wù)平臺(tái)在配置資源時(shí)的重要前提。③在智能合約中嵌入選擇性激勵(lì)機(jī)制,是為了進(jìn)一步加強(qiáng)制造服務(wù)平臺(tái)上各參與方的信任關(guān)系。只有制造服務(wù)平臺(tái)對(duì)資源配置的公平性越高,各參與方的信任關(guān)系才會(huì)越堅(jiān)固,制造服務(wù)平臺(tái)才能獲得網(wǎng)絡(luò)正外部性[29]。
該設(shè)計(jì)綜合考慮了雙鏈區(qū)塊鏈的隱私數(shù)據(jù)安全保護(hù)、資源交易的公平性和違約懲罰等問(wèn)題,具有簡(jiǎn)單、易行、傳輸信息量少等優(yōu)點(diǎn)。其數(shù)據(jù)傳播和加密的算法過(guò)程如下:
步驟1制造服務(wù)集成平臺(tái)區(qū)塊鏈初始化。
BN=(Rnode,Snode,BNinfo,BNtransaction,CA,IC)。
其中:BN為初始化后的區(qū)塊鏈;Rnode為交易的需求節(jié)點(diǎn)集合,Snode為交易的供給節(jié)點(diǎn)集合,Rnode和Snode共同構(gòu)成了BN上的節(jié)點(diǎn)集合;BNinfo,BNtransaction分別為用戶數(shù)據(jù)子鏈和交易服務(wù)子鏈;CA為共識(shí)算法;IC為智能合約。
步驟2制造服務(wù)集成平臺(tái)生成自己的公鑰和私鑰。其中,生成公鑰和私鑰的工具由制造服務(wù)集成平臺(tái)指定并發(fā)布,全網(wǎng)統(tǒng)一執(zhí)行。
BNpublic=Hash(BNprivate)。
步驟3rnode.i和snode.j分別是Snode和Rnode中任意的交易需求節(jié)點(diǎn)和交易供給節(jié)點(diǎn)。rnode.i和snode.j為了參與交易,需要生成自己的密鑰對(duì)和地址,用于后續(xù)信息的加密和傳遞。
rnode.i.public=Hash(rnode.i.private),
Addressrnode.i=Hash(rnode.i.public),
snode.j.public=Hash(snode.j.private),
Addresssnode.j=Hash(snode.j.public)。
步驟4rnode.i和snode.j在制造服務(wù)集成平臺(tái)上廣播自己的消息。
Message.rnode.i=(Ernode.i(Discriptioni,
Category,ability,
QoS,Locationi,Weighti)‖ri.public‖Addressri);
Message.snode.j=(Esnode.j(Discriptioni,
Category,Status,ability,
QoS,Locationi)‖snode.j.public||Addresssnode.j)。
其中:Message.rnode.i是rnode.i發(fā)起的交易需求,Ernode.i是rnode.i在制造服務(wù)集成平臺(tái)上廣播的消息,其參數(shù)依次是:rnode.i的需求資源描述Discriptioni(主要包含制造資源的基本信息,如名稱、產(chǎn)地等)、資源類別信息Categoryi(主要指制造資源的類別,如設(shè)備、技術(shù)、工藝、物料等)、資源服務(wù)能力信息abilityi(主要指制造資源的能力和屬性,如運(yùn)輸、加工、設(shè)計(jì)、仿真等)、最優(yōu)服務(wù)質(zhì)量QoS信息QoSi(主要包含制造資源的服務(wù)質(zhì)量信息,如運(yùn)作質(zhì)量,資源質(zhì)量,服務(wù)水平等)、地理位置信息Locationi(主要指制造資源的物理地址)和激勵(lì)性選擇權(quán)重Weighti(主要指平臺(tái)根據(jù)不同的應(yīng)用賦予不同資源的重要性參數(shù));Message.snode.j是snode.j在制造服務(wù)集成平臺(tái)上廣播的消息,其參數(shù)依次為:snode.j的供給資源描述、制造資源類別信息、制造資源狀態(tài)信息、制造資源服務(wù)能力信息、最優(yōu)服務(wù)質(zhì)量QoS信息和地理位置信息。所有節(jié)點(diǎn)都在網(wǎng)上監(jiān)聽(tīng)其他節(jié)點(diǎn)的信息。
IC=A(xijAmountj(Discriptionij,
Category,ability,QoSij),Locationij,
Weightij)BNprivate。
其中Weightij為各參與交易的制造資源的動(dòng)態(tài)權(quán)重,可以通過(guò)調(diào)整該權(quán)重實(shí)現(xiàn)相應(yīng)的選擇性激勵(lì),以實(shí)現(xiàn)制造資源交易及其服務(wù)的公平性。
步驟6按照智能合約,snode.j首先到Addressrnode.i上尋找rnode.i的公鑰,然后和rnode.i自己提供的rnode.i.public進(jìn)行比對(duì),以此驗(yàn)證rnode.i的身份。若身份確認(rèn),則snode.j向rnode.i傳輸消息prespond.snode.j,該消息用rnode.i的公鑰加密。
prespond.snode.j=(Aij‖Sign.snode.j.snode.j.private‖
Addresssnode.j)rnode.i.public。
其中:Aij為指智能合約IC中涉及到交易需求節(jié)點(diǎn)rnode.i和交易供給節(jié)點(diǎn)snode.j的交易的具體內(nèi)容;Sign.snode.j為用snode.j的私鑰加密的數(shù)字簽名。
步驟7rnode.i收到snode.j的消息后,通過(guò)自己的私鑰和根據(jù)的snode.j地址Addresssnode.j得到的snode.j公鑰,對(duì)snode.j的身份進(jìn)行認(rèn)證。確認(rèn)snode.j的身份之后,若rnode.i對(duì)信息內(nèi)容Cij沒(méi)有異議,則生成串行的合約腳本[30]。
Script=[Nversion‖Ntime‖Sign.rnode.i.Sign.snode.j.
Sign.BN(Aij)]。
其中:Ntime為交易達(dá)成的時(shí)間;Nversion為交易的序列號(hào)。交易完成之后,該消息要在交易服務(wù)子鏈上全網(wǎng)廣播,所有節(jié)點(diǎn)都要完成新一輪的信息更新和共識(shí),因此該合約腳本還需要制造服務(wù)集成平臺(tái)、rnode.i和snode.j三方共同的數(shù)字簽名[31]。
步驟8若在交易過(guò)程中出現(xiàn)違約情況,制造服務(wù)集成平臺(tái)可以對(duì)違約責(zé)任方施以收益(成本)和信譽(yù)方面的懲罰。例如:假設(shè)rnode.i違約,則制造服務(wù)集成平臺(tái)將對(duì)rnode.i在平臺(tái)上取得的報(bào)酬(收益)和信譽(yù)進(jìn)行懲罰。
Punish.rnode.i=[(M‖Crnode.i)Wn]BNprivate。
其中,Crnode.i為rnode.i當(dāng)前的信譽(yù);M為rnode.i在此次交易中應(yīng)該向付出的資源成本;Wn為不同違約情況下各參數(shù)的權(quán)重(可根據(jù)具體情況對(duì)權(quán)重系數(shù)進(jìn)行調(diào)整)。制造服務(wù)集成平臺(tái)對(duì)該信息用自己的私鑰加密,并向全網(wǎng)廣播。
區(qū)塊鏈上每個(gè)節(jié)點(diǎn)都存儲(chǔ)了一致性賬本,會(huì)產(chǎn)生巨大的數(shù)據(jù)冗余。隨著節(jié)點(diǎn)數(shù)量和交易量的增加,易引發(fā)區(qū)塊鏈計(jì)算速度下降、吞吐量變低、延遲加劇等問(wèn)題。制造服務(wù)集成平臺(tái)不僅擁有海量數(shù)據(jù),還面向社會(huì)大眾,參與主體眾多。因此,制造服務(wù)集成平臺(tái)區(qū)塊鏈的擴(kuò)展機(jī)制以及擴(kuò)展之后系統(tǒng)的運(yùn)行速度和延遲是一個(gè)亟待解決的問(wèn)題。雖然從第一代的比特幣區(qū)塊鏈到第二代的以太坊區(qū)塊鏈,各種區(qū)塊鏈擴(kuò)展性解決方案層出不窮,如Bigchain DB、RSCoin方案等,但這些方案或多或少都放棄了一致性賬本,以此來(lái)增加區(qū)塊鏈的可擴(kuò)展性,提高交易速度。這種設(shè)計(jì)在實(shí)踐中能否被接受尚待觀察,但可以肯定的是由于該方案放棄了一致性賬本,區(qū)塊鏈的信任度和數(shù)據(jù)安全性必將受到損害。
針對(duì)以上問(wèn)題,本文為制造服務(wù)集成平臺(tái)的雙鏈區(qū)塊鏈架構(gòu)設(shè)計(jì)了一種可擴(kuò)展子鏈機(jī)制。該機(jī)制的主要設(shè)計(jì)思想是:雙鏈區(qū)塊鏈根據(jù)節(jié)點(diǎn)的性質(zhì)和數(shù)量生成子鏈,任意子鏈上所有的節(jié)點(diǎn)都可以分享該鏈上的元數(shù)據(jù)(metadata)和協(xié)議(protocols),即每個(gè)節(jié)點(diǎn)的信息只在自己所在的子鏈中被公開(kāi),僅在交易時(shí)被調(diào)用。這樣既能夠保證各節(jié)點(diǎn)能夠相互交易,又能夠保證交易數(shù)據(jù)的隱私性。
具體執(zhí)行過(guò)程為:當(dāng)子鏈上的節(jié)點(diǎn)超過(guò)一定的數(shù)量之后,該子鏈可被分割成多條子鏈,并由不同的計(jì)算機(jī)(服務(wù)器)托管。其中,子鏈擴(kuò)展的具體閾值需要根據(jù)具體應(yīng)用的要求和服務(wù)器的能力而定,不能一概而論。就目前區(qū)塊鏈在金融領(lǐng)域內(nèi)的實(shí)踐來(lái)看,一條較為均衡的交易子鏈大致可以承載10萬(wàn)用戶[32]。擴(kuò)展之后的每條子鏈都將形成自己的獨(dú)立環(huán)境,子鏈上的數(shù)據(jù)只向該鏈上的節(jié)點(diǎn)公開(kāi),子鏈與子鏈之間通過(guò)托管服務(wù)器(中心節(jié)點(diǎn))交換信息。該可擴(kuò)展子鏈機(jī)制可以實(shí)現(xiàn)兩個(gè)目的:①作為基于制造服務(wù)集成平臺(tái)的雙鏈區(qū)塊鏈的具體實(shí)現(xiàn)形式,擴(kuò)展之后的子鏈僅對(duì)鏈上的節(jié)點(diǎn)進(jìn)行讀寫(xiě)操作,各子鏈獨(dú)立作業(yè),相互監(jiān)督,能夠進(jìn)一步加強(qiáng)對(duì)利益主體隱私數(shù)據(jù)的保護(hù);②能夠均衡系統(tǒng)的總負(fù)載,具有很高的計(jì)算能力和吞吐性,以及很低的延遲性。該機(jī)制的功能和運(yùn)行模式如圖4所示。
制造領(lǐng)域內(nèi)的產(chǎn)品溯源、數(shù)據(jù)采集傳輸、設(shè)備運(yùn)行、檢修保養(yǎng)、生產(chǎn)安全管控、質(zhì)檢巡檢等工作都需要以信任為前提。傳統(tǒng)“面對(duì)面”式的信任構(gòu)建方法耗時(shí)長(zhǎng)、成本高、效率低,并不適用于分布式的智能化制造場(chǎng)景;而單純的“聯(lián)網(wǎng)上云”式的數(shù)據(jù)共享方式又存在數(shù)據(jù)被篡改的可能,給制造主體帶來(lái)?yè)p失。
區(qū)塊鏈上沒(méi)有中心節(jié)點(diǎn)為信用背書(shū)。鏈上所有節(jié)點(diǎn)都是通過(guò)共識(shí)算法完成從數(shù)據(jù)建立到每一次數(shù)據(jù)更新和存儲(chǔ)的“一致性過(guò)程”,以此保證鏈上數(shù)據(jù)的完整性、真實(shí)性和不可篡改性,并在該基礎(chǔ)上建立節(jié)點(diǎn)之間基于機(jī)器的信任關(guān)系。由此可見(jiàn),區(qū)塊鏈的共識(shí)算法為制造服務(wù)集成平臺(tái)提供了一種無(wú)需信任積累的數(shù)字化信用范式,實(shí)現(xiàn)了網(wǎng)絡(luò)自治,不僅是區(qū)塊鏈建立公信力的重要保障,還是制造服務(wù)集成平臺(tái)建立信任框架的重要基礎(chǔ)和核心技術(shù)。
工作量證明(Proof of Work, PoW),權(quán)益證明(Proof of Stake, PoS)和授權(quán)股份證明(Delegated Proof of Stake, DPoS)是目前使用比較廣泛的共識(shí)算法。PoW共識(shí)算法根據(jù)節(jié)點(diǎn)的計(jì)算能力決定記賬節(jié)點(diǎn),在區(qū)塊鏈發(fā)展史中具有開(kāi)創(chuàng)性的意義,但其長(zhǎng)達(dá)10 min的區(qū)塊生成時(shí)間(交易確認(rèn))及其帶來(lái)的計(jì)算資源浪費(fèi)卻備受詬病。PoS共識(shí)算法用節(jié)點(diǎn)的最高權(quán)益(幣齡,幣齡=“持幣數(shù)量”ד持幣時(shí)間”[33])取代了Hash算力,僅通過(guò)少量的計(jì)算能力和時(shí)間就能夠決定區(qū)塊鏈的記賬權(quán)[34]。DPoS共識(shí)算法通過(guò)投票選出的“董事會(huì)”對(duì)區(qū)塊鏈上的交易進(jìn)行驗(yàn)證[35],屬于一種合作性的共識(shí)算法。該算法雖然減少了節(jié)點(diǎn)為得到記賬權(quán)而付出的計(jì)算資源和時(shí)間,但也容易喪失記賬的公平性。當(dāng)前這幾種共識(shí)算法在不同場(chǎng)景下的應(yīng)用都十分廣泛,但也存在一個(gè)共同的不足,即由“全體共識(shí)”帶來(lái)的交易效率低下的問(wèn)題??紤]到制造服務(wù)集成平臺(tái)是一種面向社會(huì)的公共平臺(tái),具有海量用戶和交易量巨大的特點(diǎn),且對(duì)交易的公平性要求較高,因此本文擬在PoS共識(shí)算法的基礎(chǔ)上,提出一種考慮權(quán)重的、更簡(jiǎn)潔和更適用于制造服務(wù)集成平臺(tái)的PoWS共識(shí)算法。PoWS共識(shí)算法擬實(shí)現(xiàn)的目標(biāo)是:①通過(guò)權(quán)重的設(shè)計(jì),讓制造資源更公平的進(jìn)行交易,即若某制造資源參與了一次近期交易,則它的權(quán)重會(huì)自動(dòng)降低;當(dāng)下一次交易機(jī)會(huì)產(chǎn)生時(shí),和該制造資源質(zhì)量相同的其他資源就能優(yōu)先獲得該交易機(jī)會(huì);②簡(jiǎn)化了幣齡的計(jì)算過(guò)程和使用條件,轉(zhuǎn)而用“制造資源屬性×權(quán)重”作為節(jié)點(diǎn)的“權(quán)益”,代替“持幣數(shù)量×持幣時(shí)間”,使得共識(shí)算法更適用于制造服務(wù)集成平臺(tái)。
算法1PoWS共識(shí)算法。
1 begin
2 nodei∈Node[],i∈N;
3 transaction nodei(id,request,t); //nodei產(chǎn)生了新的交易,要求在全網(wǎng)進(jìn)行更新,id是新交易的序列號(hào),t是時(shí)間戳,保證消息不會(huì)被重復(fù)讀寫(xiě)
4 lisen by Node[]; //鏈上所有節(jié)點(diǎn)對(duì)新消息的發(fā)布進(jìn)行監(jiān)聽(tīng)
6 nodeaccount=max(Node(weigh)); //擁有最高權(quán)益值的節(jié)點(diǎn)獲得記賬權(quán)
7 block=comp(nodei); //記賬節(jié)點(diǎn)計(jì)算nodei的區(qū)塊值
8 broadcast(block) by nodeaccount; //記賬節(jié)點(diǎn)向全鏈廣播新的區(qū)塊
9 vote=1, if verify(block)=blocknodeaccount; //節(jié)點(diǎn)對(duì)記賬節(jié)點(diǎn)廣播的區(qū)塊值進(jìn)行驗(yàn)證,如果一致,則計(jì)數(shù)為1
10 if Sum(vote)≥N; //如果驗(yàn)證值為1的節(jié)點(diǎn)數(shù)≥N,N的大小取決于系統(tǒng)的容錯(cuò)系數(shù)
11 then updating(nodei,block) for Node[]; //鏈上所有節(jié)點(diǎn)更新節(jié)點(diǎn)nodei和block
12 else give up; //如果驗(yàn)證為1的節(jié)點(diǎn)數(shù) 13 end 為驗(yàn)證雙鏈區(qū)塊鏈在用戶隱私保護(hù)、計(jì)算能力和平衡負(fù)載方面的優(yōu)越性,本文設(shè)計(jì)了4個(gè)實(shí)驗(yàn)。 實(shí)驗(yàn)1 (1)實(shí)驗(yàn)?zāi)康?測(cè)試在一段時(shí)間內(nèi),雙鏈區(qū)塊鏈處理交易的能力。 (2)實(shí)驗(yàn)環(huán)境 雙鏈架構(gòu)的區(qū)塊鏈,一條為用戶數(shù)據(jù)子鏈,另一條為交易服務(wù)子鏈。用戶數(shù)據(jù)子鏈上含有10個(gè)計(jì)算節(jié)點(diǎn),交易服務(wù)子鏈上含有1個(gè)計(jì)算節(jié)點(diǎn),滿足共識(shí)算法對(duì)區(qū)塊鏈系統(tǒng)的基本要求。 (3)實(shí)驗(yàn)結(jié)果 如圖5所示。 實(shí)驗(yàn)2 (1)實(shí)驗(yàn)?zāi)康?在相同的用戶數(shù)和交易量的前提下,比較單鏈區(qū)塊鏈和雙鏈區(qū)塊鏈的計(jì)算能力和用戶隱私保護(hù)特性。 (2)實(shí)驗(yàn)環(huán)境 基于區(qū)塊鏈的制造服務(wù)集成平臺(tái)上共有1億個(gè)用戶,其中有20萬(wàn)個(gè)用戶同時(shí)參與了制造資源交易。任意計(jì)算節(jié)點(diǎn)對(duì)信息的確認(rèn)需要4次通信(簽名、解簽名、加密和解加密);區(qū)塊鏈每天工作4 h;每天有107次交易量。 (3)實(shí)驗(yàn)結(jié)果 如表1所示。 表1 單鏈區(qū)塊鏈和雙鏈區(qū)塊鏈的隱私保護(hù)特性和計(jì)算能力比較 實(shí)驗(yàn)3 (1)實(shí)驗(yàn)?zāi)康?測(cè)試在相同的用戶數(shù)和交易量的前提下,當(dāng)用戶數(shù)據(jù)子鏈數(shù)量在[10,100]區(qū)間變化時(shí),節(jié)點(diǎn)在交易負(fù)載方面的變化。 (2)實(shí)驗(yàn)環(huán)境 同實(shí)驗(yàn)2。 (3)實(shí)驗(yàn)結(jié)果 如圖6所示。 實(shí)驗(yàn)4 (1)實(shí)驗(yàn)?zāi)康?測(cè)試在相同的交易量和總計(jì)算節(jié)點(diǎn)(設(shè)總計(jì)算節(jié)點(diǎn)為100個(gè))的前提下,當(dāng)用戶數(shù)據(jù)子鏈和子鏈上的節(jié)點(diǎn)數(shù)變化時(shí),每節(jié)點(diǎn)在交易負(fù)載方面的變化。 (2)實(shí)驗(yàn)環(huán)境 同實(shí)驗(yàn)2。 (3)實(shí)驗(yàn)結(jié)果 如圖7所示。 (1)由圖5可以看出,隨著時(shí)間的消耗,區(qū)塊鏈處理的交易數(shù)量在不斷增加。每次交易時(shí)間的消耗包括區(qū)塊的建立、區(qū)塊的驗(yàn)證和一致性過(guò)程,其中前兩個(gè)部分消耗了絕大部分時(shí)間。 其中:節(jié)點(diǎn)處理交易的平均速度為: vmax=max(ni/ti)=為2 467.6次/s; 該數(shù)據(jù)完全可以滿足當(dāng)前制造服務(wù)集成平臺(tái)的需求。 (2)由表1的結(jié)果可知,在107次交易負(fù)載和109位用戶數(shù)量的實(shí)驗(yàn)環(huán)境下,與單鏈區(qū)塊鏈相比,子鏈擴(kuò)展后的雙鏈區(qū)塊鏈每節(jié)點(diǎn)秒(node.s)的建塊次數(shù)、建塊加密次數(shù)、交易查詢和交易加密次數(shù)分別下降了2~5個(gè)數(shù)量級(jí)。由此可見(jiàn),本文提出的基于雙鏈區(qū)塊鏈的子鏈擴(kuò)展機(jī)制能夠有效均衡整個(gè)區(qū)塊鏈的負(fù)載,不僅可以通過(guò)并發(fā)計(jì)算大幅提升計(jì)算節(jié)點(diǎn)建塊和數(shù)據(jù)查詢的速度,還可以通過(guò)不同的子鏈區(qū)分用戶數(shù)據(jù)和交易數(shù)據(jù),有效保護(hù)數(shù)據(jù)隱私。 (3)由圖6可以看出,在用戶規(guī)模和交易量一定的前提下,節(jié)點(diǎn)的計(jì)算負(fù)載會(huì)隨著區(qū)塊鏈子鏈的增多而明顯減少。由此可見(jiàn),和單鏈區(qū)塊鏈相比,雙鏈區(qū)塊鏈及其擴(kuò)展機(jī)制在降低計(jì)算節(jié)點(diǎn)的負(fù)載方面有顯著優(yōu)勢(shì),這一優(yōu)勢(shì)在大數(shù)據(jù)量的情況下尤為突出。但節(jié)點(diǎn)計(jì)算負(fù)載的下降速度并不隨區(qū)塊鏈子鏈數(shù)量的增加呈正比,而是逐漸趨緩并達(dá)到穩(wěn)定。因此,在實(shí)際應(yīng)用時(shí),應(yīng)充分考慮子鏈擴(kuò)展的成本,找到區(qū)塊子鏈數(shù)量與用戶數(shù)量和交易規(guī)模之間的效益最優(yōu)比。 (4)由圖7可知,在區(qū)塊鏈總計(jì)算節(jié)點(diǎn)一定的前提下(即區(qū)塊鏈總成本一定的前提下,一般認(rèn)為建立區(qū)塊鏈的成本與計(jì)算節(jié)點(diǎn)的數(shù)量呈正比),若對(duì)子鏈進(jìn)行擴(kuò)展,將有效降低計(jì)算節(jié)點(diǎn)的負(fù)載。但子鏈也不能無(wú)限擴(kuò)展,若子鏈中參與計(jì)算的節(jié)點(diǎn)過(guò)少,區(qū)塊鏈將會(huì)面臨“51%攻擊”的可能性。嚴(yán)重時(shí),會(huì)破壞區(qū)塊鏈的信任體系。 針對(duì)由海量分布式制造資源導(dǎo)致的制造服務(wù)集成平臺(tái)的交易性能、隱私保護(hù)和負(fù)載均衡問(wèn)題,本文提出并驗(yàn)證了一種基于雙鏈區(qū)塊鏈的的制造服務(wù)集成平臺(tái)框架。在該框架下設(shè)計(jì)并提出了雙鏈區(qū)塊鏈的架構(gòu)、雙子鏈的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)、與智能合約相融合的數(shù)據(jù)加密傳輸機(jī)制以及PoWS共識(shí)算法。實(shí)驗(yàn)證明,本文設(shè)計(jì)的框架實(shí)現(xiàn)了制造服務(wù)集成平臺(tái)上隱私數(shù)據(jù)的安全傳輸和多主體之間的可信交易,在減輕鏈上數(shù)據(jù)壓力、保護(hù)交易安全以及提升制造資源利用率等方面有出色表現(xiàn)。 以下幾個(gè)方面問(wèn)題還尚待深入研究: (1)制造服務(wù)集成平臺(tái)在進(jìn)行制造資源交易撮合時(shí),不僅要考慮制造資源的經(jīng)濟(jì)性,還應(yīng)該考慮資源交易的公平性。本文在區(qū)塊鏈共識(shí)算法節(jié)點(diǎn)權(quán)益的計(jì)算和智能合約的設(shè)計(jì)中均引入了選擇性激勵(lì),以動(dòng)態(tài)權(quán)重W的形式體現(xiàn)。在實(shí)際操作過(guò)程中,不同制造資源的激勵(lì)性動(dòng)態(tài)權(quán)重應(yīng)該如何設(shè)置是值得深入研究的問(wèn)題。 (2)本文設(shè)計(jì)的交易服務(wù)子鏈上數(shù)據(jù)傳輸和隱私保護(hù)的算法是基于公開(kāi)密鑰的,該算法的強(qiáng)度依賴于所采用的公鑰機(jī)制的健壯性。若節(jié)點(diǎn)的密鑰丟失,在無(wú)法回滾的區(qū)塊鏈中如何證實(shí)節(jié)點(diǎn)的身份,節(jié)點(diǎn)如何繼續(xù)在區(qū)塊鏈上的應(yīng)用等問(wèn)題,仍待解決。 (3)本文設(shè)計(jì)的基于雙鏈區(qū)塊鏈的制造服務(wù)集成平臺(tái)的運(yùn)行性能在大數(shù)據(jù)環(huán)境中的安全性、計(jì)算能力和平衡負(fù)載能力尚待進(jìn)一步驗(yàn)證。4 實(shí)驗(yàn)
4.1 實(shí)驗(yàn)設(shè)計(jì)
4.2 實(shí)驗(yàn)分析
5 結(jié)束語(yǔ)