Articulo de referencia

Confianza propia

El algoritmo EigenTrust es un algoritmo de gestión de reputación para redes peer-to-peer , desarrollado por Sep Kamvar , Mario Schlosser y Hector Garcia-Molina . [ 1 ] El algori...

El algoritmo EigenTrust es un algoritmo de gestión de reputación para redes peer-to-peer , desarrollado por Sep Kamvar , Mario Schlosser y Hector Garcia-Molina . [ 1 ] El algoritmo proporciona a cada nodo de la red un valor de confianza global único basado en su historial de cargas y, por lo tanto, busca reducir la cantidad de archivos no auténticos en una red P2P . Ha sido citado por aproximadamente 5800 artículos, según Google Académico . [ 2 ]

Descripción general

Los sistemas peer-to-peer disponibles actualmente (como Gnutella ) son abiertos, a menudo anónimos y carecen de rendición de cuentas. Por lo tanto, un usuario con malas intenciones puede introducir en la red peer-to-peer recursos que pueden ser inauténticos, corruptos o maliciosos ( malware ). Esto afecta negativamente la credibilidad de los sistemas peer-to-peer actuales. Un equipo de investigación de Stanford ofrece un sistema de gestión de reputación, donde cada nodo en el sistema tiene un valor de confianza global único basado en su historial de cargas. Cualquier nodo que solicite recursos podrá acceder al valor de confianza de un nodo y evitar descargar archivos de nodos no confiables.

Algoritmo

El algoritmo Eigentrust se basa en la noción de confianza transitiva: si un par i confía en cualquier par j , también confiará en los pares en los que j confía . Cada par i calcula el valor de confianza local s ij para todos los pares que le han proporcionado descargas auténticas o falsas, basándose en las transacciones satisfactorias o insatisfactorias que ha tenido.

sij=se sentó(i,j)insatisfecho(i,j){\displaystyle s_{ij}=\operatorname {sat} (i,j)-\operatorname {unsat} (i,j)}

donde sat ( i , j ) se refiere al número de respuestas satisfactorias que el par i ha recibido del par j , y unsat ( i , j ) se refiere al número de respuestas insatisfactorias que el par i ha recibido del par j . 

El valor local se normaliza para evitar que pares maliciosos asignen valores de confianza local arbitrariamente altos a pares maliciosos coludidos y valores de confianza local arbitrariamente bajos a pares buenos. El valor de confianza local normalizado c ij es entonces

doij=máximo(sij,0)jmáximo(sij,0){\displaystyle c_{ij}={\frac {\max(s_{ij},0)}{\sum _{j}\max(s_{ij},0)}}}

Los valores de confianza locales se agregan en una ubicación central o de forma distribuida para crear un vector de confianza para toda la red. Basándose en el concepto de confianza transitiva, un nodo i solicitaría a otros nodos que conoce que informen sobre el valor de confianza de un nodo k y ponderaría las respuestas de estos nodos según la confianza que el nodo i deposita en ellos.

tik=jdoijdojk{\displaystyle t_{ik}=\sum _{j}c_{ij}c_{jk}}

Si asumimos que un usuario conoce los valores c ij para toda la red en forma de una matriz C , entonces el vector de confianzat¯i{\displaystyle {\bar {t}}_{i}}que define el valor de confianza paratik{\displaystyle t_{ik}}es dado por

t¯i=doTdo¯i.{\displaystyle {\bar {t}}_{i}=C^{T}{\bar {c}}_{i}.\,}

En la ecuación mostrada anteriormente, si se supone que C es aperiódica y fuertemente conexa, las potencias de la matriz C convergerán a un valor estable en algún punto.

t¯=(doT)incógnitado¯i.{\displaystyle {\bar {t}}=(C^{T})^{x}{\bar {c}}_{i}.\,}

Parece que para un valor grande de x , el vector de confianzat¯i{\displaystyle {\bar {t}}_{i}}convergerá al mismo vector para cada par en la red. El vectort¯i{\displaystyle {\bar {t}}_{i}}se conoce como el vector propio principal izquierdo de la matriz C. También observamos que, dado quet¯i{\displaystyle {\bar {t}}_{i}}Es el mismo para todos los nodos de la red y representa el valor de confianza global.

Basándonos en los resultados anteriores, se puede escribir un algoritmo sencillo de cálculo centralizado del valor de confianza. Cabe señalar que asumimos que todos los valores de confianza locales para toda la red están disponibles y presentes en la matriz C. También observamos que, si la ecuación mostrada anteriormente converge, podemos reemplazar el vector inicial.do¯i{\displaystyle {\bar {c}}_{i}}por un vectormi¯{\displaystyle {\bar {e}}}Se trata de un vector de m componentes que representa una distribución de probabilidad uniforme sobre todos los m pares. El algoritmo básico de EigenTrust se muestra a continuación:

t¯0=mi¯;{\displaystyle {\bar {t}}_{0}={\bar {e}};}
repetir
t¯(k+1)=doTt¯(k);{\displaystyle {\bar {t}}^{(k+1)}=C^{T}{\bar {t}}^{(k)};}
δ=t(k+1)t(k);{\displaystyle {\delta }=\|t^{(k+1)}-t^{(k)}\|;}
hastaδ<mirror;{\displaystyle {\delta }<\mathrm {error} ;}

Véase también

Referencias

  1. Kamvar, SD; Schlosser, MT; Garcia-Molina, H. (2003). "El algoritmo Eigentrust para la gestión de la reputación en redes P2P" . Actas de la duodécima conferencia internacional sobre la World Wide Web - WWW '03 . pp. 640–651 . doi : 10.1145/775152.775242 . ISBN  1-58113-680-3. S2CID 3102087 . Consultado el 5 de julio de 2015 . 
  2. "Google Académico" . Consultado el 5 de julio de 2015 .