日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

区块链在众包中的应用,防止搭便车和避免不真实报告

發(fā)布時(shí)間:2023/12/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 区块链在众包中的应用,防止搭便车和避免不真实报告 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文講解一個(gè)區(qū)塊鏈在眾包中的應(yīng)用,主要的思想是將一個(gè)公共的區(qū)塊鏈來代替第三方服務(wù)器(或者第三方公司)來解決搭便車(free-riding)和不真實(shí)報(bào)告(false-reporting)的問題。

更多區(qū)塊鏈資源,歡迎關(guān)注本人公眾號(hào):鏈巨人

1、背景

我們把眾包(crowdsourcing)和集眾感知(crowdsensing)劃分到相同的類別。它們大體上都表示“許多人一起完成一件任務(wù)”。如果細(xì)分的話,前者包含后者,因?yàn)榧姼兄话阒甘褂脗鞲衅鱽硗瓿傻娜蝿?wù),比如手機(jī)拍照,手機(jī)檢測(cè)噪音。本文我們將兩者統(tǒng)一對(duì)待。

在眾包中典型的應(yīng)用有:

  • 滴滴出行: 出行者在軟件上發(fā)布一個(gè)任務(wù),多個(gè)司機(jī)搶單。

  • 斯坦福大學(xué)教授FeiFei Li使用亞馬遜的眾包平臺(tái)(Amazon Mechanical Turk)收集的超過一千多萬圖片數(shù)據(jù),名為Imagenet數(shù)據(jù)集。該數(shù)據(jù)集為推動(dòng)深度學(xué)習(xí)做出了卓越貢獻(xiàn)。

  • 百度地圖中的交通擁堵感知。

  • 環(huán)境監(jiān)測(cè):空氣污染感知,噪聲污染感知,地震振幅感知。

  • 尋找外星人(S E T I@ home)——通過互聯(lián)網(wǎng)利用家用個(gè)人計(jì)算機(jī)處理 天文數(shù)據(jù)共同搜尋地外文明。

通過上面列舉的例子,我們能夠體會(huì)到眾包在我們的有很多重要的應(yīng)用。群智感知是什么?有什么典型應(yīng)用?

這里我們把發(fā)布任務(wù)的人叫requester,簡(jiǎn)稱R,把完成任務(wù)的人叫workers,簡(jiǎn)稱W。在一個(gè)任務(wù)中,有一個(gè)R和多個(gè)W。

2、動(dòng)機(jī)/Motivation

W完成一個(gè)任務(wù)需要消耗時(shí)間,還有設(shè)備比如手機(jī)的電池和通信費(fèi)用的成本。因此僅僅依靠W自愿來參加一個(gè)任務(wù)往往行不通:加入的W數(shù)量和覆蓋范圍有限。因此,我們需要一種激勵(lì)機(jī)制來讓W(xué)參加和完成一個(gè)任務(wù)。而最典型的激勵(lì)便是R支付貨幣給W。

  • 對(duì)W來說,只要worker的數(shù)據(jù)質(zhì)量達(dá)到預(yù)設(shè)的要求,且worker得到了相應(yīng)的報(bào)酬,R才能夠獲取到該數(shù)據(jù)(即,防止搭便車 prevent free-riding)。更嚴(yán)格地,我們希望除了該worker和requester,其他人都無法獲取到該數(shù)據(jù)。

  • 對(duì)R來說,它希望只有W完成任務(wù),且完成的質(zhì)量達(dá)到要求之后才支付W報(bào)酬 (即,防止不真實(shí)的報(bào)告 prevent false-reporting)。

但是,在互聯(lián)網(wǎng)中,在缺少面對(duì)面接觸的陌生人之間,很容易出現(xiàn)干活了不給錢,或者給錢了不好好干活的情況。比如,亞馬遜的眾包平臺(tái)Amazon Mechanical Turk秉持不干預(yù)的政策,不管R和W之間的糾紛。R擁有主觀決定W的工作質(zhì)量的權(quán)力,造成了很多搭便車的現(xiàn)象。這使得W投訴無門,大大降級(jí)W參與的積極性。

3、解決方法

上圖表示,借用第三方,保證:只有當(dāng)數(shù)據(jù)d滿足要求時(shí),worker能夠的到數(shù)量為r的報(bào)酬;只有支付了worker該報(bào)酬之后,requester才能得到數(shù)據(jù)。

為了防止搭便車和防止不真實(shí)的報(bào)告,我們需要一個(gè)第三方。該第三方是W和R都信任的。我們可以使用公共區(qū)塊鏈,比如以太坊,來擔(dān)任這個(gè)第三方的角色。公共區(qū)塊鏈以太坊有下面的特點(diǎn):

  • 公開透明:任何人都可以查看鏈上的信息。

  • Integrity security: 這包含兩個(gè)方面,一是鏈上的信息是不可篡改的且能夠可驗(yàn)證的;二是智能合約的input,執(zhí)行過程和output是不可篡改的且可驗(yàn)證的 (除非能夠攻破PoW共識(shí)算法或者h(yuǎn)ash算法)。

  • 具有去中心化的智能合約。本質(zhì)上智能合約是執(zhí)行在鏈上的代碼。它能夠定義一個(gè)區(qū)塊鏈的應(yīng)用邏輯。

  • 具有加密貨幣。

根據(jù)上面的特點(diǎn),我們可以使用以太坊來實(shí)現(xiàn)那個(gè)第三方。為了防止不真實(shí)報(bào)告,我們使用智能合約來檢測(cè)worker的工作/數(shù)據(jù)質(zhì)量。為了防止搭便車,我們讓R繳納押金(加密貨幣),只要W的數(shù)據(jù)質(zhì)量達(dá)到預(yù)設(shè)的要求,區(qū)塊鏈自動(dòng)把押金轉(zhuǎn)給W。但是,以太坊是公開透明的,這給“防止搭便車”增加了困難,因?yàn)橹灰獁orker將數(shù)據(jù)發(fā)到區(qū)塊鏈中,所有人(不單單是R)都能看到該數(shù)據(jù),無論該數(shù)據(jù)是否符合質(zhì)量要求。可是,該數(shù)據(jù)是R花錢“買”的,它屬于R的資產(chǎn),因此一般情況下R不希望其他人能夠免費(fèi)獲取到該數(shù)據(jù)。為了解決這個(gè)問題,我們使用Trusted Execution Environment (TEE)來實(shí)現(xiàn)數(shù)據(jù)的保密性。其中,英特爾的SGX實(shí)現(xiàn)了Trusted Execution Environment。

英特爾CPU從第六代酷睿開始增加了SGX特性,含有Intel Xeon版服務(wù)器級(jí)的CPU也包含了,比如Intel Xeon E3 v6。它是Software Gaurd Extensions的縮寫,目的是從硬件實(shí)現(xiàn)信息安全。簡(jiǎn)單來講就是英特爾通過硬件來實(shí)現(xiàn)一個(gè)安全的沙盒。這里一個(gè)電腦可以分為安全的沙盒和不安全的沙盒外部環(huán)境。沙盒外面的環(huán)境被認(rèn)為是有可能被黑客或者惡意者完全操控的,是不安全的。沙盒外面的代碼無法窺探或者修改沙盒內(nèi)部的代碼和數(shù)據(jù);沙盒內(nèi)部的代碼執(zhí)行也不會(huì)影響外部環(huán)境,沙盒有專門的“口子”,用于將數(shù)據(jù)從不安全的環(huán)境傳入沙盒或者從沙盒內(nèi)傳出到非安全的環(huán)境。這里我們把沙盒用TEE表示,它是Trusted Execution Environment的簡(jiǎn)稱,沙盒內(nèi)部的環(huán)境中的程序被稱為enclave程序,中文翻譯為飛地。

我們需要借用TEE來解決上面所述的搭便車的問題,讓worker得到保證:只要worker的數(shù)據(jù)質(zhì)量達(dá)到預(yù)設(shè)的要求,且worker得到了相應(yīng)的報(bào)酬,R才能夠獲取到該數(shù)據(jù)。

上圖展示的是系統(tǒng)架構(gòu)示意圖。其中有五個(gè)實(shí)體,除了已經(jīng)提到的worker,requester和公共區(qū)塊鏈,還有礦工和TEE。現(xiàn)在,每一個(gè)礦工都需要安裝TEE,用來檢測(cè)worker的數(shù)據(jù)的質(zhì)量。我們使用下圖來展示worker的數(shù)據(jù)的流動(dòng)過程。

?

1、首先worker將數(shù)據(jù)提交給區(qū)塊鏈的節(jié)點(diǎn),具體的,是區(qū)塊鏈安裝有TEE的節(jié)點(diǎn)或者礦工。當(dāng)然,因?yàn)閿?shù)據(jù)是在網(wǎng)絡(luò)中傳輸?shù)?#xff0c;在傳給TEE之前,worker需要和TEE執(zhí)行一個(gè)密鑰共享協(xié)議,使得兩個(gè)人都得到一個(gè)相同的密鑰。worker將該數(shù)據(jù)加密,再傳給TEE。

2、TEE從區(qū)塊鏈中獲取該worker的相關(guān)信息,檢查該worker是否已經(jīng)注冊(cè)了該任務(wù)等等。

3、TEE使用預(yù)定義好的函數(shù)eva(d)來檢測(cè)worker的數(shù)據(jù)d的質(zhì)量。如果數(shù)據(jù)質(zhì)量符合要求,區(qū)塊鏈便支付該worker預(yù)定義好的貨幣。如果質(zhì)量不符合要求,TEE不會(huì)將數(shù)據(jù)給requester。當(dāng)然,也不會(huì)支付worker報(bào)酬。

4、等到確認(rèn)該worker被成功付款了,TEE將該數(shù)據(jù)的密文存到區(qū)塊鏈中,將密鑰發(fā)給requester。如果考慮到區(qū)塊鏈的存儲(chǔ)有限,TEE可以將數(shù)據(jù)密文存儲(chǔ)到一個(gè)公共的數(shù)據(jù)庫中,比如IPFS或者一個(gè)公共的cloud中,然后將密鑰發(fā)給requester。只是,這會(huì)降低數(shù)據(jù)密文的availability。

從上圖的紅色箭頭路徑可以看出,worker的數(shù)據(jù)在最后worker收到報(bào)酬之后才會(huì)被公開給該requester,因此,這符合我們前面提到的“防止搭便車”的要求。

現(xiàn)實(shí)中,并不可能所有的礦工都會(huì)安裝TEE。一個(gè)礦工使用TEE來檢測(cè)worker的數(shù)據(jù)質(zhì)量,這是一份額外的工作,相比于正常的挖礦。因此,我們可以考慮給予這部分礦工額外的獎(jiǎng)勵(lì)。

詳細(xì)內(nèi)容請(qǐng)閱讀:Liang, Y., Li, Y., & Shin, B. S. (2020). Faircs—blockchain-based fair crowdsensing scheme using trusted execution environment.Sensors,20(11), 3172.

謝謝

總結(jié)

以上是生活随笔為你收集整理的区块链在众包中的应用,防止搭便车和避免不真实报告的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。