p2p incentives
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
P2P INCENTIVES Dror Marcus
YoniDeny Confess
Hadas
Deny Redo the test Yoni is freeHadas is expelled from school
Confess Yoni is expelled from schoolHadas is free
Both fail this course
YoniDeny Confess
Hadas
Deny Hadas : 2
Yoni : 2
Hadas : 0
Yoni : 3
Confess Hadas : 3
Yoni : 0
Hadas : 1
Yoni : 1 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) : agent i‘s utility in round r
Total utility of an agent:
riu
/
0
r n ri
r
ud
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))
0
(1 )(1 )1
CC r
r
bb dd
--
-
Player’s request get satisfied for free with prob.
Most additional expected utility to gain by having money is:
1 (1 )Cb- -
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 dollarsk is your “comfort level,” how much you want to have saved up for future requestsS0 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
kd D
s kd 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
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!
0(1 )( )1
t t
t
M g ad
- --
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 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.
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
For each peer P request If reputation is above a threshold, send data
to P at rate proportional to it’s reputation
ONE HOP REPUTATIONDEFAULT POLICY- CONT
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 REPUTATIONREPUTATION
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 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 REPUTATIONLIQUIDITY
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
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 - NEW USERS
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
ONE HOP REPUTATIONEVALUATION – PERFORMANCE
QUESTIONS?
[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 Isdal Arvind Krishnamurthy
Thomas Anderson.
PAPERS