[PowerPoint presentation]

Download Report

Transcript [PowerPoint presentation]

SLIC: A Selfish Link-based
Incentive Mechanism for
Unstructured P2P Networks
Qixiang Sun
Hector Garcia-Molina
Stanford University
1
P2P File Sharing
Internet
• Gnutella, KaZaA, Overnet, etc.
2
Architecture
3
Problem
Nodes are SELFISH!
• Why share files?
• Why forward other’s
queries?
4
Existing Approaches
• Micro-payments/Bartering
A
B
Query Results
• “Global” reputation/trust system
A
0.2
0.8
C
Reputation = f (G)
B
5
Our Approach
Fragment
B
B
A
Fragment
A
They need each other
to reach more nodes.
 Can retaliate
6
Our Approach (2)
B
C
D
A
Reward “good” neighbors
Penalize “bad” neighbors
7
Simple Model of a Node
Capacity
- Inject new queries
- Answer/Forward queries
Answering power
Assume operate in rounds
8
SLIC Algorithm
B
C
D
W(A,C)
W(A,D)
W(A,B)
During each round:
A
(1) Adjust weights based on quality of services
(2) Use the weights to “divide” its “spare” capacity
9
SLIC Algorithm (2)
(0.5) B
(0.25) C
(0.25) D
2 hits
4 hits
Service per round:
2 hits
A
Computed
For each query:
over A’s#queries
hits  whose
[0, 1]
TTLs have just expired this round
Service = sum scores over all queries
10
SLIC Algorithm (3)
Update weight with exponential decay
B
W i (A,B) = 0.9 W i-1 (A,B) + 0.1 S i (A,B)
C
Allocate spare capacity proportionally
D
A
W(A,B)
E.g., node B gets
W(A,B) + W(A,C) + W(A,D)
11
Does it work?
• Can a malicious node take advantage of
the system?
– Share less files
– Dedicate less capacity
– Have fewer connections
12
Utility
• Average # of hits per query
• Total # of hits
13
Evaluation Setup
Simulation using 250-nodes random graphs
• baseline = all nodes behave “normally”
• choose a probe node to behave differently
– vary the probe node location
• compare the difference in utility
– improvement ratio
14
Answering Power
1.6
Improvement Ratio
1.4
1.2
1
0.8
0.6
Baseline
0.4
0.2
0
0
0.2
0.4
0.6
0.8
1
Answering Power
15
Total Capacity
Improvement Ratio
1.6
1.4
1.2
1
0.8
0.6
Baseline
0.4
0.2
0
0
500
1000
1500
2000
Node Capacity (Queries/Round)
16
Connectivity
Utility (Avg # Hits/Query)
25
20
15
10
5
0
0
5
10
15
Node Degree
17
Dynamic Scenario
B
W=?
?
C
A
D
Can malicious nodes take advantage?
“Happy” nodes do not want new connections
while “unhappy” nodes take more risks
18
Dynamic Scenario (2)
• Weight for a new link = average weight of
the existing links
– Inverse of the current utility: 1/U
– Exponential of the current utility: e -U
• Drop links with small weights
19
Evaluation Setup
• A probe node joins late
• How does its utility change over time?
20
Join (1)
Utility (Avg # hits/query)
3.5
3
2.5
Normal
2
Low AP
1.5
High Rho
Static
1
0.5
0
1
51
101
151
201
251
Round Number
21
Join (2)
2.5
Utility
2
Average
1.5
Inverse
1
Exp.
0.5
0
1
51
101
Round Number
22
Respawn
• Every node periodically tries to establish
new links to improve utility
• 3 group of nodes
– Normal
– Low Answer Power
– High Rho
23
Respawn (2)
100
Percentage
80
HighRho
60
LowAP
40
Normal
Better service
20
0
0
1
2
3
4
Improvement Ratio
24
Future Direction
• All nodes selfishly change parameters to
maximize their utility at the cheapest cost
• Simplify model for game-theoretic analysis
• Extend SLIC to other search mechanisms
(e.g., random walks) and beyond searches
25
Conclusion
• SLIC is a “retaliation-based” mechanism
• Locally selfish decisions can give rise to a
proper incentive structure
• Accepting new connections based on own
utility can reduce the impact of malicious
node
26
More Information
• http://www-db.stanford.edu/~qsun
• Google for “Stanford Peers”
27
28
# of New Queries
Utility (Avg # hits/query)
6
5
4
3
2
1
0
0
0.2
0.4
0.6
0.8
1
Fraction of Capacity for New Queries
29
# of New Queries (2)
Utility (Total # of hits)
300
250
200
150
100
50
0
0
0.2
0.4
0.6
0.8
1
Fraction of Capacity for New Queries
30