300 likes | 315 Views
A Survey of Incentive Mechanisms in Peer-to-Peer Systems. Technical Report CS-2009-22, 2009 University of Waterloo Presented by Jehn-Ruey Jiang. Users.
E N D
A Surveyof Incentive Mechanismsin Peer-to-PeerSystems Technical Report CS-2009-22, 2009 University of Waterloo Presented by Jehn-Ruey Jiang
Users • Obedient users: abide by protocol rules v.s.Rational users: attempt to maximize their consumption of system resources while minimizing the use of their own
Free Rider • Users who try to benefit from a system without making any contribution to the system • About 75% of users are free-riders free-riders
Common Incentive Mechanisms • Currency:In MojoNation, peers earn currency by making contributions and use the earned currency to purchase service from other peers. • Reputation:In KaZaA, peers increase their reputation by uploading and later use their high reputation scores during downloading.
Free Riding Related Problems • White Washing Attack: a free-rider repeatedly rejoins the network under new identities to avoid the penalty imposed on free-riders. • The whitewashing attack is made feasible by the availability of low cost identities or cheap pseudonyms. • Two ways to counter the attack: • To assign strong free IDs by a centrally trusted authority • To impose penalties on all newcomers
Free Riding Related Problems • Sybil Attack: a single malicious identity can present multiple identities, and thus gain control over part of the network. (An attacker thwarts the reputation and sharing mechanism of a P2P network by creating a large number of identities or pseudonyms, using them to gain a disproportionately large influence.)
BitTyrant Michael Piatek, Tomas Isdal, Thomas Anderson, Arvind Krishnamurthy, and Arun Venkataramani. “Do incentives build robustness in bittorrent?” In NSDI’07, Cambridge, MA, April 2007.
Contribution? • The paper seeks to show ‘a strategic peer can raise download speeds while still contributing the same’ • Already proven by BitThief (‘Free Riding in BiTorrent is Cheap’, Locher et al., HotNets, 2006)– high download rates without uploading any data
Strategic? • Benefit of optimistic unchoking: Might discover faster peers at all points in time • BitTyrant abolishes optimistic unchoking; it is designed not to upload too much if you cannot download so much in return • Instead, look for people with higher upload rates instead so you can do a better deal • Benefits people with higher upload capacities
Building BitTyrant: A strategic client • Un-choking Algorithm • dp:download rate of connection p • up:upload rate of connection p
Building BitTyrant: A strategic client • How to improve performance? • Maximize reciprocation bandwidth per connection • Maximize number of reciprocating peers • Deviate from equal split • From previous result (from equal split to unequal split) • 100 KB/s → 15 KB/s, probability of reciprocation↓1% • 15 KB/s → 10 KB/s, probability of reciprocation↓40%
Building BitTyrant: A strategic client • Un-choking Algorithm • γ= 10% • δ= 20% • r = 3
Virtual Currency • KARMA [25] proposes a general economic framework of virtual currency for combating free-riders in p2p systems by keeping track of resource contribution and resource consumption of each member of the system. • This is achieved by representing the overall performance of each participant via a single metric called karma.
Banking • The karma values for each node are maintained by a set of other nodes (called the bank-set) who are collectively responsible for continuously increasing and decreasing the karma value for that node as it contributes and consumes resources consumption of each member of the system. • Initially a user is awarded a seed amount of karma when s/he joins the system (this can encourage white washing).
Bank-set Mapping • The KARMA design assumes that there are at least k available nodes in the system at all time instances and that a certain fraction of these nodes are non-malicious. • The bankset information is maintained via a Distributed Hash Table (DHT) where each node is mapped to bank-sets. • The k closest nodes in the identifier space of each node A constitute the bank-set for A.
Selecting peers for downloading • KARMA maintains file information using a fileID for each file. When a node joins, it associates its id with the fileID’s of all files that it possesses. • A node willing to download a file acquires a list of potential up-loaders to select the peer to download from.
Karma Exchange • The karma transfer from A to B is initiated when A sends B a signed message authorizing BankA to transfer a given amount of karma to B, which forwards this message to BankB which in turn contacts BankA. • If A has sufficient karma in its account, the amount is deducted from A’s account and credited to B’s account.
Drawback • Peers are required to act as bankers for other nodes; no peer has any incentive to take this additional responsibility. • Karma may introduce additional free-riding behavior in an attempt to cope with free-riding itself! ==> the new free-riding problem
Credence • A P2P distributed reputation system, designed to thwart content pollution in P2P file sharing systems. • File Pollution in P2P networks • Wasted resources • Mislabeled content • Mal-content (viruses and Trojans) • A fully functioning Credence is build as an extension to the LimeWire client for the Gnutella file sharing network.
Overview of the approach • Goal: To distinguish between authentic content and polluted content • Users VOTE on objects based on their judgment • Users COLLECT votes to evaluate authenticity of the object they are querying • Users EVALUATE votes from peers to determine credibility of peers from their perspective
Search Results • Each search result can be viewed as a claim about the file's attributes. • For example, <H: gettysburname, mp3=type, 128=bitrate> makes the claim that the file with content hash H has the specified attributes. • The symbol is used to indicate that gettysburg is one of possibly many valid names for the file.
Votes in Credence • A Vote is a signed tuple: <H: S,T> K • H - File content hash • S – Statement about the file • T – Timestamp • K – Certificate • Votes are cryptographically signed to ensure non-repudiation and to prevent sybil attacks • Statement: <value set operator attribute> For example, <H: mp3type>
Collecting and Storing Votes • Vote-gather query: to use the existing query infrastructure by issuing a vote-gather query, specifying the hash of the file of interest, to the underlying Gnutella network. • Reactive, pull-based • Highest weight votes sent if multiple votes stored by a given peer • Vote-database: <file hash: timestamp, peer’s own vote, list of other votes received>
Computing Correlations • Compare shared voting history for each pair of peers • Correlation coefficient θobtained by comparing conflicting votes and agreeing votes • θ takes a range of [-1,1] • Positive values indicate agreement • Negative values indicate disagreement
Responses to Attacks • Naïve attacker ( votes consistently in opposition to honest clients – will be cut off) • Random attacker ( – will generate no correlations with other peers • Rational attacker (some files with honest votes, dishonest on others – has to leak some correct information in the network) • Whitewasher – attacker first votes honestly on a large set of files before voting dishonestly on a smaller TARGET set. Client’s own perspective at evaluating a peer comes into play here to exclude the attacker.