A Game Theoretic Framework for Incentives in P2P Systems { }

advertisement
A Game Theoretic Framework for
Incentives in P2P Systems
Chiranjeeb Buragohain, Divyakant Agrawal, Subhash Suri
{chiran,agrawal,suri}@cs.ucsb.edu.
Computer Science Dept
University of California, Santa Barbara
A Game Theoretic Framework for Incentives in P2P Systems – p.1/23
Plan
Selfishness in P2P systems
Game theory and Nash equilibrium
Incentives for P2P systems
Nash equilibrium analysis
Simulation and results
Implications for system architecture
A Game Theoretic Framework for Incentives in P2P Systems – p.2/23
Selfishness in P2P Systems
P2P systems vs ordinary distributed systems
Administration of each node is under individual control
Goals of individual participants not the same as the
goals of the overall system.
When individual and social welfare does not coincide,
selfish and rational individuals will pursue their own goals at
the expense of overall social welfare.
A Game Theoretic Framework for Incentives in P2P Systems – p.3/23
The Free Rider Problem
Free Rider : a user who does not contribute to the
system, but reaps benefit from it.
Inefficient and unfair
a
Gnutella contains up to 25% free riders.
a
S. Saroiu, P. K. Gummadi, S. D. Gribble, Proc. of Multimedia Computing and
Networking 2002 (MMCN ’02)
A Game Theoretic Framework for Incentives in P2P Systems – p.4/23
The Free Rider Problem
Free Rider : a user who does not contribute to the
system, but reaps benefit from it.
Inefficient and unfair
Gnutella contains up to 25% free riders.
Low uptimes : 50% of the sessions are shorter than
one hour
Low availability and replication
S. Saroiu, P. K. Gummadi, S. D. Gribble, Proc. of Multimedia Computing and
Networking 2002 (MMCN ’02)
A Game Theoretic Framework for Incentives in P2P Systems – p.4/23
The Free Rider Problem
Free Rider : a user who does not contribute to the
system, but reaps benefit from it.
Inefficient and unfair
Gnutella contains up to 25% free riders.
Low uptimes : 50% of the sessions are shorter than
one hour
Low availability and replication
Ad-hoc networks : participating nodes may selfishly decide
not to route packets from other nodes.
S. Saroiu, P. K. Gummadi, S. D. Gribble, Proc. of Multimedia Computing and
Networking 2002 (MMCN ’02)
A Game Theoretic Framework for Incentives in P2P Systems – p.4/23
Incentives for Sharing
Monetary incentives (micropayments) : require
extensive infrastructure to track transactions.
a
a
P. Golle, K. Leyton-Brown, I. Mironov, M. Lillibridge, Proc. of the 2001 ACM
Conference on Electronic Commerce.
A Game Theoretic Framework for Incentives in P2P Systems – p.5/23
Incentives for Sharing
Monetary incentives (micropayments) : require
extensive infrastructure to track transactions.
Quality of service incentives : easier to implement and
more flexible.
P. Golle, K. Leyton-Brown, I. Mironov, M. Lillibridge, Proc. of the 2001 ACM
Conference on Electronic Commerce.
A Game Theoretic Framework for Incentives in P2P Systems – p.5/23
Incentives for Sharing
Monetary incentives (micropayments) : require
extensive infrastructure to track transactions.
Quality of service incentives : easier to implement and
more flexible.
Questions we address :
Do incentives lead to a desirable social outcome?
How does one implement such incentives?
P. Golle, K. Leyton-Brown, I. Mironov, M. Lillibridge, Proc. of the 2001 ACM
Conference on Electronic Commerce.
A Game Theoretic Framework for Incentives in P2P Systems – p.5/23
Incentives for Sharing
Monetary incentives (micropayments) : require
extensive infrastructure to track transactions.
Quality of service incentives : easier to implement and
more flexible.
Questions we address :
Do incentives lead to a desirable social outcome?
How does one implement such incentives?
Game theory provides a framework to answer the first
question
P. Golle, K. Leyton-Brown, I. Mironov, M. Lillibridge, Proc. of the 2001 ACM
Conference on Electronic Commerce.
A Game Theoretic Framework for Incentives in P2P Systems – p.5/23
Game Theory
Game Theory describes interaction of selfish and rational
individuals.
Two Person Prisoner’s Dilemma
A, B
Not Confess Confess
Not Confess 1, 1
10, 0
Confess
0, 10
8, 8
Strategy : Not Confess vs Confess
Payoffs/Utilities : Rewards and punishment
Question: given these strategies and payoffs or utilities,
what would a rational selfish person do?
A Game Theoretic Framework for Incentives in P2P Systems – p.6/23
Nash Equilibrium
Nash Equilibrium : strategies for the players such that
neither player can improve his payoff by switching strategy
unilaterally.
Might not be optimal. (Confess, Confess) is a Nash
equilibrium for Prisoner’s dilemma.
Not always unique. Other arguments may be needed to
choose between multiple alternatives.
Pure vs mixed strategy equilibriums
Our goal : define incentives in terms of a game.
D Fudenberg, J. Tirole, Game Theory, MIT Press 1991
A Game Theoretic Framework for Incentives in P2P Systems – p.7/23
Incentives, Costs and Benefits
Contribution : di = disk space × uptime
A Game Theoretic Framework for Incentives in P2P Systems – p.8/23
Incentives, Costs and Benefits
Contribution : di = disk space × uptime
Incentive : accept request with probability p(di ).
dα
p(d) =
, α>0
α
1+d
We shall use α = 1, unless otherwise specified.
A Game Theoretic Framework for Incentives in P2P Systems – p.8/23
Incentives, Costs and Benefits
Contribution : di = disk space × uptime
Incentive : accept request with probability p(di ).
dα
p(d) =
, α>0
α
1+d
We shall use α = 1, unless otherwise specified.
Benefit: bij , (bii ≡ 0)
A Game Theoretic Framework for Incentives in P2P Systems – p.8/23
Incentives, Costs and Benefits
Contribution : di = disk space × uptime
Incentive : accept request with probability p(di ).
dα
p(d) =
, α>0
α
1+d
We shall use α = 1, unless otherwise specified.
Benefit: bij , (bii ≡ 0)
Utility :
ui = −di + p(di )
X
bij dj
j
A Game Theoretic Framework for Incentives in P2P Systems – p.8/23
Incentives, Costs and Benefits
Contribution : di = disk space × uptime
Incentive : accept request with probability p(di ).
dα
p(d) =
, α>0
α
1+d
We shall use α = 1, unless otherwise specified.
Benefit: bij , (bii ≡ 0)
Utility :
ui = −di + p(di )
X
bij dj
j
Total benefit : bi =
P
j bij
A Game Theoretic Framework for Incentives in P2P Systems – p.8/23
Incentives and Utility
1
Low benefit
Critical benefit
High Benefit
0.9
0.8
0.7
Utility
p(d)
0.6
0.5
0
0.4
0.3
α=1/2
α=1
α=4
α=10
0.2
0.1
0
0
0.5
1
1.5
2
d
2.5
3
3.5
4
0
Contribution
Unless bi exceeds a critical value bc , the best strategy
for the peer i is not to participate!
A Game Theoretic Framework for Incentives in P2P Systems – p.9/23
The Two Person Game
Easier than solving N person game.
Insights are applicable to the N person situation as well.
u1 = −d1 + b12 d2 p(d1 )
u2 = −d2 + b21 d1 p(d2 )
Reaction Function: Optimal reaction to the other player’s
strategy.
p
r1 (d2 ) ≡ d1 = b12 d2 − 1
p
r2 (d1 ) ≡ d2 = b21 d1 − 1
A Game Theoretic Framework for Incentives in P2P Systems – p.10/23
Fixed Points and Nash Equilibrium
r1(d 2)
r2(d 1)
Stable
Nash equilibrium is the fixed
point.
d
p
∗
d1 = b12 d∗2 − 1
d∗2
p
= b21 d∗1 − 1
2
Unstable
d1
A Game Theoretic Framework for Incentives in P2P Systems – p.11/23
Stability of Nash Equilibrium
Finding Nash equilibrium by iteration :
d∗1 = r1 (r2 (r1 (r2 (. . .))))
d∗2 = r2 (r1 (r2 (r1 (. . .))))
Stable equilibrium → iteration converges
Unstable equilibrium → iteration diverges
1. Two possible Nash equilibria.
2. The stable equilibrium is also the socially desirable
equilibrium.
A Game Theoretic Framework for Incentives in P2P Systems – p.12/23
Homogeneous Two Person Game
4
Homogeneous case
*
dhi
*
dlo
3.5
3
b12 = b21 ≡ b
d∗1
=
d∗2
=d
∗
d
*
2.5
d∗hi → stable
d∗lo → unstable
2
1.5
1
0.5
0
0
0.1
0.2
0.3
0.4
0.5
(b−b )/b
c
c
d∗ = (b/2 − 1) ± ((b/2 − 1)2 − 1)1/2
No equilibrium for b < bc ≡ 4.
A Game Theoretic Framework for Incentives in P2P Systems – p.13/23
Real World : N Person Game
The fixed point equation
d∗i

=
X
j6=i
1/2
bij d∗j 
−1
Nonhomogeneous benefits bij
Solve the fixed point problem through an iterative
algorithm which mimics real world learning process.
Compare the solution with the solution for the
homogeneous two person game
A Game Theoretic Framework for Incentives in P2P Systems – p.14/23
Finding Nash Equilibrium
1. Start with arbitrary values of contribution di for peer Pi .
A Game Theoretic Framework for Incentives in P2P Systems – p.15/23
Finding Nash Equilibrium
1. Start with arbitrary values of contribution di for peer Pi .
2. For every peer Pi , tune di so as to maximize his/her
utility ui , assuming other players will keep their strategy
(dj , j 6= i) constant and bij do not change.
A Game Theoretic Framework for Incentives in P2P Systems – p.15/23
Finding Nash Equilibrium
1. Start with arbitrary values of contribution di for peer Pi .
2. For every peer Pi , tune di so as to maximize his/her
utility ui , assuming other players will keep their strategy
(dj , j 6= i) constant and bij do not change.
3. Update all values of di to the new optimal values.
A Game Theoretic Framework for Incentives in P2P Systems – p.15/23
Finding Nash Equilibrium
1. Start with arbitrary values of contribution di for peer Pi .
2. For every peer Pi , tune di so as to maximize his/her
utility ui , assuming other players will keep their strategy
(dj , j 6= i) constant and bij do not change.
3. Update all values of di to the new optimal values.
4. If the new values of di are close enough to the old set of
values, declare convergence and finish, otherwise go
back to step 2.
A Game Theoretic Framework for Incentives in P2P Systems – p.15/23
Finding Nash Equilibrium
1. Start with arbitrary values of contribution di for peer Pi .
2. For every peer Pi , tune di so as to maximize his/her
utility ui , assuming other players will keep their strategy
(dj , j 6= i) constant and bij do not change.
3. Update all values of di to the new optimal values.
4. If the new values of di are close enough to the old set of
values, declare convergence and finish, otherwise go
back to step 2.
If this algorithm converges, then the set of contributions is a
stable Nash equilibrium.
A Game Theoretic Framework for Incentives in P2P Systems – p.15/23
Parameters
Number of Peers : N = 500 and 1000
Distribution of bij : Chosen from a Gamma distribution
Non-zero bij : 2% of N
Initial contributions : di chosen from a Gaussian
distribution
p(d) = d/(1 + d), i.e. α = 1 unless specified otherwise.
The end results are not sensitive to the precise distribution
chosen for bij or di .
A Game Theoretic Framework for Incentives in P2P Systems – p.16/23
Equilibrium Distribution
70
1600
60
1400
1200
50
Frequency
Frequency
1000
800
40
30
600
20
400
10
200
0
0
0.25
0.5
0.75
1
1.25
1.5
Benefit
0
1
2
3
4
5
6
7
Contribution
N = 1000
Average Benefit bav = 6.0
Average Contribution dav = 3.68.
A Game Theoretic Framework for Incentives in P2P Systems – p.17/23
Equilibrium for N Person Systems
6
5.5
Average Contribution (d*av)
5
4.5
4
3.5
3
2.5
2
heterogeneous(500)
hetergeneous(1000)
homogeneous
1.5
1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Scaled Benefit (b /b −1)
av
0.8
0.9
1
c
Note that the average quantities for the non-homogeneous
case corresponds closely with the homogeneous quantities.
A Game Theoretic Framework for Incentives in P2P Systems – p.18/23
Inactive Peers
10
bav/bc−1 = 0.5
b /b −1 = 1.0
av c
b /b −1 = 2.0
9
Average Contribution (d* )
av
av
c
homogeneous
homogeneous
homogeneous
8
7
6
5
4
3
2
1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Fraction of Failed Peers
For (bav − bc )/bc = 2.0, system can survive even after 2/3rd
of the peers have left (N = 1000).
A Game Theoretic Framework for Incentives in P2P Systems – p.19/23
Noncooperative Peers
4
d = 2.0
av
dav = 1.0
dav = 0.75
d = 0.50
Average Contribution (dav)
3.5
av
3
2.5
2
1.5
1
0.5
0
0.2
0.4
0.6
0.8
1
Fraction of Uncooperative Peers
Noncooperative peers are peers who are not rational. They
contribute a fixed amount regardless of potential incentives.
A Game Theoretic Framework for Incentives in P2P Systems – p.20/23
Implications for System Architecture
We have proposed differential service based on
contribution.
Contribution
Contribution = disk space × uptime
Contribution information is piggybacked with the
request for service.
Neighbor Audit : Every peer’s contribution is
monitored by one or more neighbors.
A Game Theoretic Framework for Incentives in P2P Systems – p.21/23
Implications for System Architecture
We have proposed differential service based on
contribution.
Contribution
Contribution = disk space × uptime
Contribution information is piggybacked with the
request for service.
Neighbor Audit : Every peer’s contribution is
monitored by one or more neighbors.
Incentive by differential service
Accept requests from peer with probability p(d).
If a request is denied, deny subsequent requests
from the same peer for a duration of time
A Game Theoretic Framework for Incentives in P2P Systems – p.21/23
Alternative Metrics
Contribution
Number of uploaded files - number of downloaded
files
uploads
Participation Level of Kazaa = downloads
× 100
Contribution could be a reputation index like
a
EigenTrust.
a
S. D. Kamvar, M. T. Schlosser, H. Garcia-Molina, Proc. of the Twelfth Interna-
tional World Wide Web Conference, May, 2003
A Game Theoretic Framework for Incentives in P2P Systems – p.22/23
Alternative Metrics
Contribution
Number of uploaded files - number of downloaded
files
uploads
Participation Level of Kazaa = downloads
× 100
Contribution could be a reputation index like
EigenTrust.
Incentive
Restrict bandwidth to a fraction p(d) of total
bandwidth. Kazaa reorders queue.
Reduction of search capability by restricting search
horizon.
S. D. Kamvar, M. T. Schlosser, H. Garcia-Molina, Proc. of the Twelfth International World Wide Web Conference, May, 2003
A Game Theoretic Framework for Incentives in P2P Systems – p.22/23
Conclusion
Differential service based incentive scheme.
Socially desirable Nash equilibria exists.
Nash equilibria are not sensitive to small perturbations.
The incentive scheme is flexible.
Easy to implement.
A Game Theoretic Framework for Incentives in P2P Systems – p.23/23
Download