eigentrust (in japanese)

30
. Intro . . . . . . . . EigenTrust . . . . . Proposed Method . . . . . . . . . Evaluations 並列分散処理⼯学特論 2012-01-06#10 資料 . 1 Intro . 2 EigenTrust . 3 Proposed Method . 4 Evaluations 1/25

Upload: snarazaki

Post on 08-Jul-2015

199 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

並列分散処理⼯学特論

2012-01-06#10 資料

...1 Intro

...2 EigenTrust

...3 Proposed Method

...4 Evaluations

1/25

Page 2: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

論⽂紹介

The EigenTrust Algorithm for ReputationManagement in P2P Networks

Sepandar D. Kamvar, Mario T. Schlosser, and HectorGarcia-Molina

WWW2003 (ACM 1-58113-680-3/03/0005), 2003

2/25

Page 3: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

1. Introduction

• P2Pでの悪意あるユーザによる「偽ファイル」の流通を防ぎたい

• ただし、簡単に「偽ファイル」のバリエーションが⽣成できるので、ファイルの同定ではなく「悪意あるピア」の同定が望

ましい

• 中央管理システムなしの、P2Pに向いたピアの信頼度決定メカニズムを提案

3/25

Page 4: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

EigenTrustの考え⽅

• よいサイトに⾼い点 (評判)を付ける (local reputation)

ピア iによるピア jの評価 sij:

sij = sat(i, j)− unsat(i, j) (1)

sat(i, j) : 満⾜なダウンロード、unsat(i, j) : 不満⾜なダウンロード

4/25

Page 5: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

EigenTrustの考え⽅

• よいサイトに⾼い点 (評判)を付ける (local reputation)ピア iによるピア jの評価 sij:

sij = sat(i, j)− unsat(i, j) (1)

sat(i, j) : 満⾜なダウンロード、unsat(i, j) : 不満⾜なダウンロード

4/25

Page 6: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

評価値の正規化

• 評価値の正規化:

cij =max(sij, 0)∑jmax(sij, 0)

(2)

5/25

Page 7: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

local valueの集約• より正確な評価のため、local reputationを集約する (※eBayなどの出品者の格付けと同じ)

• ⾃分が iとして、⾃分が知っているピア jによる「ピア kの評価」を集約:

tik =∑jcijcjk (3)

ここで cijはピア jの重みに相当。tikは 2段の集約に相当。

• 再帰的に繰り返すことで全ピアの評価を⽤いた globalな値を求める (すなわち t1k = t2k = · · · = tnk → tk ⇒ t⃗)∑

jcijcjk =

∑jcjkcij ⇒ CTc⃗i → (CT)Nc⃗i = t⃗

6/25

Page 8: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

local valueの集約• より正確な評価のため、local reputationを集約する (※eBayなどの出品者の格付けと同じ)

• ⾃分が iとして、⾃分が知っているピア jによる「ピア kの評価」を集約:

tik =∑jcijcjk (3)

ここで cijはピア jの重みに相当。tikは 2段の集約に相当。• 再帰的に繰り返すことで全ピアの評価を⽤いた globalな値を求める (すなわち t1k = t2k = · · · = tnk → tk ⇒ t⃗)∑

jcijcjk =

∑jcjkcij ⇒ CTc⃗i → (CT)Nc⃗i = t⃗

6/25

Page 9: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

Algorithm 1:non-dist. EigenTrust

再帰的に繰り返して求める (EigenTrust):�1 t⃗(0) = e⃗ ;2 repeat3 t⃗(k+1) = CT⃗t(k) ;4 δ = ||t(k+1) − t(k)|| ;5 unt i l δ < ϵ ;

• この計算は不動点を持つので→有限回の繰り返しで収束• この計算を (例えば)集約サーバで実⾏すれば、各ピアのglobalな評判を決めることができる

7/25

Page 10: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

問題点

• 集約サーバは使いたくない

• 悪意あるピアが共謀すると、globalな評判を操作できるのでは?

8/25

Page 11: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

4.5 Practical Issues

A priori notions of trust: システムの設計者 (のピア)および初期から存在するユーザ (のピア)は信頼できるので、それらを Pとし、以下の pi:

pi ={

1/|P| if i ∈ P,0 otherwise

(4)

を使って、t⃗ = (CT)ne⃗を t⃗ = (CT)np⃗に置換える。

9/25

Page 12: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

Inactive Peers & Malicious CollectivesInactive Peers: もしピア iがまだ誰からもダウンロードしてない場合は以下を使う:

cij =

max(sij,0)∑jmax(sij,0) if∑jmax(sij, 0) ̸= 0;

pj otherwise(5)

Malicious Collectives: 悪意ある集団に対抗するため、信頼できるピアに重みを置く:

t⃗(k+1) = (1− α)CT⃗t(k) + αp (6)

10/25

Page 13: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

Inactive Peers & Malicious CollectivesInactive Peers: もしピア iがまだ誰からもダウンロードしてない場合は以下を使う:

cij =

max(sij,0)∑jmax(sij,0) if∑jmax(sij, 0) ̸= 0;

pj otherwise(5)

Malicious Collectives: 悪意ある集団に対抗するため、信頼できるピアに重みを置く:

t⃗(k+1) = (1− α)CT⃗t(k) + αp (6)

10/25

Page 14: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

Algorithm 2: Basic EigenTrust

以上の考えをまとめたもの:�1 t⃗(0) = p⃗ ;2 repeat3 t⃗(t+1) = CT⃗t(k) ;4 t⃗(t+1) = (1− α)⃗t(t+1) + αp⃗ ;5 δ = ||t(t+1) − t(t)|| ;6 unt i l δ < ϵ ;

11/25

Page 15: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

4.6 Distributed EigenTrust

計算を各ピア iに分散させる:

t(k+1) = (1− α)(c1it(k)i + · · ·+ cnit

(k)n ) + αpi (7)

つまり、C全体は必要ない

12/25

Page 16: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

Algorithm 3: Distributed EigenTrust• Ai set of peers which have downloaded files frompeer i

• Bi set of peers from which from peer i hasdownloaded files�

1 Each peer i do2 Query a l l peers j ∈ Ai for t(0)j = pj ;3 repeat4 Compute t(k+1)

i = (1− α)(c1it(k)i + · · ·+ cnit

(k)n ) + αpi ;

5 Send cijt(k+1)i to a l l peers j ∈ Bi ;

6 Compute δ = ||t(t+1) − t(t)|| ;7 Wait for a l l peers j ∈ Ai to return cjit

(k+1)j ;

8 unt i l δ < ϵ ;9 end

13/25

Page 17: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

5. Secure EigenTrust

⾃分で⾃分の評判を計算するのでは数値の操作ができてしまう

(複数の)管理ピアが代わりに計算

→DHTを利⽤

14/25

Page 18: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

5. Secure EigenTrust

⾃分で⾃分の評判を計算するのでは数値の操作ができてしまう

(複数の)管理ピアが代わりに計算

→DHTを利⽤

14/25

Page 19: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

5. Secure EigenTrust

⾃分で⾃分の評判を計算するのでは数値の操作ができてしまう

(複数の)管理ピアが代わりに計算

→DHTを利⽤

14/25

Page 20: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

Algorithm 4: Secure EigenTrust最終バージョン�

1 Each peer i do2 Submit local trust values c⃗i to a l l score managers at

position hm(posi),m = 1 · · ·M− 1 ;3 Collect local trust values c⃗d and sets of acquaintances

Bid of daughter peers d ∈ Di ;4 Submit daughter d’s local trust values cdj to score

managers hm(posd),m = 1 · · ·M− 1, ∀j ∈ Bid ;5 Collect acquaintances Aid of daughter peers ;6 foreach daughter peer d ∈ Di do7 Query a l l peers j ∈ Aid for cjdpj ;8 repeat9 Compute t(k+1)

d = (1− α)(c1dt(k)1 + c2dt

(k)2 · · ·+ cndt

(k)n ) + αpd ;

10 Send cdjt(k+1)d to a l l peers j ∈ Bid ;

11 Wait for a l l peers j ∈ Adi to return cjdt(k+1)j ;

12 unt i l ||t(k+1)d − t(k)d || < ϵ ;

13 end14 end

15/25

Page 21: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

Fig 1: 収束の速度繰り返し回数はそれほど多くならない

16/25

Page 22: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

Simulation Settings

• 表 1を参照

• カテゴリ毎に⼈気のあるファイルを設定 (governed by aZipf distribution)

• ダウンロードするピアの選び⽅• 最良選択• ルーレット選択

• 4つの攻撃シナリオ (後述)

17/25

Page 23: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

Fig 3:最もよいピアを選択する場合

18/25

Page 24: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

Fig 4:ルーレット選択する場合→以降の実験で使⽤

19/25

Page 25: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

4 thread model

シナリオ A 悪意あるピアは sati,jが低いピア (悪意あるピア)を逆に⾼く評価する:si,j = unstat(i, j)− sat(i, j)

シナリオ B 悪意あるピア同⼠は最初からお互いを知っている

シナリオ C 悪意あるピアは確率的に悪意がないようにふるまう

シナリオ D 悪意あるピアの⼀部は (⾼い評価を得るため)完全に正直にふるまう。ただし悪意あるピアを⾼く評価

する

20/25

Page 26: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

Fig 5:シナリオ A⾮常に低く抑えられる

21/25

Page 27: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

Fig 6:シナリオ Bほぼシナリオ Aと同じ

22/25

Page 28: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

Fig 7:シナリオ C確率的ふるまい

23/25

Page 29: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

Fig 8:シナリオ Cアップロードの⽐率を⾒ると偽ファイルのダウンロード数は増えてない

24/25

Page 30: Eigentrust (in Japanese)

.Intro

. . . . . . . .EigenTrust

. . . . .Proposed Method

. . . . . . . . .Evaluations

Fig 9:シナリオ D分業してもそれほど増えない。未使⽤時よりも常によい

25/25