徐 健,溫 蜜,張 凱
上海電力大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,上海200090
隨著移動(dòng)互聯(lián)網(wǎng)的迅猛發(fā)展,基于位置的服務(wù)大量出現(xiàn)在日常生活服務(wù)中,如美團(tuán)、百度地圖和餓了么等?;谖恢梅?wù)(Location Based Service,LBS)[1]是服務(wù)提供商基于用戶地理位置信息向其提供相應(yīng)服務(wù)的一種網(wǎng)絡(luò)服務(wù)。然而,移動(dòng)用戶的位置隱私所面臨的諸多威脅并沒有得到充分關(guān)注,因?yàn)橛脩糁挥袑⒆约旱牡乩砦恢眯畔⑻峤唤o服務(wù)商后,才可以享受服務(wù)商提供的服務(wù)。Beresford 和Stajano[2]首先將位置隱私定義為阻止其他各方了解自己當(dāng)前或過去的位置的能力。為了保護(hù)位置隱私,Chow 等人[3]提出了多種保護(hù)移動(dòng)用戶位置隱私的方法,目前最廣泛的方法是Gruteser和Grunwald[4]從數(shù)據(jù)隱私保護(hù)中[5]引入的K-匿名技術(shù)。K-匿名[6]技術(shù)的基本思想是在移動(dòng)用戶和LBS 提供商之間設(shè)置一個(gè)安全可信第三方代理進(jìn)行中繼通信。當(dāng)移動(dòng)用戶使用LBS,代理通過返回一個(gè)至少包含K-1其他移動(dòng)用戶的隱匿區(qū)域來調(diào)整實(shí)際用戶位置信息的分辨率并將其發(fā)送給LBS 服務(wù)器,然后將LBS 服務(wù)器返回的數(shù)據(jù)轉(zhuǎn)發(fā)給請(qǐng)求用戶,從而使攻擊者無法準(zhǔn)確區(qū)分出同一隱匿區(qū)域中的真正的請(qǐng)求服務(wù)用戶和其他用戶[7]。K-匿名技術(shù)簡(jiǎn)便易于實(shí)現(xiàn),無需占用大量計(jì)算資源,并能取得較好的隱私保護(hù)效果,因此被大量應(yīng)用于位置隱私保護(hù)方案中[8]。然而,K-匿名技術(shù)要求必須至少有K 個(gè)處于匿名集合之中的移動(dòng)用戶生成一個(gè)隱匿區(qū)域。在實(shí)際的LBS 應(yīng)用場(chǎng)景中,各用戶節(jié)點(diǎn)間互不信任,并且不是所有用戶都關(guān)注他們的隱私泄漏問題[9]。而且,在實(shí)際應(yīng)用中,即使某一個(gè)節(jié)點(diǎn)愿意向其他節(jié)點(diǎn)提供幫助生成K-匿名隱匿區(qū)域,它也無法從中獲得任何利益。因此,一般節(jié)點(diǎn)通常會(huì)拒絕向他人提供幫助,導(dǎo)致LBS請(qǐng)求者無法構(gòu)造K-匿名集合,無法獲得匿名服務(wù)。
因此,Yang等人[10]將P2P網(wǎng)絡(luò)中被大量研究的激勵(lì)機(jī)制引入到了生成K 匿名集合中,它的基本思想是用拍賣游戲來實(shí)施激勵(lì)機(jī)制通過向其他節(jié)點(diǎn)提供服務(wù),使網(wǎng)絡(luò)中的節(jié)點(diǎn)直接受益。該方案是基于文獻(xiàn)[11]中的拍賣模式提出的。
然而,文獻(xiàn)[10]所提出的方案有以下不足:(1)文中所提拍賣師是一個(gè)可信的第三方,這在現(xiàn)實(shí)中是不存在的,并且一旦該第三方受到DOS 攻擊,激勵(lì)機(jī)制就無法正常運(yùn)作;(2)由于交易信息過度集中化,當(dāng)用戶出現(xiàn)大量訪問請(qǐng)求,會(huì)導(dǎo)致運(yùn)行激勵(lì)機(jī)制的第三方服務(wù)器瞬間癱瘓;(3)同時(shí)該方案缺乏有效的懲罰機(jī)制,無法限制惡意用戶的參與。從而限制了激勵(lì)機(jī)制在K-匿名隱私保護(hù)場(chǎng)景中的應(yīng)用。
針對(duì)以上問題,本文提出了一種新的K-匿名隱私保護(hù)激勵(lì)機(jī)制設(shè)計(jì)方案。首先改進(jìn)現(xiàn)有的激勵(lì)機(jī)制方案并與區(qū)塊鏈[12]智能合約[13]結(jié)合,具備以下創(chuàng)新點(diǎn):(1)激勵(lì)機(jī)制運(yùn)行于區(qū)塊鏈各參與節(jié)點(diǎn)中可以做到去中心化交易有效抵御DOS攻擊;(2)區(qū)塊鏈采用P2P交易形式,可避免交易信息過度集中出現(xiàn)算力瓶頸;(3)智能合約中加入保證金準(zhǔn)入機(jī)制,可有效限制惡意用戶加入,且由于運(yùn)行于公鏈上可激勵(lì)更多用戶加入該激勵(lì)機(jī)制。
區(qū)塊鏈?zhǔn)且环N由所有用戶同時(shí)存儲(chǔ)和維護(hù)的點(diǎn)對(duì)點(diǎn)去中心化交易賬本[14]。該賬本是按照時(shí)間順序?qū)⒔灰讛?shù)據(jù)由礦工打包處理生成區(qū)塊,并以順序相連的方式組合成的一種鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),利用密碼學(xué)數(shù)字簽名方式保證數(shù)據(jù)不可篡改和不可偽造。礦工可以通過計(jì)算隨機(jī)哈希散列的數(shù)值解爭(zhēng)奪處理交易和維護(hù)區(qū)塊鏈賬本的權(quán)力并收取費(fèi)用,并且能夠自由加入和退出以達(dá)到去中心化的作用[15]。
智能合約[16]是一套以數(shù)字形式定義的承諾,該承諾控制著數(shù)字資產(chǎn)流轉(zhuǎn),并包含了合約參與者約定的權(quán)利和義務(wù),合約是由計(jì)算機(jī)系統(tǒng)自動(dòng)執(zhí)行。智能合約以數(shù)字化的形式寫入?yún)^(qū)塊鏈中,由區(qū)塊鏈技術(shù)的特性保障存儲(chǔ)、讀取、執(zhí)行[17]。同時(shí),由區(qū)塊鏈自帶的共識(shí)算法構(gòu)建出一套狀態(tài)機(jī)系統(tǒng),使智能合約能夠高效地運(yùn)行[18]。
智能合約允許交易實(shí)體根據(jù)其他事務(wù)、事件或時(shí)間存儲(chǔ)和轉(zhuǎn)移資金的條件編寫規(guī)范,提供了實(shí)施和執(zhí)行金融交易規(guī)則的機(jī)會(huì),并且不依賴于可信的第三方(如銀行、公用事業(yè))。如圖1 所示:在區(qū)塊鏈2.0 中,可以將各種合約提前用代碼邏輯編寫好,由礦工記錄發(fā)布于區(qū)塊鏈上,每個(gè)節(jié)點(diǎn)都可以訪問它,通過向其發(fā)送指定的交易和事件觸發(fā)寫好的代碼邏輯然后進(jìn)一步生成新的交易和事件,同時(shí)可以包含公鏈上通用貨幣的代管,然后根據(jù)合約中規(guī)定的條件支付給各種其他合約。
圖1 區(qū)塊鏈2.0
智能合約與區(qū)塊鏈相結(jié)合迎來了區(qū)塊鏈2.0 時(shí)代,以期實(shí)現(xiàn)更為復(fù)雜的功能。目前,比特幣[12]和以太坊[16]是最被廣泛使用的兩大公共區(qū)塊鏈。盡管比特幣交易可以包括基本的腳本能力但其主要還是作為密碼貨幣。而以太坊除了對(duì)以太坊密碼貨幣的支持外還可以執(zhí)行智能合約。
本文基于區(qū)塊鏈智能合約,提出了一種去中心化K-匿名激勵(lì)機(jī)制。智能合約開發(fā)時(shí)寫入合約自動(dòng)達(dá)成時(shí)的條件,以激勵(lì)用戶加入一個(gè)K 匿名群體。服務(wù)請(qǐng)求者和K-匿名服務(wù)提供者按照智能合約中的規(guī)則合作以實(shí)現(xiàn)K-匿名的目標(biāo)。生成K-匿名隱匿區(qū)域并通過合智能合約驗(yàn)證后,這些K-匿名服務(wù)提供者會(huì)得到相應(yīng)的獎(jiǎng)勵(lì)。為了安全以及更好地確定參與用戶人選,該方案采取保證金準(zhǔn)入機(jī)制并使用與文獻(xiàn)[10]中所不同的單向拍賣機(jī)制來完成K-匿名的需求,拍賣過程被整合到智能合同中[19]。拍賣記錄由礦工保存在區(qū)塊鏈系統(tǒng)中,而不是在一個(gè)中心服務(wù)器中,實(shí)現(xiàn)去中心化的目的。
本文方案系統(tǒng)架構(gòu)如圖2 所示,由賣家(K-匿名請(qǐng)求人)和買家(投標(biāo)人)組成,并假設(shè)每個(gè)賣家和投標(biāo)人都可通過智能設(shè)備訪問,確定是否完成LBS 信息查詢。此外,假定賣方和投標(biāo)人及其智能設(shè)備可以向區(qū)塊鏈智能合約發(fā)送和接收消息,并且每個(gè)投標(biāo)人都有一份自己的公私密鑰對(duì),能夠?qū)ψ约喊l(fā)送的內(nèi)容進(jìn)行簽名,確保交易內(nèi)容的唯一性和不可抵賴性。該體系結(jié)構(gòu)實(shí)現(xiàn)了四個(gè)關(guān)鍵部分,包括(1)投標(biāo)人、(2)賣方、(3)智能設(shè)備和(4)智能合約。各部分的功能如下:
申請(qǐng)人代理:申請(qǐng)人代理將在需要服務(wù)時(shí)發(fā)起新的拍賣,并向智能合約發(fā)送要求數(shù)量K 以及保證金。
投標(biāo)人代理:每個(gè)投標(biāo)人代理可以隨時(shí)監(jiān)控公鏈上的智能合約狀態(tài),如果有人發(fā)起拍賣申請(qǐng),可申請(qǐng)加入,向智能合約發(fā)送一定數(shù)量保證金。
智能設(shè)備:可以向LBS 服務(wù)器發(fā)送LBS 請(qǐng)求,也可以向區(qū)塊鏈智能合約發(fā)送和接收消息。
智能合約:智能合同將接收并存儲(chǔ)來自申請(qǐng)人、投標(biāo)人和智能設(shè)備發(fā)送的數(shù)據(jù),并執(zhí)行拍賣和支付功能。
圖2 系統(tǒng)架構(gòu)
該激勵(lì)機(jī)制主要執(zhí)行過程如下:
(1)在公有區(qū)塊鏈上部署智能合約。
(2)申請(qǐng)人公布所需要的K 匿名數(shù)量及保證金額度。
(3)潛在的競(jìng)買人監(jiān)視區(qū)塊鏈以進(jìn)行新的拍賣并提交出價(jià)。
(4)智能合約執(zhí)行拍賣活動(dòng)以確定中標(biāo)者。
(5)前K+1名支付保證金最高者獲得任務(wù)完成機(jī)會(huì),與買家形成一個(gè)K 匿名群組。
(6)位置隱私保護(hù)任務(wù)開始,中標(biāo)的買家和賣家組成了一個(gè)匿名組。組中的所有成員都將其位置和請(qǐng)求發(fā)送給服務(wù)提供商。攻擊者只能找到K 個(gè)用戶一起請(qǐng)求服務(wù),無法確定哪一組位置和請(qǐng)求是真的。
(7)任務(wù)完成,進(jìn)行款項(xiàng)交割,獎(jiǎng)勵(lì)金加上保證金一并退回中標(biāo)賬號(hào)。
本章中所使用的符號(hào)意義如表1所示。
表1 各符號(hào)對(duì)應(yīng)意義
該激勵(lì)機(jī)制以拍賣活動(dòng)的形式進(jìn)行,Us是賣家,Ub是買家,智能合約則作為拍賣人,為了便于說明,當(dāng)不具體區(qū)分買賣雙方時(shí),統(tǒng)稱這二者為代理人。為保證參與用戶權(quán)益,需要賣家和買家先向拍賣人支付一定數(shù)額的保證金才能發(fā)起拍賣活動(dòng),以防止任一用戶出現(xiàn)違約情況時(shí),由拍賣人進(jìn)行賠償。賣家為想要實(shí)現(xiàn)的K-匿名隱私保護(hù)提供價(jià)格,向智能合約發(fā)送一筆保證傭金V,并提供Ki件貨物名額(即所需要參加K-匿名用戶數(shù)量)。若賣家違約,則該保證金均等賠償給中標(biāo)用戶。則每位Ub賠償金額為:
而買家則需要向拍賣人支付參與一定數(shù)額的保證金B(yǎng)i才能參加該拍賣活動(dòng),若部分買家中途退出或出現(xiàn)違約行為,則保證金全部沒收賠償給賣家。
(1)本文將K 匿名拍賣建模為單輪密封出價(jià)拍賣。拍賣過程如圖3所示。
(2)由于該拍賣活動(dòng)是密封的出價(jià),每個(gè)代理人提供的價(jià)格是代理人根據(jù)自身要求提出的,沒有代理人有興趣知道由其他人提供的價(jià)格。Bj(Bj>0)既作為保證金同時(shí)也作為Ubj的出價(jià)(注意Bj不一定等于Cj)。拍賣開始時(shí),賣方首先向拍賣人提出自身要求發(fā)起拍賣活動(dòng),買方相應(yīng)提交出價(jià)獲得參加資格。以所給出買方的出價(jià)和賣方的要求作為輸入,拍賣人確定中標(biāo)買方組WG,且滿足:
圖3 拍賣游戲
(3)拍賣開始后,委托人賬戶向拍賣人賬戶發(fā)送標(biāo)的數(shù)額以及相應(yīng)的保證金V,競(jìng)買人若要參加拍賣,則可以向拍賣人賬戶發(fā)送愿意支付的保證金B(yǎng)j,拍賣人對(duì)競(jìng)買人發(fā)送的Bj進(jìn)行排序,且滿足:
拍賣人首先要檢查委托人和競(jìng)買人的總數(shù)是否至少為Ki+2。這里需要比K 匿名要求數(shù)量更多的兩個(gè)代理人,為了保證真實(shí),需要去掉排名最高和最低的兩個(gè)競(jìng)買人。拍賣人選擇滿足以下要求的Ki+1個(gè)競(jìng)買人作為中標(biāo)人:
若該情況成立,則繳納保證金額度最多的前K+1個(gè)競(jìng)買人成為中標(biāo)贏家,每個(gè)競(jìng)買人都得到參與完成該次位置隱私保護(hù)任務(wù)并可獲取委托人傭金的機(jī)會(huì)。未中標(biāo)的買家則返還他們的保證金。
單向拍賣算法流程如圖4所示。
圖4 單項(xiàng)拍賣流程圖
本節(jié)詳細(xì)介紹智能合約以及用于啟用單向拍賣的相關(guān)功能。智能合約假定密碼貨幣(例如:以太幣)可以在賣方和買方之間進(jìn)行貨幣交換且具有現(xiàn)實(shí)意義,該智能合約主要包括以下函數(shù):初始化函數(shù)、投標(biāo)函數(shù)、拍賣函數(shù)、退款函數(shù)、獎(jiǎng)懲函數(shù)。各主要函數(shù)功能詳述如下:(1)初始化函數(shù):此函數(shù)定義與該拍賣游戲相關(guān)的所有值。每一項(xiàng)合同必須保持一組變量,代表拍賣的數(shù)量(K)、投標(biāo)清單(出價(jià))、投標(biāo)時(shí)間(bTime)、交易時(shí)間(tTime)、揭曉期時(shí)間(rTime)以及拍賣中是否有任何當(dāng)前的中標(biāo)者(W)。
委托人必須調(diào)用初始化函數(shù)來初始化新的拍賣,然而,在進(jìn)行新的拍賣之前,委托人代理必須向合同支付保證金,以防止惡意拍賣。在委托人所提交的K 匿名位置隱私保護(hù)任務(wù)完成之后,該保證金將被平均支付給參與任務(wù)的中標(biāo)人。在初始化函數(shù)執(zhí)行之后,該智能合約準(zhǔn)備接受各競(jìng)買人投標(biāo)。
(2)投標(biāo)函數(shù):通過監(jiān)測(cè)區(qū)塊鏈網(wǎng)絡(luò)上的智能合約,不同的競(jìng)買人可以查看何時(shí)有人尋求匿名幫助可供拍賣以及提交他們的出價(jià)。這個(gè)步驟都必須在預(yù)定義的時(shí)間bTime 內(nèi)執(zhí)行。投標(biāo)函數(shù)向智能合約提交了一個(gè)投標(biāo),但沒有透露他們的出價(jià)。投標(biāo)函數(shù)接受數(shù)據(jù)為<b,Hbid,deposit,nonce > 的 元 組 ,Hbid=H(bid,nonce),H 是一個(gè)陷門函數(shù)(例如密碼散列函數(shù)),Nonce是為該交易選擇的隨機(jī)值,hbid 將被存儲(chǔ)在區(qū)塊鏈上,直到投標(biāo)周期結(jié)束。投標(biāo)函數(shù)還要求各競(jìng)買人將保證金從競(jìng)買人的代理賬戶轉(zhuǎn)移到智能合約賬戶中,以防止競(jìng)標(biāo)人提交欺詐性投標(biāo)。
(3)拍賣函數(shù):在每個(gè)出價(jià)被披露之后,合同將執(zhí)行拍賣函數(shù)來執(zhí)行單項(xiàng)拍賣算法來確定拍賣買受人和結(jié)算價(jià)格。拍賣函數(shù)將每個(gè)顯示的出價(jià)與當(dāng)前規(guī)定范圍內(nèi)的最低出價(jià)進(jìn)行比較。如果發(fā)現(xiàn)新的高出價(jià),規(guī)定范圍內(nèi)的最低和次最低出價(jià)將增加,并記錄當(dāng)前規(guī)定范圍內(nèi)的最低出價(jià)投標(biāo)者。
(4)退款函數(shù):在bTime時(shí)間后,拍賣買受人將被選中,開始執(zhí)行K-匿名任務(wù)。此時(shí)調(diào)用退款函數(shù)將未中標(biāo)競(jìng)買人的保證金退還,而買受人將繼續(xù)留在智能合約中。
(5)獎(jiǎng)懲函數(shù):在隱私保護(hù)交易完成(t >tTime)后執(zhí)行,以完成最終K 匿名任務(wù)和金融結(jié)算的結(jié)果核算。最后確定功能從中標(biāo)者發(fā)送的LBS服務(wù)信息中獲得輸入,以驗(yàn)證他們分別完成了LBS 查詢?nèi)蝿?wù)。獎(jiǎng)懲函數(shù)將被調(diào)用,用以獎(jiǎng)勵(lì)或處罰相關(guān)用戶。
實(shí)驗(yàn)所使用1臺(tái)計(jì)算機(jī)配置為Inter i7-8550U 1.99GHz處理器和8 GB 內(nèi)存,Windows10 64 位操作系統(tǒng)。實(shí)驗(yàn)使用Python 3.6 語言分別模擬不同數(shù)量的用戶使用單向拍賣機(jī)制算法競(jìng)拍并與文獻(xiàn)[10]進(jìn)行相關(guān)實(shí)驗(yàn)對(duì)比。生成K-匿名群組所需要的時(shí)間與買家數(shù)量變化關(guān)系的結(jié)果如圖所示,其中方塊表示文獻(xiàn)[10]中算法,圓點(diǎn)表示單向拍賣算法。
如圖5 所示,當(dāng)K=20時(shí),文獻(xiàn)[10]中由于假定具有相同隱私保護(hù)請(qǐng)求的用戶已超過20 且自行組成K-匿名群體,從而不需要請(qǐng)求其他用戶幫助,因此在該匿名要求下,文獻(xiàn)[10]中所需要的時(shí)間與參與游戲的買家數(shù)量并沒有關(guān)系。而單向拍賣算法依舊需要對(duì)參與游戲的買家進(jìn)行排序選擇生成群組,因而生成K 匿名組合時(shí)間相對(duì)于文獻(xiàn)[10]較長(zhǎng)。
圖5 K=20時(shí)匿名區(qū)域生成時(shí)間
如圖6 所示,當(dāng)K=120 時(shí),文獻(xiàn)[10]中算法需對(duì)賣家和買家分別進(jìn)行排序,隨著參與人數(shù)增加所花費(fèi)時(shí)間越來越多。而本文中算法僅是針對(duì)參與游戲的買家用戶進(jìn)行排序,當(dāng)參與人數(shù)少于120 時(shí)生成K 匿名區(qū)域失敗,當(dāng)參與人數(shù)大于或等于120 時(shí),采用快速排序算法并生成K-匿名區(qū)域。從圖中可以看出單項(xiàng)拍賣算法生成K 匿名組合時(shí)間相對(duì)于文獻(xiàn)[10]中較短。
圖6 K=120時(shí)匿名區(qū)域生成時(shí)間
以太坊是一個(gè)可實(shí)現(xiàn)智能合約的開源區(qū)塊鏈平臺(tái),智能合約相當(dāng)于存儲(chǔ)在該平臺(tái)區(qū)塊鏈中的程序,以太坊虛擬機(jī)支持運(yùn)行已編寫好的智能合約,可允許用戶使用測(cè)試區(qū)塊鏈進(jìn)行智能合約的測(cè)試。以太坊平臺(tái)有其專屬通用代幣,在測(cè)試時(shí)可以自動(dòng)為指定賬戶充值一定量代幣做實(shí)驗(yàn)。
本文智能合約采用類似于JavaScript 的高級(jí)語言Solidity 語言編寫,并在以太坊環(huán)境下使用其官方推薦的IDE—Remix 上對(duì)智能合約進(jìn)行實(shí)驗(yàn)測(cè)試,內(nèi)核版本為0.4.24,同時(shí)Remix 提供了相應(yīng)的程序接口。合約調(diào)試編譯結(jié)果及部分代碼如圖7所示。
圖7 智能合約
Remix 為智能合約提供了一個(gè)區(qū)塊鏈環(huán)境,圖7 頁(yè)面為測(cè)試智能合約時(shí)的部分頁(yè)面,該頁(yè)面頂部提供了測(cè)試合約時(shí)可使用的功能。智能合約代碼在調(diào)試后在圖中底部出現(xiàn)藍(lán)色框則表示合約代碼編譯成功,ABI則表示該智能合約的接口地址。接著可對(duì)智能合約中各主要函數(shù)進(jìn)行測(cè)試,測(cè)試界面如圖8 所示:該測(cè)試環(huán)境會(huì)默認(rèn)提供多個(gè)賬戶,且賬戶中有少量以太幣用于調(diào)用函數(shù)測(cè)試交易,圖8 下方則顯示該智能合約中設(shè)計(jì)的各函數(shù),可依次點(diǎn)擊各函數(shù)進(jìn)行交易測(cè)試。
圖8 智能合約函數(shù)測(cè)試
目前以太坊的平均出塊時(shí)間為15 s,上述智能合約的實(shí)驗(yàn)測(cè)試結(jié)果可以看出,該智能合約很好地實(shí)現(xiàn)了激勵(lì)機(jī)制所設(shè)計(jì)的功能,并且實(shí)驗(yàn)驗(yàn)證了智能合約的有效性與可行性。以區(qū)塊鏈網(wǎng)絡(luò)為載體,使本文所提激勵(lì)機(jī)制可面向更多用戶。
(1)無需第三方機(jī)構(gòu):與傳統(tǒng)的激勵(lì)機(jī)制設(shè)計(jì)不同,本文所提激勵(lì)機(jī)制采用基于區(qū)塊鏈的去中心化架構(gòu)來保證其安全性,智能合約充當(dāng)?shù)谌綑C(jī)構(gòu)被同步運(yùn)行在公有區(qū)塊鏈所有節(jié)點(diǎn)中,不依賴于全局可信的第三方實(shí)體機(jī)構(gòu),各節(jié)點(diǎn)間采用端到端的通信方式,分布式存儲(chǔ)交易數(shù)據(jù),可以有效解決中心化模式下的計(jì)算資源不足等問題;而當(dāng)部分公有區(qū)塊鏈節(jié)點(diǎn)遭遇分布式拒絕服務(wù)攻擊時(shí),其他的公有區(qū)塊鏈節(jié)點(diǎn)中依舊可以正常工作并保存著所有的交易記錄,不至于使整個(gè)激勵(lì)機(jī)制系統(tǒng)崩潰。
(2)節(jié)點(diǎn)身份隱私保護(hù):由于本文所提激勵(lì)機(jī)制是基于區(qū)塊鏈系統(tǒng)實(shí)現(xiàn),參與該激勵(lì)機(jī)制的用戶為區(qū)塊鏈中各代理節(jié)點(diǎn),且都采用假名保護(hù)的方式來進(jìn)行通信,切斷了用戶名與其真實(shí)身份之間的聯(lián)系,通信雙方或第三方無法獲知通信節(jié)點(diǎn)的真實(shí)身份;同時(shí),結(jié)算過程中使用不同用戶的非對(duì)稱密鑰對(duì)發(fā)送的數(shù)據(jù)進(jìn)行加密,攻擊者很難破解所有節(jié)點(diǎn)的加密密鑰,最大可能保證相關(guān)交易信息安全。
(3)位置隱私保護(hù):保護(hù)用戶的位置隱私是保護(hù)用戶身份信息與位置信息的關(guān)聯(lián)。本文采取K 匿名技術(shù)通過對(duì)使用K 名用戶同時(shí)向LBS服務(wù)器發(fā)送服務(wù)申請(qǐng),混淆身份信息與位置信息的一一對(duì)應(yīng)關(guān)系。該公有區(qū)塊鏈上每個(gè)用戶只是用一串?dāng)?shù)字賬戶作為代理,初始便以假名機(jī)制構(gòu)造K-匿名群組,極大提高了安全性。該基于區(qū)塊鏈的K 匿名激勵(lì)模型只是隱藏了身份信息與位置信息的對(duì)應(yīng)關(guān)系;但保留了精確的位置數(shù)據(jù),并且在選擇K 匿名組成員時(shí)比之前方案更充分地考慮了用戶的忠誠(chéng)度,也采取收取保證金的方式在一定程度上限制了部分惡意節(jié)點(diǎn)的參與,提高了形成K 匿名組的成功率。因此,本方案既保護(hù)了用戶的位置隱私也提供了較高的服務(wù)質(zhì)量。
本文提出了一種基于區(qū)塊鏈智能合約的K-匿名激勵(lì)機(jī)制。通過引入保證金制度可以有效限制惡意玩家節(jié)點(diǎn)的加入,從而有效提高生成K-匿名區(qū)域的成功率。本文基于區(qū)塊鏈的去中心化架構(gòu)可使智能合約運(yùn)行于所有區(qū)塊鏈節(jié)點(diǎn)中,憑借眾多的公有區(qū)塊鏈用戶節(jié)點(diǎn),可以吸引更多用戶參與K-匿名。并提出一種單向拍賣算法,實(shí)驗(yàn)仿真結(jié)果顯示相較于相關(guān)工作在算法執(zhí)行速度上有一定的優(yōu)勢(shì)。本文對(duì)該方案進(jìn)行分析,相關(guān)結(jié)果證明該方案安全可靠且該激勵(lì)機(jī)制是具有實(shí)用性的。后續(xù)工作可以對(duì)該激勵(lì)機(jī)制算法進(jìn)一步優(yōu)化以及采用盲簽名技術(shù)等密碼學(xué)方法加強(qiáng)智能合約中節(jié)點(diǎn)間發(fā)送交易數(shù)據(jù)的安全性。