300 likes | 478 Views
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
E N D
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 AltruismSources 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 BitTyrantunchoking 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?