Yuan L, He Q, Tan S, et al. Coopedge: A decentralized blockchain-based platform for cooperative edge computing[C]//Proceedings of the Web Conference 2021. 2021: 2245-2257.
論文地址:https://doi.org/10.1145/3442381.3449994
CoopEdge是本文提出的一種基于去中心化區塊鏈的合作邊緣計算平臺,旨在促進邊緣服務器進行合作邊緣計算,在CoopEdge上,超過計算負載的邊緣服務器可以發布一個計算任務,其他的邊緣服務器根據他們的計算能力和聲譽來進行競爭這個計算任務的執行權,任務執行完成后,由各個邊緣服務器對執行任務的邊緣服務器進行共識操作,在區塊鏈上記錄其性能,
1 介紹
邊緣計算通過將終端用戶連接到與他們距離相近的邊緣服務器,可以實作低延遲的服務傳輸,但是,邊緣服務器與云服務器不同,其計算能力有限,在用戶密度高的區域,往往不能處理所有的用戶請求的任務,這就要求了鄰近的邊緣服務器能夠互相卸載任務,進行合作邊緣計算, 就如圖1所示,邊緣服務器可以將任務卸載到
或
,

在邊緣計算環境中,邊緣服務器通常由不同的基礎設施提供商進行部署和管理,如Amazon和Verizon等,那么,當Amazon邊緣服務器想將任務卸載給Verizon邊緣服務器
時,
就可能因為不合利益而拒絕執行任務,同時,邊緣服務器
和
也會因為剩余計算資源的不足而拒絕執行任務,這就需要對邊緣服務器進行激勵,
另一個問題是信任問題,假設接受了
的任務卸載,但是由于
幾乎已經過載了,不能按時完成任務的執行,為了保證低延遲,需要選擇最可靠、最能按時完成任務的邊緣服務器,
2 CoopEdge概述
在CoopEdge中,有四個角色,分別為:任務發布者、任務候選者、任務執行者、任務記錄者,

CoopEdge架構的任務執行的流程如下:
步驟一:作為任務發布者的邊緣服務器將進行對等卸載(peer-offloaded)任務的要求和基本獎勵發送給所有的邊緣服務器,
步驟二:接收到已發布的任務后,各個邊緣服務器檢查其與任務發布者的網路延遲,如果在閾值以內,該邊緣服務器就成為任務候選者,
步驟三:任務發布者在所有的任務候選者中選擇一個最可靠的邊緣服務器成為任務執行者,
步驟四:任務發布者廣播其決策并將任務卸載給任務執行者,
步驟五:任務執行者執行任務,并將結果回傳給任務發布者,并廣播其任務的完成,
步驟六:任務發布者將關于任務的資訊打包到一個交易中,并廣播它,
步驟七:基于邊緣服務器的聲譽,通過分布式共識選擇任務記錄者,由任務記錄者創建一個交易塊,
步驟八:任務記錄者將交易塊廣播到其他的邊緣服務器進行驗證,并收集驗證結果,如果達成共識,就將交易塊添加到區塊鏈中,
3 激勵機制
CoopEdge采用積分的形式來創建激勵機制,邊緣服務器可以通過
1)以任務執行者的身份贏得一個任務的執行權并且按時完成任務,獲得交易獎勵;
2)作為任務記錄者成功將任務交易塊提交到區塊鏈,獲得記賬獎勵,
交易獎勵包括:基本獎勵和額外獎勵,基本獎勵為按時完成任務的獎勵,額外獎勵為提前完成任務的獎勵,同時,如果未能按時完成任務,只能獲得1/4的基本獎勵,
其中的獎勵都為積分,
4 聲譽機制
4.1 聲譽計算
在聲譽系統中,有兩個問題需要解決:1)不能由于完成少量的交易而獲得高聲譽,因為可能掩蓋其過去糟糕的性能;2)不能由于完成大量交易的平均水平而獲得高聲譽,因為可能隱藏了其中的錯誤行為,
CoopEdge使用一個視窗u來確定在評估邊緣服務器聲譽時要考慮的最近的交易數量,它是指定的,對于不同用戶密度的地區,可以指定不同的值,
在3中,額外獎勵用于獎勵邊緣服務器提前完成任務,其同時也可以定義為邊緣服務器的性能,
最近的交易通常更能表現出邊緣服務器完成任務的未來性能,因此采用指數移動平均(EMA)技術來計算聲譽:
表示邊緣服務器s在過去n此交易中獲得的聲譽,
表示n+1次取得的額外獎勵,同時也是其性能,引數
用于表示交易權重隨時間的減少速度,一般來說,在計算邊緣服務器的聲譽時,一個較大的
函式會為最近的交易分配更多的權重,
其計算程序可以表示為:
...
可以看出最近的交易占據最大的權重,

4.2 任務執行者選擇
任務執行者的選擇考慮邊緣服務器的延遲和聲譽,邊緣服務器的得分計算為:
其中,和
分別為歸一化后邊緣服務器i的聲譽和延遲,
和
為權重系數且
,延遲為從任務發布者發布任務到邊緣服務器i接收到訊息的時間,
4.3 安全威脅
本研究中,考慮1)一個同步網路,其中的訊息在已知的有限時間內傳遞;2)經典的對手模型,即n>=3f+1,其中n為邊緣服務器的總數,f為相互勾結的對抗性邊緣服務器的最大數量,
n>3f (n=3f+1) ?
n是總節點數,f是拜占庭節點數,拜占庭節點可能不發送訊息可能發送錯誤訊息,
如果要達成一致,在f個拜占庭節點都不發送訊息的情況下,必須要收到n-f個訊息才可進行共識,所以n-f是需要收到的訊息最小應答數目,
節點如果收到n-f個訊息想進行共識就需要這n-f個訊息中的正確節點發送訊息數大于拜占庭節點發送的訊息,
n-f個訊息中拜占庭節點最多有f個訊息,所以正確訊息數n-f-f,共識條件n-f-f>f,即n>3f, n_min=3f+1.
參考自:https://www.cnblogs.com/naixil/p/13185602.html
那么,潛在的威脅有:
1)惡意的邊緣服務器可能完成對等卸載任務,但試圖偽造完成時間,惡意邊緣服務器也可能會給聲譽系統注入虛假評級,例如,給其他惡意邊緣服務器任意高的評級,或給真正的邊緣服務器虛假低的評級,
2)惡意邊緣服務器可能會不斷地將對等卸載的任務交給特定的邊緣服務器,以增加其聲譽,
對于1),本文采用分布式共識來使所有邊緣服務器共同評估和確認,對于2),本文的競爭機制只會讓高性能和高聲譽的邊緣服務器來執行任務,
5 共識機制
5.1 概述
CoopEdge中有兩個部分需要用共識機制來驗證,為1)卸載任務的完成時間;2)驗證任務發布者是否有足夠的積分支付獎勵,
在區塊鏈中,通常會選擇一個礦工來創建一個新的塊,本文受PBFT(實用拜占庭共識演算法)和Hotstuff的啟發,根據所有邊緣服務器的聲譽來選擇一個leader來作為任務記錄者,為每個交易創建一個交易塊和一個記賬塊,交易塊包含交易的開始時間、完成時間、基本獎勵和額外獎勵,記賬塊包含leader創建交易塊并將其添加到區塊鏈中的記賬獎勵,
在PBFT中,采用一個視圖變更(view-change)來變更失效的主節點,同樣,在CoopEdge中,當leader在一段時間內沒有回應時,也采用同樣的機制來變更leader,
從下面兩張圖中,也可以看出,PBFT的通信復雜度為,而本文的PoER由于各個服務器可以直接和leader進行通信,所以復雜度為
,
更加詳細的PBFT內容可以訪問:https://blog.csdn.net/weixin_43927408/article/details/90382199


5.2 共識程序
共識程序具有三步,包括第一階段驗證、第二階段預提交和第三階段提交,如上圖所示,
第一階段驗證,這個階段,Leader將任務的資訊打包成一個新交易塊并生成一個驗證資訊,表示為,v是視圖編號(可以說一個視圖對應一個Leader),n是序列號表示相應的交易,blockID為交易的ID,然后,Leader廣播交易塊和Validate訊息,邊緣服務器收到訊息后,首先通過視圖v驗證此訊息是否為Leader發送,然后驗證交易塊中的時間和獎勵資訊,
在CoopEdge中,每個邊緣服務器會記錄每個交易的開始時間和完成時間,并可以通過這兩個計算任務花費的時間,同時,在打包的交易塊中,有任務完成的時間
,將兩者作比較,如果差值不大于一個閾值
,那么就認為交易塊有效,
接著,驗證任務發布者剩余積分是否能夠支付足夠的獎勵給任務執行者,
如果兩者驗證成功,則邊緣服務器將驗證結果發送給Leader,作為投票,
第二階段預提交,在接收到至少2f的驗證投票后,leader通過預提交訊息廣播投票結果,通知所有邊緣服務器進入預提交階段,發送訊息,在接收到預提交訊息時,邊緣服務器將交易塊添加到其日志中,并回傳一個
的Ready訊息,通知Leader他們已經準備提交,
(這里的2f是由于總共至少3f+1個邊緣服務器,其中最多有f個惡意邊緣服務器,至少2f表明所有的邊緣服務器形成了共識,)
第三階段提交,當Leader接收到至少2f個Ready訊息后,廣播訊息,通知所有邊緣服務器正式提交交易塊,
6 實驗評估
本文進行了大量的實驗,以對比基線和兩個最先進的實作來評估CoopEdge的性能,結果表明,該方法能夠以較低的開銷提高和平衡系統吞吐量,其詳細內容可以閱讀論文,其實驗內容不再詳細描述,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/302845.html
標籤:區塊鏈
