Do incentives build robustness in BitTorrent?

Do incentives build robustness
in BitTorrent?
Michael Piatek, Tomas Isdal, Thomas
Anderson, Arvind Krishnamurthy,
Arun Venkataramani
Problem of Free Riding in P2P
• Consumption without contribution
• BitTorrent’s solution: Tit-for-tat (TFT)
reciprocity
– Objective: induce contribution
– Consensus: “incentives build robustness in
BitTorrent”
• Question: is the consensus correct?
Does TFT work?
• Not when strategic clients present
– Reduction of contribution can  better
performance
• Significant presence of altruism
– Contribution that do NOT improve
performance for client
• Strategic client withhold altruistic contribution
 degraded performance for peers
BitTyrant
• Modified BitTorrent
• Objective: Maximize download per unit
upload
• Method: Policy modification
– Careful selection of peers and contribution rates
• Insight: All clients can improve download
reducing upload
• 70% performance gain using BitTyrant
Effect of BitTyrant
• Individual clients benefit
• Non-strategic peers degraded performance
• Robustness: Strategic manipulation does not
affect performance
• Conclusion: “Incentives do not build
robustness in BitTorrent”
• Much contribution can be withheld while
maintaining performance
Summary of Introduction
• More contribution != better performance
Strategic client can take advantage of this
Degraded performance for peers
BitTorrent Overview
• Metadata file: torrent
– SHA-1 fingerprint
– Tracker server address
• Peers contact server periodically
– Obtain random set of peers
• Active set: peers exchanging data with
BitTorrent Overview cont’d
• TFT strategy determine active set
• Peer sends data to unchoked peers with most
rapid upload rate
• Peers whose upload too slow are removed
from active set  choked
• Equal split rate: Upload capacity split equally
within active set
BitTorrent Overview cont’d
•
•
•
•
•
•
•
•
Implementation and Percentage share
Azureus 47%
BitComet 20%
μtorrent 15%
BitLord 6%
Unknown 3%
Reference 2%
Remaining 7%
Modeling Altruism
Sources of Altruism; how much is present?
• TFT matching time
– Attempts to find peers of similar capacity
– Optimistic unchoke 2 every 30 seconds to explore
local neighborhood
– Peer is “content” with a matching once equal split
rate is <= peer
– High capacity have long convergence time 
more optimistic unchokes  source of altruism
Modeling Altruism cont’d
• Probability of reciprocation
– Equal split rate of 14 KB/s increases probability to
almost 100%
– Setting higher upload rate  altruistic
contribution
Expected download rate
• Download rate as a function of upload
capacity sublinear
Expected Upload Rate
• Depends on upload capacity and data
availability
• Have enough data of interest to saturate
upload capacity
• Static active set size may not be enough for
high capacity peers
Modeling Altruism
• Altruism = expected upload rate - expected
download rate
Modeling Altruism cont’d
• Second definition: any upload contribution
that can be withdrawn without loss in
download performance
• All peers make altruistic contributions
Building BitTyrant: A strategic client
• Maximize reciprocation bandwidth per
connection
– High reciprocation for low offered rate
• Maximize number of reciprocating peers
– Until marginal cost exceeds marginal benefit
• Deviate from equal split
– Lower contribution as long as reciprocation
continues  reallocate savings to new connection
BitTyrant: Customizing Active Set Size
• High capacity peers: significant reduction of
equal split rate  very small reduction of
reciprocation probability
BitTyrant: Active Set Size
• Large active set size  small equal split rate
 lower reciprocation probability
• Large active set size  additional opportunity
for reciprocation
• To maximize performance: increase active set
size until additional connection reduces
overall reciprocation
BitTyrant: Active Set Size
• Strategic peer benefits through active set
size manipulation
• For client with 300 KB/s upload rate:
BitTyrant: Unchoke Algorithm
• Dynamically sizes active set
• Varies sending rate per connection
• up (upload rate required for reciprocation)
• dp (download rate from peer)
• Rank up / dp and unchoke until up exceeds upload
capacity
• Best peers: reciprocate most for least bytes
contributed to
Implications
• Maximizes download rate for upload budget
• Dynamically estimate Up and Dp, optimizes
download rate over time
• Discover the most altruistic peers by
unchoking them
• Handle concurrent downloads, optimizing
aggregate download rate
Determining Up
• Initialize based on distribution of equal split
capacities
• Decrease by 10% if reciprocates for 3 rounds
• Increase by 20% if reciprocation stops
Determining Dp
• Rate at which data is obtained
• For peers who have not uploaded:
– Estimates with frequency of block announcement
– Susceptible to cheating – false announcement of
blocks
Increasing Local Neighborhood
• Request as many peers as possible from
tracker
• Overhead: 0.9%  1.9% of total file data
received
– Not significant
Additional Strategies
• Exploiting optimistic unchokes
– Reconnecting to wipe record of trade deficit
• Downloading from seeds
– Seeds upload to fastest downloaders
– Exploit by falsifying have messages
– Recent versions: upload randomly
• Falsifying block availability
– Appear more attractive by falsifying block
announcement
Evaluation
• 1. Evaluate on real swarms to measure
performance for single strategic client
– Realistic bandwidth distribution
– Realistic implementation distribution
– Measure performance gain
• 2. Planet Lab
– Evaluate sensitivity to upload rates
– Universally deployed
Single Strategic Peer
• Simultaneously joined swarm with Azureus
client and BitTyrant client
• 128 KB/s upload capacity limit
• Compared completion time
• Performance gain: factor of 1.72
Many BitTyrant Peers
• Strategic
– Uses BitTyrant unchoking algorithm
• Selfish
– Withholds excess capacity that does not improve
performance
• Many strategic peers
– Performance and altruism increase
– High capacity peers download faster and
contribute to swarm
Many BitTyrant Peers cont’d
• Many selfish peers
– Performance degradation
– Altruistic contribution withheld
– Reduced optimistic unchokes
Conclusion
• Performance dominantly improved by
altruistic contribution from high capacity
minority
– Little to do with TFT
• Altruism not consequence of TFT
• Most users are altruistic because they use
BitTorrent software as is
• BitTyrant is publicly available; will people be
selfish?