The EigenTrust Algorithm for Reputation Management in P2P Networks Sepandar D.Kamvar Mario T.Schlosser Hector Garcia-Molina Presenter: Jianming Zhou
Problem Problem in P2P: Objective: Basic Idea Inauthentic files distributed by malicious nodes Objective: Identify the source of inauthentic files and bias against downloading from them Basic Idea Reputation System: Assign a trust value to each peer on its previous behaviors
Challenges Need an distributed reputation system Desired features Success like C/S reputation system (eg. eBay) Provide comprehensive evaluation of peer Lower overhead Desired features Self-policy, i.e., no central server Maintain anonymity Robust to malicious node and sybil attack Minimal overhead
EigenTrust -- Intro Basic idea Terminology Each peer has a Global Reputation given by the local trust values assigned by other peers Terminology Local trust value: cij The opinion peer i has of peer j, based on past exp. Each time peer i downloads an authentic/inauthentic file from peer j, cij increases/decreases. Global trust value: ti The trust that the entire system places in peer i
More about Local trust value Normalization Otherwise, malicious peers can assign arbitrarily high local trust value to other malicious peers All cij is non-negative ci1+ci2+ci3+…+cin = 1 Local Trust Vector: ci contains all local trust values cij that peer i has of other peers j
Other Approaches Foundation of EigenTrust Past Experience Reply on past experience Friend-friend reference Past Experience Each peer bias choice based on its vector ci Peer with good experience will likely be selected Problem: each peer has limited past experience, knowing few other peers Ask friend opinion of other peers Weight their opinion by your trust in them Problem: various number of friends for each peer What their opinion of peer k Ask friend j Weight your friend’s opinion by how much you trust them
EigenTrust Combine and enhance Comprehensive Comprehensive, i.e., knowing all peers Lower overhead in term of computation and storage Comprehensive Iterative friend-friend reference Ask your friend: Ask their friend: Ask until all nodes: N large, converge to same vector for every peer i Peers can cooperate to compute and store t
Basic Algorithm:non-distributed Initialize Repeat until converge
Distributed algorithm 1 Each peer store its local trust vector Each peer store its own global trust value Each peer compute its own ti The component-wise version of is the distribution over pre-trusted peers Anti- malicious collectives and guarantee converge
Distributed algorithm 2 For each peer i { -First, ask peers who know you for their opinions of you. -Repeat until convergence { -Compute current trust value: ti (k+1) = c1i t1(k) +…+ cni tn(k) -Send your opinion cij and trust value ti(k) to your acquaintances. -Wait for the peers who know you to send you their trust values and opinions. }
Secure EigenTrust Peer should not hold its own t Problem: malicious node can report false value Solution: different peer compute t for one peer Leverage DHT T should not be computed by only one peer Problem: malicious node can collude Solution: multiple score managers + majority rule Score manager: peer i is j’s score manager if i computes its global trust value
Usage of global trust value Isolating malicious nodes bias the download from more reputable nodes Potential problem: highly trusted node overloaded Incenting freeriders to share Hinder the spread of inauthentic files
Performance Setup Node selection in trust system Deterministic algorithm => overload Probabilistic algorithm => balanced
Performance Thread Model A:Individual Malicious Peers B:Malicious Collectives C:Malicious Collectives with Camoflouge D:Malicious Spies
Thread model A:
Thread model: B
Thread model: C
Thread model: D
Conclusion EigenTrust Dramatically reduces number of inauthentic files on the network. Robust to malicious peers. Low overhead
Q&A