Lecture 2: P2P Incentives

advertisement
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.
Download