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