P2P INCENTIVES Dror Marcus Yoni H Deny a d a s Confess Deny Confess Redo the test Yoni is free Hadas is expelled from school Yoni is expelled from school Hadas is free Both fail this course Yoni H Deny a d a s Confess Deny Confess Hadas : 2 Hadas : 0 Yoni Yoni :2 :3 Hadas : 3 Hadas : 1 Yoni Yoni : 1 :0 Nash Equilibrium OUTLINE Optimizing Scrip Systems[1][2] Modeling the problem Finding optimal solutions One hop reputation for BitTorrent[3] Improving Tit-For-Tat OPTIMIZING SCRIP SYSTEMS What is Scrip? Non-governmental currency Users pay other users for service with scrip Free riding is prevented through the need to earn scrip OPTIMIZING SCRIP SYSTEMS How to model the problem? Determine the amount of money in the system How to set the pricing in the systems How do newcomers effect the system OPTIMIZING SCRIP SYSTEMS: MODEL Game of rounds Each agent i: a: cost of satisfying a request b: probability of being able to satisfy a request g: value of having a request satisfied d: discount rate r: relative request rate (cost $1 if granted) u ir : agent i‘s utility in round r Total utility of an agent: r/n r d ui r 0 OPTIMIZING SCRIP SYSTEMS: INITIAL INTERESTING RESULT Altruism & Hoarders There exists an value C, that depends only on a, b and d such that, in G(n, d, b, a) with at least C altruists, not volunteering is a dominant strategy Set C > log1-b (a (1-d)) Player’s request get satisfied for free with prob. 1 - (1 - b )C Most additional expected utility to gain by having money is: (1 - b )C (1 - b ) d 1- d r 0 C r OPTIMIZING SCRIP SYSTEMS: INITIAL INTERESTING RESULT Example: - CONT b 0.01 (each player can satisfy 1% of requests) a 0.1 d 0.9999/day (≈ 0.95 per year) r = 1 per day Only need C > 1145 Therefore, adding reputation system on top of existing P2P systems to influence cooperation will have no effect on rational users! Is this a problem? OPTIMIZING SCRIP SYSTEMS: MODEL REVISED Game of rounds An agent’s type t = (at,bt,gt,dt,rt) at: cost of satisfying a request bt: probability of being able to satisfy a request gt: value of having a request satisfied dt: discount rate rt: relative request rate (probability to need something) OPTIMIZING SCRIP SYSTEMS: STRATEGY Picking a wining strategy for players Threshold strategy to win Sk Show that this is the best strategy Threshold Strategy In some round, I have k dollars and have to decide whether to volunteer. What should I do? Sk: Volunteer if I have less than k dollars k is your “comfort level,” how much you want to have saved up for future requests S0 corresponds to never volunteering and S corresponds to always volunteering OPTIMIZING SCRIP SYSTEMS: PLAYING THE GAME Examining the game How to describe the state of the system? OPTIMIZING SCRIP SYSTEMS: PLAYING THE GAME How to describe the state of the system? Look at the distribution of Money. Each state in the system represents the amount of money each player has. Specifically: Each player can have {0,….,k} dollars ($) k Let D denote the set of probability distributions on {0,…,k} k d D represents the fraction of people that have each amount of money s k Each state s has its own distribution d D OPTIMIZING SCRIP SYSTEMS: PLAYING THE GAME The system is analyzed as a Markov Chain The system always ends up in the same place! Markov Chain ≈ The probability of moving from the current state to another only depends on the current state of the system. (We don’t care about the past) OPTIMIZING SCRIP SYSTEMS: PLAYING THE GAME The system is analyzed as a Markov Chain The system always ends up in the same place* OPTIMIZING SCRIP SYSTEMS: REACHING EQUILIBRIUM Equilibrium exists There is an efficient algorithm to find this equilibrium Agent response : How to set its threshold (k) If dt is not too small, and every agent but i plays a threshold strategy, then agent i has an e-best response that is a threshold strategy. Agent i’s best response function is monotone in the strategies of the other agents OPTIMIZING SCRIP SYSTEMS: RECAP Have a model to describe the system System reaches a steady state (money distribution) Equilibrium exists What Next? OPTIMIZING SCRIP SYSTEMS: OPTIMIZE PERFORMANCE Improved performance How to improve performance? Better social welfare i.e. More utility Increasing the amount of money in the system up to a certain point, after which the system experience a monetary crash The Capitol Hill Babysitting Co-op OPTIMIZING SCRIP SYSTEMS: OPTIMIZE PERFORMANCE Given an Equilibrium, how good is it? If a request in satisfied, social welfare increases by gtat. What are the chances for a request being satisfied: Requester needs to have money – Probability 1-M0 Need to have a volunteer – Probability ≈1 Total expected welfare summed over all rounds: (1 - M 0 )(g t - a t ) 1 - dt Therefore minimizing M0 maximizes utility! OPTIMIZING SCRIP SYSTEMS: OPTIMIZE PERFORMANCE OUTLINE Optimizing Scrip Systems[1][2] Modeling the problem Finding optimal solutions One hop reputation for BitTorrent[3] Improving Tit-For-Tat Incentives for Live P2P streaming (bonus ) Creating incentives to stream video BITTORRENT REFRESH File is broken to small blocks (32-256 KB) A tracker site keeps track of the active participants + extra statistics. Seed – A peer that finished downloading, and has all the pieces of the file Leecher – A peer that is still downloading pieces of the file Swarm – tracker sends list of ~40 peers downloading the file to a new leecher together forming a swarm. Chocking Algorithm – Choose top k-1 peers from the swarm with highest rates + 1 random peer (optimistic unchoke) to upload to. All k peers receive the same upload rate. BITTORRENT REFRESH File is broken to small blocks (32-256 KB) A tracker site keeps track of the active participants + extra statistics. Seed – A peer that finished downloading, and has all the pieces of the file Leecher – A peer that is still downloading pieces of the file Swarm – tracker sends list of ~40 peers downloading the file to a new leecher together forming a swarm. Chocking Algorithm – Choose top k-1 peers HW from – of at least two different ways the swarm with highest rates +Think 1 random peer to exploit the current incentives (optimistic unchoke) to upload to. All kinpeers receive methods Bittorrent (tit-for-tat, chocking, unchocking) to gain more the same upload rate. download rate for less upload ONE HOP REPUTATION : SHARING IN THE WILED Large scale measurements of bittorent “in the wild” More then 14 million peers and 60,000 swarms studied. Data was collected in two traces BT-1 (~13K swarms) and BT-2 (~55K Swarms). Measurements were used to analyze both current BitTorrent performance and the new “one-hop” method effectiveness. ONE HOP REPUTATION : BITTORRENT PERFORMANCE Performance and availability are extremely poor Median download rate in swarms is 14 KBps for a peer contributing 100KBps. 25% of swarms are unavailable. ONE HOP REPUTATION : BITTORRENT PERFORMANCE - CONT Weak Incentives Peers at low end of capacity see large returns in contributions Increase by 100-fold only improves by 2-fold The incentive is the weakest for the peers that can help the most ONE HOP REPUTATION : BITTORRENT PERFORMANCE - CONT Altruism Seeds do not have requests and can’t use tit-for-tat for making decisions. Too many seeds weakens contribution incentives. Too few seeds also weakens incentives since peers quickly run out of data to trade. Overall performance is mixed Some swarms enjoy many altruistic donations (enabling free-riding). Other swarms are “starved” for data ONE HOP REPUTATION: WHAT CAN BE DONE? Can long-term history between peers be used (instead of tit-for-tat)? ONE HOP REPUTATION: WHAT CAN BE DONE? Can long-term history between peers be used (instead of tit-for-tat)? ONE HOP REPUTATION 97% of all peers observed in trace BT-2 are connected directly or through one of the 2000 most popular peers. ONE HOP REPUTATION PROTOCOL Notations and peer state information ONE HOP REPUTATION PROTOCOL Each peer selects it’s top K intermediaries. When two peers meet first, they exchange top K sets and compute intersection. For each intermediate, peers request receipts of contributions. Multiple peers can serve as intermediaries. Receipt messages are sent periodically from receiver to sender. Also update messages are sent to intermediaries. ONE HOP REPUTATION DEFAULT POLICY For each peer P request If P interacted with me before use: Otherwise get random subset of joint Top K mediators and compute reputation according to: Where: ONE HOP REPUTATION DEFAULT POLICY- CONT For each peer P request If reputation is above a threshold, send data to P at rate proportional to it’s reputation ONE HOP REPUTATION REPUTATION My reputation is on the line! Even if a “evil” peer convinces a popular intermediary to recommend him, his own good standing will reduce and he will no longer be popular. ONE HOP REPUTATION LIQUIDITY Peers can gain good standings by: 1) Contributing to an intermediary directly 2) Contributing to a peer that satisfied the intermediary request in the past In (1), there is an increase of reputation in the intermediary. In (2), reputation of one peer is simply moved to the other. ONE HOP REPUTATION LIQUIDITY Total reputation (liquidity of intermediary) is limited by its own demand. Solved by inflation factor of 100. Inflation also provide incentive to be intermediary. Potential for economic inflation. ONE HOP REPUTATION EVALUATION ONE HOP REPUTATION EVALUATION Data overhead Maximum overhead for popular intermediary of 3MB per day. How good is the one hop coverage (In BT-2 trace)? Median number of shared intermediaries is 83 More than 99% of peers have at least one common entry in their top K. ONE HOP REPUTATION EVALUATION - NEW USERS How quickly can a new peer determine intermediary value? After a few dozen interactions with randomly chosen peers. ONE HOP REPUTATION EVALUATION - NEW USERS How quickly can a new peer gain reputation? Peers observe popular intermediaries frequently. New users both encounter opportunity to gain standings and recognize it. What can they exchange? ONE HOP REPUTATION EVALUATION – PERFORMANCE Evaluation show concrete improved performance, regardless of strengthened incentives. 25 MB file download was tested on PlanetLab Historical information allows peers to find good tit-for-tat peering. Results show a median reduction in download time from 972 seconds to 766 seconds QUESTIONS? PAPERS [1] Efficientcy and Nash equilibria in a scrip system for P2P networks [2] Optimizing scrip systems: Eciency, crashes, hoarders, and altruists Ian A. Kash, Eric J. Friedman, Joseph Y. Halpern Ian A. Kash, Eric J. Friedman, Joseph Y. Halpern [3] One hop Reputations for Peer to Peer File Sharing Workloads Michael Piatek Tomas Isdal Arvind Krishnamurthy Thomas Anderson.