高麗萍,程 添,高 麗
1(上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)
2(復(fù)旦大學(xué) 上海數(shù)據(jù)科學(xué)重點(diǎn)實(shí)驗(yàn)室,上海 200093)
3(上海理工大學(xué) 圖書館,上海 200093)
空間眾包[1]作為是一種新的眾包模式,它的興起帶動(dòng)了Uber、滴滴等主流平臺(tái)的發(fā)展.空間眾包基本模型如圖1所示:首先,請求者在平臺(tái)上發(fā)布地理位置相關(guān)的任務(wù),然后,對該任務(wù)感興趣的工人申請執(zhí)行任務(wù)并向平臺(tái)提交任務(wù)答案.最后,請求者選擇滿意的任務(wù)答案并支付給相應(yīng)工人任務(wù)報(bào)酬.
圖1 傳統(tǒng)眾包模型示意圖Fig.1 System model of traditional crowdsourcing
然而,這種傳統(tǒng)的模型雖然能解決復(fù)雜的計(jì)算問題,但1)中心化的服務(wù)器易收到分布式拒絕服務(wù)攻擊DDoS[2]或服務(wù)器單點(diǎn)故障無法正常運(yùn)作;2)平臺(tái)交易不透明導(dǎo)致公平性無法保證進(jìn)而無法確定任務(wù)分配合理性;3)集中式數(shù)據(jù)存儲(chǔ)也存在隱私泄露的風(fēng)險(xiǎn)(1)http://www.smh.com.au/business/freelancer-contests-20000-privacy-breach-fine-from-oaic20160112-gm4aw2;4)系統(tǒng)無資金鎖定機(jī)制,若出現(xiàn)大量惡意工人將導(dǎo)致任務(wù)無法完整執(zhí)行.
考慮到區(qū)塊鏈去中心化、以太坊平臺(tái)智能合約自動(dòng)執(zhí)行的特性,基于區(qū)塊鏈環(huán)境的眾包模型應(yīng)運(yùn)而生.大多數(shù)區(qū)塊鏈環(huán)境下的移動(dòng)眾包模型的隱私保護(hù)方案[3,4]旨在保護(hù)用戶的身份信息隱私,然而眾包平臺(tái)可以通過結(jié)合用戶的查詢動(dòng)作和任務(wù)的內(nèi)容,來推斷出用戶的興趣集.為了保護(hù)隱私,有些學(xué)者[5]利用可搜索加密進(jìn)行眾包平臺(tái)的任務(wù)匹配,但當(dāng)系統(tǒng)中存在大量任務(wù)時(shí),用戶并不能對任務(wù)進(jìn)行數(shù)據(jù)級(jí)控制.由于區(qū)塊鏈的計(jì)算規(guī)模限制,大量計(jì)算過程仍然在鏈下執(zhí)行.而文獻(xiàn)[6]提出了一個(gè)完全分布式的眾包框架,在區(qū)塊鏈上執(zhí)行拍賣,利用區(qū)塊鏈以太坊的智能合約代替中心化的拍賣平臺(tái).但該模型只考慮到投標(biāo)價(jià)格和工人與任務(wù)距離,忽略了工人聲譽(yù)、完成時(shí)間等重要因素.同時(shí)若系統(tǒng)中大量工人申請執(zhí)行任務(wù)但沒有提交,會(huì)造成任務(wù)分配后無法及時(shí)完成.
本文提出了一個(gè)區(qū)塊鏈環(huán)境下的去中心化的眾包模型,采用基于密文策略的屬性加密實(shí)現(xiàn)細(xì)粒度授權(quán)從而加強(qiáng)隱私保護(hù),在任務(wù)分配過程中設(shè)計(jì)投標(biāo)分?jǐn)?shù)閾值動(dòng)態(tài)變化的拍賣機(jī)制,綜合考慮工人的距離、賠償、報(bào)價(jià)和聲譽(yù)來進(jìn)行選擇,保證任務(wù)分配的合理性.另外,首次提出資金鎖定機(jī)制在賬戶中鎖定工人的賠償資金,有效預(yù)防大量惡意工人涌入系統(tǒng)破壞交易.
本文的主要貢獻(xiàn)有如下幾點(diǎn):
1)提出了一種于區(qū)塊鏈環(huán)境下實(shí)現(xiàn)細(xì)粒度授權(quán)的空間眾包模型:BFP-Crowd.請求者利用基于密文策略的屬性加密,生成基于任務(wù)屬性的秘鑰,加密任務(wù)內(nèi)容,可以加強(qiáng)保護(hù)任務(wù)隱私.
2)提出了BFP-Crowd模型具體的解決方案,設(shè)計(jì)智能合約執(zhí)行我們提出的投標(biāo)分?jǐn)?shù)閾值動(dòng)態(tài)變化的拍賣機(jī)制,根據(jù)工人的聲譽(yù)、賠付金額、距離、報(bào)價(jià)綜合選擇工人,比其他的基于區(qū)塊鏈的眾包任務(wù)分配機(jī)制更具有合理性.
3)通過真實(shí)數(shù)據(jù)集,在本地的以太坊私有鏈上驗(yàn)證提出的方案的可行性和擴(kuò)展性.實(shí)驗(yàn)結(jié)果表明,我們提出的BFP-Crowd模型在相同任務(wù)集的情況下工人總行駛路徑更短,當(dāng)系統(tǒng)中存在等比例的惡意工人時(shí)任務(wù)請求者的損失更小.
本文剩余部分結(jié)構(gòu)如下:第2部分介紹相關(guān)工作;第3部分將我們提出的模型和框架以及系統(tǒng)工作流程公式化,并提出我們設(shè)計(jì)的基于細(xì)粒度授權(quán)的隱私保護(hù)方案,同時(shí)給出相關(guān)的安全假設(shè);第4部分設(shè)計(jì)本模型在區(qū)塊鏈下的智能合約以及拍賣模型的任務(wù)分配算法;第5部分進(jìn)行試驗(yàn)驗(yàn)證模型的合理性、可用性以及創(chuàng)新性;第6部分總結(jié)和展望.
本文相關(guān)工作的研究主要有區(qū)塊鏈、隱私保護(hù)和任務(wù)分配3個(gè)方向.
為了保證眾包系統(tǒng)的分布式存儲(chǔ),滿足去中心化的性質(zhì),文獻(xiàn)[7]提出眾包中基于區(qū)塊鏈環(huán)境下實(shí)現(xiàn)去中心化的概念,一些科研學(xué)者在區(qū)塊鏈的環(huán)境下進(jìn)行眾包.文獻(xiàn)[8]提出信任服務(wù)機(jī)制,在區(qū)塊鏈內(nèi)轉(zhuǎn)移資產(chǎn)進(jìn)行付款,證明沒有中央機(jī)構(gòu)的眾包系統(tǒng)服務(wù)機(jī)制更具有有效性和適用性.
但大多數(shù)基于區(qū)塊鏈系統(tǒng)會(huì)遭受分叉問題和集中化問題,文獻(xiàn)[9]提出了一種新穎的區(qū)塊共生機(jī)制,大幅度降低計(jì)算開銷實(shí)現(xiàn)完全分布式和分散式管理.
為了加強(qiáng)隱私保護(hù),文獻(xiàn)[10]基于差分隱私和地理廣播機(jī)制,通過動(dòng)態(tài)和靜態(tài)工人數(shù)據(jù)集提出一種保障隱私的有效眾包服務(wù),并且不會(huì)產(chǎn)生明顯的性能開銷.文獻(xiàn)[11]提出一種差分k匿名位置隱私保護(hù)方法實(shí)現(xiàn)移動(dòng)眾包中用戶的位置隱私保護(hù).然而這兩種機(jī)制著重保護(hù)用戶隱私,而忽略了任務(wù)分配中工人選擇的過程.
在預(yù)算約束下,有學(xué)者研究多技能空間眾包,尋找最佳工作人員和最優(yōu)匹配策略并且收益最大化[12].文獻(xiàn)[13]解決了除特定空間約束外,每個(gè)任務(wù)操作復(fù)雜行、預(yù)算限制和所需工人數(shù)量等多約束條件下異構(gòu)空間任務(wù)分配任務(wù)問題.而考慮位置隱私保護(hù)問題,在維護(hù)空間眾包系統(tǒng)功能等同時(shí)保護(hù)工作人員和任務(wù)請求者隱私,有效實(shí)現(xiàn)加密數(shù)據(jù)任務(wù)分配所需的復(fù)雜操作[14].
區(qū)塊鏈環(huán)境下實(shí)現(xiàn)隱私保護(hù)的任務(wù)分配模型[5],采用可搜索加密保護(hù)任務(wù)隱私,采取匿名方式保護(hù)用戶身份信息,并根據(jù)工人的興趣集進(jìn)行任務(wù)分配,該模型在保護(hù)用戶和任務(wù)隱私的基礎(chǔ)上根據(jù)用戶興趣集的相關(guān)度實(shí)現(xiàn)了任務(wù)的可靠分配.然而可搜索加密有在多用戶環(huán)境下秘鑰管理難度大、難以實(shí)現(xiàn)細(xì)粒度授權(quán)等缺點(diǎn).
文獻(xiàn)[15]使用區(qū)塊鏈環(huán)境保證眾包服務(wù)的完整性和參與者的身份隱私,在該模型中,利用區(qū)塊鏈的哈希算法驗(yàn)證信息的可靠性,然而當(dāng)系統(tǒng)超過51%的用戶被攻擊后,便無法保證信息的可靠性.
目前基于區(qū)塊鏈的眾包模型在任務(wù)分配策略的選擇上大多數(shù)僅僅根據(jù)工人興趣集分配任務(wù),在無法保證工人信息可靠性即系統(tǒng)中存在大量惡意工人的前提下,并不是一種可靠的任務(wù)分配方式.具有任務(wù)分配方案的模型[15]是根據(jù)工人請求的時(shí)間的先后順序進(jìn)行任務(wù)分配,沒有保證工人的任務(wù)分配合理性的最大化.
一些區(qū)塊鏈環(huán)境下的眾包模型結(jié)合拍賣模式進(jìn)行任務(wù)分配[6],使用重復(fù)投標(biāo)人競標(biāo)機(jī)制,在區(qū)塊鏈環(huán)境下部署拍賣算法,優(yōu)化任務(wù)分配策略,但是沒有保護(hù)用戶隱私并且投標(biāo)的選擇工人標(biāo)準(zhǔn)中僅僅考慮位置因素,而忽略了其他的重要屬性工人聲譽(yù)、賠償?shù)?
綜合分析,目前沒有任何一個(gè)框架能夠在區(qū)塊鏈的環(huán)境下實(shí)現(xiàn)隱私保護(hù)中任務(wù)控制的細(xì)粒度授權(quán)的同時(shí),保證任務(wù)分配方案的合理性.我們從是否保證中心化、隱私性和優(yōu)化任務(wù)分配方案3個(gè)維度來將我們提出的BFP-Crowd與一些眾包模型進(jìn)行對比,并把結(jié)果展示在表1中.
表1 眾包系統(tǒng)對比表Table 1 Comparison of crowdsourcing platforms
在本節(jié)中,我們提出了BFP-Crowd系統(tǒng)模型,并基于此模型構(gòu)建了BFP-Crowd框架.接下來詳細(xì)的介紹BFP-Crowd的執(zhí)行過程.最后提出系統(tǒng)安全威脅模型,并給出系統(tǒng)安全假設(shè).在模型中使用的符號(hào)列出如表2所示.
表2 變量名稱含義說明表Table 2 Description of Variable
BFP-Crowd的系統(tǒng)模型如圖2所示,在這個(gè)系統(tǒng)中有4個(gè)主要實(shí)體:任務(wù)請求者,工人,BFP-Crowd客戶端,區(qū)塊鏈服務(wù)器和云存儲(chǔ)服務(wù)器.與傳統(tǒng)的眾包模型(圖1)相比,使用區(qū)塊鏈服務(wù)器替換傳統(tǒng)中心化平臺(tái),并將任務(wù)密文上傳到可靠的第三方云存儲(chǔ)服務(wù)器.
圖2 BFP-Crowd系統(tǒng)模型Fig.2 BFP-Crowd system model
3.1.1 任務(wù)請求者
3.1.2 工人
3.1.3 BFP-Crowd客戶端
作為BFP-Crowd的中間媒介,客戶端是可視化操作軟件,由用戶(任務(wù)請求者和工人)在本地下載.任務(wù)請求者注冊成功后可以使用BFP-Crowd客戶端發(fā)布任務(wù)、工人使用BFP-Crowd客戶端選擇任務(wù)、投標(biāo)、執(zhí)行任務(wù)、返回結(jié)果.
3.1.4 區(qū)塊鏈服務(wù)器
由于智能合約在以太坊上是自動(dòng)執(zhí)行的,因此保證了眾包平臺(tái)的公平性.區(qū)塊鏈服務(wù)器是BFP-Crowd的主要服務(wù)提供商.BFP-Crowd系統(tǒng)中的智能合約依賴以太坊區(qū)塊鏈執(zhí)行.由于區(qū)塊鏈自身去中心化、記錄不可篡改的特點(diǎn),BFP-Crowd系統(tǒng)中的交易記錄同樣不可篡改,有效的加強(qiáng)了系統(tǒng)的魯棒性.
3.1.5 云存儲(chǔ)服務(wù)器
云存儲(chǔ)服務(wù)器為請求者提供存儲(chǔ)服務(wù),請求者上傳加密后的任務(wù)并記錄存儲(chǔ)地址當(dāng)申請任務(wù)的工人屬性滿足任務(wù)的訪問策略時(shí),工人根據(jù)地址下載任務(wù)密文并利用請求者提供的屬性密鑰解密獲得任務(wù)的描述.
假設(shè)請求者在BFP-Crowd中的密鑰管理系統(tǒng)選定的安全參數(shù)是λ,,T是兩個(gè)素?cái)?shù)p階乘法循環(huán)群,并且有映射關(guān)系:e:×→T,g∈,有兩個(gè)哈希函數(shù):H:{0,1}*→,G:{0,1}*→{0,1}λ.
(1)
(2)
工人收到屬性秘鑰密文后,利用自己的私鑰解密屬性秘鑰密文獲得屬性私鑰.
(3)
(4)
根據(jù)對稱加密的對稱性,工人獲得的任務(wù)內(nèi)容與請求者發(fā)布的內(nèi)容一致,并且由于屬性秘鑰的生成是根據(jù)任務(wù)訪問策略并基于密文策略的屬性加密,因此在數(shù)據(jù)層級(jí)上實(shí)現(xiàn)了細(xì)粒度授權(quán),從而加強(qiáng)了任務(wù)內(nèi)容的隱私保護(hù).
在本節(jié)中,我們設(shè)計(jì)了一個(gè)區(qū)塊鏈環(huán)境下基于細(xì)粒度授權(quán)的眾包任務(wù)分配模型,具體流程如下:
步驟1.請求者和工人在使用BFP-Crowd系統(tǒng)前,首先需要進(jìn)行身份注冊.用戶(請求者和工人)通過BFP-Crowd客戶端(如圖2所示)調(diào)用用戶注冊合約(URC),第三方認(rèn)證機(jī)構(gòu)驗(yàn)證用戶的身份信息并將注冊結(jié)果記錄在區(qū)塊鏈中.
(5)
(6)
(7)
(8)
(9)
(10)
在BFP-Crowd模型中,不同的區(qū)塊鏈特性會(huì)影響眾包交易中的交互,安全威脅的級(jí)別也不同.我們的模型主要包括3類實(shí)體:工人、任務(wù)請求者和眾包平臺(tái).它們可能給系統(tǒng)帶來不同程度的風(fēng)險(xiǎn).因此我們假設(shè)以下幾個(gè)條件:
假設(shè)1.區(qū)塊鏈?zhǔn)峭耆植际胶筒豢纱鄹牡?,假設(shè)不存在51%攻擊.
假設(shè)2.在眾包過程中,系統(tǒng)中有足夠的工人供請求者選擇來執(zhí)行任務(wù).
假設(shè)3.任務(wù)請求者和工人有足夠安全的措施保存密碼和私鑰.
假設(shè)4.假設(shè)評(píng)估工人結(jié)果質(zhì)量的第三方平臺(tái)完全公平可信.
通過結(jié)合區(qū)塊鏈和基于密文策略的屬性加密,我們設(shè)計(jì)了一個(gè)去中心化的眾包框架實(shí)現(xiàn)細(xì)粒度授權(quán)的眾包平臺(tái)BFP-Crowd.在BFP-Crowd中,我們設(shè)計(jì)了4種智能合約:用戶注冊合約(URC)、交易合約(RWTC)、工人評(píng)估合約(WEC)、薪酬分配合約(PDC).
在智能合約中我們主要定義4種重要的算法:用戶注冊算法addUser(·),任務(wù)發(fā)布算法publishTask(·),工人評(píng)估算法evaluateWorker(·),薪酬分配算法allocatePayment(·).
4.2.1 用戶注冊合約(URC)
工人或請求者在平臺(tái)上提交注冊申請后,BFP-Crowd系統(tǒng)分配給用戶一對密鑰(公鑰和私鑰).注冊成功后,用戶的身份信息、屬性和密鑰對與用戶的唯一標(biāo)識(shí)信息綁定.
4.2.2 交易合約(RWTC)
4.2.3 工人評(píng)估合約(WEC)
工人評(píng)估合約(WEC)包含算法evaluateWorker(.).系統(tǒng)通過工人的屬性集判斷是否滿足執(zhí)行任務(wù)條件然后根據(jù)工人的投標(biāo)信息選擇執(zhí)行任務(wù)的工人集合.
4.2.4 薪酬分配合約(PDC)
在本節(jié)中,我們描述了提出的方案具體執(zhí)行過程過程.在方案中涉及到的符合及含義的具體解釋見表3.符號(hào)含義說明.
表3 符號(hào)含義說明表Table 3 Description of symbol
4.3.1 用戶注冊
通過用戶注冊合約(URC),請求者和工人可以在系統(tǒng)中進(jìn)行注冊.工人和請求者注冊的過程相似,都是將用戶身份信息、屬性和密鑰對與用戶綁定.用戶注冊的具體的算法見算法1.
算法1.addUser(·)
輸入:用戶信息
輸出:bool,密鑰對(bool值為true的情況下)
ifmsg.senderis notcontractOwnerthen
throw;
endif
ifaWihas existthen
returnfalse;
else
userList[newUserAddress] =δi;
generate(pki,ski)
returnpki,ski;
returntrue;
4.3.2 加密任務(wù)
假設(shè)請求者在發(fā)布任務(wù)前,將任務(wù)內(nèi)容加密(具體加密過程見3.2),并上傳密文至云存儲(chǔ)服務(wù)器,記錄存儲(chǔ)位置.
4.3.3 任務(wù)發(fā)布
請求者將任務(wù)描述密文上傳后,在系統(tǒng)中發(fā)布一條任務(wù)的工人招募信息.其中只有工人的屬性符合任務(wù)訪問策略時(shí),才可以執(zhí)行任務(wù).算法2詳細(xì)描述了任務(wù)發(fā)布過程.
算法2.publishTask(·)
輸出:bool
ifmsg.senderis not registeredthen
returnfalse;
break;
endif
returnfalse;
break;
endif
settaskList;
taskList.requesterAddr=msg.sender;
returntrue
4.3.4 工人投標(biāo)
4.3.5 工人評(píng)估
在任務(wù)的投標(biāo)階段結(jié)束以后,系統(tǒng)將自動(dòng)根據(jù)工人評(píng)估合約(WEC)中的工人評(píng)估算法篩選出最終執(zhí)行任務(wù)的工人集合.
工人投標(biāo)以后,系統(tǒng)會(huì)根據(jù)工人的投標(biāo)信息給他們的投標(biāo)打分,具體的評(píng)分見公式(11).
(11)
(12)
有了工人的競標(biāo)分?jǐn)?shù)后,我們可以結(jié)合算法3將執(zhí)行任務(wù)的工人集合挑選出來.
算法3.evaluateWorker(·)
%工人初篩機(jī)制
fori=1,2,…,ndo
endif
endif
endfor
%任務(wù)分配機(jī)制
endfor
算法3保證了挑選出的眾包工人的屬性集符合任務(wù)的訪問策略并且是綜合評(píng)分最高的工人集合.
4.3.6 提交任務(wù)結(jié)果
系統(tǒng)確定執(zhí)行任務(wù)的工人集合后,系統(tǒng)根據(jù)工人的屬性,分配給工人基于屬性的密文CTdk,工人用自己的私鑰獲得屬性密鑰dk,詳見3.2.然后再利用屬性密鑰解密任務(wù)描述密文,獲得任務(wù)描述后開始執(zhí)行任務(wù).
4.3.7 薪酬分配
算法4.allocatePayment(·)
endif
endfor
endif
endfor
else
endif
endfor
release locked deposit
我們應(yīng)用了一個(gè)真實(shí)的數(shù)據(jù)集(2)https://eprints.soton.ac.uk/354861/.任務(wù)集的相關(guān)參數(shù)如表4所示.我們將智能合約部署在本地的私有鏈上.利用solidity語言進(jìn)行編程,使用truffle框架和ganache客戶端部署智能合約.
表4 實(shí)驗(yàn)參數(shù)表Table 4 Experiment parameters
5.2.1 任務(wù)完成率
在實(shí)際的眾包過程中,我們認(rèn)為任務(wù)的招標(biāo)工人數(shù)與任務(wù)的完成率相關(guān),任務(wù)的招標(biāo)工人數(shù)越多,證明完成任務(wù)的工人質(zhì)量越高,相反的,若沒有足夠的完去符合條件的工人,則任務(wù)的完成質(zhì)量將會(huì)大打折扣.隨機(jī)生成[1,10]的整數(shù)作為任務(wù)的需求工人數(shù)目.工人的位置在表4的范圍內(nèi)隨機(jī)產(chǎn)生.經(jīng)過多次實(shí)驗(yàn),我們得到結(jié)果如圖3所示.
圖3 任務(wù)完成率隨招標(biāo)工人數(shù)變化曲線Fig.3 Curve of task completion rate with the number of bidding workers
根據(jù)實(shí)驗(yàn)結(jié)果我們可以分析得出,任務(wù)完成情況與工人的招標(biāo)數(shù)量成正比,隨著招標(biāo)工人數(shù)量的增加,任務(wù)完成的質(zhì)量提高.原因是招標(biāo)工人數(shù)量越多,選出來執(zhí)行任務(wù)的工人與任務(wù)需求的匹配度越高.
5.2.2 行駛路徑長度
工人的平均行駛路徑是工人的重要成本之一,在本節(jié)中將我們的模型BFP-Crowd與基于區(qū)塊鏈的任務(wù)分配機(jī)制BPTM和基于區(qū)塊鏈的空間眾包拍賣機(jī)制ABCrowd對比.分別在任務(wù)數(shù)量為100、500、1000、1500、2000時(shí),不同招標(biāo)工人數(shù)量的總行駛路徑.其中,工人的賠償金額為(0,2)之間隨機(jī)生成的浮點(diǎn)數(shù).當(dāng)招標(biāo)工人數(shù)量為需求工人數(shù)量2倍時(shí),實(shí)驗(yàn)結(jié)果如圖4(a)所示;當(dāng)招標(biāo)工人數(shù)量為需求工人數(shù)量3倍時(shí),實(shí)驗(yàn)結(jié)果如圖4(b)所示;
根據(jù)實(shí)驗(yàn)結(jié)果圖4(a),圖4(b)我們可以得出,工人的總行駛路徑隨著任務(wù)總數(shù)的增加而增加,在與ABCrowd和BPTM對比以后,我們設(shè)計(jì)的BFP-Crowd模型總行駛路徑更短.并且當(dāng)任務(wù)總數(shù)增加時(shí),BFP-Crowd模型節(jié)省的路徑長度增加.
圖4 不同機(jī)制下工人行駛總路徑對比Fig.4 Comparison of total distance
5.2.3 請求者成本損失
我們設(shè)計(jì)了工人鎖定賠償金的機(jī)制,若工人在任務(wù)時(shí)間截止前沒有完成,則會(huì)支付請求者賠償金作為補(bǔ)償.在這組實(shí)驗(yàn)中,假定系統(tǒng)中每個(gè)任務(wù)的招標(biāo)人數(shù)為需求工人數(shù)的2倍.
分別采用100個(gè)任務(wù)集,結(jié)果見圖5(a);分別采用500個(gè)任務(wù)集,結(jié)果見圖5(b);分別采用1000個(gè)任務(wù)集,結(jié)果見圖5(c).
圖5 請求者損失與惡意工人比例關(guān)系Fig.5 Relationship between loss and malicious workers
由實(shí)驗(yàn)結(jié)果可知,請求者的成本損失與系統(tǒng)中惡意用戶的比例關(guān)系成正比(圖5).惡意用戶比例越高,請求者損失增加,而隨著任務(wù)數(shù)量的增多,請求者損失也相應(yīng)增加.當(dāng)系統(tǒng)中存在大量惡意工人時(shí),BPTM將浪費(fèi)請求者極大的成本,因此BFP-Crowd可以有效的規(guī)避系統(tǒng)中存在大量的惡意工人帶來的風(fēng)險(xiǎn).
5.2.4 智能合約成本
我們通過在以太坊上部署B(yǎng)FP-Crowd智能合約來論證了可行性和成本的可接受性.本次投入100個(gè)任務(wù),為每個(gè)任務(wù)隨機(jī)生成了3倍的需求工人數(shù)的投標(biāo)工人,并根據(jù)拍賣算法選擇執(zhí)行任務(wù)的工人.操作的執(zhí)行成本由交易中的gas消耗計(jì)算,將1gas設(shè)定為5×10-9Ether,1Ether=$371.06(2020年10月21日)(3)https://ethereumprice.org/.表5展示了實(shí)驗(yàn)中的幾個(gè)關(guān)鍵函數(shù)在部署時(shí)的gas、Ether以及美元消耗.
表5 智能合約消耗表Table 5 Smart contracts consumption
與ABCrowd相比,BFP-Crowd的成本消耗稍微高,這主要由于以太幣的價(jià)格增長.其中部署合約時(shí)只需一次的操作,并不需要其他的花銷來維護(hù).addUser(·)是用戶在在注冊的時(shí)候創(chuàng)建的智能合約,只需要支付一次.在系統(tǒng)中有100個(gè)任務(wù)時(shí),發(fā)布、評(píng)估和分配薪酬總共消耗的金額是$4.8192,平均每個(gè)任務(wù)消耗$0.048192.與中心化平臺(tái)Mechanical Turk(MTurk)來管理任務(wù)時(shí)需要向平臺(tái)輸入至少20%的成本費(fèi)相比,BFP-Crowd發(fā)布任務(wù)所需要花費(fèi)的成本還是大大降低.
總而言之,將BFP-Crowd部署在智能合約上,所花費(fèi)的部署和服務(wù)成本與傳統(tǒng)的中心化眾包平臺(tái)相比大幅度減小.
本文將眾包和區(qū)塊鏈相結(jié)合,并利用基于密文策略的屬性加密實(shí)現(xiàn)細(xì)粒度授權(quán),提出了一個(gè)區(qū)塊鏈環(huán)境下的分布式空間眾包任務(wù)分配框架——BFP-Crowd.與傳統(tǒng)的中心化眾包平臺(tái)相比,BFP-Crowd主要解決了3個(gè)問題,對眾包任務(wù)的內(nèi)容加密實(shí)現(xiàn)隱私保護(hù)、優(yōu)化拍賣算法的工人選擇策略實(shí)現(xiàn)優(yōu)化任務(wù)分配方案和利用去區(qū)塊鏈實(shí)現(xiàn)去中心化.特別的,BFP-Crowd要求請求者和工人鎖定存款,保證提交答案的工人可以分配到以質(zhì)量為評(píng)估標(biāo)準(zhǔn)的酬勞,提高工人參與系統(tǒng)的積極性和公平性,若工人不能及時(shí)提交任務(wù),則扣除工人鎖定的賠償金,以保證任務(wù)請求者的權(quán)益.與針對工人的報(bào)價(jià)選擇執(zhí)行工人集合的ABCrowd和著重關(guān)心隱私保護(hù)的BPTM相比,BFP-Crowd系統(tǒng)的工人總行駛路徑大大縮短,證明分配的方案更合理.同時(shí)與BPTM模式相比,在相同的惡意工人比例下,BFP-Crowd的請求者成本損失更低,證明BFP-Crowd在保證請求者的利益這一點(diǎn)上考慮更為周到.
在未來的優(yōu)化工作中,我們會(huì)將重點(diǎn)放在任務(wù)加密以及工人的可搜索加密部分.利用一個(gè)新的密鑰管理系統(tǒng),將任務(wù)已加密的任務(wù)關(guān)鍵字和工人屬性集相匹配,這樣可搜索加密的處理能夠更進(jìn)一步的保護(hù)工人的隱私,將眾包結(jié)合區(qū)塊鏈模式的實(shí)用性進(jìn)一步提高.