EigenTrust
   HOME

TheInfoList



OR:

EigenTrust
algorithm In mathematics and computer science, an algorithm () is a finite sequence of Rigour#Mathematics, mathematically rigorous instructions, typically used to solve a class of specific Computational problem, problems or to perform a computation. Algo ...
is a
reputation management Reputation management, refers to the Social influence, influencing, controlling, enhancing, or concealing of an individual's or group's reputation. It is a marketing technique used to modify a person's or a company's reputation in a positive way. ...
algorithm for
peer-to-peer Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network, forming a peer-to-peer network of Node ...
networks, developed by Sep Kamvar, Mario Schlosser, and
Hector Garcia-Molina In Greek mythology, Hector (; , ) was a Trojan prince, a hero and the greatest warrior for Troy during the Trojan War. He is a major character in Homer's ''Iliad'', where he leads the Trojans and their allies in the defense of Troy, killing c ...
. The algorithm provides each peer in the network a unique global trust value based on the peer's history of uploads and thus aims to reduce the number of inauthentic files in a P2P network. It has been cited by approximately 3853 other articles according to Google Scholar.


Overview

Peer-to-peer Peer-to-peer (P2P) computing or networking is a distributed application architecture that partitions tasks or workloads between peers. Peers are equally privileged, equipotent participants in the network, forming a peer-to-peer network of Node ...
systems available today (like
Gnutella Gnutella is a peer-to-peer network protocol. Founded in 2000, it was the first decentralized peer-to-peer network of its kind, leading to other, later networks adopting the model. In June 2005, Gnutella's population was 1.81 million computer ...
) are open, often anonymous and lack accountability. Hence a user with malicious intent can introduce into the peer-to-peer network resources that may be inauthentic, corrupted or malicious (
Malware Malware (a portmanteau of ''malicious software'')Tahir, R. (2018)A study on malware and malware detection techniques . ''International Journal of Education and Management Engineering'', ''8''(2), 20. is any software intentionally designed to caus ...
). This reflects poorly on the credibility of current peer-to-peer systems. A research team from
Stanford Leland Stanford Junior University, commonly referred to as Stanford University, is a private research university in Stanford, California, United States. It was founded in 1885 by railroad magnate Leland Stanford (the eighth governor of and th ...
provides a reputation management system, where each peer in the system has a unique global trust value based on the peer's history of uploads. Any peer requesting resources will be able to access the trust value of a peer and avoid downloading files from untrusted peers.


Algorithm

The Eigentrust algorithm is based on the notion of transitive trust: If a peer ''i'' trusts any peer ''j'', it would also trust the peers trusted by ''j''. Each peer ''i'' calculates the local trust value ''s''''ij'' for all peers that have provided it with authentic or fake downloads based on the satisfactory or unsatisfactory transactions that it has had. :s_ = \operatorname(i,j) - \operatorname(i,j) where sat (''i'', ''j'') refers to the number of satisfactory responses that peer ''i'' has received from peer ''j'', and unsat(''i'', ''j'') refers to the number of unsatisfactory responses that peer ''i'' has received from peer ''j''. The local value is normalized, to prevent malicious peers from assigning arbitrarily high local trust values to colluding malicious peers and arbitrarily low local trust values to good peers. The normalized local trust value ''c''''ij'' is then :c_ = \frac The local trust values are aggregated at a central location or in a distributed manner to create a trust vector for the whole network. Based on the idea of transitive trust, a peer ''i'' would ask other peers it knows to report the trust value of a peer ''k'' and weigh responses of these peers by the trust peer ''i'' places in them. : t_ = \sum_ c_ c_ If we assume that a user knew the ''c''''ij'' values for the whole network in the form of a
matrix Matrix (: matrices or matrixes) or MATRIX may refer to: Science and mathematics * Matrix (mathematics), a rectangular array of numbers, symbols or expressions * Matrix (logic), part of a formula in prenex normal form * Matrix (biology), the m ...
''C'', then trust vector \bar t_ that defines the trust value for t_ is given by :\bar t_ = C^T\bar c_.\, In the equation shown above, if C is assumed to be aperiodic and strongly connected, powers of the matrix C will converge to a stable value at some point. :\bar t = (C^T)^x \bar c_. \, It seems that for a large value of ''x'', the trust vector \bar t_ will converge to the same vector for every peer in the network. The vector \bar t_ is known as the left principal
eigenvector In linear algebra, an eigenvector ( ) or characteristic vector is a vector that has its direction unchanged (or reversed) by a given linear transformation. More precisely, an eigenvector \mathbf v of a linear transformation T is scaled by ...
of the matrix ''C''. We also note that since \bar t_ is same for all nodes in the network, it represents the global trust value. Based on the results above a simple centralized trust value computing algorithm can be written. Note that we assume that all the local trust values for the whole network are available and present in the matrix ''C''. We also note that, if the equation shown above converges, we can replace the initial vector \bar c_ by a vector \bar e that is an m-vector representing uniform probability distribution over all m peers. The basic EigenTrust algorithm is shown below: :\bar t_ = \bar e ; :repeat ::\bar t^ = C^T \bar t^ ; :: = \, t^ - t^ \, ; :until < \mathrm ;


See also

*
Markov chain In probability theory and statistics, a Markov chain or Markov process is a stochastic process describing a sequence of possible events in which the probability of each event depends only on the state attained in the previous event. Informally ...
*
Eigenvalues and eigenvectors In linear algebra, an eigenvector ( ) or characteristic vector is a vector that has its direction unchanged (or reversed) by a given linear transformation. More precisely, an eigenvector \mathbf v of a linear transformation T is scaled by a ...
in mathematics and physics *
Eigen (C++ library) Eigen may refer to: People with the given name *, Japanese sport shooter *, Japanese professional wrestler * Frauke Eigen (born 1969) German photographer, photojournalist and artist * Manfred Eigen (1927–2019), German biophysicist * Michael Ei ...
, a computer programming library for matrix and linear algebra operations


References

{{reflist Peer-to-peer computing Reputation management