【学习的文章】The EigenTrust Algorithm for Reputation Management in P2P Networks
发表会议:WWW2003
作者:Kamvar S D , Schlosser M T , Garcia-Molina H
单位:Stanford University
【摘要】这篇文献提出来的一种名为EigenTrust的信誉系统,旨在减少Peer-to-peer文件共享网络中不真实文件的下载次数,该算法能够根据peer端的上传历史为每个端点分配唯一的全局信任值。这篇文献提出了一种基于Power迭代的分布式安全方法来计算这个全局信任值,通过让Peer端使用这个全局信任值来选择其想要下载的对口Peer个体,网络可以有效地识别恶意Peer并将其与网络隔离。通过仿真计算,即便在存在恶意个体们联合破坏系统的情况下,EigenTrust信誉系统也能明显减少网络上不真实文件的数量。
Peer-to-peer 文件共享网络相比传统的客户端-服务器的网络在数据分发上有许多明显优势,包括鲁棒性、可伸缩性和可用数据的多样性等等。但另一方面,由于Peer-to-peer 文件共享网络的开放性和匿名性特点,网络上的Peer端个体无需对其放在网络上的文件负责任,于是导致了一些恶意攻击行为,例如病毒文件、钓鱼文件等等。
EigenTrust的信誉系统为每个peer i 分配一个唯一的全局信任值,该值反映了在与 i 有关联的网络中所有peer的体验。这个全局信任值是通过网络中的所有peer 以分布式和节点对称的方式参与计算的,但同时能保证整个网络上的开销能达到最小。另外,文章还描述了如何确保计算的安全性,从而最大程度地降低了系统中恶意peer进行欺诈的可能性。
这里提到了五点要求:
后来学界公认一个完整的信誉系统所必备的几个要点时除上述外,还加了一条:网络中的实体能够经得住时间的考验,也就是说,存在时间会很长,当前发生相互作用之后,通常假定将来会发生后续相互作用,这些实体不会消失。
举一个典型的信誉管理系统:在线拍卖系统eBay。在eBay的信誉系统中,买卖双方都可以在每次交易后相互评分,而参与者的总体信誉是过去6个月中这些评分的总和,而该系统依靠的是集中式系统来存储和管理这些评分。
借鉴eBay这种评分模式,在peer-to-peer文件传输系统中,也可以建立类似的评分。例如,每当peer i 从peer j 处下载文件时,可以对文件质量评级为正( )或负(
),如果下载的文件不真实、被篡改,或是下载被中断,peer i就可能对此打负的评分。由此,我们可以对 j 定义一个来自 i 的本地信任值:
. 在这同时,在 i 那一端,也会存储一个与对 j 的满意度相关的一个值:
在这篇文章提出来之前的研究工作里,peer-to-peer信誉系统中大多基于这种本地信任值的概念。但是,在分布式环境中,这会面临一个问题:要么对某个peer的信任值只通过几个它相关的peer端的本地信任值进行整合,无法合成它的全局信任值;要么就只能向全局所有的peer端查询,这样会阻塞网络。
这篇文章提出了一种新的信誉系统,它以自然的方式聚集所有用户的本地信任值,在信息复杂度方面具有最小开销。基于传递信任的概念:peer i 会对那些提供真实文件的peer有很高的评价。此外,peer i可能会信任那些他评价高的peer的意见,认为这些提高真实文件的peer时诚实的,会如实报告他们的本地信任值。更好的是,这种信任传递的思想可以推导出一个很好的结论:全局信任值对应于规范化的局部信任值矩阵的左主特征向量,而且这种算法的计算复杂度不高。下面将详细说明。
本节的内容主要包括:
3.1 规范化局部信任值
将局部信任值规范化的主要目的是避免恶意节点之间互相打高分。通常,可以定义规范化后的局部信任值(local trust value): (1)
该式确保了所有的 都在0到1之间,但值得注意的是当
时
没有意义,这个问题后面会说到。另外,这种简单的规范化还有两个不足:
但这篇文章指出,尽管存在这些缺陷,以这样的方式进行规范化仍取得了良好的效果。
3.2 整合局部信任值
为了有效计算,采取一种自然的想法:在分布式环境中,一种获取得到全局信任值的办法就是让peer向其熟人询问对其他peer的看法。即,i 向他的熟人询问得到 k 是否值得信任:
该式可以通过矩阵C表示 , 即
.
这是一种很有用的方法,可以让 i 获得比自己的经验更广泛的网络视图,但仅限于 i 自己和他朋友的经验视野。为了让范围更广,i 可以询问朋友的朋友,以此类推,即 . 当n很大时,迭代n次,i 即可以获取全局视野。并且,好的是,当n很大时,信任值向量
对于每一个节点i都会收敛到相当的向量。也就是说,t 可以构成一个全局信任向量,而向量
可以量化整个系统对 j 的信任程度。
3.3 概率解释
上述模型也可以用Random Surfer Model 简单理解:如果某个agent想要探索到信誉良好的peer,那么他可以使用如下规则来进行全网搜索:在每个端点 i,他以 的概率走到 j 处去。当这样的搜索进行一段时间以后,那么这个agent所游走到的节点更可能是信誉良好的断点。那么,由矩阵 C 定义的 马尔科夫链的平稳分布 就是这个agent想要找的全局信任值。
3.4 Basic EigenTrust
先暂时忽略分布式,假设某个中心服务器知道所有的 的值并进行计算,如下图所示。
3.5 实际的EigenTrust
前述基本EigenTrust提出的简单算法没有解决三个实际问题:关于信任的先验经验、非活动peer端和恶意peer。
在Peer-to-peer文件共享网络中,是有一些先验经验的。例如,我们可以认为最初加入网络的少数peer通常是可信的,因为p2p网络的设计者和早期用户可能没有太大的动机来破坏他们构建的网络。这样,我们可以通过这些预先就信任的peer定义分布 。例如,集合P里的peer被认为是可靠的,我们可以定义
分布 可以用在三个地方:
改进后的EigenTrust实用算法流程图如下:
3. 6 分布式的 EigenTrust算法
在分布式环境中,第一个挑战就是如何存在向量C 和 t . 先不考虑安全性的问题,每个peer按下式计算各自的全部信任值:
显然上式的矩阵C是稀疏的(因为与i有交互的节点有限)
3.7 算法复杂性
该算法的复杂程度是有上界的,主要是基于:
在安全性问题的考虑上,这个算法主要通过两个基本思想来解决。
通过恶意peer的策略建立了几种模型来测试文章提出的信誉系统,结果都挺好的~
(差不多学习完毕....)
【P2P网络中的声誉计算】The EigenTrust Algorithm for Reputation Management in P2P Networks
原文:https://www.cnblogs.com/zywnnblog/p/14428253.html