440 likes | 562 Views
P2P Incentives . Dror Marcus. 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
E N D
P2P Incentives Dror Marcus
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) • : agent i‘s utility in round r • Total utility of an agent:
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. Most additional expected utility to gain by having money is:
Optimizing Scrip Systems:initial interesting result - cont • Example: • 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 ($) • Let Dk denote the set of probability distributions on {0,…,k} • represents the fraction of people that have each amount of money • Each state s has its own distribution
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 • Better social welfare i.e. • More utility • How to improve performance? • 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 gt-at. • 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: • Therefore minimizing M0 maximizes utility!
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
BitTorrentRefresh • 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 leechertogether 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.
BitTorrentRefresh • 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 leechertogether 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. HW – Think of at least two different ways to exploit the current incentives methods in Bittorrent (tit-for-tat, chocking, unchocking) to gain more 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 reputationProtocol • Notations and peer state information
One hop reputationProtocol • 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 reputationDefault 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 reputationDefault 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 reputationReputation • 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 reputationLiquidity • Peers can gain good standings by: • 1) Contributing to anintermediary 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 reputationLiquidity • 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 reputationEvaluation • 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 reputationEvaluation - New Users • How quickly can a new peer determine intermediary value? • After a few dozen interactions with randomly chosen peers.
One hop reputationEvaluation - 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 reputationEvaluation – 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
Papers • [1] Efficientcy and Nash equilibria in a scrip system for P2P networks • Ian A. Kash, Eric J. Friedman, Joseph Y. Halpern • [2] Optimizing scrip systems: Eciency, crashes, hoarders, and altruists • Ian A. Kash, Eric J. Friedman, Joseph Y. Halpern • [3] One hop Reputations for Peer to Peer File Sharing Workloads • Michael Piatek Tomas IsdalArvind Krishnamurthy Thomas Anderson.