More Related Content Similar to Eigentrust (in Japanese) Similar to Eigentrust (in Japanese) (20) Eigentrust (in Japanese)1. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
並列分散処理⼯学特論
2012-01-06#10 資料
1. Intro
2. EigenTrust
3. Proposed Method
4. Evaluations
1/25
2. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
論⽂紹介
The EigenTrust Algorithm for Reputation
Management in P2P Networks
Sepandar D. Kamvar, Mario T. Schlosser, and Hector
Garcia-Molina
WWW2003 (ACM 1-58113-680-3/03/0005), 2003
2/25
3. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
1. Introduction
• P2P での悪意あるユーザによる「偽ファイル」の流通を防ぎ
たい
• ただし、簡単に
「偽ファイル」のバリエーションが⽣成できる
ので、ファイルの同定ではなく「悪意あるピア」の同定が望
ましい
• 中央管理システムなしの、P2P に向いたピアの信頼度決定
メカニズムを提案
3/25
4. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
EigenTrust の考え⽅
• よいサイトに⾼い点 (評判) を付ける (local reputation)
4/25
5. 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
6. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
評価値の正規化
• 評価値の正規化:
max(sij , 0)
cij = ∑ (2)
j max(sij , 0)
5/25
7. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
local value の集約
• より正確な評価のため、local reputation を集約する (※
eBay などの出品者の格付けと同じ)
• ⾃分が i として、⾃分が知っているピア j による「ピア k の評
価」を集約:
∑
tik = cij cjk (3)
j
ここで cij はピア j の重みに相当。tik は 2 段の集約に相当。
6/25
8. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
local value の集約
• より正確な評価のため、local reputation を集約する (※
eBay などの出品者の格付けと同じ)
• ⾃分が i として、⾃分が知っているピア j による「ピア k の評
価」を集約:
∑
tik = cij cjk (3)
j
ここで cij はピア j の重みに相当。tik は 2 段の集約に相当。
• 再帰的に繰り返すことで全ピアの評価を⽤いた global な値
を求める (すなわち t1k = t2k = · · · = tnk → tk ⇒ ⃗
t)
∑ ∑
cij cjk = cjk cij ⇒ CT⃗ i → (CT )N⃗ i = ⃗
c c t
j j
6/25
9. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
Algorithm 1:non-dist. EigenTrust
再帰的に繰り返して求める (EigenTrust)
:
§
1 ⃗(0) = ⃗ ;
t e
2 repeat
3 ⃗(k+1) = CT⃗(k) ;
t t
4 δ = ||t(k+1) − t(k) || ;
5 until δ < ϵ;
• この計算は不動点を持つので → 有限回の繰り返しで収束
• この計算を (例えば) 集約サーバで実⾏すれば、各ピアの
global な評判を決めることができる
7/25
10. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
問題点
• 集約サーバは使いたくない
• 悪意あるピアが共謀すると、global な評判を操作できるの
では?
8/25
11. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
4.5 Practical Issues
A priori notions of trust: システムの設計者 (のピア) および初
期から存在するユーザ (のピア) は信頼できるので、それらを P と
し、以下の p:
i
{
1/|P| if i ∈ P,
pi = (4)
0 otherwise
を使って、⃗ = (CT )n⃗ を ⃗ = (CT )n ⃗ に置換える。
t e t p
9/25
12. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
Inactive Peers & Malicious Collectives
Inactive Peers: もしピア i がまだ誰からもダウンロードしてない
場合は以下を使う:
∑
∑
max(sij ,0)
if ̸= 0;
j max(sij ,0)
j max(sij , 0)
cij = (5)
p otherwise
j
10/25
13. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
Inactive Peers & Malicious Collectives
Inactive Peers: もしピア i がまだ誰からもダウンロードしてない
場合は以下を使う:
∑
∑
max(sij ,0)
if ̸= 0;
j max(sij ,0)
j max(sij , 0)
cij = (5)
p otherwise
j
Malicious Collectives: 悪意ある集団に対抗するため、信頼で
きるピアに重みを置く:
⃗(k+1) = (1 − α)CT⃗(k) + αp
t t (6)
10/25
14. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
Algorithm 2: Basic EigenTrust
以上の考えをまとめたもの:
§
1 ⃗(0) = ⃗ ;
t p
2 repeat
3 ⃗(t+1) = CT⃗(k) ;
t t
4 ⃗(t+1) = (1 − α)⃗(t+1) + α⃗ ;
t t p
5 δ = ||t(t+1) − t(t) || ;
6 until δ < ϵ;
11/25
15. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
4.6 Distributed EigenTrust
計算を各ピア i に分散させる:
(k) (k)
t(k+1) = (1 − α)(c1i ti + · · · + cni tn ) + αpi (7)
つまり、C 全体は必要ない
12/25
16. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
Algorithm 3: Distributed EigenTrust
• Ai set of peers which have downloaded files from
peer i
• Bi set of peers from which from peer i has
downloaded files
§
1 Each peer i do
(0)
2 Query a l l peers j ∈ Ai f o r tj = pj ;
3 repeat
(k+1) (k) (k)
4 Compute ti = (1 − α)(c1i ti + · · · + cni tn ) + αpi ;
(k+1)
5 Send cij ti to a l l peers j ∈ Bi ;
6 Compute δ = ||t(t+1) − t(t) || ;
(k+1)
7 Wait f o r a l l peers j ∈ Ai to return cji tj ;
8 until δ < ϵ;
9 end
13/25
17. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
5. Secure EigenTrust
⾃分で⾃分の評判を計算するのでは数値の操作ができてしまう
14/25
18. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
5. Secure EigenTrust
⾃分で⾃分の評判を計算するのでは数値の操作ができてしまう
(複数の) 管理ピアが代わりに計算
14/25
19. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
5. Secure EigenTrust
⾃分で⾃分の評判を計算するのでは数値の操作ができてしまう
(複数の) 管理ピアが代わりに計算
→DHT を利⽤
14/25
20. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
Algorithm 4: Secure EigenTrust
§ 最終バージョン
1 Each peer i do
2 ⃗
Submit l o c a l t r u s t values ci to a l l score managers at
position hm (posi ), m = 1 · · · M − 1 ;
3 ⃗
Collect l o c a l t r u s t values cd and sets of acquaintances
Bi of daughter peers d ∈ Di ;
d
4 Submit daughter d’s l o c a l t r u s t values cdj to score
managers hm (posd ), m = 1 · · · M − 1, ∀j ∈ Bi ;
d
5 Collect acquaintances Ai of daughter peers ;
d
6 foreach daughter peer d ∈ Di do
7 Query a l l peers j ∈ Ai f o r cjd pj ;
d
8 repeat
(k+1) (k) (k) (k)
9 Compute td = (1 − α)(c1d t1 + c2d t2 · · · + cnd tn ) + αpd ;
(k+1)
10 Send cdj td to a l l peers j ∈ Bi ;
d
(k+1)
11 Wait f o r a l l peers j ∈ Ad to return cjd tj
i ;
(k+1) (k)
12 until ||td − td || < ϵ;
13 end 15/25
14 end
21. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
Fig 1: 収束の速度
繰り返し回数はそれほど多くならない
16/25
22. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
Simulation Settings
• 表 1 を参照
• カテゴリ毎に⼈気のあるファイルを設定 (governed by a
Zipf distribution)
• ダウンロードするピアの選び⽅
• 最良選択
• ルーレット選択
• 4 つの攻撃シナリオ (後述)
17/25
23. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
Fig 3:
最もよいピアを選択する場合
18/25
24. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
Fig 4:
ルーレット選択する場合 → 以降の実験で使⽤
19/25
25. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
4 thread model
シナリオ A 悪意あるピアは sati,j が低いピア (悪意あるピア) を
逆に⾼く評価する i,j = unstat(i, j) − sat(i, j)
:s
シナリオ B 悪意あるピア同⼠は最初からお互いを知っている
シナリオ C 悪意あるピアは確率的に悪意がないようにふるまう
シナリオ D 悪意あるピアの⼀部は (⾼い評価を得るため) 完全
に正直にふるまう。ただし悪意あるピアを⾼く評価
する
20/25
26. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
Fig 5: シナリオ A
⾮常に低く抑えられる
21/25
27. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
Fig 6: シナリオ B
ほぼシナリオ A と同じ
22/25
28. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
Fig 7: シナリオ C
確率的ふるまい
23/25
29. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
Fig 8: シナリオ C
アップロードの⽐率を⾒ると偽ファイルのダウンロード数は増えてない
24/25
30. Intro EigenTrust Proposed Method Evaluations
. ........ ..... .........
Fig 9: シナリオ D
分業してもそれほど増えない。未使⽤時よりも常によい
25/25