Sharing large files through Bit Torrent in Peer-to-Peer social networks


Published on

Bit-Torrent (BT) is a widely used protocol for file shar-
ing over the network in an efficient way where a single file is
effectively accessed by large number of users. Bit-Torrent is
based on peer to peer networking (P2P) and it improves the
transfer speed drastically by splitting the file into segments
and collecting the segment needed from the other peers that
already have them. The Bit-Torrent technique shows effec-
tive resource utilization among hundreds of connected peers
accessing the same file by not compensating on their down-
load speed. This paper discusses the working principle
of Bit-Torrent , framework behind its operation, proposed
modifications in its working and what the future might hold
for this innovative approach in order to serve files over the
peer to peer social network.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Sharing large files through Bit Torrent in Peer-to-Peer social networks

  1. 1. Sharing large files through Bit Torrent in Peer-to-Peer social networksKailaash BalachandranProject Group - A Peer-to-Peer Framework for Social NetworksUniversit¨at Paderborn, Supervisor: Dr.-Ing. Kalman GraffiEmail: kailaash@mail.uni-paderborn.deAbstractBit-Torrent (BT) is a widely used protocol for file shar-ing over the network in an efficient way where a single file iseffectively accessed by large number of users. Bit-Torrent isbased on peer to peer networking (P2P) and it improves thetransfer speed drastically by splitting the file into segmentsand collecting the segment needed from the other peers thatalready have them. The Bit-Torrent technique shows effec-tive resource utilization among hundreds of connected peersaccessing the same file by not compensating on their down-load speed. This paper discusses the working principleof Bit-Torrent , framework behind its operation, proposedmodifications in its working and what the future might holdfor this innovative approach in order to serve files over thepeer to peer social network.1 IntroductionIn recent times, Bit-Torrent has become one of the mostpopular peer to peer content distribution technique over theweb and it has higher share of Internet traffic than all otherpeer to peer networks. Bit-Torrent was installed on 28.20percent of computers worldwide in September 2007 andthis number is certainly higher given the current trend ofTorrent usage [1]. A recent Internet traffic trend report re-leased by the Canadian broadband management companySandvine reveals that bandwidth usage patterns during peakhours of Internet usage show that of 29.97 percent of theupstream stream can be attributed to Bit-torrent [2] and theaverage download speed is about 30 KB/s, which is quite aacceptable rate to get large files in a day [3]. Bit-torrent’spopularity has paved way for a number of third party torrentclients available for free download which provides ease touse interfaces and one click download feature to their users,which, on the other hand, contributed to the success of Bit-Torrent.The Bit-Torrent’s operation is based on hybrid decentral-ization of the content which makes it different from the tra-ditional server client download technique. In traditionalfile sharing technique, to download a file, the client ,usually,the browser requests the server that holds the file to trans-fer a copy of the file to the clients system. This transfer ishandled by protocols such as FTP ( File Transfer Protocol)or HTTP ( Hyper Text Transfer Protocol). Here, the down-load speed is greatly affected by a number of factors suchas amount of traffic on the server , the protocol used for thetransfer and also the number of computers trying to down-load the file at the same time. The transfer speed varies de-pending on the demands of the server. However , in peer topeer file sharing method, a P2P client is used on every par-ticipating nodes. The client sends out a request for the fileto download and to locate the file, the client queries othernodes that are connected. When the client finds a node thathave the requested file,the download begins. The shared fileis chopped into pieces and every computer that downloadsthese pieces, also uploads them to each other. These piecesare replicated on different computers as soon as possible.Once a computer has a complete piece, it is then traded withother computers that needs them. Thus every computer thatparticipates in the transfer acts as both, server and client.A major factor behind Bit-Torrent’s success is the built-inincentives mechanism, implemented by its choking algo-rithm, also called the Tit-for-tat algorithm which encour-ages every active node to upload pieces to each other. Thefile transfer load is shared among the computers exchangingfiles, but can cause bottlenecks when a node downloads thefile and immediately disconnect without allowing others toobtain files. This limits the number of computers the soft-ware can search for the requested file. Here, we’ll discussthe working principle of Bit-torrent and how it solves theseproblems.The rest of this paper is organized as follows. Section2 provides a description of the terminologies, operation ofthe Bit-Torrent protocol and an explanation of its piece se-lection and peer selection policies as implemented in the of-ficial Bit-Torrent client. Section 3 describes the drawbackswith conventional method along with the proposed and de-
  2. 2. ployed modifications to bit-torrent’s framework. Section 4provides an overview on file sharing in a collaborative P2Psocial networks, introduces the new paradigm of friend tofriend network and lists out challenges faced in implement-ing an effectve file sharing feature. Section 5 presents bit-torrent in P2P social network by providing a basic paradigmon how a bit-torrent system reacts in a social environmentand lists some of the social community biased optimizationsto its framework that can be adapted in our project. Section6 concludes.2 Bit-Torrent Operation2.1 TerminologiesHere, we define the terminologies used throughout thispaper though they are not of standardized definitions.• Peer: A peer is a active computer node that participatesin the torrent file transfer. A peer can be in one of thetwo states. The leecher state and the seed state.• Seeder: A seeder is a peer that has a complete copy ofthe torrent and still offers it for upload. The more thenumber of seeders, the better are the chances of gettinga higher download rate.• Swarm: The group of peers active on a torrent. Activemeans those peers that transfer content associated withthe torrent either as a seed or a peer.• Leecher: Leecher is a peer that still downloads piecesof the content and becomes a seed once it gets the com-plete file.• Tracker: A tracker is a server that keeps track of whichseeds and peers that are in the swarm. The tracker iscentralized and a new peer wishing to join the torrent,contacts the tracker to get the list of peers that have thepieces of the file.• .Torrent file: The .torrent file, also referred to as aMetainfo file, has all informations necessary to down-load the content and the number of pieces. A torrentfile does not contain the content but only the informa-tion about those files, their names, sizes, structure, andthe hash values for verifying file integrity.• Index: An index is a list of .torrent files published andmanaged by a website. It acts as a search engine forusers to search and download .torrent files.2.2 Torrent ClientA Torrent client is a software program that facilitatespeer to peer based file sharing over Bit-Torrent protocol.Most of these Bit-torrent clients are free and open sourcesoftwares. They provide a clean, user friendly interfacesFigure 1. Overview of Bit-Torrent’s Operation,Source:[4]where the users launch by clicking on a hyper-link and aregiven a standard ’Save as’ dialog [5]. These torrent clientsvary in their functions providing unique features and also intheir design framework which shows difference in its oper-ating behaviors. The paper [6] , observes the performancesof two major famous clients, namely uTorrent and Vuze,where uTorrent users achieve more download speed thanthe users of Vuze for the same set of torrents [6]. Perfor-mance of each client differs mainly on (a) How they man-age their neighborhood size (b) How to find new connectedpeers (c) When do they close a connection and (d) How dothey distribute upload capacity. Thus, the design choicesand framework of bit-torrent clients have significant effecton the download speed.2.3 Content PublishingWhen a user decides to share a file using bit-torrent,the peer distributing the file uses torrent client to chop thefile into identical sized pieces, creates hash for every singlepiece and is recorded in the .torrent file. Peers that has thecomplete file are called seeders, and the peer providing thefirst copy, generally the torrent owner, is called the initialseeder. These Torrents have an ”announce” section whereURL of the tracker is mentioned followed by an info sec-tion containing name of the files, number of pieces, theirsize and hashes for each piece. These are verified by clientsto check integrity of the data that they receive. Torrent filesare typically uploaded on websites such as index sites, withat least one tracker. The tracker maintains lists of the peerscurrently participating in the torrent. The initial seeder whohas the complete file should start seeding to make the fileavailable for other connected peers to download.2.4 Role of a TrackerA tracker is a server that helps in the communicationamong peers participating in the transfer [7][8]. To makeit simple, a tracker just keeps track of what is happening
  3. 3. on the network. Peers regularly update the tracker to nego-tiate with the new peers and they contain complete statis-tics of the transfer. When users create a torrent file, theywould need to specify a tracker URL to the announce sec-tion in the client. The more trackers you specify, the fasterthe download speed will be. Some index sites provide theirown trackers where it also hosts the torrent file providing allneeded features to start a torrent download. Torrent clientsalso allow its users to create their own tracker by fetchingthe IP address of the system and the listening port numberfollowed by announce section.2.4.1 Public TrackerThe public tracker, as the name specifies , is open to pub-lic, Any one can use the tracker where the DHT and localpeer discovery are enabled in order to spread far and wide.Public trackers are more prone to Free riding, where peersbenefits from resources (download) without paying for thecost of the benefit (upload). In short, free riders are thoseselfish peers that only download pieces without contributingto its reciprocal upload.2.4.2 Private TrackerThe defining factor of private bit-torrent trackers is thatthey’re selective about who gets to use the site. Unlike pub-lic trackers, on which anyone can search and download tor-rents, private trackers require you to be invited by anotheruser or create an account in order to use the service. Eachsite using the private tracker will have their own set of rulesabout who and how the site can be accessed. Because ofthese rules, you get a lot of benefits, including fast down-load speed, quality content, privacy and a great community.2.4.3 Multi-trackersMulti-tracker torrents contain multiple trackers in a singletorrent file. This provides redundancy in the case that onetracker fails, the other trackers can continue to maintain theswarm for the torrent. One disadvantage to this is that it be-comes possible to have multiple unconnected swarms for asingle torrent where some users can connect to one specifictracker while being unable to connect to another. This cancreate a disjoint set which can impede the efficiency of atorrent to transfer the files it describes [8].2.4.4 Tracker-less torrentEven though bit-torrent works on decentralized P2P net-work, it highly relies on the centralized tracker servers. Thesimple solution is to go tracker less [9], which means thereis no central tracker server. DeCentralized or Trackerlesstorrent is discussed elaborately in section Piece Selection StratergyIn torrents, the file to be shared is broken into pieces andfurther into sub pieces and these pieces are negotiated andtransferred between the peers. When a peer starts to down-load, it defines free spaces for the whole file, then it search-ing for different pieces of the file from the connected peersto download. Peers download these pieces in a random or-der , not necessarily from start to end piece. Adopting aappropriate piece selection strategy plays a major role inthe overall performance.2.5.1 Strict PriorityA single piece may have a number of sub pieces associ-ated with it and different peer may contain these sub pieces.When a particular peer requests for a single sub piece, allthe remaining sub pieces of the parent piece are requestedbefore requesting any other sub pieces of other pieces. Thispolicy helps downloading a complete piece as quickly aspossible.2.5.2 Rarest FirstAfter allocating required space for the whole file, the peernow searches for pieces to download from connected peers.While selecting the pieces, the peer usually selects the piecewhich is found in rare in its connected network. This rarestfirst technique makes sure that all pieces are available onthe network and gets replicated such that the overall perfor-mance is not affected even when a seeder who has the com-plete file goes off line. In some practical deployments, theinitial seeder goes offline due to cost measures leaving thecurrent leechers to exchange and share pieces among eachother. In such cases, rarest first approach plays a significantrole by not loosing a piece to go out of the network.2.5.3 Random piece firstThis is an exception to rarest first approach. When a peerstarts the download, it has got nothing to upload for theother peers. The rarest pieces are present generally on fewerpeers and it takes longer download time as it rate will beslow. So the peer selects a random piece and downloads itas quickly as possible so that it gets its first complete piece, thus joining the swarm of leechers and starts to upload toother peers. Once it gets the first complete piece, it adoptsto rarest first technique.2.5.4 End Game ModeWhen a peer is about to complete the transfer, it will leftwith fewer number of pieces to download. Sometimes thosepieces will be requested from a peer with slow transfer raterather than a peer with higher rate. It will drastically delay
  4. 4. Figure 2. Combined overview of piece selec-tion stratergies used by a peer from down-load start to end, Source: [4]the download finish. In end game piece selection algorithm ,the peer sends out request to all peers for the sub pieces thatis needed to complete the download. Once the piece getsdownloaded from peer that has higher transfer rates, cancelmessages are sent to all appending peers to avoid redundantsends. The end game mode is very short and doesn’t havemuch impact on the overall download process [10].2.6 Peer Selection StrategyBit-torrent is a decentralized network and it does no cen-tral resource allocation. Each participating peer should beresponsible to maximize their download rate [5]. Peersdownload pieces from different peers and upload simulta-neously to a limited number of peers. In general economics,Pareto efficiency refers to the context where no two counterparties can make an exchange and both be happier at thesame time. Seeking pareto efficiency is a local optimizationalgorithm in which pairs of counterparties see if they canimprove their lot together,and such algorithms tend to leadto global optima. Specifically, if two peers are both gettingpoor reciprocation for some of the upload they are provid-ing, they can often start uploading to each other instead andboth get a better download rate than they had before. Chok-ing algorithms in bit-torrent allows a peer to select otherpeer to which they can exchange data thus achieving Paretoefficiency [5].2.6.1 The Choking AlgorithmIn a Bit-torrent environment, every peer need to downloadand upload at the same time. To cooperate peers upload,to not to cooperate they choke [5]. For example, peer ’A’chokes peer ’B’ if peer A doesn’t want to upload pieces topeer B but download continues to happen. Choking is anal-ogous to temporary refusal to upload to other peers. Chok-ing mechanism follows Tit for Tat policy where a peer up-loads to another peer only if the second peer uploads piecesin exchange. As a consequence, free riders, i.e., peers thatnever upload, are penalized as they get choked.A peer unchokes a number of connected peers (4 peersby default) to exchange pieces with and the number is lim-ited to avoid TCP congestions over the network. Out of 4unchokes, 3 peers are unchoked purely based on their trans-fer rate and 1 is randomly unchoked regardless the transferrate which is called the optimistic unchoke ( discussed insection 2.6.2). A peer decides about which peer to unchokepurely based on their transfer rate which is calculated forevery 10 seconds. Those peer that show good transfer ratesgets unchoked and re-unchoking happens when the next tensecond period is up. Choking Algorithms differs for seedersand leechers. A seeder usually uploads pieces to all peersin a round robin fashion as they have the complete file anddoes not require any uploads to them.2.6.2 Optimistic ChokingRegular Unchoking method may miss out some unused con-nections that have better transfer rates than the ones that arebeing unchoked. To fix this issue, bit-torrent uses optimisticunchoking mechanism where a peer is unchoked in randomand the optimistic unchoke is recycled every third rechokeperiod , which is thirty seconds ,claiming that thirty sec-onds is a long enough period of time for TCP to ramp upnew transfers to their full capacity and new connections arethree times as likely to start at the current optimistic un-choke as any other connection in the rotation. The opti-mistic unchoke peer selection has two purposes. It allowsto evaluate the download capacity of new peers in the peerset, and it allows to bootstrap new peers that do not haveany piece to share by giving them their first piece [11] [12].2.6.3 Anti SnubbingSometimes a peer with higher transfer rates will get chokedfor longer duration affecting its download speed. Such peer,that receives nothing from a particular peer for more thanone minute, is assumed to be snubbed and only a optimisticunchoke can release the peer from being snubbed. This re-sults in more than one optimistic unchoke to recover thedownload rates of the snubbed peer.3 Proposed Modifications in Bit-Torrent’sworkingBit-torrent systems are highly popular and are consid-ered to be a viable alternative to traditional client-servermodel as they are decentralized. As the content is not storedin a central server, every participating peer is dependent
  5. 5. on each other as they download and upload pieces of file. Even though Bit-torrent provides incentives to ensure fair-ness among participating peers, there exists peers calledfree riders who downloads resources from other peers butdo not share ( upload ) to any. This causes degradation inthe overall performance of the system. Also despite the im-plementation of the Tit-for-tat principle, the fairness amongpeers doesn’t seem to be impressive. Much research hasbeen done to improve fairness among peers but it has beenobserved that peers with high upload bandwidth frequentlyupload much more data than they download, with the op-posite being the case for peers with low upload bandwidths[11]. The following algorithms have been proposed to im-prove the working of bit torrent.3.1 Conditional Optimistic UnchokeIn Conditional Optimistic Unchoke, the InstantaneousFairness Ratio (IFR) is calculated for for an individual peeras the ratio of data uploaded to data downloaded during thelast 10 seconds. Therefore, an IFR of less than 1 indicatesa peer is downloading an excessive amount and an IFR ofgreater than 1 indicates a peer is downloading an insufficientamount. Optimistic Unchoke happens only if the peer’s IFRis greater than 1. The Peer need to be cautious for not down-loading excessively and choking other peers may change theset of peers from where its downloading thus reducing itsdownload amount [11].3.2 Variable Number of Outgoing Con-nectionsInstead of having fixed number of connections for eachpeer, this method proposes having variable number of con-nections depending on the current upload capacity of thepeer. A peer with high upload capacity might have connec-tion with more number of low capacity peers so that theycan serve them better whereas a low capacity peer connectto limited number of peers. A pair of peers have multipleconnections with each other thus enabling peers with morecapacity can transfer data to one another at high rates[11]3.3 Treat Before TrickTreat Before Trick solves the problem of free riding tosome extent. Each file is encrypted by the owner or theseeder. The key used in the encryption mechanism is againsplit into ’n’ sub keys and pieces are sent along with subkeys, i.e each piece has a subkey. These sub keys haveno dependence on the piece they have been sent. The leowner uploads both the le pieces and subkeys to a set of re-questing peers, called leechers. Now the leechers can barterpieces for subkeys with each other such that every leecherwill have to upload the pieces in order to get the subkey todecrypt the piece.The rule Data First Key Later is followedby peers thus making every peer to upload a piece before re-questing for the key. Here, peers swap le pieces for subkeysand vice versa, which are needed in order to decrypt the lepieces [13].3.4 Super SeedingThis technique helps when we need to seed a large tor-rent with limited upload capacity. Seed acts as normalleechers by not claiming to have the complete file. Whenthe seed gets connected to leechers, it uploads a piece to aleecher that has been never uploaded before and does notupload another piece until it gets acknowledgement fromother leechers that the sent piece has been uploaded again.This helps great for the seeds that have less upload capac-ity or have to pay for the upload bandwidth as this methodlimits the number of duplicated pieces[14]. Super seedingcan help save an upload ratio of around 20 percent of theinital seeder but it stalls when there are very less leechers.It works best when the upload speed of the seed is greaterthan that of individual peers.3.5 Tracker Protocol ExtensionWhen a peer enters a torrent, it is called a leecher sinceit does not contain any piece. It contacts the tracker for therandom list of peers and to achieve more optimal bandwidthutilization, it connects to the peers that have similar trans-fer rates. If there are very less peers with similar rates arepresent, it takes time to discover them and the only way todo so is by optimistic unchokes. It would be more prefer-able if the tracker that the peer initially connects to can per-form this operations as it might save more time rather thanwaiting for an optimistic unchoke. The new peers that con-tacts the tracker to join the torrent, reports its upload capac-ity to the tracker and the tracker will reply with list of peerswith similar transfer capacities. Optimistic Unchoke is thenperformed every 30 seconds so as to discover new partnerssooner with same upload capabilities[14].3.6 Team Enhanced ProtocolThis is a slight modification over the tracker protocolextension. Trackers coordinates peers to form teams withsame upload limit while joining the torrent. In addition tothat, tracker enforces rules for a peer joining the team in or-der to avoid free riding. Firstly, it limits a peer to changeteams frequently by tracking its history of team joins withina short interval of time. Secondly, the tracker do not al-low a peer to join a team if it doesnt satisfy or found non-compliant with the team protocol in the past. For exampleif the peer had lied about its upload bandwidth before , thepeer is blacklisted by the tracker and is not allowed to joinin the team. Thus it prevents the entry of a peer that tries tofree ride [4].4 File Sharing in a social P2P environmentOnline centralized file sharing social networks certainlyhave limitations over privacy concerns. Particularly privacy
  6. 6. and protection from massive data-mining and big-brotherlytreatment of the users by the social networking serviceproviders. By mapping a peer-to-peer application to a peer-to-peer infrastructure, direct connections can be exploitedsuch that locality can be taken into account. Even thoughpeer-to-peer file sharing systems do exist, they focus moreon the technical aspects and therefore unable to exploit thepower of social phenomena. Even though the bit-torrentmethodology has been proven successful, it is still vulner-able to free riding and tracker offline scenarios. Integrat-ing Bit-torrent technology in a peer-to-peer social networkfaces a lot of challenges where security plays the major role.4.1 F2F NetworkFriends-friends network is a new paradigm after peer-to-peer(P2P). In an F2F network [15] two computers cancommunicate with one another only if their owners are re-lated in the social network. Since the two owners know oneanother they can communicate either in person, through aninstant messaging service or any other means. This sidechannel can be used to set up the connections between userscomputers, i.e. by exchanging their network addresses andpossibly some cryptographic data for securing the link.4.2 Social trust becomes P2P trustOne of the biggest and largely unsolved problems of P2Psystems is security. Because any peer can connect to anyother peer this makes the systems extremely vulnerable.Peers can arbitrarily deviate from the P2P protocols, appearin the network under many identities or selfishly use the re-sources of others while not contributing their own. Evenwhen peer misbehavior is detected the rogue peers need tobe isolated from the network, which is extremely hard to dowithout having a stable peer identity. Open P2P systems areessentially groups of strangers talking with each other, trustis volatile and difficult to build. In F2F networks the peershave a well defined identity and the users bring the socialtrust into the system. A user in the system knows that thecomputers that her computer is communicating with belongto her friends and can be trusted to work as expected. Ifone of the computers does misbehave and this is detected,the users can be notified about it and undertake the neces-sary action, e.g. possibly contact the owner of the roguecomputer. Strong identity allows for self-policing and user-mediated repair in F2F systems. F2F greatly reduces mostof the P2P systems vulnerabilities by bringing the socialtrust into them. This happens at a cost though. The clas-sical P2P systems rely on being able to connect to any peerin the network while in F2F, connections are only possibleamong friends.4.3 Challenges faced in implementing filesharing feature in P2P social networks• The Availability Problem:Guaranteeing the availabil-ity of P2P system is a major challenge in implementingfile sharing feature. The system should not rely on theavailability of seeds or any central resource manager.In [16], it is estimated that less than 4 percent of thepeers have an uptime of over 10 hours. More numberof peers tend to leave the system quite often leaving thesystem with less seeders or no seeders in worst cases.Hence, the availability problem is critical. Providingmore incentives such as social recognition and awardscould make users to run the P2P software for longerduration, thus improving the availability of the systemas a whole.• System Integrity: Maintaining the integrity of the sys-tem is the another major concern and how well the sys-tem can be trusted. The only solution for this is toachieve trust among peers. Free riders are the so calledpeers that do not cooperate with the system by self-ishly not donating resources to other peers. So all peerscannot be trusted and maintaining system integrity hasproven to be a great challenge in operational systems.This problem could be solved in a social based P2Pnetwork as users know each other or the group and canalso select trusted users as representatives [17].5 Bit-Torrent for P2P Social Networks5.1 Private TrackersUsage of private trackers, though centralized , providesgreater benefits include larger selections of files, fasterdownloads, higher quality files, and strong communities be-hind them. They come with a lot of rules and regulations.These rules may include Rules regarding ratio which corre-sponds to upload/download ratio, rules regarding who canaccess the site, rules regarding the quality of the file andeven more, which, in other hand improves wide selection ofnonpoisoned torrents and provides a lot of benefits such as• High Quality Files: Because of the rules, only highquality torrents gets uploaded. If a user uploaded tor-rent doesn’t satisfy the quality rule, it is deleted auto-matically.• Faster Downloads: The rule of Private torrent is allabout seeding and have mechanisms to prevent freeriding resulting in faster downloads..• Increased Privacy: Here, torrents are kept private fromthe public eye. Compared to other public torrents, pri-vate torrent sites are less traveled and users are forcedto register or get invite to access the site, which againimproves privacy.5.2 DeCentralized TrackersBit-Torrent is a peer-to-peer approach and even thoughit is claimed to be decentralized, the download process still
  7. 7. relies in part on central servers called trackers that can crashor go offline for a variety of reasons. To address this vul-nerability, bit-torrent downloads should no longer requirea central server, meaning that no central trackers. In to-days deployment, Tribler client allow users to search fortorrents and download files without the need for any cen-tral server, but the current client still lacks a solution fordecentralized tracking of swarms . In the paper [9] , theyhave proposed completely removing the tracker and replac-ing it with a set of distributed protocols based on randomwalks, accomplishing the work of the tracker without ex-plicitly tracking every peer in the system.The distributed tracking algorithm , 2-Hop TorrentSmell,is used in the implementation of Tribler Client [18] . Mod-ern bit-torrent clients can exchange their neighborhood setsthrough Peer Exchange (PEX). PEX greatly reduces the re-liance of peers on a tracker by allowing each peer to directlyupdate others in the swarm as to which peers are currentlyin the swarm. In 2-Hop TorrentSmell algorithm [19] , wetrack peers in the swarm by RePex ( Reconnect to peers en-countered before ) and find the distributed trackers trackingthe swarm. Much research has been done in the field of de-centralizing trackers but they are not deployed anywhere of-ficially outside the research domain. If such system comesin the future, there is definitely no way for anyone to mon-itor, ban or bring down a P2P network as it is completelydecentralized.5.3 De-IndexingThere are bit-torrent search engines and indexes such asThe Pirate Bay and isoHunt. They search for the requestedcontent and download the .torrent file. Decentralization ofthe index search can be done using the gossip protocol [20]that can act over the bit-torrent engine. The searched keyword will be passed on to the neighboring connected nodeslike a gossip. It spreads on throughout the swarm return-ing the result of the search. Gossip protocols are designedto operate in very large, decentralised networks. A peer topeer network keeps changing rapidly Ias new nodes arriveand existing nodes depart after download or even abruptly.In such cases, , gossip protocols perform well as informa-tion exchange happens in a random periodic way. Loss ofdata wouldn’t affect the system as no nodes are assignedwith specific tasks and are not given any roles . In spiteof loosing a data, copies of the same can be received frommultiple nodes. If a node fails or goes off line, it doesn’taffect other nodes from sending messaged thus there won’tbe any single point of failure in the system.5.4 BuddyCast algorithmThe list of content a person downloads via bit-torrentcan be considered the taste of the user.Through its down-loads the user builds up a preference list of content. Thepreference list contains by default all downloaded les fromwhich the user can add or remove entries. These preferencelists are exchanged freely amongst peers using the Buddy-cast algorithm. Using this algorithm the user builds Cache.The recommender component uses the Preference Cache tocalculate both similarity between peers and to recommendcertain content the user is predicted to like, using a specialcollaborative ltering algorithm. When a certain peer has apreference list with high similarity to the users they havethe same download taste. We call such similar peers tastebuddies. [17]To enable effective content based discovery, every peerprovides a list of preference of files , by default, with re-cently downloaded files. In Buddycast algorithm, Each peermaintains a list of its top-N most similar peers along withtheir current preference lists. Periodically, a peer connectsto either (a) one of its buddies to exchange preference lists(exploitation), or (b) to a new peer, randomly chosen, toexchange this information (exploration). To maximize theexploration of the social network, every peer also maintainsa list with the K most recently visited random peers, andavoids reconnecting to a peer already present in the list. Incontrast to other epidemic protocols such as Newscast, weuse both exploitation and exploration branches, we limit therandomness of peer selection during the exploration, and weimplicitly cluster peers into (trusted) social groups [17].5.5 Collaborative DownloadsIn Collaborative downloads, each peer has to take one oftwo roles; either a Collector or a helper. The collector is thepeer that needs the complete file and in order to improve thedownload performance , the collector peer collaborates withgroup of other peers called the helpers. These helpers down-load pieces from various sources and sends those pieces tothe collector. A helper peer doesn’t seek anything in re-turn from the collector, give more priority to collector re-quests and show no interest in the content the collector isdownloading. The collector selects the best source from thehelpers thus optimizing its download performance.Figure 3. Overview of cooperative download-ing, Source:[17]
  8. 8. The fairness of bandwidth sharing is enforced by a hy-brid approach, as the bandwidth is accounted differentlybetween non-collaborating peers, and between a collectorand its helpers. Peers that are not members of the samecollaboration can exchange chunks with the standard bit-torrent’s tit-for-tat algorithm. The BitTorrent tit-for-tat bar-tering strategy ensures that for a peer the amount of incom-ing data is roughly equal to the amount of outgoing data.The tit-for-tat mechanism guarantees fairness only within asingle download session (download of one file). The asym-metric nature of the collector-helper relation implies that thebandwidth contributed by the helper to obtain the chunksfor the collector in the current download can be reclaimedonly during later downloads. We base the fairness betweencollaborating peers on a notion of a promise. A collector re-cruits helpers by giving them a promise that the bandwidthinvested in boosting the collectors download performancewill be returned in the future. Helpers contribute their cur-rently idle bandwidth knowing that later the roles may bereversed a helper will become a collector and the currentcollector will pay back for the consumed bandwidth by par-ticipating in the download as a helper. The role of a promiseis to provide an incentive for collaboration. This role canbe fulfilled only if the system provides guarantees that thepromise will be delivered. [20] [17]6 ConclusionIn this paper, we discussed the operation of bit-torrent,the framework behind its working nature and have listedthe proposed modifications to deal with performance issues, research challenges and factors to be considered while im-plementing bit-torrent in a P2P social network. Bit torrenthas been slowly migrating from its conventional public filesharing role to a social network. In todays world, recogni-tion of having a more distributed and decentralized socialnetwork has grown largely among people. We have pre-sented a paradigm for the design of bit-torrent style sharingfeature in P2P social network. Exploiting the feasibility ofhaving a complete de-centralized robust torrent feature hasnot been deployed officially and is open to further research.References[1] M. Defeche, “Measuring IPv6 Traffic in BitTorrentNetworks,” in IPv6 Operations, 2012.[2] Ernesto, “BitTorrent Still Dominates Global In-ternet Traffic,,(lastchecked: 23.05.2013),”[3] K. B. Peng Shi, “MegaTorrent: An Incentive-BasedSolution to Freeriding in P2P File-Sharing Networks,”[4] R. Izhak-Ratzin, “Improving the BitTorrent ProtocolUsing Different Incentive Techniques,” 2010.[5] B. Cohen, “Incentives Build Robustness in BitTor-rent,” 2003.[6] X. Y. Marios Iliofotou, Georgos Siganos andP. Rodriguez, “Comparing BitTorrent Clients in theWild:The Case of Download Speed,” in ACM Com-puting Surveys(CSUR).[7] “Vuzu:The Bit Torrent Client.”[8] C. Gong, W. Chunming, and J. Ming, “Region tracker:An effective way to localize bittorrent traffic,” in Wire-less Communications Networking and Mobile Com-puting (WiCOM), 2010.[9] M. k. R. Charles P. Fry, “Really truly Trackerless BitTorrent,” 2006.[10] R. L. Xia and J. K. Muppala, “A Survey of BitTor-rent Performance,” in IEEE Communications surveys,2005.[11] R. Thommes and M. Coates, “BitTorrent Fairness:Analysis and Improvements,”[12] G. U. Arnaud Legout, Pietro Michiardi, “Understand-ing BitTorrent: An Experimental Perspective,” 2005.[13] I. R. Kyuyong Shin, Douglas S. Reeves, “Treat-Before-Trick : Free-riding Prevention for BitTorrent-likePeer-to-Peer Networks,” in Proceedings of ACMconference on Electronic commerce,ACM, 2005.[14] E. K. L. Z. Arnaud Legout, Nikitas Liogkas, “Cluster-ing and Sharing Incentives in BitTorrent Systems,”[15] W. Galuba, “Friend-to-Friend Computing:Buildingthe Social Web at the Internet Edges,”[16] J. E. J.Pouwelse, P.Garbacki and Sips, “The Bittor-rent P2P file-sharing system: Measurements and anal-ysis,” in International Workshop on Peer-to-Peer Sys-tems(IPTPS), 2005.[17] W. B. Y. I. E. R. v. S. S. J.Pouwelse, P. Garbacki, “Tri-bler: A Social-Based Peer-to-Peer System,” in Inter-national Workshop on Peer-to-Peer Systems (IPTPS).[18] “The Tribler Client,,(lastchecked: 25.05.2013),”[19] R. Vliegendhart, “2-Hop TorrentSmell-A DistributedTracking Algorithm,” in Tribler Documentation,2009.[20] P. Garbacki, A. Iosup, D. Epema, and M. van Steen,“2Fast:Collaborative Downloads in P2P Networks,”2006.