Abstract
Cooperation incentives have been proposed as an effective solution to various problems that plague Peer-to-Peer (P2P) and Computational Grid systems including: free-riding, resource discovery, collusion of resources, scalability and fairness. In this chapter we will introduce the concept of cooperation incentives and discuss their design goals and capabilities and how can they improve the characteristics of P2P systems. We will classify incentive mechanisms based on their pattern into four categories: trust-based, reputation-based, barter-trade and bond-based. These categories have different feature sets and can be applied to different scenarios, something we will elaborate on in this chapter. We will also discuss two very popular P2P file sharing systems: BitTorrent and eDonkey2000 (ED2K). We will use this discussion to illustrate how incentive mechanisms have been integrated into these widely-deployed very-successful P2P networks. Throughout our discussion, we will map incentive mechanisms proposed for P2P networks and Computational Grids to their well-established roots in economic systems and game theory.
TopIntroduction
Peer-to-peer (P2P) and Computational Grid systems are distributed systems that enable sharing of resources across a large peer population. Such resources can be: shared file content, computing cycles, disk storage space, etc. P2P and Grid systems have many advantages over using dedicated servers or parallel supercomputers, especially when scalability is considered. However, the performance of such systems is threatened by issues that did not exist in the well-known client/server architecture.
One of those problems is the phenomenon of free-riding, which stems from the refusal of peers to give up some of their resources to the good of the community. This was first observed in the Gnutella and Napster P2P file sharing networks (Adar & Huberman, 2000; Saroiu et. al., 2002). Adar & Huberman (2000) report that nearly 70% of Gnutella users do not share any files, and peers that volunteer to share files are not necessarily those who have desirable ones. In addition, nearly 50% of all search query responses come from only the top 1% of sharing peers. Around five years later the situation got worse, with 85% of Gnutella users sharing no files (Hughes et. al., 2005).
Free-riding in P2P systems can be explained by various reasons. In the case of a P2P file sharing network, for example, peers might withhold their files for fear of prosecution when sharing copyrighted material, other peers might reserve their upload capacity for more important traffic, and others might be technically unable to offer high upload speeds because of asymmetric internet connections.
In the case of P2P wireless ad hoc networks, on the other hand, which rely on distributed routing of frames, a peer who wants to forward frames is confronted with additional energy and bandwidth usage for reception and transmission of frames. Since wireless devices usually run on batteries, peers would rather not share resources so they can increase their lifetime in the system.
The prevalence of free-riding in a P2P system threatens its operation because it limits the system’s scalability and weighs heavily on the cooperative (called altruistic) peers, encouraging them to either quit the system or free ride themselves, which will ultimately cause the system to collapse (since no resources are available any more).
Another crucial problem that P2P systems face is resource discovery in a large peer population. Contrary to free-riding (refusal of peers to distribute queries to other peers to save their resources), this problem stems from the competition among peers to provide services, especially in legitimate applications of the P2P paradigm, in which peers can gain from answering queries. For example, in a pay-per-transaction Computational Grid system where peers get paid for sharing their CPU cycles, peers will want to donate their resources because this generates income. Therefore, as peers become eager to provide services (the opposite of free-riding), they become unwilling to forward queries to potential competitors. This creates problems for a P2P system that relies on a distributed resource discovery architecture, since it results in resource starvation even though abundant services are available in the network (Sun & Garcia-Molina, 2004; Yang et. al., 2005).
A third and equally troubling problem is collusion (also called pollution) of resources by malicious peers. P2P file sharing systems have long suffered from fake files launched by some companies to protect copyrighted material, and by viruses masquerading as legitimate content. This phenomenon was investigated in (Feng & Dai 2007; Liang et. al., 2005) for KaZaA and Maze P2P systems, respectively. Fake files were found to be quite pervasive in these systems. Distributed P2P backup systems also suffer from malicious behavior in which malicious peers can send fake data storage offers even though no actual storage is performed.
Key Terms in this Chapter
eMule: The main client for the ED2K network, which is a popular P2P file sharing network that implements the reputation-based incentive mechanism.
Resource Collusion: The condition in which a malicious peer introduces fake content or advertizes fake services in a P2P system in order to deter others from using the system.
Sybil Attack: A type of attack that can be carried out in reputation-based P2P systems that rely on reputation dissemination. In this case, an attacker masquerades as multiple simultaneous identities to attain unjustified praising of itself (i.e., to obtain a higher reputation score) or to launch a defamation of character on another peer.
Cooperation Incentives: A set of strategies or methods designed to stimulate cooperation among peers and to enforce policies that benefit the P2P system, thus compensating for the lack of a dedicated infrastructure in such a distributed system.
Free-Riding: A condition in which a peer refuses to give up some of its resources to the good of the community (for example, when a user refuses to share any files in a P2P file sharing network).
BitTorrent: A very popular P2P file sharing network that implements the barter-trade incentive mechanism.
Peer-to-Peer: A distributed system that enables sharing of resources across a large population of users. In such a system, each node (peer) acts as both a client and a server simultaneously.