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?
© Copyright 2026 Paperzz