Presentation is loading. Please wait.

Presentation is loading. Please wait.

Incentives Build Robustness in BitTorrent 1st Workshop on Economics of Peer-to-Peer Systems 2003 Bram Cohen

Similar presentations


Presentation on theme: "Incentives Build Robustness in BitTorrent 1st Workshop on Economics of Peer-to-Peer Systems 2003 Bram Cohen"— Presentation transcript:

1 Incentives Build Robustness in BitTorrent 1st Workshop on Economics of Peer-to-Peer Systems 2003 Bram Cohen bram@bitconjurer.org

2 Outline What BitTorrent Does Technical Framework Choking Algorithms

3 What BitTorrent Does How BitTorrent Works When multiple people are downloading the same file at the same time, they upload pieces of that file to each other Mathematically: what must go down must go up High rate of “churn”

4 What BitTorrent Does Interface Standard “Save As” dialog box

5 What BitTorrent Does Deployment Known “Tracker” nodes.torrent file contains meta information length, name, hash, URL of tracker Incomplete downloaders increases rapidly Complete downloaders increase slowly Both fall off exponentially

6 Technical Framework Publishing Content Peer Distribution Pipelining Piece Selection

7 Publishing Content Protocol layered on top of HTTP Publisher provides a.torrent file: d8:announce43:http://torrent.linux.duke.edu:6969/announce13:creation da tei1099856396e4:infod5:filesld6:lengthi2639267840e4:pathl18:FC3-x86_6 4-DVD.isoeed6:lengthi753e4:pathl6:MD5SUMeee4:name21:heidelberg-x8 6_64-DVD12:piece lengthi262144e6:pieces201380:gæGÓg€Èd1ÒñfMåcƒ !)UÁÍÂ◊∆òA˝,èZEoPL”‡&JÀ#Lø™≈ÚT±±)∂úUTúâO^ � Ëg&µ?µ0 � %£p$oª≈'Bê®ıJVBvÉ*ßwä†ÅMΩ � óøåˇ·îÕµoKÜè ……. (200k file)

8 Peer Distribution Tracker helps peers find each other. BitTorrent cuts the files into pieces Typically 256KB Uses SHA1 hash to verify integrity Peers download from any other peer Peers may not have what is wanted Peers may not allow them to download

9 Pipelining BitTorrent uses TCP Avoid TCP “slow start” Have many pending requests Pieces get broken down Sub-pieces typically 16KB in size Try and keep some number (typically 5) of requests pending at a time.

10 Piece Selection Strict Priority Other sub-pieces from same source Rarest First Common parts left for later Random First Piece Start-up need to get a complete piece Endgame Mode Broadcast for all remaining sub-pieces

11 Choking Algorithms No central resource allocation “choking” is a temporary refusal to upload Pareto Efficiency BitTorrent’s Choking Algorithm Optimistic Unchoking Anti-snubbing Upload Only

12 Pareto Efficiency An allocation is Pareto efficient if there is no other allocation in which some other individual is better off and no individual is worse off. “ In computer Science terms, seeking pareto efficiency is a local optimization algorithm in which pairs of counterparties see if they can improve their lot together, and such algoritms tend to lead to a global optima.”

13 BitTorrent’s Choking Algorithm Peers are unchoked based strictly on current download rate Leaves 4 peers unchoked Makes decision every 10 seconds Uses a 20-second rolling average

14 Optimistic Unchoking Used to discover if a currently choked peer would be better. Done every third unchoke decision (30 seconds).

15 Anti-snubbing After 60 seconds without a single piece, the client will assume it has been ‘snubbed’ Does not upload to a peer that has snubbed it (except as an optimistic unchoke)

16 Upload Only Once it’s done downloading it has no metric to determine who to upload to Prefers: Peers that have a better upload rate Peers that noone else is currently uploading to

17 Summary What BitTorrent Does Technical Framework Choking Algorithms

18 Personal Opinions Limited references (IPTPS) Some handwaving “All logistical problems…” “Well known economic theories…” Built for transferring LARGE files In trouble from MPAA for copyright violations(movies)


Download ppt "Incentives Build Robustness in BitTorrent 1st Workshop on Economics of Peer-to-Peer Systems 2003 Bram Cohen"

Similar presentations


Ads by Google