E d it o r : M u n i n d a r P. S i ng h • s i ng h@ nc su.e du S h e ng r u Tu • s he ngr u@c s .uno .e du n a peer-to-peer (P2P) network, peers are expected to contribute to the system by sharing their resources in return for using the network and other peers' resources. However, in many P2P networks, a considerable portion of peers are reluctant to share resources. Thus, P2P networks' primary expectation -peers' implicit or explicit functional cooperation and resource contribution -might fail, leading to a situation called free riding. In a P2P context, a free rider is a peer that uses P2P network services but doesn't contribute to the network or other peers at an acceptable level. Eytan Adar and Bernardo A. Huberman performed the first study specifically addressing the free-riding problem. 1 The authors reported that 70 percent of peers didn't share any files at all, and 25 percent provided 99 percent of all query hits in the network. Since then, many studies have verified that high degrees of free riding exist in P2P networks. As these works show, for some types of P2P networks (such as file sharing), a few altruistic peers can provide the requested services and might help the system survive. However, not all P2P networks (such as multimedia streaming and storage sharing networks) will have enough voluntary or altruistic peers to achieve the desired level of service. So, eliminating or reducing free riding's impact has become a topic of considerable research. Here, we examine the free-riding problem in P2P networks and elaborate on various proposed solutions. Free riding's impact and the effectiveness of a solution to it depend on the P2P network in question, so we should first examine various types of networks that exist. We can classify such networks according to many criteria. One possible classification is based on two network features: the degree of centralization and the degree of structure. The former determines to what extent a P2P network relies on servers to assist interactions between peers, whereas the latter refers to the way in which content is indexed and located in the network. Using these two criteria, we can classify P2P networks into three types: centralized, decentralized but structured (hybrid), and decentralized and unstructured (pure). Centralized P2P networks maintain a central directory that is constantly updated; peers use this directory to locate resources (as with Napster). Hybrid P2P networks don't have a central directory but are structured -that is, hybrid P2P networks firmly control the P2P topology and systematically place file indices into peers, following a certain algorithm (as with Chord, the ContentAddressable Network, or Pastry). In this way, the network can efficiently resolve queries. Pure P2P networks have no centralized directory, and these networks have little control over the network topology (as with Gnutella or KaZaa). Another possible classification regards the type of services a P2P network provides. File sharing is the most widespread P2P service and lets peers search and download files from oth- Free riding in peer-to-peer (P2P) networks poses a serious threat to their proper operation. Here, the authors present a variety of approaches developed to overcome this problem. They introduce several unique aspects of P2P networks and discuss free riding's effects on P2P services. They categorize proposed solutions and describe each category's important features and implementation issues together with some sample solutions. They also discuss open issues, including common attacks and security considerations. Free Riding in Peer-to-Peer Networks er peers connected to the network (as with Napster, Gnutella, Publius, Free Haven, or BitTorrent). Distributed computing, on the other hand, lets peers aggregate their computing power to solve a large and computationally intensive problem. SETI@ home, Avaki, and Entropia are wellknown examples in this category. P2P storage services provide virtual stable storage via redundancy and aim to allow peers to continuously access files while preserving author anonymity; OceanStore, PAST (a global, persistent storage utility), and FreeNet are examples of such systems. Collaborative P2P applications enable application-level collaboration among peers. These applications (such as NetMeeting, Magi, Groove, Jabber, and DOOM) include instant messaging, chats, and online games. P2P platforms (for example, JXTA) support common P2P services, such as naming, discovery, communication, security, and resource aggregation. Finally, P2P multimedia streaming services (for example, PPLive, UUSee, Peercast, and Freecast) let peers stream and multicast or broadcast audio and video to each other. Free riding can adversely affect a P2P network's operation. In a free-riding environment, a small number of peers serve a large population, which can lead to scalability and single-pointof-failure problems. Free riders and their queries generate substantial network traffic, which might lead to service degradation. Furthermore, free riders occupy considerable underlying available network capacity and resources, causing delays and congestion for non-P2P traffic. How serious free riding's effects are on a P2P network depends on many factors, including the network type and its requirements. In a filesharing P2P network, for example, if most peers prefer not to share, renewal or presentation of interesting content might decrease with time; thus, the number of shared files can become limited or only increase slowly. The search process's quality might degrade due to an increasing number of free riders in the search horizon. With time, honest peers who have contributed many files to the network might begin to find fewer and fewer worthwhile files themselves and leave the system altogether, taking their files with them. In a P2P CPU-sharing grid (a distributed computing system), free riding can easily decrease system utility or even make the system collapse due to insufficient CPU resources. Similarly, in media-streaming systems, peers gain utility not only from file availability but also from high-quality file streams. 2 Although a conventional file-sharing system might persist even with low-level cooperation, a P2P streaming system can't offer high streaming quality to its users if only a relatively few users cooperate. Even though the network isn't heavily congested, if cooperation is low, streaming quality will be poor. 2 Similarly, applications developed to run over P2P platforms or services that collaboration networks provide fail to execute properly if the network doesn't achieve the required cooperation level. Structured P2P networks can be more vulnerable to some types of free riding than unstructured ones. In a structured P2P network that uses the CAN protocol, for example, peers must store key-value pairs for keys that fall into their zone. Within the CAN context, peers can free ride by not storing key-value pairs in their zones and by ignoring incoming queries. If most peers do this, CAN can't resolve most queries, and the network might easily fall apart. Ultimately, free riding's effects can range from simply annoying users to crashing the whole system. So, P2P system developers should shape solutions to deal with free riding according to the expected impact it will have. Although cooperation is key to many P2P networks' existence and success, realizing it is difficult without effective mechanisms. To address this requirement, researchers have proposed several approaches to make P2P networks "contribution-aware" and thus combat free riding. We can categorize these approaches into three main groups: monetary-, reciprocity-, and reputation-based approaches. Monetary-based approaches charge peers for the services they receive. Because these services are still very low cost, such approaches are also called micropayment-based solutions. Any monetary-based system requires two key mechanisms: an accounting module to securely store each peer's virtual currency and a settlement module to fairly exchange virtual currency for services. Most monetary-based systems implement these components by centralizing their functions within a single authority, which manages each peer's balance and transactions by tracking accounts and distributing and cashing virtual currency. Most of the proposed solutions depend on a public-key infrastructure (PKI) to provide security against fraud and errors. We discuss security concerns more in a later section. When monetary-based solutions deal with only small payments, any incorporated security mechanisms need only be lightweight. 3 Most monetary-based solutions don't guarantee a totally fair exchange of goods and payment, however, 3 because tight security services can make transactions more expensive (in terms of complexity, computation, and communications) than the exchanged goods' value. Thus, effec- Monetary-based approaches have several implementation limitations when applied to P2P networks. Centralization and communication over head. All proposed solutions require some centralized authority to monitor each peer's balance and transactions. This can cause scalability and single-point-of-failure problems, as mentioned. Additionally, disseminating virtual currencies, managing transactions, and applying auditing mechanisms increase communication overhead in the network. To store peer balances and manage transactions, monetary-based approaches require persistent user identifiers. Providing such identifiers, however, is complicated by peers' anonymity, wide dispersion, and ease of identity modification in most unstructured and decentralized P2P networks. We discuss this issue more in a later section. Users dislike micropayments primarily because they must decide before each service request whether the service is worth a few cents, which leads to confusion and mental decision costs. Thus, monetary-based solutions involve users' mental effort in exchange for inexpensive resources. In reciprocity-based approaches, a peer monitors other peers' behaviors and evaluates their contribution levels. We can define a peer's contribution level as a numerical assessment of that peer's contribution to the P2P network or to the assessing peer. These approaches usually involve a mutual action: the service quality a peer receives is determined by that peer's contribution level. Reciprocity-based approaches usually measure other peers' contributions only for the current session. These approaches maintain no long-term history about peers, which lets a peer that's judged as a free rider in one session be judged as a contributor in the next, provided the peer has changed its behavior. These approaches also let the system preserve peer anonymity because using persistent identifiers isn't mandatory. Reciprocity-based approaches can be based on mutual reciprocity or indirect reciprocity. With mutual reciprocity, a peer decides how to serve another peer based solely on the direct service exchange it had with this peer. In contrast, with indirect reciprocity, this decision depends on the level of services a peer provides to the whole network. Some existing P2P applications, such as BitTorrent, implement the mutual reciprocity-based approach by adjusting a peer's download speed according to its upload speed (requiring downloading and uploading peers to exchange file fragments). Other examples of mutual reciprocity-based approaches are FairNET, 5 the P2P Connection Management Protocol, 6 and eMule (www. emule-project.net), which uses a cross-credit system. When peer A uploads a file to peer B, peer A gets a credit from peer B, which will then privilege peer A in case it wants to download a file from peer B in the future. Indirect reciprocity-based approaches consider peers' overall contribution to the network when differentiating service provisioning. For example, we suggest a distributed monitoring and punishment scheme elsewhere 7 in which each peer monitors its neighbors' contribution to the network. Depending on the contribution level, the peer applies an action to each neighbor. GNUnet also falls into this category: in GNUnet (http:// gnunet.org), peers monitor each others' behavior with respect to resource usage. Peers that contribute to the network receive better service. Reciprocity-based approaches face several implementation issues. Fake services. To gain higher levels of contribution, peers can publish fake services. Contribution-level credibility. Some proposed reciprocity-based methods depend on accurate information about peers, but peers themselves provide this information. A malicious user can cheat a P2P network that depends on such an approach by hacking the client program. Peer identity management. Peers Free Riding in Peer-to-Peer Networks are linked to their values through their identities. However, if newcomers are assigned a higher standard utility value than are free riders, a free rider can try to get rid of its degraded value by constantly getting a new identity. Reputation-based approaches construct and maintain reputation information about peers, and peers with good reputations are offered better services. These approaches can construct reputation information about a peer on the basis of feedback from peers who have interacted with that peer. Such feedback can be positive, negative, or both. The system uses the feedback to build up a good reputation for contributing peers and a bad reputation for free riders. A peer's reputation information corresponds to its long-term behavior, so reputation-based approaches store and manage long-term peer histories. This implies that it isn't easy to convert a bad reputation to a good one or vice versa. We can categorize reputationbased methods into two main groups: autonomous reputation approaches and global reputation approaches. In an autonomous reputation scheme, peers maintain reputation information about other peers they've interacted with. These local reputation values aren't disseminated or merged to create a global reputation database. Consequently, such approaches are relatively simple to implement because they don't call for a security infrastructure or centralized storage to protect local reputations' integrity. XRep is an example of an autonomous reputation system.
To address this requirement, researchers have proposed several approaches to make P2P networks "contribution-aware" and thus combat free riding REF .
Free Riding in Peer-to-Peer Networks
IEEE Internet Computing
IEEE Internet Computing
Computer Science