GeTrust 論文摘要

原始論文來源 : GeTrust: A Guarantee-Based Trust Model in Chord-Based P2P Networks

簡介

P2P網路的主要特色是去中心化、自治和匿名性。然而,由於使用者可能會有非預期的行為,P2P網路需要一套信任模型來建立節點之間的信任關係。現有的大多數信任模型都是以推薦為基礎,但卻面臨著緩慢收斂和複雜的信任分數計算導致網路壅塞的問題。因此,在本篇論文中,介紹了另一種以擔保為基礎的信任模型GeTrust,其適用於基於Chord的P2P網路。

在GeTrust的模型架構下,提供服務的service peer需要透過guarantee peer的擔保,並拿雙方的reputation進行質押,才有機會提供服務給有服務需求的request peer。為了強化GeTrust的可用性和避免惡意行為,GeTrust設計了激勵機制和採用匿名的reputation管理機制。模擬結果顯示,GeTrust在提高成功交易率、抵抗複雜攻擊、減少網路壅塞和降低計算複雜度方面是有效和高效的。


相關定義

這邊主要說明在理解GeTrust架構時,需要先知道的一些定義。

Service Peer & Service Reputation

  • Service Peer
    • 在交易中提供服務的節點。
  • Service Reputation
    • Service Peer節點的聲譽,數值大小代表服務的可信度。
    • Service Peer剛進入網路時,設定初始數值為0.5,合法數值則介於[0,1]。
    • 當Service Reputation落在(0.5, 1],則Service Peer可以提供擔保成為Guarantee Peer。
    • 每次提供服務都需要質押部分的Reputation,所以不可能都是由特定Service Peer提供服務。

Guarantee Peer & Guarantee Reputation

  • Guarantee Peer
    • 在交易中替Service Peer擔保。
  • Guarantee Reputation
    • Guarantee Peer的聲譽,數值大小代表擔保的可信度。
    • 每次提供擔保都需要質押部分的Reputation,所以不可能都是由特定Guarantee Peer提供擔保。

每個Service Peer都需要有至少一個Guarantee Peer的擔保,並一起對所提供的服務負責(這邊說的負責指的是提供服務和擔保都需要拿出一定的Reputation進行質押)。

Archive peer

  • Archive Peer
    • 管理所負責的Service Peer、Guarantee Peer的Reputation。
    • 管理所負責的Service Peer、Guarantee Peer與Request Peer的交易紀錄。
    • 可以根據Request Peer給予的回饋(feedback)調整Service Peer、Guarantee Peer的Reputation。

網路中的每個Peer都有機會變成Archive Peer。

Request Peer

  • Request Peer
    • 在交易中向Service Peer要求服務。
    • 交易後,給予管理參與這次交易的Service Peer和Guarantee Peer的Archive Peer回饋(feedback)。

一個節點可以同時是Request、Service和Guarantee Peer。

Direct Trust

  • Direct Trust
    • Request Peer在要求服務時,會對參與交易的Service Peer和Guarantee Peer進行trust evaluation,而Request Peer可直接根據過去的交易紀錄進行trust evaluation,不必重新做各種計算,這種評估方式稱為Direct Trust,且越近期的交易,在做Direct Trust時的影響越大。

如果Request Peer沒有過去的交易紀錄,則還是需要做各種計算來評估是否由Service Peer提供服務。


GeTrust運作流程

GeTrust的運作牽涉到很多公式的計算。為了輕鬆且快速的理解GeTrust的運作,以下是簡略的運作流程說明。詳細的流程請參見原始論文。

GeTrust的運作流程 : 建立擔保關係 -> 建立服務關係 -> 計算聲譽。

建立擔保關係

  1. Service Peer需要確認有足夠的擔保可以提供服務

    Service Peer會有兩個紀錄替它擔保的Guarantee Peers的清單,分別是備援擔保清單(BGL)和目前擔保清單(CGL),當Service Peer要提供新的服務,根據服務的交易量,Service Peer需要質押一定比例的Service Reputation。除此之外,它還需要檢查自己的備援擔保清單(BGL)裡面的Guarantee Peers剩下的Guarantee Reputation的總和與質押的Service Reputation的差值是否大於0,小於0則代表Reputation總和不夠,Service Peer需要到網路中找更多的Guarantee Peers,找不到足夠的Guarantee Peers,Service Peer就需要等待。

    BGL裡的Guarantee Peers的剩餘Reputation總和必須大於Service Peer質押的Service Reputation,差值的計算由Service Peer的Archive Peer負責

  2. Guarantee Peer需要評估Service Peer是否值得被擔保

    當收到來自Service Peer的擔保請求,Guarantee Peer的Archive Peer會先確認Service Peer不在它的黑名單裡面,若在黑名單裡面,則直接拒絕提供擔保,反之則進入後續的評估。根據過去Guarantee Peer為Service Peer提供擔保的紀錄和Service Peer目前的Service Reputation的數值,Guarantee Peer的Archive Peer可以算出對Service Peer的信任度,若計算出的信任度大於0,則Guarantee Peer的Archive Peer就會同意Guarantee Peer對Service Peer進行擔保。

    但是剛加入網路的Service Peer的初始Service Reputation很低(0.5),也沒有被任何Guarantee Peer擔保的紀錄,所以很難有Guarantee Peer會為這類的Service Peer提供擔保。但在GeTrust裡面有一群特殊的Guarantee Peers稱為self-recommenders,它們會向Service Peer自我推薦,不必進行任何評估就願意為Service Peer提供擔保。

  3. 成功建立Service Peer與Guarantee Peer間的擔保關係

    當成功建立Service Peer與Guarantee Peer間的擔保關係,Service Peer會把Guarantee Peer的資訊,添加到先前說的兩個清單CGL和BGL裡面,之後只需要在提供服務的時候先確認這兩個清單的資訊,因此相較recommendation-based的信任模型,GeTrust可以大量減少運算與訊息的複雜度。

建立服務關係

  1. Service Peer需要評估是否回應Request Peer的服務請求

    當收到Request Peer的服務請求,Service Peer需要評估是否回應服務請求。這個評估是根據Request Peer的Service Reputation和Guarantee Reputation依權重算出的總和(前面有說過,一個節點可以同時是Request、Service和Guarantee Peer),再和目前Service Peer剩下的Service Reputation相減的差值來決定,當差值的絕對值小於Service Peer設定的閾值,則Service Peer會願意向Request Peer提供服務。

    我們可以歸納出以下原則,擁有high reputation的service peer只會接受
    擁有high reputation的request peer的request

  2. Request Peer需要評估向哪個Service Peer提出服務請求

    Request Peer會根據Service Peer過去的成功交易率和Service Peer目前的Service Reputation,以及替Service Peer提供擔保的Guarantee Peer們的平均Guarantee Reputation,來評估要向哪個Service Peer提出服務請求。

    Request Peer希望得到最可靠的服務,並嘗試挑出最好的Service Peer,當然Service Peer要不要接受就又是另外一回事了

  3. 成功建立Service Peer與Request Peer間的服務關係

    當成功建立Service Peer與Request Peer間的服務關係,即表示被Request Peer挑出的Service Peer願意回應來自Request Peer的服務請求。

計算聲譽

當交易結束,陸續會發生以下幾件事 :

  1. Request Peer會提供參與交易的Service Peer和Guarantee Peer各自的Archive Peers回饋(feedback),可以想成對服務的滿意度評分,但Archive Peers要怎麼知道是不是惡意的評分呢? Archive Peers會計算Request Peer過去的平均評分和評分的變異數來認定這是不是惡意評分,並決定是否接受該滿意度評分。不過就算是不被接受的滿意度評分,還是會被Archive Peers記錄起來,但會被排除在之後過去的平均評分和評分的變異數的計算外。

  2. 交易結束並收到Request Peer的回饋後,Service Peer和Guarantee Peer各自的Archive Peers會根據回饋更新Service Reputation和Guarantee Reputation,Reputation的調整會因為回饋的類型,而有不同的計算方式,以下簡單說明。

    • 正向回饋
      • 除了拿回原本質押的Reputation,還可根據交易成功率拿到額外的Reputation獎賞
    • 負向回饋
      • 拿不回原本質押的Reputation (剩餘Reputation減少)
    • 零回饋
      • 拿回原本質押的Reputation,不額外調整Reputation

當確立與Guarantee Peer的擔保關係,Service Peer就可以開始在網路中提供服務,而當Request Peer的服務請求被同意,交易就可以開始。等待交易完成,Archive Peer就根據Request Peer的回饋調整Reputation,並結束這次的交易,這就是GeTrust基本的運作流程。


GeTrust的特點

  1. 為受社會信賴關係啟發所建立的以擔保關係為基礎的信賴模型。
  2. 提出Reputation質押和獎勵機制鼓勵Peer提供有效服務。
  3. 提出匿名Reputation管理機制,Peer無法得知自己的Reputation由誰管理。
  4. 提出Guarantee Peer的擔保機制,取代推薦信任模型取得Gobal Trust的繁複過程。
  5. 提出Peer的回饋機制,使得惡意Peer受到Reputation懲罰,更不易加入交易中。

分享到