robust incentives via multi-level tit-for-tat qiao lian, zheng zhang (msra) yu peng, mao yang, yafei...
Post on 21-Dec-2015
215 views
TRANSCRIPT
Robust Incentives via Multi-level Tit-for-tat
Qiao Lian, Zheng Zhang (MSRA)
Yu Peng, Mao Yang, Yafei Dai, Xiaoming Li (PKU)
IPTPS, Feb. 2006
P2P file-sharing needs incentives to work
genuine incentives: must collaborate/share to benefit E.g. block exchange in BT Problems: only works within a large session
75
80
85
90
95
100
1 10 100 1000 10000Number of User for a fi l e (One Day)
CDF
perc
enta
ge
• Nearly 80% sessions contain 2 peers only, i.e. there is only one downloader• No one else to collaborate with!
A simple breakdown of the spectrum
Artificial incentive: Produce/record evidence of collaboration for future reference
Incentives
Private history Shared history
subjective Non-subjective
genuine incentives Artificial incentives
The sum of contribution from the perspective of other peers, weighted by their
reputation (e.g. EigenTrust)
Absolute contribution(e.g. Maze)
Brittle to collusion and other problems
Talk organization
The Maze p2p file sharing systemExisting collusion behaviorsWhy simple algorithms do not work
EigenTrust and Tit-for-TatMulti-trust algorithmEvaluationSummary and Related workConclusion
Maze:architecture
1. A sends query2. server responses with file / replica info3. A sends download requests4. B and C response with file data5. B and C upload traffic log
A
B
C
centralize maintainedindex / membership
user cloud Our work starts from these logs
Vital statistics
Popular Population: 1.4 million registered accounts; 30,000+
online users More than 200 million files More than 13TB (!) transfer everyday
Completely developed, operated and deployed by an academic team Logs added since the collaboration w/ MSRA in 2004 Enable detailed study at all angles
Maze : Incentive Policies
New users: points == 4096 Point change:
Uploads: +1.5 points per/MB Downloads: at most -1.0 point/MB
Gives user more motivation to contribute
Benefit of high point Climbing ladder social status Service differentiation:
Order download requests by T = Now – 3log(Point) Users with P < 512 have a download bandwidth of 200Kb/s
Available in Maze5.0.3; extensively discussed in Maze forum before implemented
100M
500M
900M
100M Account Change(Point/Mb)
Transfer Bytes(Mb)
1
-1 -0.7 -0.1-04
Upload
Download
Talk organization
The Maze p2p file sharing systemExisting collusion behaviorsWhy simple algorithms do not work
EigenTrust and Tit-for-TatMulti-trust algorithmEvaluationSummary and Related workConclusion
What is collusion
Definition (Webster dictionary): secret agreement or cooperation especially for an
illegal or deceitful purpose
And in the Maze context: Multiple peers collude to defeat the incentive system
What makes the study hard: Even with all the traffic logs, we will never know for sure But we can identify suspicious colluding patterns
See our technical report for more details
the collusion workingset
Repeat traffic detector Hint: colluders are lazy for peer pair link: duplication degree = total traffic / unique data
221,000 pairs whose duplication degree > 1 the top 100 pairs with most redundant traffic
A closer look…
(David, Alice, Quincy)e.g. Alice uploads MSDN DVD
image (~3GB) for 29 times
(Fred, Gary)(Olga, Pam)
(Harry, Cindy)
Pair-wise collusion
Ted: 3.8TB
Ingrid: 78GB
Sam: 47GB
Mary: 73GBStar-shape collusion
(spam account):colluding + whitewashing account
Talk organization
The Maze p2p file sharing systemExisting collusion behaviorsWhy simple algorithms do not work
EigenTrust and Tit-for-TatMulti-trust algorithmEvaluationSummary and Related workConclusion
What about EigenTrust?
EigenTrust: clone of PageRank Basic idea:
Consider recommender’s reputation
Trust matrix M: mi,j: trust of peer i to peer j (e.g
download quantity) normalize each row of M:
EigenTrust vector: The left principal eigenvector T The rank of peer i is Ti
imj
ji ,1,
What about EigenTrust?
EigenTrust: clone of PageRank Basic idea:
Consider recommender’s reputation
Trust matrix M: mi,j: trust of peer i to peer j (e.g
download quantity) normalize each row of M:
EigenTrust vector: The left principal eigenvector T The rank of peer i is Ti
6.02.02.0
1.009.0
1.09.00
M
9GB
9GB
1GB
10GB
1GB 10GB B
C
A
)(
)(
)(
2.0
4.0
4.0
C
B
A
T
imj
ji ,1,
30GB
False negative of EigenTrust
traffic EigenRank
>99%: 29GB collusion traffic 7.4x10-8
<1%: 200MB upload to some reputable peers 7.4x10-8 8.2x10-6
734KB upload to super peer Ted 8.2x10-66.6x10-5
Does the 734KB upload to Ted really matter? No, Ted is an irrational
user It downloads only
124MB, but uploads 3.8TB.
How the leg-hugger has high score:
leg-hugger Larry
False positive of EigenTrust(local distributor Wayne)
Wayne is in a satellite cluster Wayne uploads 290GB.
Its EigenRank equals to a peer in majority community with 10GB upload
Is it fair? At least, Wayne should have
high rank inside the satellite cluster.
We need personalized rank for each peer, e.g. Tit-for-Tat
Local distributor Wayne
5600GB
Talk organization
The Maze p2p file sharing systemExisting collusion behaviorsWhy simple algorithms do not work
EigenTrust and Tit-for-TatMulti-trust algorithmEvaluationSummary and Related workConclusion
Idea: trust peers (friends) who has helped me before Used in eMule and BitTorrent (the 2 popular P2P filesharing system)
Private history: Tit-for-Tat
Idea: trust peers (friends) who has helped me before Used in eMule and BitTorrent (the 2 popular P2P filesharing system)
Problem: extremely small coverage
Private history: Tit-for-Tat
Limited coverage even with longer history
Talk organization
The Maze p2p file sharing systemExisting collusion behaviorsWhy simple algorithms do not work
EigenTrust and Tit-for-TatMulti-trust algorithmEvaluationSummary and Related workConclusion
Multi-trust incentive algorithm
1. get friends’ 1-hop friends2. build friends’ friend list, i.e.,
2-hop friend list3. get friends’ 2-hop friends4. build 3-hop friend list
Idea: we need more than one tier of trust!
Multi-trust incentive algorithm
1. get friends’ 1-hop friends2. build friends’ friend list, i.e.,
2-hop friend list3. get friends’ 2-hop friends4. build 3-hop friend list
Idea: we need more than one tier of trust
Multi-trust incentive algorithm
1. get friends’ 1-hop friends2. build friends’ friend list, i.e.,
2-hop friend list3. get friends’ 2-hop friends4. build 3-hop friend list
Idea: we need more than one tier of trust
Multi-trust incentive algorithm
1. get friends’ 1-hop friends2. build friends’ friend list, i.e.,
2-hop friend list3. get friends’ 2-hop friends4. build 3-hop friend list
Idea: we need more than one tier of trust
Multi-trust incentive algorithm
Idea: needs more than one tier of trust
1. get friends’ 1-hop friends2. build friends’ friend list, i.e.,
2-hop friend list3. get friends’ 2-hop friends4. build 3-hop friend list
……
A
C
D
E
F
B
A C DEF B
1-hop friends2-hop friends3-hop friendsother peers
Multi-trust incentive algorithm
1. get friends’ 1-hop friends2. build friends’ friend list, i.e.,
2-hop friend list3. get friends’ 2-hop friends4. build 3-hop friend list
M
M2
M3
Mathematically answer: use full spectrum { M, M2, … M∞ }
Idea: needs more than one tier of trust
Multi-trust incentive algorithm
Evaluation: Coverage: real trace driven simulation of one month Effectiveness: statically evaluate the next 2 weeks traffic
Metric: colluder’s queue position at the data source peer
multi-trust: the full spectrum incentive algorithm
Tit-for-Tat M∞T: EigenTrust
Coverage
{ M, M2, … M∞ }
Personalization
Talk organization
The Maze p2p file sharing systemExisting collusion behaviorsWhy simple algorithms do not work
EigenTrust and Tit-for-TatMulti-trust algorithmEvaluationSummary and Related workConclusion
Multi-trust incentive algorithm
Coverage experiment
The coverage of {M, M2} is already good enough We can choose using {M, M2, M∞ }
Multi-trust incentive algorithm:
Effectiveness expr. methodologySetup
Generating rank based on one months history Evaluate the next two weeks
Metric: We don’t have a global rank … Queue Position at each source peer:
Source peers: who holds interested resource to me
Multi-trust incentive algorithm:
dealing with colluders
Spam account colluder 5/7 punish Ingrid equally Peer 7 punishes more in multi-trust Peer 4 punishes less in multi-trust
since it downs from Ingrid
Pair-wise colluder 7/9 punish Cindy equally 2/9 punish more in multi-trust
Friends get ahead!
Desirable: as good as EigenTrust
Multi-trust incentive algorithm:
solve problems in EigenTrust
Leg-hugger 78% peers rank Larry lower 22% are still affect by super
peers Ted.
Local distributor Inside:
2/3 peers promote Wayne’s rank 1/3 is too young to know Wayne’s good
Outside: another friend
False-negative False-positive
Talk organization
The Maze p2p file sharing systemExisting collusion behaviorsWhy simple algorithms do not work
EigenTrust and Tit-for-TatMulti-trust algorithmEvaluationSummary and Related workConclusion
Conclusion
EigenTrust and Tit-for-tat each have their own pitfall
Multi-trust as a hybrid achieves better balance