TheBitTorrentprotocolApeer-to-peerfilesharingprotocol.ProblemAddressed•Howdowetransferapieceofdataquicklytoagroupofpeopleinterestedinit.–Webserver–Distributors–Redhatpatches•Soln:BitTorrentbasedfileswarmingPhilosophy•Author:BramCohen•BasedonTit-for-tat•Incentive-Uploadingwhiledownloading•PiecesoffilesOverallArchitectureABCPeer[Leech]Downloader“US”Peer[Seed]Peer[Leech]TrackerWebServerOverallArchitectureABCPeer[Leech]Downloader“US”Peer[Seed]Peer[Leech]TrackerWebServerOverallArchitectureABCPeer[Leech]Downloader“US”Peer[Seed]Peer[Leech]TrackerWebServerOverallArchitectureABCPeer[Leech]Downloader“US”Peer[Seed]Peer[Leech]TrackerWebServerOverallArchitectureABCPeer[Leech]Downloader“US”Peer[Seed]Peer[Leech]TrackerWebServerOverallArchitectureABCPeer[Leech]Downloader“US”Peer[Seed]Peer[Leech]TrackerWebServerOverallArchitectureABCPeer[Leech]Downloader“US”Peer[Seed]Peer[Leech]TrackerWebServerMessages•Peer–Peermessages–TCPSockets•Peer–Trackermessages–HTTPRequest/Response•B-encoding.torrent•urlofthetracker•Pieceshash1,hash2,….hashn•Piecelength•Name•Length•Files–Path–lengthTracker•Peercache–IP,port,peerid•Stateinformation–Completed–Downloading•ReturnsrandomlistPeerOperation•Chokingalgorithm–Choke/Unchoke–Preferredpeers–Optimisticunchoke–Snubbingbehavior•PreventedbyAnti-snubbing.•Uploadtointerestedpeerswhoarenotchoking.PeerOperation•Verifyonreceivingcompletepiece•EndgameBehavior–CancelExperimentalClientStrengths•Betterbandwidthutilization–Neverbeforespeeds.•Upto7MB/sfromtheInternet.•Limitfreeriding–tit-for-tat•Limitleechattack–couplingupload&download•Spuriousfilesnotpropagated•AbilitytoresumeadownloadDrawbacks•Smallfiles–latency,overhead•Randomlistofpeers-naive•Scalability–Millionsofpeers–Trackerbehavior(uses1/1000ofbandwidth)–Singlepointoffailure•Robustness–Systemprogressdependentonaltruisticnatureofseeds(andpeers)–Maliciousattacksandleeches.MNL’sInterest•Robustness–Devisepossibleattacksandfindloopholes–Secureagainstattacks•Scalability–Sharingacrossfiles–Millionsofusers•Possibleextensions–Peeroptimization•Uploadjustenoughtomaximizeyourdownload.–Intelligenttracker•Peerselectionpolicy–Deadsites•SharehtmlcontentOptimism-hack•Connecttoasmanypeersaspossible•Benefit–Optimisticunchoking–ProbabilityoffreedownloadincreasesPeeruploadoptimization•Uploadenoughtostaywithinthepreferredlistofasmanypeersaspossible•GetthebestdownloaddealwithminimumrequireduploaddownloaduploadSmartertracker•Classifypeers•Pickatrandomfromeachofthesesubsets•Nocompromiseonrandomchoice•Willleadtoamoreprogressivepeernetwork.PeersFastSlowCompletedInterestinglinks•Officialsite:•BitTorrentFAQ:•Torrentsites––––leaveyourdownloadwindowsopen–Bigbrotheriswatching!