Delft University of Technology Decentralized Credit Mining in P2P
Total Page:16
File Type:pdf, Size:1020Kb
Delft University of Technology Decentralized Credit Mining in P2P Systems Capota, Mihai; Pouwelse, Johan; Epema, Dick DOI 10.1109/IFIPNetworking.2015.7145334 Publication date 2015 Document Version Accepted author manuscript Published in 2015 IFIP Networking Conference Citation (APA) Capota, M., Pouwelse, J., & Epema, D. (2015). Decentralized Credit Mining in P2P Systems. In 2015 IFIP Networking Conference IEEE. https://doi.org/10.1109/IFIPNetworking.2015.7145334 Important note To cite this publication, please use the final published version (if applicable). Please check the document version above. Copyright Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons. Takedown policy Please contact us and provide details if you believe this document breaches copyrights. We will remove access to the work immediately and investigate your claim. This work is downloaded from Delft University of Technology. For technical reasons the number of authors shown on this cover page is limited to a maximum of 10. Decentralized credit mining in P2P systems Mihai Capotă Johan Pouwelse Dick Epema Delft University of Technology Delft University of Technology Delft University of Technology The Netherlands The Netherlands The Netherlands Abstract—Accounting mechanisms based on credit contribution, as we previously showed [3]. At the same are used in peer-to-peer systems to track the con- time, the accounting mechanisms have made it difficult tribution of peers to the community for the purpose for honest, non-freeriding, but inexperienced users to earn of deterring freeriding and rewarding good behavior. Most often, peers earn credit for uploading files, but enough credit (or keep a high enough sharing ratio) to other activities might be rewarded in the future as maintain community membership [4]. well, such as making useful comments or reporting Tribler [5] is a P2P system that uses a decentralized spam. Credit earned can be used for accessing new form of accounting called BarterCast [6]. Tribler is back- content, or for receiving preferential treatment in case wards compatible with BitTorrent and uses many of the of network congestion. We define credit mining as the activity performed by peers for the purpose of concepts introduced by the latter: content to be shared is earning credit. In this paper, we design, implement, and divided in pieces that are cryptographically hashed; the evaluate a system for decentralized credit mining that hashes are collected in a torrent file which is used to maximizes the contribution of idle peers to the commu- uniquely identify the content; the group of peers sharing a nity by automatically uploading popular files. Building torrent is a called a swarm; servers called trackers can be on previous theoretical insights into the economics of communities, we select autonomous algorithms for used by peers when joining a swarm to find other peers. bandwidth investment as the basis of our credit mining In this paper, we design, implement, and evaluate using system. Additionally, we describe our experience with Internet experiments a decentralized Credit Mining Sys- important challenges arising from Internet deployment, tem (CMS) aimed at helping users contribute to Tribler. that are frequently neglected in emulation, including The goal of the CMS is simple: earn credit on behalf of the duplicate content avoidance, spam prevention, and the cost of keeping peer information updated. Furthermore, user—without requiring user intervention—by contribut- we implement an archival mode of operation, which ing upload bandwidth to the community. The user can prevents the disappearance of old content from the then spend the credit earned, for example, to obtain a community. We show the feasibility and usefulness of fast download speed while downloading new content in our credit mining system through measurements from case of a flash crowd [7]. (Tribler peers can rank download our implementation on top of Tribler, an Internet- deployed peer-to-peer system. requests in order of requester credit, and can give priority to the requests of the peers with the most credit.) I. Introduction Our CMS is completely decentralized—it is part of the Tribler P2P client and does not require the collaboration Incentives are key to the functioning of peer-to-peer of any other Tribler peer to function. The operation of (P2P) systems. Altruism does lead people to contribute the CMS can be seen as a sequence of three steps. First, resources even when they are not rewarded, but only to a the user selects a source of swarms for the CMS to take certain extent. Consequently, systems that reward contri- into consideration for credit mining. This is a form of bution through built-in incentives have historically proven white-listing and ensures the user has control over the to be more successful than those with no incentives. For content shared through their computer. Second, the CMS example, BitTorrent [1] displaced Gnutella [2] as the most periodically selects a subset of swarms for active credit used P2P file-sharing system soon after its introduction mining. The user may provide a large number of swarms thanks to built-in incentives which effectively discourage and it is not technically feasible for the CMS to actively freeriding. participate in all of them. Third, the CMS joins the More recently, private P2P communities have extended selected swarms and attempts to maximize earned credit the incentive mechanisms embedded in BitTorrent by by downloading as little as possible and uploading as much employing accounting mechanisms that track user ac- as possible. tivity. These private communities incentivize good user Long-term content availability is a problem in P2P behavior by employing credit (or sometimes sharing ratio systems, caused by the gradually falling user demand for enforcement) and are also successful at increasing user old content [8]. This also makes credit mining old swarms ISBN 978-3-901882-68-5 © 2015 IFIP inefficient. However, users may want to improve the avail- ability of old content and we provide a special mode of time [3]. BitTorrent clients report the upload and down- operation for the CMS to help them. In archival mode, load to the community servers such that each user has the CMS selects swarms not based on upload potential, an associated sharing ratio—the ratio between upload and but on the number of replicas present in the system. download. Communities employ sharing ratio enforcement In addition to the functionality outlined above, we to provide certain privileges, like access to the newest include in our CMS design several subsystems aimed at content, only to the users with sharing ratios above certain tackling challenges arising from implementing and deploy- thresholds. The sharing ratio is a form of credit, and in ing the CMS over the Internet. We identify duplicate certain communities it can be transferred between users. content and select for credit mining only the swarm with Decentralized accounting mechanisms spread the bur- the most peers. We detect spam using collaborative fil- den of tracking peer contributions from a centralized tering. Finally, we optimize the network traffic necessary server to the individual peers in the network [9]. Decen- to maintain up to date information on the swarms in the tralized accounting mechanisms that require every peer to CMS. store the complete and up-to-date contribution informa- We implement our design in Tribler and deploy it over tion of all peers are also suffering from limited scalability. the Internet, using swarms from a real-world BitTor- Instead, BarterCast [6] uses only the local view of each rent community. In our evaluation, we explore several peer to compute the relative contribution of other peers by parameters that influence the functioning of the CMS applying flow network techniques on the peer interaction and use the results to select default values that lead to graph. good performance. Furthermore, we verify the feasibility Accounting is used to provide benefits to users that earn of widespread adoption of the CMS through an experiment credit. In certain private communities, users are required where a high proportion of peers use it. to maintain a minimum credit balance, otherwise they are The contributions we make in this chapter are the expelled from the community [3]. In other communities, following: new content is first made available to users with sufficient 1) We design CMS, a credit mining system for Tri- credit, and only later to the other users. bler, which automatically selects from a whitelist of swarms provided by the user the swarm with the B. Tribler best upload potential, and joins this swarm with Tribler is a P2P system developed at the Delft Univer- the goal of maximizing its upload/download ratio sity of Technology and released as open-source software. It (Section III); is based on a custom protocol, called Swift [10], but is also 2) We solve problems arising from deploying CMS on compatible with BitTorrent. In addition to file transfer, the Internet by detecting duplicate content, remov- it provides collaborative wiki-style editing, decentralized ing spam, and minimizing overhead network traffic search, and integrates the BarterCast accounting mecha- (Section IV); nism. 3) We implement CMS in Tribler and test it with real- As opposed to BitTorrent, where users have no long- world swarms, showing its credit mining effective- term identifiers, each Tribler user is assigned a permanent ness, and proving its compatibility with widespread identity, called PermID, which is used by BarterCast and community deployment (Sections V and VI). other subsystems. The PermID is actually an automati- II. Background cally generated public key that also enables Tribler to en- crypt the communication between peers. At the same time, In this section, we describe accounting in P2P systems, each data transfer between two Tribler peers generates a focusing on centralized, as well as decentralized solutions.