牟星宇,廖祎瑋,趙國生,王 健
1(哈爾濱師范大學 計算機科學與信息工程學院,哈爾濱150025)2(哈爾濱理工大學 計算機科學與技術學院,哈爾濱 150080)
群智感知是通過用戶的參與來收集大量數據的一種機制,是物聯網與眾包思想的結合.隨著智能手機,可穿戴移動設備等移動智能感知計算設備的發展普及,傳統的數據收集方式已經完全不能滿足目前互聯網應用對數據的實時性要求,并且它本身就存在著成本太高、部署困難等問題,群智感知的技術應運而生.
群智感知需要大量智能移動設備和用戶的參與,即基本單元的感知節點通過人與智能終端混合的形式存在[1]用戶需要投入時間精力和承擔設備損耗等資源,這影響了用戶參與感知任務的積極性也降低了用戶提供高質量感知數據的積極性.因此需要用戶激勵機制來激勵用戶積極的參加并上傳高質量數據.
群智感知激勵機制的研究成為群智感知網絡的熱點研究方向,獲得了較多的研究成果.劉媛妮等[2],提出了以任務為中心的逆向競拍激勵機制,針對最大化用戶轉換率為目標,用戶執行任務時可轉售任務給新用戶,從而最大化用戶效用.童海等[3],提出了匿名競拍的雙向拍賣激勵機制,通過采樣進行用戶篩選,然后預估用戶報酬,這樣既最大化了用戶效用又保證了交易的公平性.傳統的激勵機制從降低成本出發,忽視了數據質量問題的影響,用戶上傳感知數據質量越高其投入的成本越高,理應給與其更多的報酬.
針對數據質量及其成本問題,Reddy等[4]指出基于報酬支付的激勵形式,提出了使用微支付方式的激勵模型,定義了一套指標用于評估激勵措施的有效性,得出基于報酬支付的激勵形式效果更好.南文倩等人[5]通過對任務代價和用戶能力的分析,結合系統、感知任務和用戶之間的交互來激勵用戶上傳高質量感知任務.Jaimes等[6]設計了基于多輪逆向競拍的激勵機制,鼓勵用戶參與需要連續和定期抽樣的感知計劃.該機制在選擇用戶時不僅考慮了用戶的競價也考慮了用戶的地點,實驗結果表明,該機制在實現最優預算利用率的同時確保感知區域被覆蓋并保證每一輪競拍有足夠的用戶.Luo等人[7]提出了最大化收益的拍賣激勵方法,通過感知任務的特點設計的刺激貢獻函數,傳統拍賣方法只考慮如何降低成本,忽視了數據質量問題.該方法為提供高質量感知數據的用戶給與更多酬金獎勵,實驗表明該方法可以明顯提升用戶收益.Wang等[8]定義了用戶的信譽模型,綜合考慮了用戶和感知平臺兩方面,使用戶的報酬和系統數據質量都得到了提高.
上述的激勵機制中,都需要可信第3方或半可信第3方參與報酬交付流程.由于用戶必須先對通信實體進行驗證,將感知數據傳遞給對方.這個過程中,用戶所提交的感知數據很容易被截獲.感知數據中可能包含用戶位置和其他敏感信息,面臨引入第3方參與的隱私安全問題.為了保持用戶的積極性和可持續性,實施隱私保護措施是必須的.
研究人員的研究方向開始轉向分布式系統.S.Goldwasser等[9]提出了零知識證明(zero-knowledge proof),屬于分布式證明系統,廣泛應用于區塊鏈技術.是一種不透露自己的任何信息,卻能證明自己擁有某個屬性的方法.借助這一理論,Zk-snarks技術[10]允許將任何復雜的驗證問題轉化為一個多項式驗證問題,再利用橢圓曲線上的指數知識困難假設[11]和同態隱藏手段,以及Fait-Shamir轉換技術,獲得最終形式的一種簡潔且非交互式的零知識證明.Lu等[12]依據這一理論設計了一種匿名機制,防止惡意用戶利用匿名機制實現雙花,但該機制未考慮惡意攻擊者上傳病毒后對系統整體造成的損害.此時,Li等[13]利用區塊鏈的去中心化特性,提高了網絡安全性.但其并未考慮數據加密與區塊鏈的用戶唯一秘鑰之間存在的的矛盾關系.
針對上述問題,本文提出基于Tangle網絡的群智感知激勵方法(Tangle-net Crowd Sensing,TCS),在該方法中,感知平臺發布感知任務,用戶上傳感知數據,感知平臺交付報酬等操作都被相應記錄,Tangle網絡不需要第3方介入,有效解決了引入可信第3方面臨的安全問題.在TCS方法中,網絡能夠保持完全去中心化,不需要礦工傳遞信任,也不需要支付交易手續費,可以最大程度提高用戶報酬.TCS方法在保證用戶安全隱私的前提下進一步提高了用戶參與的報酬收益,兩者有機結合,提高用戶參與感知任務的積極性.本文主要貢獻有2個方面:
1)提出基于Tangle網絡的群智感知激勵方法,利用Tangle去中心化網絡的安全屬性保護用戶隱私安全,通過模擬攻擊驗證系統健壯性.
2)利用Tangle網絡無需交易摩擦費用的特性,實現最大化用戶參與感知任務的報酬,提升用戶參與感知任務的積極性.
群智感知的經典結構[14]由數據使用者、感知平臺、用戶3部分組成,感知任務執行過程[15]如下:
1)感知平臺發布感知任務、激勵獎勵和數據要求,對用戶提交的數據進行考量評估并根據貢獻給與報酬.
2)用戶攜帶智能感知移動設備,用戶在收到任務后需要預估感知報酬R和消耗代價C,當R>C時用戶執行感知任務.
3)感知平臺通過用戶提交的感知數據的質量和感知代價綜合考量報酬,選定用戶中的1個子集執行感知任務.對于子集中的每一個用戶根據其有效工作量給予一定量的報酬.激勵機制的設計直接決定著用戶的積極性及感知任務質量[16],是群智感知模型的最重要的研究.
在Tangle中,交易相互關聯,就像一個大的網絡糾纏在一起.沒有“塊”的概念.該技術本身基于有向Acylic圖.有向圖DAG(Directed Acyclic Graph)是由有限數量的邊和頂點組成.DAG的組成單元是一筆筆的交易,每個單元記錄的是單個用戶的交易,這樣就省去了打包出塊的時間.驗證手段則依賴于后一筆交易對前一筆交易的驗證這種驗證手段,使得DAG可以異步并發的寫入很多交易,并最終構成一種拓撲的樹狀結構,能夠極大地提高擴展性.
通過DAG,Tangle網絡通過平行驗證能實現較高的交易吞吐,無需等待塊開采.交易幾乎會實時進行驗證,一次可以提供更快的交易速度和更多的交易.網絡中的每個有效節點都可以有效地對交易進行驗證,無需支付交易費.Tangle網絡會激勵越來越多的用戶都將發起交易,促使整個系統變得越來越安全和快速.確認時間會縮短,交易也完成的越來越快,更能保證交易結算的安全性和數據完整性.
本文的TCS方法使用Tangle網絡來保證用戶遵循交易規則.TCS方法無需礦工驗證交易,通過每個可發起交易的人負責驗證其他交易.所以整個網絡中沒有礦工,發出交易的人就無需支付交易的手續費.用戶收益增加,更能激勵用戶高質量的完成感知任務.基于Tangle網絡的群智感知模型圖見圖1.首先感知平臺上傳感知任務,用戶接收到感知任務,完成后選擇路徑并校驗,將數據發送給相互關聯的節點直至尾部,尾部驗證數據質量并量化貢獻給出交易報酬同時將報酬發到感知平臺,感知平臺通過驗證后支付給用戶報酬并直接轉入用戶賬戶.

圖1 基于Tangle網絡的群智感知模型Fig.1 Crowd sensing model based on Tangle network
從感知平臺發布任務直到交付給用戶報酬,該過程視為一次交易,在進行一次交易的同時需要將上一筆交易信息發給尾部節點,通過尾部節點進行數據對比,間接校驗了舊的交易,保證了感知過程的可靠性,由于不需要可信第3方參與交易,擺脫了中心交易帶來的隱私安全等問題.
本文方法通過3個階段來處理感知任務:
1)發布任務階段:感知平臺S發布N個不同的感知任務,包括任務名稱、任務功能、要求等信息,并給定具體的報酬標準、評估標準,不同標準等級的數據給予不同的報酬R,允許用戶U={u1,u2,…,un}來接收和完成任務.
2)用戶評估任務:用戶收到感知任務后進行評估任務,根據用戶ux的感知數據dataux判斷用戶ux的工作量Qux.用戶通過對比代價C和報酬R來決策是否參與任務,用戶都是貪婪的,會最大化自身利益,用戶ux所得收益為Earnings(ux)=Rux.
3)參與及上傳數據階段:用戶評估感知代價后,決定是否參與任務以及上傳感知數據.當該任務符合條件報酬Qux≤Rux時,用戶上傳感知數據.感知平臺驗證用戶ux的感知數據dataux后,再通過工作量Qux判斷用戶ux能否得取相應報酬Rux,確認后支付相應報酬Rux.
用戶上傳感知數據后,由感知平臺的尾部節點(Tip)對數據進行驗證評估并作為用戶報酬發放標準,通過劃分不同工作量標準匹配不同酬金來激勵用戶提高數據質量.文獻[17]采用的EM算法[18]進行迭代計算,但該方法計算過于復雜,在獲得E步積分顯示比較困難.為解決該問題,本文采用MCEM算法[19]來預估用戶的工作量,MCEM算法是將EM算法中的E步拆分為E1和E2兩步,并加入Monte Carlo模擬方法來實現E步積分求解,相較于EM算法該方法具有更快的計算速度和收斂特性.

記Ei為第i+1次迭代開始的估計值,隨機的抽取n個隨機數k1,k2,k3,…,kj,…,kn,則第i+1次迭代的E1步、E2步和M步為:
(1)
(2)
(3)


(4)
設新發布的任務驗證過程中被重復驗證的用戶記為集合A,概率記為p1,即驗證了集合A又驗證了新用戶的記為p2.這里p1和p2的關系式如下:
(5)
(6)
所以D(t)微分方程如下:
(7)

(8)
(9)

(10)
報酬交付前需要對節點進行可信度計算,交易的可信度是確認它的tip的數值.并非所有tip都被認為是同等的.本試驗在模擬中增加了可信度.可信度超過51的交易周圍有加粗邊框來加重顯示.
在圖2的Tangle網絡中,4條tips中的2條確認了交易9.如果我們使用統一的隨機tip選擇,它將有一個精確的50的可信度.然而,確認它的tips顯然比沒有的tip要更新,這就提高了可信度.本試驗采用協調器協調機制.每隔兩分鐘,感知平臺創建一筆里程碑交易,所有經它確認的交易立即被認為具有100的可信度.協調器在Tangle網絡中充當了一種保護機制,直到完整的Tangle網絡分布式共識算法開始發揮作用時,感知平臺將關閉協調器,讓Tangle網絡完全依靠自身來演化和發展.這將在迭代階段發生,當網絡成熟到可以擺脫協調員時,網絡本身也會立即變得更加效率.

圖2 Tangle網絡交易示例圖Fig.2 Tangle network transaction example diagram
在不破壞任務數據的可用性的前提下保護用戶隱私是亟需解決的問題[20].在TCS方法中,用戶在對數據進行簽名時需要匿名[21],且由新加入的用戶來確認身份,這在一定程度上保證了用戶的隱私安全.在群智感知激勵框架中,惡意篡改和偽造數字簽名會對用戶和感知平臺造成損失.在TCS方法中,所有交易都以地址為唯一識別標識,具有不可篡改的特性,也進一步的提升了安全性.
TCS方法的結構特性決定了它不存在因第3方發生的安全問題,具有系統健壯性,每個節點平等且獨立生存,部分節點遭受攻擊也不會影響其他節點和系統的正常運轉,Tangle網絡對交易數據的驗證特性也有效的避免了用戶可能受到酬金分配不平等問題.
這里通過設計一個攻擊方案來驗證安全性.
1)攻擊者完成感知平臺的任務后,在感知平臺認為交易已經獲得了足夠大的累積權重之后,攻擊者拿到了報酬;
2)接下來攻擊者發布帶有攻擊者簽名的一筆雙重支付的報酬支付請求;
3)同時使用攻擊者全部的計算能力來大量的發出小規模交易,并且這些交易不去直接或者間接驗證原始的交易,而是去驗證那筆雙重支付的交易;
4)這里假定攻擊者擁有大量的女巫攻擊身份,并且他可以繞開節點進行驗證;
5)攻擊者期望他的sub-DAG超越主體DAG,從而使得DAG持續從攻擊者的雙重支付交易進行增長,以便使得之前合法的支付交易被拋棄掉.
上述攻擊方案較為極端,但在數學模型的“理想”情況下,這種攻擊總是可以成功的,這里進行計算該攻擊成功的幾率.

(11)

(12)

仿真分析通過采用真實數據集的方式對本文TCS方法進行驗證,真實數據集選用GeoLife來模擬用戶的行動[22],數據集收錄了182名用戶的軌跡數據.數據包含了一系列以時間為序的點,并記錄了用戶的活動軌跡,比如購物、旅游、遠足等活動.本試驗在Ubuntu系統下通過Python模擬試驗得出仿真結果,參數設置見表1.

表1 仿真參數設置Table 1 Simulation parameter setting
為了方便處理將整個過程的開始時間記為00:00:00.仿真任務信息見表2.

表2 任務時間設置Table 2 Simulation task information
要得到更多高質量的數據,首先要保障有足夠的用戶數據量[23].所以本文主要針對用戶數據量這個方面來進行仿真試驗,來驗證TCS方法在群智感知中對用戶數據量的提升起到的積極作用,并且與Luo團隊[7]提出的RSFP方法和南文倩等人[5]提出的CSII方法進行對比試驗.用戶的數量是感知數據“量”的基礎,激勵方法的本意也是激勵更多的用戶加入到執行任務的行列,用戶加入感知任務的積極性也可以通過備選人員的人數來更直觀的體現出來.
圖3表示了在相同環境不同感知任務的情況下,相對于不使用TCS方法,使用TCS方法會增加更多備選人員.證明了通過使用激勵方法TCS可以明顯的提升用戶參與感知任務的積極性.

圖3 不同激勵環境下備選人員對比Fig.3 Comparison of candidates
為了更直觀的凸顯該方法優點,這里設用戶能力相同且平均交易摩擦費用為10費用.從第一次交易后每4次進行交易費用的累計.交易費用以及以太坊手續費參照以太坊2019年7月1日交易費用.這里選取Ethereum和Litecoin兩種電子貨幣作對比,結果如圖4所示,TCS方法中不需要礦工傳遞信任,無需支付交易手續費.不難看出TCS方法交易費用遠低于Ethereum和Litecoin的交易費用.TCS方法的成本優勢可見一斑.

圖4 不同交易類型的交易費用對照Fig.4 Comparison of different types of transaction fees
同時用戶收益和任務候選人數是影響用戶響應感知任務的重要條件.感知任務的候選用戶越多,用戶參與感知任務的機會就越大.由圖5所示,感知任務用戶增加,候選人數也隨之明顯增加.證明了候選者數量會隨著參與感知任務的用戶數量的增加而增加.不難看出,TCS方法的候選人數增加量在參與任務人數達到35后逐漸與CSII和RSFP方法拉開差距,這是由于候選人數不斷增多,使得整個網絡面臨的壓力也不斷增加并會增加感知任務成本.TCS方法在用戶收益方面具有巨大優勢,所以會增加用戶參與感知任務的積極性,更利于感知平臺獲得更多的用戶以及更高質量的感知數據.

圖5 候選者人數對比Fig.5 Comparison of the number of candidates
TCS方法中,所有上傳感知任務的用戶都可以根據對感知數據的工作量來獲得相應報酬,由于TCS方法采用無礦工參與的分布式記賬管理,不存在交易摩擦費用,可以提高用戶的收益,從而提升用戶加入群智感知任務的積極性.圖6是用戶執行感知任務的收益情況對比.可看出在TCS方法中用戶收益明顯高于RSFP和CSII兩種激勵方法,這是因為RSFP方法采用報酬支付標準為多人競爭,勝者獨享;在CSII方法中參與感知任務的用戶都可以獲得報酬獎勵,提升了所有參與任務的用戶的收益,但會降低個人收益;而在TCS中,參與感知任務的每個用戶都會根據感知任務代價的不同獲得不同報酬,按勞分配.這樣的支付方案能夠提高用戶個人收益,更有利于提高用戶參與感知任務的積極性.

圖6 用戶收益情況對比Fig.6 User revenue comparison
TCS方法通過可信度來衡量用戶的可靠性,每次用戶完成感知任務后,感知平臺都會對其進行可信度的衡量,綜合權重得出用戶的可信度,使得感知網絡更安全,減少惡意節點的存在.在TCS方法中,為避免λw>μ的情況發生,這里認為可信度高于51即為可信節點. 圖7表示試驗隨機選取30名用戶各完成50次任務,用戶參與任務獲得的可信度.試驗結果表明有26名用戶的可信度高于51,杜絕了λw>μ的情況發生,進一步保證了網絡的安全性.

圖7 用戶可信度Fig.7 User credibility index
TCS方法通過提高用戶收益與保護用戶隱私這兩方面來激勵用戶參與感知任務.圖8是通過隨機選出30名用戶參與50次感知任務后的任務完成情況來計算用戶參與度.在這個基礎上,計算平均用戶參與度,與TCS方法做差值,如表3所示,與RSFP方法和CSII方法相比,TCS方法在用戶參與度上分別提升了0.404和0.092.CSII方法在任務預算高的前提下,無論參與者是否完成感知任務都會得到相應的任務補償,而RSFP方法沒有任務補償.雖然CSII方法和TCS方法都提高了任務報酬獎勵,但CSII方法是通過信譽度的高低來優選參與者,導致參與任務的要求變高,將未參與感知任務或參與感知任務次數較少的參與者拒之門外.TCS方法通過引入可信度避免了上述情況的發生,每個用戶都有參與感知任務的機會,降低了參與感知任務的門檻,提高了用戶參與感知任務的積極性.

表3 平均用戶參與度Table 3 Average user engagement

圖8 用戶參與度Fig.8 User engagement index
為了滿足群智感知技術在發展中對用戶參與度提升的需求,提出了基于Tangle網絡的群智感知用戶可信激勵方法.所提方法使感知網絡完全去中心化,不需要礦工傳遞信任,也不需要支付交易手續費,降低了任務成本,同時利用匿名技術來保護用戶的隱私,提高了用戶參與感知任務的積極性.所提方法采用模擬攻擊證明了該機制的安全性,然后通過用戶執行感知任務的來驗證該方法的可行性.最后采用仿真分析證明使用所提方法可降低感知任務成本,讓用戶的參與報酬最大化的同時使用戶參與感知任務的積極性顯著提高.下一步工作將利用Tangle網絡的安全優勢結合更高效的任務分配算法,來應對更復雜的群智感知網絡.