Yitzchak Rosenthal
P2P Mechanism Design: Incentives in Peer-to-Peer SystemsPaper By: Moshe Babaioff, John Chuang and Michal
Feldman
Types of P2P networks
2
P2P network applicationsFile downloading (e.g. BitTorrent, Gnutella, etc.)Video streamingMANETs
P2P IssuesPrivate Information
Many P2P protocols require clients to divulge “private information”.Examples: Amount of bandwidth a client has for uploading files. List of files/data client has for uploading
Clients may choose NOT to divulge private information in order to exploit the network for its own gain.
Free RidingPeers try to get use OF network without providing services TO
network(e.g. downloading data from peers without uploading to peers)
WhitewashingIf multiple identities can be created for free then an “evil” user
can destroy an identity once it has been recognized as not following the rules and exploiting the network
Sybil AttacksMultiple IDs by same user that collude with each other
3
Addressing the problem through “Incentives”
4
Provide “incentives” to peers to follow the rules
Types of incentivesCurrency (CUR) - Mojonation
Peers earn “currency” when providing TO the network.The “currency” can be “spent” in order to get services/data FROM
the network
Reputation (REP) - KaZaAPeers get a better reputation when they provide TO the networkPeers with better reputation get better download speed
Barter (BAR) - BitTorrentScalable - doesn’t keep state information (CUR and REP do)Files are broken into many equal size chunks“seeder” peer distributes DIFFERENT chunks to many different
peersPeers who have a chunk exchange with peers who have other
chunks.
One shot game
6
In a ONE SHOT GAME - free Riding is the dominant strategySimilar to one shot Prisoner’s Dilemma (PD) where
dominant strategy is to defect.No downsides for cheatingNo loss of reputationNo way to spend any “income”
Other approaches
7
Direct reciprocity can be better, butIn large population, effect of direct reciprocity is diluted
since the odds of interacting again with same peer is low (Friedman, et al) (See next slide)
Enforce direct interaction with limited number of peers (BitTorrent)
Reputation systems – introduces state – may not scale as well
How to deal with newcomers:Dissuade whitewashing by
Cooperate with strangers with a fixed probability, p, is not robust against white washers
Better approach is adjust p based on frequency of past cooperation with strangers. This works better for a small turnover rate.
Reputation
10
Areas that reputation work:Evolutionary biologyOnline marketplaces (e.g. eBay)FileSharing - eg. KaAzA – files who upload have
better reputation scores and get higher priority when downloading
Eigentrust algorithmUses “transitive trust relationships” to aggregates
local “trust values” to form “global” trust valuesSimilar to “page rank” in Google
Credence algorithmExtends “trust” from peers to objects in p2p system
to defend against pollution and poisoning
Minimalist P2P model (no reputation)
11
Each peer i has type θ = generosity = amount that peer will contribute to system
x = # of contributors to systemContribution cost per peer = 1/xDecision of rational peer:
See graph on next slide
Miminimalist P2P model - costs
12
Y axis is # of contributors to system
X axis is generosity level
x1, x2 (on Y axis) and zero are equilibria of system
X2 is NOT a stable equilibrium
Generosity θ is uniformly distributed beween 0 and θm.
Straight line is CDF of percent of peers who will contribute at a certain price level.
Curved line is the model of the cost per contributor.
Benefits
14
Benefit proportional to contribution level – αPerformance of System:
Ws = αx – (1/x)x = αx -1 (note 1/x is used instead of 1/ θ )
System will still collapse if maximal generosity is low
Reputation system
15
Catch free riders with probabilty, p, an eliminate free riders from system
OR
catch free riders with probability 1 and peanalize free riders with (1-p) times reduced service of contributor
Load placed on system decreases to :
So contribution cost becomes:
Analysis with reputation
16
Q – individual benefitR – reduced contribution costT – threat
Contributor performance : Q – R =
Free Rider performance :
System Performance: