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