蔡 婷 ,林 暉 ,陳武輝 ,鄭子彬 ,余 陽
1(中山大學(xué) 數(shù)據(jù)科學(xué)與計(jì)算機(jī)學(xué)院,廣東 廣州 510006)
2(國家數(shù)字家庭工程技術(shù)研究中心(中山大學(xué)),廣東 廣州 510006)
隨著5G 和移動(dòng)云計(jì)算技術(shù)的發(fā)展,數(shù)據(jù)共享在物聯(lián)網(wǎng)開發(fā)與應(yīng)用領(lǐng)域日益發(fā)揮著越來越重要的作用,這是因?yàn)榻^大多數(shù)的物聯(lián)網(wǎng)應(yīng)用程序底層都是基于數(shù)據(jù)共享來部署的[1].據(jù)大數(shù)據(jù)統(tǒng)計(jì),物聯(lián)網(wǎng)設(shè)備的數(shù)量在2025年預(yù)計(jì)上升至416 億臺(tái).這將意味著每秒在全球范圍內(nèi)將有127 臺(tái)新設(shè)備連接到互聯(lián)網(wǎng).這些物聯(lián)網(wǎng)設(shè)備每天產(chǎn)生約5 億字節(jié)的數(shù)據(jù),預(yù)計(jì)到2025 年達(dá)到79.4 兆字節(jié)的數(shù)據(jù)量[2,3].大膽地設(shè)想一下,這些海量數(shù)據(jù)將在物聯(lián)網(wǎng)設(shè)備之間進(jìn)行共享和分析,進(jìn)而不可避免地創(chuàng)造一個(gè)超大規(guī)模的數(shù)據(jù)交易市場[4].然而,當(dāng)前的物聯(lián)網(wǎng)數(shù)據(jù)市場遠(yuǎn)未達(dá)到這一預(yù)期.究其原因[5-9],一方面是因?yàn)閿?shù)據(jù)共享在實(shí)踐過程中通常需要消耗共享參與者一定數(shù)量的資源和成本.在缺乏有效的參與者激勵(lì)策略的情況下,很難平衡多方利益,因此物聯(lián)網(wǎng)用戶多數(shù)不愿意主動(dòng)地共享數(shù)據(jù)或轉(zhuǎn)發(fā)消息;另一方面,在大量的感知數(shù)據(jù)(如位置信息)中可能存在個(gè)體隱私泄漏的風(fēng)險(xiǎn),諸如此類的安全問題阻礙了物聯(lián)網(wǎng)用戶加入到數(shù)據(jù)共享市場中來.
通過有效的激勵(lì)機(jī)制來鼓勵(lì)用戶積極參與物聯(lián)網(wǎng)數(shù)據(jù)共享是一個(gè)有效的舉措.目前,已經(jīng)出現(xiàn)了將激勵(lì)機(jī)制引入移動(dòng)群體感知或資源交易等物聯(lián)網(wǎng)應(yīng)用場景,并以此激勵(lì)用戶參與數(shù)據(jù)共享行為的相關(guān)研究[10-13].例如,Gao 等人[10]提出了一種適用于非確定性車載自組網(wǎng)的有效激勵(lì)機(jī)制.Pu 等人[11]研究了應(yīng)用于大規(guī)模車輛移動(dòng)群體感知的基于激勵(lì)的混合邊緣計(jì)算框架.Petrov 等人[12]面向窄帶物聯(lián)網(wǎng)應(yīng)用設(shè)計(jì)了基于機(jī)會(huì)主義的人群感知激勵(lì)機(jī)制.然而,這些研究方法大多都是集中式的,它們在無法保證數(shù)據(jù)完整性和不可信的物聯(lián)網(wǎng)應(yīng)用中面臨著安全性挑戰(zhàn)[14].比如,在物聯(lián)網(wǎng)中,數(shù)據(jù)服務(wù)器可能會(huì)遭受惡意用戶或服務(wù)提供商的攻擊,服務(wù)器中存儲(chǔ)的數(shù)據(jù)會(huì)被篡改;不誠實(shí)的物聯(lián)網(wǎng)用戶考慮自身利益或者因非法目的而提供虛假甚至惡意數(shù)據(jù)[15].
考慮到安全挑戰(zhàn)極其重要的特性,區(qū)塊鏈因其固有的安全屬性,如分散化、匿名化、可追蹤和不可篡改性等,使其成為一項(xiàng)非常具有吸引力的技術(shù)被引入到物聯(lián)網(wǎng)數(shù)據(jù)共享中,以解決物聯(lián)網(wǎng)用戶的信任問題,并提供安全的數(shù)據(jù)存儲(chǔ)[16].許多基于區(qū)塊鏈的物聯(lián)網(wǎng)數(shù)據(jù)共享的相關(guān)研究工作已被提出并得以實(shí)現(xiàn).例如,Kang 等人[17]通過優(yōu)化共識(shí)管理機(jī)制,提出了一種基于區(qū)塊鏈的車聯(lián)網(wǎng)數(shù)據(jù)共享方案.Yu 等人[18]提出了一種基于Bitcoin 的加密貨幣LRCoin,其核心思想是為物聯(lián)網(wǎng)中的數(shù)據(jù)交易設(shè)計(jì)具有抗泄漏的數(shù)字簽名方案,提高數(shù)據(jù)交易的安全性.Yang 等人[19]利用貝葉斯推理模型設(shè)計(jì)了一種基于區(qū)塊鏈的信任管理系統(tǒng).這些研究都試圖利用區(qū)塊鏈技術(shù)來解決物聯(lián)網(wǎng)應(yīng)用中的數(shù)據(jù)共享問題,然而在構(gòu)建基于區(qū)塊鏈的安全分布式共享系統(tǒng)的探索過程中,忽略了區(qū)塊鏈固有的關(guān)鍵性能瓶頸問題[20].例如,Bitcoin 最大交易吞吐量約為7 筆/秒,創(chuàng)建交易的客戶端平均必須等待至少10 分鐘才能夠確保交易上鏈;Ethereum 最大吞吐量限制在20 筆/秒,平均延遲時(shí)間為12s.相比之下,類似于Visa 這種中心化支付系統(tǒng),通常能夠在幾秒鐘內(nèi)確認(rèn)交易,其吞吐量甚至可以高達(dá)每秒上萬筆[21,22].區(qū)塊鏈的性能瓶頸已然成為又一阻礙物聯(lián)網(wǎng)用戶參與數(shù)據(jù)共享的重要因素.因此,要想利用區(qū)塊鏈技術(shù)助力潛在的由數(shù)十億物聯(lián)網(wǎng)設(shè)備所組成的大規(guī)模數(shù)據(jù)共享市場,必須考慮盡可能地提高它的性能,同時(shí)保留其安全性和去中心化屬性,并且迫切需要研究和提出基于區(qū)塊鏈的高效物聯(lián)網(wǎng)數(shù)據(jù)激勵(lì)共享方案.
針對上述問題,本文首先提出了一個(gè)高效的區(qū)塊鏈物聯(lián)網(wǎng)數(shù)據(jù)激勵(lì)共享框架,稱為ShareBC.在該體系結(jié)構(gòu)中,ShareBC 引入分片技術(shù)[23]將網(wǎng)絡(luò)中的所有物聯(lián)網(wǎng)設(shè)備劃分成若干個(gè)異步共識(shí)區(qū),將原來需要全網(wǎng)節(jié)點(diǎn)共同進(jìn)行的交易驗(yàn)證工作在各個(gè)分片異步共識(shí)區(qū)并行處理,以增強(qiáng)基于區(qū)塊鏈的數(shù)據(jù)共享系統(tǒng)的交易處理能力.此外,根據(jù)聯(lián)盟區(qū)塊鏈和物聯(lián)網(wǎng)數(shù)據(jù)共享的特點(diǎn)[24],本文為 ShareBC 設(shè)計(jì)了高效的共識(shí)過程,聯(lián)盟鏈委員會(huì)(committee)依賴一組分布式的異步共識(shí)區(qū)并同時(shí)保持了對于數(shù)據(jù)共享交易的完全控制,這種共識(shí)機(jī)制具有強(qiáng)大的透明度和可審計(jì)性保證,在計(jì)算成本和可擴(kuò)展性方面也具有一定的優(yōu)勢;另一方面,為了鼓勵(lì)物聯(lián)網(wǎng)用戶參與數(shù)據(jù)共享,本文還提出了一種基于智能合約實(shí)現(xiàn)的層次數(shù)據(jù)拍賣模型的共享激勵(lì)機(jī)制,以最大限度地提高各方參與者的整體社會(huì)福利.實(shí)踐中,物聯(lián)網(wǎng)設(shè)備間的數(shù)據(jù)共享通常面臨著多層通信網(wǎng)絡(luò)結(jié)構(gòu)所帶來的局限性[25],該機(jī)制因此設(shè)計(jì)了包括數(shù)據(jù)代理在內(nèi)的3 層數(shù)據(jù)拍賣模型和相應(yīng)的數(shù)據(jù)分配以及定價(jià)規(guī)則,并考慮了數(shù)據(jù)傳輸成本對于社會(huì)福利的影響.最后,該機(jī)制通過智能合約的形式強(qiáng)制生效,確保了在數(shù)據(jù)共享交易中拍賣規(guī)則的不可否認(rèn)性和執(zhí)行效率.
本文的主要貢獻(xiàn)總結(jié)如下:
(1) 提出了一種高效的區(qū)塊鏈物聯(lián)網(wǎng)數(shù)據(jù)激勵(lì)共享框架——ShareBC.為了提高系統(tǒng)的交易處理能力,ShareBC 引入分片并給出了基于區(qū)塊鏈的物聯(lián)網(wǎng)數(shù)據(jù)共享的分片構(gòu)建步驟.并且,ShareBC 還在分片異步共識(shí)區(qū)和云/邊緣服務(wù)器上部署了高效的共識(shí)機(jī)制,避免了傳統(tǒng)的基于工作量證明方式生成區(qū)塊所導(dǎo)致的高計(jì)算開銷問題,提升了共識(shí)生成區(qū)塊的效率;
(2) 提出了一種基于智能合約的層次數(shù)據(jù)拍賣模型的物聯(lián)網(wǎng)數(shù)據(jù)共享激勵(lì)機(jī)制.為確保盡可能多的物聯(lián)網(wǎng)設(shè)備參與數(shù)據(jù)共享,該機(jī)制基于ShareBC 框架提出3 層數(shù)據(jù)拍賣模型,其中,通信受限的底層設(shè)備可以通過數(shù)據(jù)代理的幫助間接地訪問數(shù)據(jù)共享資源,從而實(shí)現(xiàn)社會(huì)福利的最大化;
(3) 開發(fā)了原型系統(tǒng).為了簡化拍賣機(jī)制的邏輯,拍賣智能合約被分層設(shè)計(jì)且分別部署在3 層數(shù)據(jù)拍賣模型中,測試結(jié)果表明,智能合約的計(jì)算成本較低,具有良好的實(shí)用性.最后,大量的仿真實(shí)驗(yàn)表明了共享激勵(lì)機(jī)制的經(jīng)濟(jì)效益、激勵(lì)兼容性和實(shí)時(shí)性以及可擴(kuò)展性.
隨著物聯(lián)網(wǎng)采集數(shù)據(jù)的爆發(fā)式增長,物聯(lián)網(wǎng)數(shù)據(jù)共享研究受到學(xué)術(shù)界的廣泛關(guān)注[26-33].例如,Wang 等人[26]提出了適用于車輛軌跡預(yù)測的車載自組網(wǎng)數(shù)據(jù)共享參與者招募策略,最大程度地降低了總招募成本.Ni 等人[27]提出一種基于霧計(jì)算的移動(dòng)群體感知框架以解決任務(wù)請求者與工人之間的安全和隱私問題.Xiao 等人[28]研究了基于博弈論的車聯(lián)網(wǎng)數(shù)據(jù)共享問題,利用Q-Learning 算法實(shí)現(xiàn)車輛報(bào)酬支付策略.然而,在這些研究工作中還缺乏有效的激勵(lì)機(jī)制,大多數(shù)方案中物聯(lián)網(wǎng)實(shí)體的數(shù)據(jù)共享行為是出于自愿和主動(dòng)性假設(shè),顯然,這是違背客觀事實(shí)的.為了解決物聯(lián)網(wǎng)設(shè)備之間數(shù)據(jù)共享的激勵(lì)問題,各種單層拍賣機(jī)制先后被提出.例如,在文獻(xiàn)[31]中,Jin等人提出一種激勵(lì)兼容的拍賣機(jī)制,根據(jù)移動(dòng)設(shè)備的需求確定資源報(bào)價(jià),實(shí)現(xiàn)移動(dòng)設(shè)備(買家)與云服務(wù)提供商(賣家)之間的資源共享交易.在文獻(xiàn)[32]中,Wen 等人提出一種質(zhì)量驅(qū)動(dòng)的拍賣激勵(lì)機(jī)制,該機(jī)制能夠根據(jù)感知數(shù)據(jù)的質(zhì)量計(jì)算參與者的支付費(fèi)用,以提高用戶參與收集和共享感知數(shù)據(jù)的積極性.
單層拍賣機(jī)制在大規(guī)模的物聯(lián)網(wǎng)數(shù)據(jù)激勵(lì)共享場景中存在著應(yīng)用上的局限性[30].這是因?yàn)?在無線網(wǎng)絡(luò)中智能物聯(lián)網(wǎng)設(shè)備的地理位置分散且數(shù)據(jù)共享服務(wù)覆蓋范圍有限,部分終端設(shè)備因通信和服務(wù)受限而無法加入數(shù)據(jù)市場,需要其他物聯(lián)網(wǎng)設(shè)備充當(dāng)中間代理以幫助其獲取共享數(shù)據(jù)資源,單層拍賣模型顯然已經(jīng)無法針對這種層次結(jié)構(gòu)場景進(jìn)行建模并求解最大化社會(huì)福利.在此問題背景下,層次拍賣機(jī)制作為一種能夠?qū)崿F(xiàn)物聯(lián)網(wǎng)共享設(shè)備之間社會(huì)福利最大化的極具前景的解決方案被提了出來.例如,Kiani 等人[29]研究并提出基于動(dòng)態(tài)規(guī)劃問題的3 層資源分配模型.Wang 等人[30]提出一種適用于多機(jī)器人實(shí)時(shí)通信和高效數(shù)據(jù)檢索的多層拍賣機(jī)制.然而,大部分傳統(tǒng)激勵(lì)機(jī)制下的數(shù)據(jù)共享模型都是集中式的,它們通常依賴于可信的第三方中心化機(jī)構(gòu),存在很大的被攻擊風(fēng)險(xiǎn)且易導(dǎo)致單點(diǎn)故障.此外,不誠實(shí)用戶可能因?yàn)樽陨砝娴仍蛱峁┨摷偕踔翋阂鈹?shù)據(jù),進(jìn)一步加劇了數(shù)據(jù)共享的信任危機(jī)[34].
基于區(qū)塊鏈的分布式系統(tǒng)被認(rèn)為是建立安全和可信數(shù)據(jù)共享的有效技術(shù)[2,35-38].例如,Li 等人[36]實(shí)現(xiàn)了一種基于區(qū)塊鏈的移動(dòng)群體感知系統(tǒng),該系統(tǒng)支持任務(wù)請求者直接將任務(wù)發(fā)送給工人,避免了傳統(tǒng)集中式的可信第三方平臺(tái)的涉入.Cai 等人[16]利用門限簽名技術(shù)開發(fā)了基于區(qū)塊鏈的社交鏈接數(shù)據(jù)的可信訪問認(rèn)證系統(tǒng),該系統(tǒng)的關(guān)注點(diǎn)在于數(shù)據(jù)共享和隱私保護(hù),這同樣適用于物聯(lián)網(wǎng)中的數(shù)據(jù)共享應(yīng)用.然而,絕大多數(shù)的現(xiàn)有工作只是簡單地將區(qū)塊鏈應(yīng)用于物聯(lián)網(wǎng)中以構(gòu)建安全的數(shù)據(jù)共享系統(tǒng),忽略了區(qū)塊鏈自身的性能瓶頸,這一問題在本文研究中將給予重點(diǎn)考慮;另一方面,在激勵(lì)機(jī)制方面,區(qū)塊鏈技術(shù)已經(jīng)與各種單層資源分配協(xié)議相結(jié)合.例如,He 等人[37]提出一種真實(shí)的激勵(lì)機(jī)制,能夠滿足動(dòng)態(tài)和分布式P2P 環(huán)境中物聯(lián)網(wǎng)用戶的不同資源分配需求.Kang等人[38]提出一種本地P2P 電力資源共享模型,支持在混合動(dòng)力車輛之間進(jìn)行本地電力買賣交易.Yao 等人[2]利用區(qū)塊鏈構(gòu)建了去中心化的工業(yè)物聯(lián)網(wǎng)設(shè)備自組織交易平臺(tái),并將設(shè)備之間的共享交易行為建模為斯塔克伯格博弈.然而,在這些現(xiàn)有研究中鮮有基于區(qū)塊鏈驅(qū)動(dòng)的多層拍賣激勵(lì)機(jī)制的探索.研究具有層次結(jié)構(gòu)的拍賣模型,解決基于區(qū)塊鏈架構(gòu)中的物聯(lián)網(wǎng)多層數(shù)據(jù)共享安全、效率以及激勵(lì)問題,這將是本文工作與現(xiàn)有研究的主要區(qū)別.
ShareBC 本質(zhì)上是激勵(lì)機(jī)制和區(qū)塊鏈技術(shù)的融合.為了提升區(qū)塊鏈系統(tǒng)的共識(shí)效率,ShareBC 提出在聯(lián)盟鏈的基礎(chǔ)上通過分片技術(shù)使部分節(jié)點(diǎn)并行地工作以替代傳統(tǒng)的全網(wǎng)共識(shí)方式,避免了在公共無許可區(qū)塊鏈中基于PoW(proof-of-work)共識(shí)機(jī)制所導(dǎo)致的高計(jì)算開銷問題[22,23].在本節(jié)中,首先描述ShareBC 的組成實(shí)體.然后,提出基于ShareBC 實(shí)現(xiàn)的數(shù)據(jù)共享過程和關(guān)鍵步驟.
如圖1 所示,ShareBC 包括3 類物聯(lián)網(wǎng)共享實(shí)體:數(shù)據(jù)提供者、數(shù)據(jù)代理和數(shù)據(jù)用戶.
Fig.1 Efficient blockchain-based data sharing incentive framework for IoT (ShareBC)圖1 高效的區(qū)塊鏈物聯(lián)網(wǎng)數(shù)據(jù)激勵(lì)共享框架(ShareBC)
其中,數(shù)據(jù)提供者是擁有共享數(shù)據(jù)資源的物聯(lián)網(wǎng)設(shè)備;數(shù)據(jù)代理和數(shù)據(jù)用戶均為具有數(shù)據(jù)需求的物聯(lián)網(wǎng)設(shè)備.在假設(shè)場景中,每個(gè)物聯(lián)網(wǎng)數(shù)據(jù)用戶直接連接到附近的數(shù)據(jù)代理并通過其與云/邊緣服務(wù)器進(jìn)行通信.每個(gè)物聯(lián)網(wǎng)數(shù)據(jù)用戶只能連接到唯一的數(shù)據(jù)代理,因此與該數(shù)據(jù)代理所連接的所有數(shù)據(jù)用戶將被劃分為同一個(gè)區(qū)域,稱為異步共識(shí)區(qū)(asynchronous consensus zone,簡稱ACZ).此外,每個(gè)數(shù)據(jù)代理和數(shù)據(jù)用戶都配置有獨(dú)立的共享交易賬戶,賬戶地址被要求設(shè)置為無關(guān)用戶個(gè)體隱私的信息,如:公開密鑰.在ShareBC 激勵(lì)共享機(jī)制中,數(shù)據(jù)提供者通過云/邊緣服務(wù)器發(fā)布數(shù)據(jù)共享請求交易.隨后,在由云/邊緣服務(wù)器組成的拍賣平臺(tái)接收到數(shù)據(jù)提供者的注冊信息后,采用層次數(shù)據(jù)拍賣機(jī)制根據(jù)購買需求、拍賣價(jià)格以及傳輸數(shù)據(jù)成本決定數(shù)據(jù)代理和數(shù)據(jù)用戶分別能夠獲得的共享數(shù)據(jù)數(shù)量和支付價(jià)格.然后,數(shù)據(jù)代理和數(shù)據(jù)用戶訪問各自拍賣所得的數(shù)據(jù)資源并完成相應(yīng)的支付.最后,這些數(shù)據(jù)共享交易記錄在分片ACZ 中被打包成區(qū)塊,由預(yù)選的聯(lián)盟鏈委員會(huì)完成最終審計(jì)并在達(dá)成共識(shí)后添加到區(qū)塊鏈上.
2.2.1 系統(tǒng)初始化
系統(tǒng)初始化階段包括物聯(lián)網(wǎng)設(shè)備注冊和智能合約部署兩個(gè)步驟.首先,在系統(tǒng)建立后,可信中心(cerfificate authority,簡稱CA)會(huì)初始化系統(tǒng)參數(shù)并利用非對稱密碼技術(shù)為新注冊的物聯(lián)網(wǎng)設(shè)備生成對應(yīng)的公鑰和私鑰.出于安全考慮,私鑰在發(fā)送給用戶后會(huì)及時(shí)銷毀,公鑰則作為物聯(lián)網(wǎng)設(shè)備在系統(tǒng)中的唯一標(biāo)識(shí)存在.考慮到聯(lián)盟鏈中對于匿名交易的可監(jiān)管需求,CA 通過存儲(chǔ)物聯(lián)網(wǎng)設(shè)備真實(shí)身份信息和公鑰的映射關(guān)系關(guān)聯(lián)表從而實(shí)現(xiàn)可監(jiān)管的匿名認(rèn)證方案[39].這樣,當(dāng)物聯(lián)網(wǎng)數(shù)據(jù)用戶身份認(rèn)證出現(xiàn)爭端時(shí),其數(shù)據(jù)代理可以請求CA 進(jìn)行仲裁并追蹤其真實(shí)身份.其次,完成智能合約的編譯和部署.ShareBC 使用智能合約自動(dòng)執(zhí)行數(shù)據(jù)共享交易過程.在區(qū)塊鏈網(wǎng)絡(luò)中初始化智能合約后,數(shù)據(jù)提供者可以參與訂制數(shù)據(jù)共享激勵(lì)機(jī)制.一旦部署成功,智能合約將擁有獨(dú)立ID并被永久性地記錄在區(qū)塊鏈中.
2.2.2 分片構(gòu)建
ShareBC 引入分片[23]的目的是將網(wǎng)絡(luò)中的所有物聯(lián)網(wǎng)設(shè)備分成若干個(gè)子網(wǎng)絡(luò),將原來需要全網(wǎng)節(jié)點(diǎn)共同進(jìn)行的交易驗(yàn)證工作在各個(gè)分片網(wǎng)絡(luò)區(qū)域內(nèi)并行處理,從而增強(qiáng)區(qū)塊鏈系統(tǒng)交易處理能力.具體來說,構(gòu)建分片包括如下主要步驟.
(1) 網(wǎng)絡(luò)分片:根據(jù)物聯(lián)網(wǎng)設(shè)備的某個(gè)關(guān)鍵特征值(如地理坐標(biāo)范圍)將其劃分成不同的分片ACZ.每個(gè)分片ACZ 是同質(zhì)的,其功能一樣且地位平等.考慮到容錯(cuò)性,每個(gè)分片ACZ 中的節(jié)點(diǎn)數(shù)量存在閾值;
(2) 節(jié)點(diǎn)分工:分片ACZ 通過內(nèi)部的物聯(lián)網(wǎng)設(shè)備共同進(jìn)行數(shù)據(jù)交易的驗(yàn)證工作.在分片ACZ 中,物聯(lián)網(wǎng)設(shè)備節(jié)點(diǎn)會(huì)進(jìn)行相應(yīng)的分工,從中選取1 個(gè)領(lǐng)導(dǎo)(leader)節(jié)點(diǎn)和若干個(gè)普通(follower)節(jié)點(diǎn).為確保分片安全性,每執(zhí)行一輪動(dòng)作周期后需要重新選舉下一輪leader 節(jié)點(diǎn).考慮到聯(lián)盟鏈的特性,首輪每個(gè)分片ACZ 中的leader 節(jié)點(diǎn)可以預(yù)指定.以后每輪leader 節(jié)點(diǎn)的選取可以通過基于隨機(jī)數(shù)的計(jì)算方式[22]進(jìn)行隨機(jī)確定;
(3) 增加或減少分片:針對新物聯(lián)網(wǎng)設(shè)備加入和原有節(jié)點(diǎn)的移動(dòng)問題,ShareBC 規(guī)定每個(gè)分片ACZ 中的節(jié)點(diǎn)數(shù)量閾值是固定的.每個(gè)分片ACZ 中擁有的節(jié)點(diǎn)數(shù)量與該分片ACZ 的權(quán)重成正比,確保在分片數(shù)量增加或減少后分片ACZ 之間仍然能夠保持均衡性.例如,當(dāng)前分片ACZ 工作負(fù)載較高時(shí),可以通過增加分片的方式提高系統(tǒng)吞吐量.若當(dāng)前分片ACZ 中節(jié)點(diǎn)數(shù)量低于安全閾值,則可取消該分片ACZ 并遷移區(qū)域內(nèi)節(jié)點(diǎn)至其他分片ACZ.
2.2.3 物聯(lián)網(wǎng)設(shè)備的角色設(shè)定
在圖1 模擬的數(shù)據(jù)激勵(lì)共享場景中,數(shù)據(jù)提供者可以利用區(qū)塊鏈網(wǎng)絡(luò)廣播其數(shù)據(jù)交易請求,并通過共享數(shù)據(jù)獲得報(bào)酬.數(shù)據(jù)需求者則包括兩類角色:數(shù)據(jù)代理和數(shù)據(jù)用戶.考慮到分片ACZ 內(nèi)節(jié)點(diǎn)通信受地理位置影響并且數(shù)據(jù)共享服務(wù)覆蓋區(qū)域有限,在ShareBC 中規(guī)定:數(shù)據(jù)用戶不能直接向數(shù)據(jù)提供者請求交易并獲得共享數(shù)據(jù),它需要通過其所在分片ACZ 的數(shù)據(jù)代理作為中間方幫助其獲得;數(shù)據(jù)代理可以直接與數(shù)據(jù)提供者進(jìn)行數(shù)據(jù)交易從而獲取共享數(shù)據(jù)資源.
2.2.4 基于智能合約的數(shù)據(jù)激勵(lì)共享機(jī)制
圖1 中展示了智能合約6 個(gè)主要的功能接口,物聯(lián)網(wǎng)數(shù)據(jù)共享的關(guān)鍵事件將通過調(diào)用這些接口自動(dòng)執(zhí)行.數(shù)據(jù)提供者首先調(diào)用智能合約的Register 接口注冊共享數(shù)據(jù)資源服務(wù),然后,數(shù)據(jù)代理調(diào)用Register 接口加入數(shù)據(jù)共享交易.在Register 接口中,智能合約定義了數(shù)據(jù)共享機(jī)制的所有相應(yīng)變量,如數(shù)據(jù)資源集的數(shù)量D、初始數(shù)據(jù)報(bào)價(jià)p、數(shù)據(jù)價(jià)格增量C和數(shù)據(jù)需求r.在兩者完成注冊后,智能合約即創(chuàng)建了在數(shù)據(jù)提供者與數(shù)據(jù)代理之間交易數(shù)據(jù)的頂層市場.接下來,數(shù)據(jù)代理將通過智能合約Create 接口創(chuàng)建子合約 H',并建立與其分片ACZ 中數(shù)據(jù)用戶之間數(shù)據(jù)交易的底層市場,其中,數(shù)據(jù)用戶則通過子合約'H 的Register 接口加入到數(shù)據(jù)共享交易中.
在完成上述步驟后,數(shù)據(jù)提供者、數(shù)據(jù)代理和數(shù)據(jù)用戶可以開始數(shù)據(jù)共享.為了最大限度地提高社會(huì)福利,激勵(lì)物聯(lián)網(wǎng)設(shè)備積極地參與數(shù)據(jù)共享交易,智能合約提供了UpdateDemand 接口.分片ACZ 中數(shù)據(jù)用戶可以通過合約 H' 的UpdateDemand 接口更新其數(shù)據(jù)需求,當(dāng)收集足夠的底層數(shù)據(jù)需求時(shí),數(shù)據(jù)代理調(diào)用智能合約H 的UpdateDemand 接口更新它在頂層市場的數(shù)據(jù)需求.當(dāng)數(shù)據(jù)交易供需相等時(shí),拍賣結(jié)束.在此之前,智能合約提供了UpdatePrice 接口供數(shù)據(jù)提供者更新數(shù)據(jù)報(bào)價(jià)并進(jìn)入新一輪拍賣.對于每個(gè)贏家設(shè)備(數(shù)據(jù)代理和數(shù)據(jù)用戶),需要通過Pay 接口向數(shù)據(jù)提供者進(jìn)行支付.拍賣結(jié)束后,數(shù)據(jù)代理和數(shù)據(jù)用戶可以通過Withdraw 接口取回剩余的賬戶資金.
2.2.5 激勵(lì)共享數(shù)據(jù)訪問和交易生成
贏家數(shù)據(jù)代理(數(shù)據(jù)用戶)從數(shù)據(jù)提供者(數(shù)據(jù)代理)下載對應(yīng)的共享數(shù)據(jù)資源,完成解密并實(shí)現(xiàn)共享數(shù)據(jù)的訪問.為了確保數(shù)據(jù)資源在轉(zhuǎn)賣過程中的安全性,數(shù)據(jù)提供方可采用一次性密碼(one-time password,簡稱OTP)[40]技術(shù)對共享數(shù)據(jù)進(jìn)行加密.這樣,就能夠有效地避免數(shù)據(jù)代理從數(shù)據(jù)提供方拍賣獲取到數(shù)據(jù)資源后又轉(zhuǎn)賣給數(shù)據(jù)用戶所形成的多次收益.在被智能合約廣播提交之后,意味著該筆數(shù)據(jù)共享交易完成.每筆數(shù)據(jù)共享交易由交易信息和數(shù)字簽名兩部分構(gòu)成[35],其中,交易信息包括支付記錄、交易開銷和交易生成的時(shí)間戳.考慮到區(qū)塊鏈系統(tǒng)存儲(chǔ)的有限性,交易數(shù)據(jù)中往往包含一個(gè)索引,用于記錄加密過的共享數(shù)據(jù)的鏈外存儲(chǔ)位置;數(shù)字簽名則是由交易雙方的私鑰簽署生成.最后,在分片ACZ 節(jié)點(diǎn)收集一定數(shù)量的交易記錄后,這些交易將被打包成一個(gè)區(qū)塊并進(jìn)入下面的共識(shí)過程.
2.2.6 共識(shí)過程
基于ShareBC 的區(qū)塊鏈共識(shí)過程主要包括兩個(gè)階段:首先,在分片ACZ 內(nèi)部完成交易驗(yàn)證并共識(shí)出區(qū)塊.每一個(gè)分片都可以選擇該區(qū)域內(nèi)的共識(shí)算法[20](例如,PoW、PoS、PoB 或者PBFT);然后,在分片之間會(huì)根據(jù)某種預(yù)定的協(xié)議達(dá)成共識(shí),實(shí)現(xiàn)分片互聯(lián)的全局系統(tǒng).如圖2 所示為本文所提出的物聯(lián)網(wǎng)數(shù)據(jù)共享框架的區(qū)塊鏈共識(shí)過程,其兩個(gè)階段都采用了實(shí)用拜占庭容錯(cuò)(practical Byzantine fault tolerance,簡稱PBFT)類型的共識(shí)算法.以圖2(a)為例,每個(gè)分片ACZ 內(nèi)部節(jié)點(diǎn)的共識(shí)過程分為生成塊、預(yù)準(zhǔn)備、準(zhǔn)備、確認(rèn)和響應(yīng)這5 個(gè)步驟.
Fig.2 ShareBC based blockchain consensus processe圖2 基于ShareBC 框架的區(qū)塊鏈共識(shí)過程
· 生成塊:完成的數(shù)據(jù)共享交易將由網(wǎng)絡(luò)中全部節(jié)點(diǎn)所驗(yàn)證,被確認(rèn)無誤的交易將由這些驗(yàn)證節(jié)點(diǎn)進(jìn)行簽名并提交其對應(yīng)分片ACZ 中的leader 節(jié)點(diǎn).在每個(gè)分片ACZ 中,由leader 節(jié)點(diǎn)負(fù)責(zé)將收集到的確認(rèn)交易打包成候選區(qū)塊;
· 預(yù)準(zhǔn)備:每個(gè)leader 節(jié)點(diǎn)管理一個(gè)唯一列表,其記錄了當(dāng)前輪周期中該分片ACZ 內(nèi)部所有follower 節(jié)點(diǎn)的信息.根據(jù)這個(gè)列表,leader 節(jié)點(diǎn)在當(dāng)前階段會(huì)將候選區(qū)塊轉(zhuǎn)發(fā)給它所在分片ACZ 中的follower 節(jié)點(diǎn)以進(jìn)行共識(shí);
· 準(zhǔn)備:每個(gè)接收到消息的follower 節(jié)點(diǎn)將驗(yàn)證候選區(qū)塊的有效性;
· 確認(rèn):每個(gè)follower 節(jié)點(diǎn)完成候選塊的驗(yàn)證,并將附有自己簽名的反饋消息廣播給分片ACZ 內(nèi)的其他節(jié)點(diǎn).若超過一定數(shù)量(如2/3 節(jié)點(diǎn)總數(shù))的follower 節(jié)點(diǎn)達(dá)成共識(shí),則進(jìn)入提交階段并廣播提交請求.否則,leader 節(jié)點(diǎn)會(huì)根據(jù)反饋結(jié)果考慮是否發(fā)起下一輪共識(shí);
· 響應(yīng):分片ACZ 中l(wèi)eader 節(jié)點(diǎn)將達(dá)成共識(shí)的候選區(qū)塊提交給委員會(huì)完成最終審計(jì).
在完成上述步驟后,共識(shí)出區(qū)塊的分片ACZ 中l(wèi)eader 節(jié)點(diǎn)會(huì)通過附近的云/邊緣服務(wù)器將候選區(qū)塊提交給聯(lián)盟鏈委員會(huì)進(jìn)行最終審計(jì),如圖2(b)所示.在ShareBC 中,委員會(huì)由聯(lián)盟鏈主體提供的一組云/邊緣服務(wù)器組成.委員會(huì)節(jié)點(diǎn)之間通過運(yùn)行PBFT 共識(shí)協(xié)議完成對候選區(qū)塊的最終審計(jì),審計(jì)通過的候選區(qū)塊將被作為新區(qū)塊添加到區(qū)塊鏈上并隨后被同步廣播給網(wǎng)絡(luò)中的其他分片ACZ.此外,Committee 同時(shí)負(fù)責(zé)在每一輪中生成一個(gè)計(jì)算隨機(jī)數(shù)用于選取分片ACZ leader 節(jié)點(diǎn).在這種共識(shí)機(jī)制中,Committee 依賴分布式分片ACZ 并同時(shí)保持了對于數(shù)據(jù)共享交易的完全控制,具有強(qiáng)大的透明度和可審計(jì)性保證,在計(jì)算成本和可擴(kuò)展性方面也具有優(yōu)勢,分片內(nèi)部共識(shí)細(xì)節(jié)將在第4.1 節(jié)中進(jìn)行詳細(xì)闡述.
如何設(shè)計(jì)有效的激勵(lì)機(jī)制驅(qū)動(dòng)物聯(lián)網(wǎng)用戶積極地參與數(shù)據(jù)共享是本文的另一個(gè)研究重點(diǎn).在ShareBC 的基礎(chǔ)上,本文提出了一種基于智能合約實(shí)現(xiàn)的層次數(shù)據(jù)拍賣模型的共享激勵(lì)機(jī)制,該機(jī)制能夠最大化參與者的社會(huì)福利并保證共享交易效率.在本節(jié)中,首先對物聯(lián)網(wǎng)中的數(shù)據(jù)共享問題進(jìn)行抽象;然后,給出其形式化表示;之后,對其研究問題進(jìn)行定義,提出層次數(shù)據(jù)拍賣的數(shù)學(xué)模型.在此基礎(chǔ)上,提出基于智能合約實(shí)現(xiàn)的3 層數(shù)據(jù)拍賣算法;最后,給出相關(guān)算法定理證明.
基于區(qū)塊鏈的物聯(lián)網(wǎng)數(shù)據(jù)共享問題可以抽象為1 個(gè)層次數(shù)據(jù)交易市場,如圖3 所示.該交易市場主要由數(shù)據(jù)提供者 P、數(shù)據(jù)代理M={1,2,...,M}和數(shù)據(jù)用戶N={1,2,...,N}組成.其中,P 和M 構(gòu)成數(shù)據(jù)共享交易的頂層市場,M 和N 形成底層市場.假設(shè)共享的數(shù)據(jù)資源是可分割且同質(zhì)的,設(shè)D={1,2,...,D}為P 所擁有的共享數(shù)據(jù)資源,其中,D表示一個(gè)整數(shù).每個(gè)數(shù)據(jù)代理j∈M 對數(shù)據(jù)集D 的效用向量定義為uj,這與該數(shù)據(jù)代理在其所屬的分片ACZ 中轉(zhuǎn)賣數(shù)據(jù)所獲得的收益相同,其中,Nj表示數(shù)據(jù)代理j所在分片ACZ 中的數(shù)據(jù)用戶集合.注意,j∈Nj,這是因?yàn)閿?shù)據(jù)代理j也可以在底層市場中作為數(shù)據(jù)用戶參與數(shù)據(jù)交易.每個(gè)數(shù)據(jù)用戶i∈Nj對數(shù)據(jù)集D 的效用向量定義為vi,根據(jù)邊際效用遞減原理,vi中的元素排列順序是按值遞減的.考慮數(shù)據(jù)資源的可分割性,假設(shè)數(shù)據(jù)用戶i訪問的第k個(gè)數(shù)據(jù)資源的大小為Di[k].
系統(tǒng)規(guī)定在一筆數(shù)據(jù)共享交易生效之后,訪問數(shù)據(jù)需要通過數(shù)據(jù)代理連接到數(shù)據(jù)提供者進(jìn)行數(shù)據(jù)資源的下載.物聯(lián)網(wǎng)數(shù)據(jù)用戶必須通過其所在分片ACZ 中的數(shù)據(jù)代理幫助其獲得數(shù)據(jù)提供者的共享數(shù)據(jù).假設(shè)通信雙方的網(wǎng)絡(luò)通道容量表示為Hi,j,數(shù)據(jù)用戶(或數(shù)據(jù)代理)i∈ N∪ M 從數(shù)據(jù)代理(或數(shù)據(jù)提供者)j∈ M∪ P 訪問第k個(gè)數(shù)據(jù)資源所需要的傳輸時(shí)間為
根據(jù)Hong 等人[9]的計(jì)算方法,傳輸能耗定義為數(shù)據(jù)用戶或者數(shù)據(jù)代理的傳輸功率與傳輸時(shí)間的乘積.假設(shè)通信雙方之間的傳輸功率表示為Pi,j,數(shù)據(jù)用戶(或數(shù)據(jù)代理)i∈ N ∪M 從數(shù)據(jù)代理(或數(shù)據(jù)提供者)j∈ M ∪P訪問第k個(gè)數(shù)據(jù)資源所消耗的傳輸能量為
根據(jù)公式(1)和公式(2),數(shù)據(jù)用戶(或數(shù)據(jù)代理)i∈ N ∪M 從數(shù)據(jù)代理(或數(shù)據(jù)提供者)j∈ M ∪P 訪問第k個(gè)數(shù)據(jù)資源所需要的傳輸成本表示為
其中,f E和f T表示兩個(gè)成本因子,且f E>0,f T>0.
Fig.3 Hierarchical data sharing trading market based on blockchain圖3 基于區(qū)塊鏈的層次數(shù)據(jù)共享交易市場
假設(shè)3 層數(shù)據(jù)交易市場的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)在拍賣過程中是固定的.也就是說,要求數(shù)據(jù)提供者、數(shù)據(jù)代理和數(shù)據(jù)用戶在拍賣過程中不能改變它們當(dāng)前所在的數(shù)據(jù)交易市場.由于共享參與主體的目標(biāo)相互沖突,即數(shù)據(jù)提供者追求共享數(shù)據(jù)所得收益最大化,數(shù)據(jù)代理期望轉(zhuǎn)賣數(shù)據(jù)所獲的收益最大化,而數(shù)據(jù)用戶則希望訪問數(shù)據(jù)的成本最小化.在這種情況下,拍賣模型應(yīng)該最大限度地解決數(shù)據(jù)共享中所有參與者的社會(huì)福利問題,實(shí)現(xiàn)有效的市場均衡.其目標(biāo)函數(shù)是最大化數(shù)據(jù)用戶對共享數(shù)據(jù)資源的效用和訪問數(shù)據(jù)資源的傳輸成本之間的差值,形式化定義為
其中,q 表示3 層數(shù)據(jù)交易市場中數(shù)據(jù)資源分配向量.vi[k]表示數(shù)據(jù)用戶i∈N 的效用向量vi中的第k個(gè)元素,即i對第k個(gè)數(shù)據(jù)資源的效用.Ci,j為數(shù)據(jù)用戶i通過數(shù)據(jù)代理j訪問數(shù)據(jù)的傳輸成本,Cj,P為數(shù)據(jù)代理j訪問數(shù)據(jù)提供者P 的數(shù)據(jù)資源的傳輸成本.Di[k]表示數(shù)據(jù)用戶i訪問的第k個(gè)數(shù)據(jù)資源的大小.明顯地,實(shí)現(xiàn)社會(huì)福利最大化即可得到最優(yōu)的數(shù)據(jù)資源分配向量q.
為實(shí)現(xiàn)上述目標(biāo),需要提供數(shù)據(jù)共享參與者的個(gè)體效用和成本信息.然而,數(shù)據(jù)共享交易市場的層次化結(jié)構(gòu)存在通信和服務(wù)等局限性,P 和M 構(gòu)成的頂層市場與M 和N 形成的底層市場之間的拍賣信息是不完全的.在頂層市場中,數(shù)據(jù)提供者無法直接獲取到位于它的共享服務(wù)覆蓋區(qū)域以外的底層市場中數(shù)據(jù)用戶的數(shù)據(jù)需求.同樣地,在底層市場中,數(shù)據(jù)代理能夠供給數(shù)據(jù)用戶的數(shù)據(jù)量在拍賣初始也不明確,因?yàn)樵谂馁u初始數(shù)據(jù)代理還沒有獲得數(shù)據(jù)提供者的數(shù)據(jù)報(bào)價(jià).為此,本文提出一種層次數(shù)據(jù)拍賣機(jī)制以解決多層結(jié)構(gòu)市場拍賣中信息不完全的社會(huì)福利最大化問題.
在本節(jié)中,首先將SW 問題轉(zhuǎn)化成層次數(shù)據(jù)交易市場中的最優(yōu)數(shù)據(jù)分配問題.接下來給出層次數(shù)據(jù)拍賣機(jī)制的數(shù)學(xué)表達(dá).最后,給出定理和證明.
定義1(頂層市場的最優(yōu)數(shù)據(jù)分配問題).在頂層市場中,數(shù)據(jù)提供者將數(shù)據(jù)共享給數(shù)據(jù)代理.其最優(yōu)數(shù)據(jù)分配問題是最大化數(shù)據(jù)代理對共享數(shù)據(jù)資源的效用與其訪問數(shù)據(jù)的傳輸成本之間的差值.形式化定義為
其中,qm表示頂層市場中全體數(shù)據(jù)代理的數(shù)據(jù)分配向量,為數(shù)據(jù)提供者分配給數(shù)據(jù)代理j的數(shù)據(jù)量.uj[k]表示數(shù)據(jù)代理j對于第k個(gè)數(shù)據(jù)資源的效用,且uj[k]∈uj.Dj[k]表示數(shù)據(jù)代理j訪問的第k個(gè)數(shù)據(jù)資源的大小,Cj,P為數(shù)據(jù)代理j訪問數(shù)據(jù)提供者的數(shù)據(jù)資源的傳輸成本.
定義2(底層市場的最優(yōu)數(shù)據(jù)分配問題).假設(shè)向量qm*為頂層市場的最優(yōu)數(shù)據(jù)分配解.在底層市場中,數(shù)據(jù)代理j將頂層市場所獲得的數(shù)據(jù)資源qm*轉(zhuǎn)發(fā)給其分片ACZ 內(nèi)部數(shù)據(jù)用戶.其最優(yōu)數(shù)據(jù)分配問題是最大化數(shù)據(jù)用戶對數(shù)據(jù)資源的效用與其訪問數(shù)據(jù)資源的傳輸成本之間的差值.形式化定義為
數(shù)據(jù)分配的流程描述如下:首先,數(shù)據(jù)提供者向數(shù)據(jù)代理j提供qj單位的數(shù)據(jù)資源;然后,數(shù)據(jù)代理j將qj轉(zhuǎn)賣給其分片ACZ 中的數(shù)據(jù)用戶Nj.如果分片ACZ 這個(gè)底層子市場中的Nj數(shù)據(jù)需求等于數(shù)據(jù)代理j的數(shù)據(jù)供應(yīng)qj,則能夠獲得數(shù)據(jù)用戶Nj的最優(yōu)數(shù)據(jù)分配向量也就是說,當(dāng)頂層市場和底層子市場的數(shù)據(jù)供需相等時(shí),可以得到數(shù)據(jù)最優(yōu)分配問題(5)和問題(6)的解向量qm*和qe*,并且等價(jià)于SW 最大化問題(4).然而,受限于交易市場的層次結(jié)構(gòu),數(shù)據(jù)代理j∈M 的效用向量uj在拍賣初始時(shí)未知,故不能直接計(jì)算出qm*和qe*.在這種情況下,層次數(shù)據(jù)拍賣機(jī)制需要獲取到完全信息來實(shí)現(xiàn)求解SW 最大化問題.
本文提出在層次數(shù)據(jù)拍賣機(jī)制中引入同步機(jī)制,從而解決數(shù)據(jù)提供者通過M個(gè)數(shù)據(jù)代理向N個(gè)數(shù)據(jù)用戶發(fā)送共享數(shù)據(jù)集D 的社會(huì)福利最大化問題.具體方案描述如下:一方面,在頂層市場中采用Ausubel 等人[39]提出的升序時(shí)鐘拍賣與成交(ascending clock auction with clinching,簡稱ACC)機(jī)制來解決數(shù)據(jù)最優(yōu)分配問題(5).數(shù)據(jù)提供者在拍賣開始時(shí)將公布數(shù)據(jù)報(bào)價(jià)p0給數(shù)據(jù)代理.在收到報(bào)價(jià)后,數(shù)據(jù)代理結(jié)合該報(bào)價(jià)下的效用提供對應(yīng)的數(shù)據(jù)需求給數(shù)據(jù)提供者.然后,數(shù)據(jù)提供者則按照一個(gè)常數(shù)C的遞增比例提高數(shù)據(jù)報(bào)價(jià)(即p0+C)并開始下一輪的拍賣.拍賣過程繼續(xù)迭代,直到數(shù)據(jù)代理的數(shù)據(jù)需求等于數(shù)據(jù)提供者的共享數(shù)據(jù)資源集D;另一方面,在底層子市場中采用可擴(kuò)展ACC 機(jī)制來解決數(shù)據(jù)最優(yōu)分配問題(6).每個(gè)數(shù)據(jù)代理能夠提供給其分片ACZ 內(nèi)部數(shù)據(jù)用戶的數(shù)據(jù)資源是其在頂層市場中拍賣所得.由于數(shù)據(jù)代理的效用不可預(yù)測,則要求數(shù)據(jù)代理將頂層市場的拍賣信息廣播至其分片ACZ.最后,為保證層次拍賣的同步,數(shù)據(jù)提供者需要制定數(shù)據(jù)交易分配規(guī)則和定價(jià)規(guī)則.
· 分配規(guī)則:數(shù)據(jù)代理在頂層市場中拍賣并獲得的數(shù)據(jù)資源,必須即時(shí)地在其分片ACZ 中進(jìn)行再次拍賣;
· 定價(jià)規(guī)則:分片ACZ 中數(shù)據(jù)資源的拍賣報(bào)價(jià)不得高于其在頂層市場中的最終拍賣價(jià)格.
下面,本文將給出層次數(shù)據(jù)拍賣機(jī)制的數(shù)學(xué)描述.假設(shè)數(shù)據(jù)提供者對于其共享數(shù)據(jù)資源集D 的報(bào)價(jià)集為p={p0,p1,…,pl},p0是初始拍賣價(jià),pl是最終拍賣價(jià).根據(jù)定理1,頂層市場和其底層子市場共享數(shù)據(jù)集D 的報(bào)價(jià)集是一樣的,均為p={p0,p1,…,pl}.
定理1.在層次數(shù)據(jù)拍賣機(jī)制中,頂層市場與底層子市場的數(shù)據(jù)拍賣行為同時(shí)終止.
證明:假設(shè)頂層市場中的數(shù)據(jù)報(bào)價(jià)集為pt={p0,p1,…,pl},拍賣終止報(bào)價(jià)為pl;底層子市場中的數(shù)據(jù)報(bào)價(jià)集為ps={p0,p1,…,p'l},拍賣終止報(bào)價(jià)為p'l,并且pl≠p'l.此時(shí),假設(shè)pl<p'l,意味著頂層市場的拍賣終止,但底層子市場仍在繼續(xù).那么,當(dāng)終止報(bào)價(jià)為p'l時(shí),底層子市場中存在數(shù)據(jù)用戶贏家拍賣到數(shù)據(jù)而其他用戶放棄競拍的情況.即在終止報(bào)價(jià)為p'l時(shí),必然存在數(shù)據(jù)用戶改變其對于共享數(shù)據(jù)資源的需求情況.然而,在層次數(shù)據(jù)拍賣機(jī)制中規(guī)定:數(shù)據(jù)代理要首先收集其底層子市場中所有數(shù)據(jù)用戶的共享數(shù)據(jù)需求,然后再?zèng)Q定自己的效用并向數(shù)據(jù)提供者提交對應(yīng)的數(shù)據(jù)需求.這樣,就會(huì)存在有數(shù)據(jù)代理在報(bào)價(jià)為p'l時(shí),在頂層市場中變更了其數(shù)據(jù)需求.那么,證明頂層市場的數(shù)據(jù)拍賣在報(bào)價(jià)為p'l時(shí)并沒有終止,顯然與頂層市場中的拍賣終止報(bào)價(jià)為pl的假設(shè)相矛盾.同理,若pl>p'l,則底層子市場中的數(shù)據(jù)用戶將無法變更其數(shù)據(jù)需求.相應(yīng)地,數(shù)據(jù)代理也不會(huì)改變其數(shù)據(jù)需求.因此,pl>p'l不會(huì)成立.綜上所述,數(shù)據(jù)拍賣在頂層市場與底層子市場會(huì)同時(shí)終止.□
當(dāng)數(shù)據(jù)報(bào)價(jià)為pt∈p 時(shí),數(shù)據(jù)代理j的數(shù)據(jù)需求表示為
其中,Cj,P為數(shù)據(jù)代理j訪問數(shù)據(jù)提供者的數(shù)據(jù)資源的傳輸成本.表示數(shù)據(jù)代理j所在的分片ACZ 中數(shù)據(jù)用戶Nj對于報(bào)價(jià)pt的數(shù)據(jù)需求向量,為分片ACZ 數(shù)據(jù)用戶i(i∈Nj)對于報(bào)價(jià)pt的數(shù)據(jù)需求.
當(dāng)數(shù)據(jù)報(bào)價(jià)為pt∈p 時(shí),數(shù)據(jù)用戶i的數(shù)據(jù)需求表示為
其中,Ci,j為數(shù)據(jù)用戶i通過數(shù)據(jù)代理j訪問數(shù)據(jù)的傳輸成本.I(x,y)代表指示函數(shù),當(dāng)x≤y時(shí),I(x,y)=0;當(dāng)x>y時(shí),I(x,y)=1.因此,數(shù)據(jù)用戶i對于報(bào)價(jià)pt的數(shù)據(jù)需求是隨著報(bào)價(jià)pt的增加而遞減的,且對于任意k∈vi,如果y′>y且{y,y′}∈p,那么,I(k,y′)≤I(k,y).
假設(shè)數(shù)據(jù)代理j在報(bào)價(jià)為p∈p 時(shí)將其在頂層市場拍賣得到的第k個(gè)數(shù)據(jù)資源轉(zhuǎn)賣給數(shù)據(jù)用戶i,則對于第k個(gè)數(shù)據(jù)資源的效用表示為uj[k]=p–Ci,j(Dj[k]),其中,uj[k]是數(shù)據(jù)代理j的效用向量中的第k個(gè)元素,Ci,j為訪問數(shù)據(jù)資源的傳輸成本.根據(jù)分配規(guī)則,當(dāng)數(shù)據(jù)報(bào)價(jià)為pt∈p 時(shí),數(shù)據(jù)代理j和數(shù)據(jù)用戶i∈Nj拍賣所得數(shù)據(jù)的總量分別為
當(dāng)pt=pl時(shí)拍賣結(jié)束,即可得到數(shù)據(jù)最優(yōu)分配問題(5)和問題(6)的解向量qm*和qe*.并且,上述兩個(gè)公式(9)和公式(10)可進(jìn)一步表示為
只要數(shù)據(jù)代理或者數(shù)據(jù)用戶在數(shù)據(jù)報(bào)價(jià)為pt∈p 時(shí)能夠獲得共享數(shù)據(jù)資源,交易就可以發(fā)生.并且,該數(shù)據(jù)代理或數(shù)據(jù)用戶需要為每單位數(shù)據(jù)資源支付價(jià)格pt.根據(jù)支付規(guī)則,數(shù)據(jù)代理j和數(shù)據(jù)用戶i∈Nj需要支付的價(jià)格表示為
其中,Cj,p為數(shù)據(jù)代理j訪問數(shù)據(jù)提供者的共享數(shù)據(jù)資源所需傳輸成本,Ci,j為數(shù)據(jù)用戶i通過數(shù)據(jù)代理j訪問數(shù)據(jù)資源所需傳輸成本.Dj[k]為數(shù)據(jù)代理j拍賣所獲得的數(shù)據(jù)提供者的第k個(gè)數(shù)據(jù)資源大小,Di[k]為數(shù)據(jù)用戶i通過數(shù)據(jù)代理j拍賣所獲得的第k個(gè)數(shù)據(jù)資源大小.
在3 層數(shù)據(jù)拍賣機(jī)制中,數(shù)據(jù)提供者可以在拍賣過程中逐步獲取底層數(shù)據(jù)用戶對于共享數(shù)據(jù)資源的需求信息,而數(shù)據(jù)用戶也可以在這個(gè)過程中逐步獲得數(shù)據(jù)代理提供的共享數(shù)據(jù)信息.這樣,拍賣結(jié)束時(shí)即得到最優(yōu)數(shù)據(jù)分配問題的最優(yōu)解qm*和qe*,實(shí)現(xiàn)社會(huì)福利最大化.算法1 給出了基于智能合約的3 層數(shù)據(jù)拍賣算法的過程描述,具體步驟如下.
①拍賣智能合約H 在區(qū)塊鏈系統(tǒng)初始化階段被編譯和部署.數(shù)據(jù)提供者P 調(diào)用智能合約H 中的Register接口注冊并初始化頂層數(shù)據(jù)交易市場,提供相關(guān)投標(biāo)數(shù)據(jù),如:共享數(shù)據(jù)資源集D 的數(shù)量D、初始報(bào)價(jià)p和拍賣迭代過程中每一輪的價(jià)格增量C.同樣地,擁有賬戶儲(chǔ)備資金的數(shù)據(jù)代理j通過Register接口注冊加入頂層市場,并初始化其數(shù)據(jù)需求0;② 數(shù)據(jù)代理j調(diào)用智能合約H 的Create接口創(chuàng)建它所連接的底層子市場的拍賣智能合約 Hj.隨后,其分片 ACZ 中擁有儲(chǔ)備資金的數(shù)據(jù)用戶都可以通過調(diào)用智能合約Hj的Register接口加入底層子市場,并初始化其數(shù)據(jù)需求③根據(jù)初始報(bào)價(jià)p,底層子市場的數(shù)據(jù)用戶通過智能合約Hj的UpdateDemand接口更新其數(shù)據(jù)需求結(jié)合數(shù)據(jù)用戶的需求更新,數(shù)據(jù)代理通過智能合約H 的UpdateDemand接口更新其數(shù)據(jù)需求④ 數(shù)據(jù)提供者P 按照公式(9)共享對應(yīng)數(shù)量的數(shù)據(jù)資源給數(shù)據(jù)代理,數(shù)據(jù)代理依據(jù)公式(10)分配相應(yīng)的數(shù)據(jù)資源給數(shù)據(jù)用戶;⑤ 根據(jù)公式(9)和公式(10),數(shù)據(jù)代理和數(shù)據(jù)用戶分別調(diào)用智能合約H 和Hj的Pay接口完成支付;⑥ 如果頂層市場和底層市場的供需不相等,則需要繼續(xù)進(jìn)行下一次拍賣.由數(shù)據(jù)提供者P 調(diào)用智能合約H 的UpdatePrice接口更新報(bào)價(jià)p←p+C,然后從算法1 的步驟3 開始下一輪迭代;⑦ 整個(gè)數(shù)據(jù)拍賣結(jié)束后,數(shù)據(jù)代理和數(shù)據(jù)用戶可以調(diào)用對應(yīng)的智能合約的Withdraw接口取回各自賬戶的剩余資金.
算法1.基于智能合約的3 層數(shù)據(jù)拍賣算法.
輸入:D,p←p0,C=1,
輸出:qm*,qe*,pm,pe.
本文提出的層次數(shù)據(jù)拍賣算法具有一定的高效率和實(shí)用性.為證明這些屬性,本文考慮與經(jīng)典的基于ACC的雙向拍賣算法[41]進(jìn)行對比.雙向拍賣[31]是一種廣泛應(yīng)用于現(xiàn)實(shí)交易中的實(shí)用拍賣模式,其中,交易雙方分別向拍賣中間方提交要價(jià)和出價(jià),最后由拍賣中間方匹配雙方投標(biāo)價(jià)格并確定相應(yīng)的資源分配和定價(jià)規(guī)則.然而,標(biāo)準(zhǔn)的拍賣算法在投標(biāo)者具有多單位商品需求時(shí)往往效率偏低.基于ACC 的雙向拍賣算法引入了ACC 這種同類商品上升競價(jià)拍賣機(jī)制,能夠很好地應(yīng)對效率問題,獲得高效、實(shí)用的拍賣模型.因此,選取它作為基準(zhǔn)算法以證明本文算法的有效性.下面,我們給出算法定理的證明過程.
定理2.在不考慮ShareBC 通信和共享服務(wù)的局限性以及訪問共享數(shù)據(jù)所需要的傳輸成本時(shí),本文提出的層次數(shù)據(jù)拍賣機(jī)制與基于ACC 的雙向拍賣機(jī)制是等價(jià)的.
證明:假設(shè)數(shù)據(jù)提供者將對D個(gè)單位的數(shù)據(jù)資源進(jìn)行共享交易.首先,分析采用基于ACC 的雙向拍賣機(jī)制,即物聯(lián)網(wǎng)數(shù)據(jù)用戶直接與數(shù)據(jù)提供者進(jìn)行數(shù)據(jù)交易.用Qi表示數(shù)據(jù)用戶i∈N 的數(shù)據(jù)分配向量,數(shù)據(jù)拍賣報(bào)價(jià)為p={p0,p1,…,pf},r(pd)[i]表示拍賣報(bào)價(jià)為pd∈p 時(shí),數(shù)據(jù)用戶i對于共享數(shù)據(jù)資源的需求.假設(shè)pd∈p 是數(shù)據(jù)用戶i獲得第1 份共享數(shù)據(jù)資源的價(jià)格,之后,每次的拍賣報(bào)價(jià)為pd←pd+C,滿足:
根據(jù)公式(15),可以推出:
接下來,采用本文提出的層次數(shù)據(jù)拍賣機(jī)制進(jìn)行分析.假設(shè)在3 層共享數(shù)據(jù)交易市場存在2 個(gè)數(shù)據(jù)代理M1、M2,其中,M1連接的底層子市場中有i個(gè)數(shù)據(jù)用戶.M1和M2的數(shù)據(jù)分配向量為,數(shù)據(jù)拍賣報(bào)價(jià)為p={p0,p1,…,pf}.當(dāng)拍賣報(bào)價(jià)為pt∈p 時(shí),M1和M2所能獲得的數(shù)據(jù)量為
根據(jù)公式(17)和公式(19),計(jì)算如下:
比較公式(16)和公式(20),不難得出pd=ph.因此,在不考慮ShareBC 通信和服務(wù)限制以及訪問共享數(shù)據(jù)資源所產(chǎn)生的傳輸成本的情況下,本文的層次數(shù)據(jù)拍賣機(jī)制與基于ACC 的雙向拍賣機(jī)制是等價(jià)的.□
本節(jié)主要從分片形成、分片內(nèi)部共識(shí)以及安全性和可擴(kuò)展性等方面評估ShareBC 框架分片協(xié)議.表1 提供了與當(dāng)前經(jīng)典區(qū)塊鏈分片協(xié)議的全面比較.本文第2.2 節(jié)在基于ShareBC 實(shí)現(xiàn)的數(shù)據(jù)共享關(guān)鍵步驟中針對分片協(xié)議,如分片構(gòu)建和共識(shí)過程進(jìn)行了闡述,下面就分片設(shè)置與對比分析展開描述.
Table 1 Sharding settings and performance comparisons表1 分片設(shè)置及其性能對比
在協(xié)議設(shè)置方面,節(jié)點(diǎn)加入表示允許節(jié)點(diǎn)加入當(dāng)前epoch 所依據(jù)的規(guī)則和標(biāo)準(zhǔn).例如,基于PoW 或PoS 機(jī)制獲得身份資格,這對于非許可區(qū)塊鏈系統(tǒng)是阻止女巫攻擊的重要方法.然而,本文提出的ShareBC 基于許可鏈,允許系統(tǒng)在假定相對信任的環(huán)境中運(yùn)行,其中注冊成功的物聯(lián)網(wǎng)設(shè)備將準(zhǔn)予參與節(jié)點(diǎn)資格.此外,ShareBC 采用賬戶/余額交易模型,這是因?yàn)樵撃P秃唵吻腋m用于智能合約,支持具有任意金額的交易通過一個(gè)發(fā)送賬戶和一個(gè)接收賬戶執(zhí)行交易而無需雙邊多個(gè)UTXOs,這種平衡性可以擴(kuò)展到更為復(fù)雜的狀態(tài),從而支持可編程的應(yīng)用程序邏輯.最后,ShareBC 分片方案采用經(jīng)典的拜占庭容錯(cuò)協(xié)議在協(xié)商的共識(shí)方面具有強(qiáng)一致性.
節(jié)點(diǎn)分配是指參與節(jié)點(diǎn)如何分配到對應(yīng)的區(qū)塊鏈系統(tǒng)分片中.現(xiàn)有的多數(shù)工作是根據(jù)epoch 產(chǎn)生的隨機(jī)數(shù)即基于可公開驗(yàn)證的隨機(jī)性進(jìn)行分配,少數(shù)研究,如Monoxide[47]協(xié)議節(jié)點(diǎn)分配不是隨機(jī)的而是基于地址進(jìn)行劃分的.在ShareBC 分片協(xié)議中,對于每個(gè)成功注冊身份的物聯(lián)網(wǎng)設(shè)備,系統(tǒng)會(huì)根據(jù)某個(gè)關(guān)鍵特征值(如地理坐標(biāo)范圍)將設(shè)備分配到對應(yīng)的ACZ 中.在分片內(nèi)共識(shí)方面,通常其節(jié)點(diǎn)配置可以是靜態(tài)(永久性)或者動(dòng)態(tài)周期性變化的,如輪流替換、完全交換或更換子集節(jié)點(diǎn).考慮到物聯(lián)網(wǎng)設(shè)備的移動(dòng)性和ACZ 安全性,ShareBC 會(huì)設(shè)置定期變換ACZ 內(nèi)的設(shè)備節(jié)點(diǎn).并且,每個(gè)ACZ 會(huì)在每個(gè)epoch 內(nèi)進(jìn)行l(wèi)eader 選舉,leader 則來自于分片內(nèi)部的物聯(lián)網(wǎng)設(shè)備節(jié)點(diǎn).通信復(fù)雜性表明分片內(nèi)部節(jié)點(diǎn)間的通信時(shí)間復(fù)雜度,假設(shè)表示ACZ 內(nèi)節(jié)點(diǎn)的數(shù)量,那么ShareBC 中每個(gè)ACZ 內(nèi)部的通信復(fù)雜性為O(n).
在安全性和可擴(kuò)展性方面,ShareBC 對手模型是基于BFT 設(shè)置的,其協(xié)商一致性協(xié)議可以容忍的惡意或者錯(cuò)誤節(jié)點(diǎn)數(shù)量小于1/3.表1 中顯示的吞吐量數(shù)值與測試實(shí)驗(yàn)參數(shù)設(shè)置相關(guān)[45].其中,RSCoin 實(shí)驗(yàn)參數(shù)包括3 個(gè)節(jié)點(diǎn)/分片和10 個(gè)分片;ChainSpace 實(shí)驗(yàn)參數(shù)包括4 個(gè)節(jié)點(diǎn)/分片和15 個(gè)分片;Elastico 實(shí)驗(yàn)參數(shù)包括100個(gè)節(jié)點(diǎn)/分片和16 個(gè)分片;OmniLedger 實(shí)驗(yàn)參數(shù)包括72 個(gè)節(jié)點(diǎn)/分片(12.5%對手)和25 個(gè)分片;RapidChain 實(shí)驗(yàn)參數(shù)包括250 個(gè)節(jié)點(diǎn)/分片和4 000 個(gè)節(jié)點(diǎn)數(shù)量;Monoxide 包括2 048 個(gè)分片和48 000 個(gè)節(jié)點(diǎn)數(shù)量.吞吐量數(shù)值表明,這些分片系統(tǒng)都具有可擴(kuò)展性.ShareBC 分片協(xié)議需要經(jīng)過兩輪驗(yàn)證,由物聯(lián)網(wǎng)設(shè)備節(jié)點(diǎn)(follower)首先通過PBFT 共識(shí)驗(yàn)證ACZ 分片內(nèi)部的一致性,然后提交給聯(lián)盟鏈委員會(huì)驗(yàn)證全局一致性并添加驗(yàn)證成功的區(qū)塊上鏈,本文方案降低了交易延遲并有效提高了交易吞吐量,因?yàn)樯湘渽^(qū)塊不需要類似Bitcoin 網(wǎng)絡(luò)中需要等待 6 個(gè)區(qū)塊的確認(rèn)時(shí)間.此外,本文共識(shí)機(jī)制在一定程度上受到 RSCoin 的啟發(fā),ShareBC 系統(tǒng)中Committee 依賴分布式分片ACZ,并同時(shí)保持了對于數(shù)據(jù)共享交易的完全控制,因而具有強(qiáng)大的透明度和可審計(jì)性安全保證.
智能合約實(shí)現(xiàn)了以不可否認(rèn)性和自動(dòng)化的方式強(qiáng)制執(zhí)行激勵(lì)機(jī)制中的關(guān)鍵事件,提高了數(shù)據(jù)共享安全和效率.本實(shí)驗(yàn)針對拍賣智能合約H 和其子合約Hj的性能測試開發(fā)了一個(gè)原型系統(tǒng),并將其部署到Ethereum 測試網(wǎng)絡(luò)中以計(jì)算智能合約和各個(gè)接口的Gas 成本.在Ethereum 區(qū)塊鏈中,Gas 價(jià)格代表了執(zhí)行某個(gè)任務(wù)所消耗的Ether,其測量單位為Wei 且1 Wei=10–18Ether.表2 中顯示了拍賣智能合約H 和Hj中各個(gè)接口的Gas 成本均值(20 輪測試).其中,執(zhí)行成本代表智能合約執(zhí)行指令的Gas 消耗;其他成本則表示調(diào)用接口的交易所消耗掉的Gas.根據(jù)表2 所示測試結(jié)果,整個(gè)智能合約中Gas 消耗最大的是Create 接口,但其只是在某個(gè)數(shù)據(jù)代理創(chuàng)建它所連接的底層子市場時(shí)才被調(diào)用1 次.
假設(shè)在一個(gè)層次數(shù)據(jù)拍賣系統(tǒng)中存在1 個(gè)數(shù)據(jù)提供者、2 個(gè)數(shù)據(jù)代理和10 個(gè)數(shù)據(jù)用戶.根據(jù)當(dāng)前匯率1 Ether≈238$且1 Gas=0.000000002 Ether 進(jìn)行計(jì)算,該系統(tǒng)中數(shù)據(jù)提供者在區(qū)塊鏈網(wǎng)絡(luò)中發(fā)布一個(gè)共享數(shù)據(jù)交易僅需要0.320 591 24$的成本;每個(gè)底層子市場中數(shù)據(jù)需求者(包括1 個(gè)數(shù)據(jù)代理和5 個(gè)數(shù)據(jù)用戶)歷經(jīng)一輪數(shù)據(jù)拍賣的總成本為1.490 184$,平均每個(gè)數(shù)據(jù)需求者需要花費(fèi)的成本為0.248 364$.注意,這里計(jì)算的一輪數(shù)據(jù)拍賣具體包括調(diào)用1 次Register(H)、1 次Create、5 次Register(Hj)、6 次UpdateDemand 和6 次Pay 接口.經(jīng)過反復(fù)測試,結(jié)果表明,執(zhí)行智能合約H 和Hj的成本開銷較低,說明基于智能合約實(shí)現(xiàn)的層次拍賣機(jī)制應(yīng)用于物聯(lián)網(wǎng)數(shù)據(jù)激勵(lì)共享框架中是經(jīng)濟(jì)可行的.
通過仿真模擬對本文所提出的層次數(shù)據(jù)拍賣算法進(jìn)行了性能測試.實(shí)驗(yàn)假設(shè)數(shù)據(jù)共享參與者的規(guī)模為(x,y,(z1,z2,…,zy)),其中,x表示數(shù)據(jù)提供者的數(shù)量,y表示數(shù)據(jù)代理的數(shù)量,zi表示其所在分片ACZ 中的數(shù)據(jù)用戶的數(shù)量.仿真參數(shù)設(shè)置如下:考慮3 組參與者規(guī)模分別為#1:(1,3,(5,5,5))、#2:(1,3,(10,10,10))和#3:(1,3,(15,15,15)).
在頂層市場中,數(shù)據(jù)提供者擁有的共享數(shù)據(jù)資源數(shù)量為D=50;在底層市場中,數(shù)據(jù)用戶i∈Nj的傳輸功率為Pi=2W,通信帶寬B=10MHz,數(shù)據(jù)用戶(或數(shù)據(jù)代理)i∈ N ∪M 與數(shù)據(jù)代理(或數(shù)據(jù)提供者)j∈ M ∪P 之間的距離di,j分布范圍是[0,20].成本因子f E的取值范圍為[0,1],且f E=1–f E.數(shù)據(jù)用戶所訪問的數(shù)據(jù)資源大小為1.數(shù)據(jù)用戶i∈Nj的效用向量vi對應(yīng)的元素大小分布是[0,100].參考Hong 等人的工作[9],假設(shè)單位距離di,j=1m 的噪聲功率和信道功率分別為δ2=–120dBm 和β0=–50dB,那么,數(shù)據(jù)用戶i∈Nj和數(shù)據(jù)代理j之間的信道容量計(jì)算為其中,表示數(shù)據(jù)用戶i在di,j=1m 時(shí)的接收信噪比,且最后,為確保實(shí)驗(yàn)結(jié)果的準(zhǔn)確性,每個(gè)實(shí)驗(yàn)數(shù)據(jù)均取自于100 個(gè)獨(dú)立仿真結(jié)果的均值.
為了驗(yàn)證算法的有效性,實(shí)驗(yàn)在參與者規(guī)模分別為#1、#2 和#3 時(shí)對社會(huì)福利進(jìn)行了測試.圖4 顯示了層次數(shù)據(jù)拍賣算法在不同規(guī)模下社會(huì)福利函數(shù)的收斂性.如圖4 所示,本文算法在不同數(shù)據(jù)共享規(guī)模下都能夠快速地獲得最大的社會(huì)福利.并且,隨著參與者規(guī)模(x,y,(z1,z2,…,zy))的擴(kuò)大,收斂后的社會(huì)福利值也越來越大.這是因?yàn)?3 層數(shù)據(jù)交易市場的資源競爭力會(huì)隨著數(shù)據(jù)共享用戶數(shù)量的增加而增大,同時(shí)也意味著數(shù)據(jù)用戶需要支付更高的價(jià)格才能成為拍賣贏家并訪問數(shù)據(jù).
圖5 描述了數(shù)據(jù)需求者(包括數(shù)據(jù)代理和數(shù)據(jù)用戶)的總需求與數(shù)據(jù)提供者的供應(yīng)之間的關(guān)系.整體趨勢表明,數(shù)據(jù)提供者的數(shù)據(jù)供給隨著數(shù)據(jù)拍賣價(jià)格的提高不斷增加,而數(shù)據(jù)代理和數(shù)據(jù)用戶的總需求會(huì)隨著數(shù)據(jù)拍賣報(bào)價(jià)的提高而持續(xù)下降.最終,兩者曲線會(huì)收斂到同一個(gè)值,即數(shù)據(jù)提供者擁有的共享數(shù)據(jù)資源數(shù)量D=50.結(jié)合圖4 和圖5 可知,當(dāng)數(shù)據(jù)代理和數(shù)據(jù)用戶對于共享數(shù)據(jù)的總需求等于數(shù)據(jù)提供者的供應(yīng)時(shí),即實(shí)現(xiàn)了社會(huì)福利的最大化.此外,圖4 所示的社會(huì)福利曲線和圖5 所示的數(shù)據(jù)提供者的供應(yīng)曲線變化趨勢相同,原因是:只有在數(shù)據(jù)提供者愿意共享的數(shù)據(jù)資源數(shù)量發(fā)生改變時(shí),社會(huì)福利才會(huì)變化.實(shí)驗(yàn)結(jié)果表明,層次數(shù)據(jù)拍賣機(jī)制是有效的,能夠?qū)崿F(xiàn)社會(huì)福利的最大化.
圖6 展示了算法在參與者規(guī)模為#2 時(shí)傳輸成本對于社會(huì)福利的影響.從圖中可以看出,成本因子fE越小,社會(huì)福利函數(shù)收斂值越大,即傳輸成本的增加會(huì)導(dǎo)致最大社會(huì)福利的下降.而且在收斂前,成本因子fE越大的社會(huì)福利曲線變化越快,對應(yīng)在拍賣系統(tǒng)中的數(shù)據(jù)用戶就會(huì)更快地獲得到數(shù)據(jù)資源.這種情況發(fā)生的原因是,在層次數(shù)據(jù)拍賣機(jī)制中,底層子市場的傳輸成本是分片ACZ 內(nèi)部數(shù)據(jù)用戶的開銷成本.在對于共享數(shù)據(jù)資源效用相同的前提下,傳輸成本越高,數(shù)據(jù)用戶參與拍賣的價(jià)格自然就會(huì)越低.考慮在相同的市場競爭力下,拍賣報(bào)價(jià)越低,成交價(jià)格越低,贏家競拍到數(shù)據(jù)資源的時(shí)間越早.
圖7 分別描述了在#1、#2 和#3 這3 種參與者規(guī)模下的數(shù)據(jù)提供者、數(shù)據(jù)代理和數(shù)據(jù)用戶在實(shí)現(xiàn)社會(huì)福利最大化后的總效用.如圖所示,每組柱狀條中的左1 為數(shù)據(jù)提供者的凈效用,左2 與左1 的差值為數(shù)據(jù)代理的凈效用,左3 與左2 的差值為數(shù)據(jù)用戶的凈效用.明顯地,數(shù)據(jù)提供者、數(shù)據(jù)代理和數(shù)據(jù)用戶的凈效用均為正,說明提出的層次數(shù)據(jù)拍賣機(jī)制滿足弱預(yù)算平衡性.
Fig.4 Convergence of social welfare functions圖4 社會(huì)福利函數(shù)的收斂性
Fig.5 Relationship between demands and supplies圖5 數(shù)據(jù)總需求與總供應(yīng)之間的關(guān)系
Fig.6 Social welfare under different cost factors圖6 不同成本因子下的社會(huì)福利
Fig.7 Overall utility of data sharing participants圖7 數(shù)據(jù)共享參與者各自總效用
在層次數(shù)據(jù)拍賣機(jī)制中,要求數(shù)據(jù)代理在頂層市場中拍賣獲得共享數(shù)據(jù)資源之后,立即在其底層子市場中向數(shù)據(jù)用戶進(jìn)行轉(zhuǎn)賣.實(shí)驗(yàn)針對層次數(shù)據(jù)拍賣機(jī)制的實(shí)時(shí)性展開了如圖8 和圖9 所示的測試.
在圖8 中,描述了3 層數(shù)據(jù)拍賣算法減少的數(shù)據(jù)交易延時(shí)隨需求者(數(shù)據(jù)代理和數(shù)據(jù)用戶)數(shù)量發(fā)生變化的情況.結(jié)論是,減少時(shí)延會(huì)隨著共享用戶數(shù)量的增加而減少.
圖9 解釋了這種趨勢的原因.在圖9 中,分別展示了在#1、#2 和#3 參與者規(guī)模下的數(shù)據(jù)代理和數(shù)據(jù)用戶的整個(gè)拍賣過程.其中,xi(i∈{1,2,3})表示數(shù)據(jù)用戶從拍賣贏得第1 個(gè)共享數(shù)據(jù)資源集到拍賣結(jié)束的過程.由于x1>x2>x3,說明參與者的規(guī)模越小,數(shù)據(jù)用戶越少,拍賣結(jié)束越快,數(shù)據(jù)資源也能更快獲得.這個(gè)不難理解,數(shù)據(jù)共享交易的參與者規(guī)模決定了市場競爭力的大小,當(dāng)市場競爭力較小時(shí),數(shù)據(jù)用戶贏得共享數(shù)據(jù)資源的時(shí)間較短.因此,當(dāng)物聯(lián)網(wǎng)中參與數(shù)據(jù)共享的設(shè)備數(shù)量較少時(shí),算法的實(shí)時(shí)性會(huì)更明顯.
Fig.8 Reduction in latency with the number of demanders圖8 減少時(shí)延隨需求者數(shù)量的變化
Fig.9 Auction process of players in different cases圖9 數(shù)據(jù)用戶/代理在不同規(guī)模下的拍賣過程
最后,在不同數(shù)量的數(shù)據(jù)用戶設(shè)置下,實(shí)驗(yàn)針對最大社會(huì)福利進(jìn)行了算法對比測試.其中,測試算法包括基于ACC 的雙向拍賣算法和基于智能合約的3 層數(shù)據(jù)拍賣算法.實(shí)驗(yàn)結(jié)果表明,兩種拍賣算法能夠?qū)崿F(xiàn)的最大社會(huì)福利基本是相同的.
圖10 所示的微小差距可能是由于兩者在實(shí)驗(yàn)中的取值皆為均值所造成的.實(shí)驗(yàn)結(jié)果驗(yàn)證了定理2 的正確性.即,在不考慮ShareBC 通信和服務(wù)局限性以及訪問共享數(shù)據(jù)所需要的傳輸成本時(shí),本文提出的層次數(shù)據(jù)拍賣機(jī)制與基于ACC 的雙向拍賣機(jī)制等價(jià).
圖11 展示了算法擴(kuò)大節(jié)點(diǎn)規(guī)模后的測試效果,隨著ACZ 組數(shù)以及每個(gè)分片ACZ 中的數(shù)據(jù)用戶數(shù)量的增加,算法執(zhí)行所需要的迭代輪次也逐漸增加,從圖中可以看出,本文算法呈線性增長趨勢其擴(kuò)展性表現(xiàn)良好.
Fig.10 Average maximum social welfare in hierarchical data auction and double auction algorithms圖10 層次數(shù)據(jù)拍賣算法和基于ACC 的雙向拍賣算法的最大社會(huì)福利
Fig.11 Average number of rounds with varying ACZ groups and number of data users in each ACZ圖11 ACZ 組數(shù)和每個(gè)ACZ 中數(shù)據(jù)用戶節(jié)點(diǎn)數(shù)量對迭代輪次的影響
本文研究了基于區(qū)塊鏈的高效物聯(lián)網(wǎng)數(shù)據(jù)激勵(lì)共享方案.一方面,該方案提出了一個(gè)高效的區(qū)塊鏈物聯(lián)網(wǎng)數(shù)據(jù)激勵(lì)共享框架(稱為ShareBC).為了提升系統(tǒng)的數(shù)據(jù)共享交易處理能力,ShareBC 引入分片技術(shù)將網(wǎng)絡(luò)中物聯(lián)網(wǎng)設(shè)備劃分成若干分片異步共識(shí)區(qū),將原來需要全網(wǎng)節(jié)點(diǎn)共同進(jìn)行的交易驗(yàn)證工作在分片異步共識(shí)區(qū)并行處理.在此基礎(chǔ)上,為ShareBC 設(shè)計(jì)了高效的共識(shí)機(jī)制,這種共識(shí)機(jī)制具有強(qiáng)大的透明度和可審計(jì)性保證,并且在計(jì)算成本和可擴(kuò)展性方面也具有優(yōu)勢;另一方面,該方案提出了基于層次數(shù)據(jù)拍賣模型的激勵(lì)機(jī)制,解決了數(shù)據(jù)提供者與數(shù)據(jù)需求者之間的共享數(shù)據(jù)資源分配問題,其中無法訪問共享資源的數(shù)據(jù)用戶可以通過數(shù)據(jù)代理幫助其獲取數(shù)據(jù),以鼓勵(lì)更多的物聯(lián)網(wǎng)用戶加入到數(shù)據(jù)共享中.在層次數(shù)據(jù)拍賣機(jī)制中,設(shè)計(jì)了包括數(shù)據(jù)代理在內(nèi)的3 層數(shù)據(jù)拍賣模型和相關(guān)的數(shù)據(jù)分配以及定價(jià)規(guī)則,并考慮了傳輸數(shù)據(jù)成本對于社會(huì)福利的影響.最后,為確保拍賣機(jī)制的不可否認(rèn)性和執(zhí)行效率,利用智能合約部署的形式使其自動(dòng)生效.理論證明和實(shí)驗(yàn)評估表明,本文所提出的激勵(lì)共享方案具有個(gè)體理性、激勵(lì)兼容性、弱預(yù)算平衡和實(shí)時(shí)性以及可擴(kuò)展性的特點(diǎn),并且具有較低的計(jì)算成本和良好的實(shí)用性.
未來工作將繼續(xù)探索區(qū)塊鏈技術(shù)在物聯(lián)網(wǎng)領(lǐng)域的數(shù)據(jù)共享應(yīng)用.為了解決區(qū)塊鏈固有的性能瓶頸問題,需要針對系統(tǒng)擴(kuò)展性進(jìn)行提升研究(如:分片、鏈下支付通道).目前,ShareBC 鏈尚未實(shí)現(xiàn),本文給出了ShareBC 分片協(xié)議的設(shè)置建議和性能對比分析,后面將繼續(xù)研究ShareBC 分片協(xié)議的具體實(shí)現(xiàn),考慮在動(dòng)態(tài)物聯(lián)網(wǎng)環(huán)境中如何形成分片和進(jìn)行分片的動(dòng)態(tài)調(diào)整并且能夠同時(shí)平衡分散性、安全性以及可擴(kuò)展性.此外,多鏈驅(qū)動(dòng)的異構(gòu)物聯(lián)網(wǎng)共享應(yīng)用平臺(tái)也可進(jìn)一步提高區(qū)塊鏈系統(tǒng)性能.在本文模型中,ShareBC 是基于許可鏈來設(shè)置的,數(shù)據(jù)共享交易在假設(shè)相對信任的環(huán)境中進(jìn)行,所有參與節(jié)點(diǎn),如數(shù)據(jù)提供者,均具有經(jīng)聯(lián)盟組織策略授權(quán)的成員資格.在下一步工作中,可以考慮在激勵(lì)機(jī)制中設(shè)置信用評價(jià)和獎(jiǎng)懲機(jī)制以提升共享數(shù)據(jù)質(zhì)量和交易安全性.