30
Do incentives build robustness in BitTorrent? Michael Piatek, Tomas Isdal, Thomas Anderson, Arvind Krishnamurthy, Arun Venkataramani

Do incentives build robustness in BitTorrent? Michael Piatek, Tomas Isdal, Thomas Anderson, Arvind Krishnamurthy, Arun Venkataramani

Embed Size (px)

Citation preview

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 performanceStrategic client can take advantage of thisDegraded 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%

Jimmy
Exerpt from paper:To gain an understanding of BitTorrent’sbehavior and the diversity of implementations in the wild, we first conducted a measurement study of live BitTorrent swarms to ascertain client characteristics.By making use of the opportunistic measurement techniques presented by Madhyastha et al. [14], we gather empirical measurements of BitTorrent swarms and hosts.Our measurement client connected to a large number of swarms and waited for an optimistic unchoke from each unique peer. We then estimated the upload capacity of that client using the multiQ tool [10]. Previous characterizations of end-host capacities of peer-to-peer participants were conducted by Saroiu, et al. [18]. We update these results using more recent capacity estimation tools. We observed 301,595 unique BitTorrent IP addresses over a 48 hour period during April, 2006 from 3,591 distinct ASes across 160 countries. The upload capacity distribution for typical BitTorrent peers is given in Figure 1 along with the distribution of equal split ratesthat would arise from peers using the reference BitTorrent implementation with no limit on upload rates.

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 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?