P2P网络中利用推拉模式实现的信誉系统

2013-07-11 09:35秦志光
计算机工程与应用 2013年5期
关键词:信誉惩罚次数

秦志光,杨 毅,杨 磊,钟 婷

电子科技大学 计算机科学与工程学院,成都 611731

P2P网络中利用推拉模式实现的信誉系统

秦志光,杨 毅,杨 磊,钟 婷

电子科技大学 计算机科学与工程学院,成都 611731

1 引言

对等网络(P2P)是当前非常流行的一种网络形态,P2P流量占据整个Internet流量的大部分比重。由于它具有去中心化、匿名性、自治性等特点,给终端用户带来极大的便捷。然而,这些特性也成为恶意网络行为滋生的温床,恶意节点可以通过传播非法文件破坏系统、自私节点享受系统提供的服务但不对系统做任何贡献。这些现象极大地影响了P2P用户的信心。在P2P网络中引入信誉机制[1-2]可以有效缓解不合作节点带来的负面影响,信誉机制的目的是根据节点历史行为特征的观察,采用合理的度量方式,最大程度预测出节点将来的行为特征,从而隔离不合作节点,提高P2P网络的整体可用性和效率。信誉建模的思路是基于节点之间的历史交互记录,通过分析不同因素与节点行为之间的关联,定义合成节点信誉值的影响因子,使得信誉值能如实反映节点的行为特征。

迄今为止,研究人员从不同角度出发,已提出一些信誉建模的方法。例如,针对“信任”语义的模糊特性,FuzzyTrust[3]认为信任不能用二值逻辑描述,于是通过定义模糊量来刻画这种关系,并利用模糊推理规则来更新信任度,较好地解决了信息模糊或不完备等因素造成的计算粗糙问题;针对信任关系的不确定性,Yu[4]提出基于DS理论进行建模,将请求节点对服务节点的评价表示为对其支持的一种证据,当计算一个节点的可信度时利用D-S证据合成规则组合来自推荐者的所有证据;针对如何获取节点信誉信息,EigenTrust[5]及其改进模型[6-8]的基本思路是采用迭代问询的方式综合计算出节点的全局信誉值。通过对已有成果的研究,本文发现,尽管研究的角度不同,但大部分模型都忽略了对新加入节点进行特殊处理。由于新节点初始信誉值较低,在后续交互过程中作为候选服务节点的概率较小,其信誉积累是纯被动式的,往往需要一个很长周期,其负面效应是网络中的“富人越富”现象,且容易引发网络中长期生存的节点单点过载问题,不利于网络资源的合理分配。

受到流媒体调度策略中经典推拉模式的启发,本文提出一个新的信誉计算模型。推部分主要加速新节点累积信誉过程,当一个新节点加入时,它向其他节点主动推送自己的信息,增大其作为候选服务节点的概率。拉部分主要为了减少网络的信息流量,当信誉值大于某个阈值(大于该阈值的节点较可信,仿真实验中设定的阈值为0.7)时,可以视该服务节点为可信节点而直接交互,当小于某个阈值时首先询问服务节点能否提供所需服务,若得出正面回应,则尝试交互,若无返回消息,则再根据邻居节点的推荐做出处理。为了确保节点提供优质的服务,对提供较差服务的节点进行惩罚,通过交易结果增加或降低对交易节点的信誉值,并且通过控制相关惩罚因子来决定惩罚力度,同时对自荐节点的惩罚因子值设置较大。

2 相关工作

目前对P2P信任模型并无严格的分类标准,为了更好地论述本文模型的相关工作基础,根据节点合成信誉值时有关信息数据的来源,可以将信誉模型大致分成两类:全局信任模型和局部信任模型。

2.1 全局信任模型

PeerTrust[6]模型认为节点的可信度应该是该节点提供的所有服务的综合评价,该模型全面考虑了电子商务环境中节点间交易的各种因素,包括节点收集的评价反馈交易满意总数、总交易次数、交易评价可信度、交易内容上下文、社区内容上下文。本文创新处在于提出以个体相似性度量方法(PSM)来衡量评价的可信程度。但个体相似性度量在大规模网络中容易面临向量稀疏性问题[9]。

2.2 局部信任模型

局部信任模型是指节点通过询问有限数量的节点来获得某个节点的可信度,一般采用局部广播的方式来获得节点的信任度。如Fabrizio Cornelli等人提出的P2Prep[10]。P2Prep是作为典型的局部信任模型,它的核心思想是交互发起节点向交互对象节点附近发起广播以获得交互对象节点的信誉度,以评估其可信程度从而决定是否要与其进行交互。该模型基于随机的洪泛的发现和随机转发机制,考虑了投票节点的IP地址以过滤可能的共谋节点。但是,该模型假设了交互目标节点的邻居知道目标节点的底细,此假设不一定成立,并且高性能节点的负担较重。此外,该模型中认为节点可信则其拥有的资源可信,实际上,高信誉值的节点也有可能拥有一些低质量甚至虚假的资源。

XRep[11]模型提出节点信誉和资源信誉相结合的方法,在节点信誉的基础上引入了节点所提供资源的信誉状况,选取下载源时根据节点的信誉和资源信誉综合衡量,该模型同时针对一些常用的攻击方式设计了相应的抑制措施,具有较高的安全性。

3 基于推拉模式的信誉模型

3.1 流媒体中的数据驱动协议

P2P流媒体中的推拉策略具有很强的鲁棒性,可以最大程度利用网络的上行带宽、最大化网络的吞吐率。P2P流媒体的调度策略[12]解决了数据传输的问题,近年来的研究已经从最初基于树型的提供节点推策略发展为接收者驱动的拉策略以及推-拉过程相结合的策略[13]。所谓推,需要节点之间有一种父与子的关系,父节点依据这种关系主动发送数据给子节点。所谓拉,就是节点根据其他节点的数据请求发送该节点希望的数据,不需要节点之间任何层次性的关系,但需要预先知道对方拥有的数据。推-拉机制的具体方法为:每个节点使用拉方法作为启动(拉),获得部分数据后给其邻居节点中转数据包而无需等到该邻居节点请求该包(推)。其中拉模式具有内在的鲁棒性,能在高度扰动的P2P环境下很好地工作;而推模式可以有效地减少用户节点处观察到的累加延迟。本模型借鉴了P2P流媒体中推拉模式的方法,利用“推”模式,使得愿意提供优质服务的新加入节点能较快积累信誉值,利用“拉”模式在一定程度上减少网络的传输信誉消息的流量以及计算复杂度。

3.2 系统的定义与表示

本文相关参数定义如下:

定义1设Pij代表节点i同节点 j的交易成功率。该成功率是基于节点i和节点 j的交互历史获得。计算如下:

其中Sij表示节点i与节点 j交易成功次数,Tij表示节点i和节点 j交易总次数。若Tij=0,则Pij=0。

定义2设Rij表示节点i对节点 j的信誉值,表示如下:

其中α、λ为常系数因子,控制成功交易率对信誉值的影响,α为激励因子,α越大成功交易率使得信誉值增加越快;λ是惩罚因子,当交易失败时,节点i对节点 j的信誉值将降低,λ越大不成功交易率对信誉值降低程度越大,为了更好地防止自荐节点提供不好服务,在实际中自荐节点的λ因子设置较大,一般大于1.5,非自荐节点一般大于1。在仿真实验中会通过控制α、λ来观察它们对信誉值变化的影响。

定义3设ai自荐标志位,表示节点i是否推荐自己提供服务的标志位,满足如下条件:

定义4设Interval为节点推荐节点的自荐时间域,Ii表示i的自荐域。当某个节点开始推荐自己时,自动启动该自荐时间控制,将自荐标志位值设置为1,当推荐时间超过该值时,自动将推荐节点的自荐标志位值为0,在仿真实验中将自荐域设为30 min。

定义5设Ω为对节点i请求的响应集合,Φ表示节点i根据信誉和交易总次数剔除一部分不满足条件节点后的集合。

3.3 系统工作方式

当一个新的节点(假设为k)加入系统,同时它愿意通过向其他节点提供优质服务而获得较高信誉值时,它将自己的提供服务标志位ak置为1,同时启动自荐时间控制位,然后将它拥有的资源进行广播,实现推的过程,这样使得更多节点知道它拥有的资源,当k不想提供服务或者自荐时间超过阈值(在仿真实验中设置自荐时间为30 min)时将ak置为0,该节点不再有自荐性质。具体流程如图1所示。

图1 加入节点提供服务流程图

当节点i需要某个资源时,它随机广播一个查询消息给它的邻居节点(邻居节点即逻辑上与该节点相连接的节点),邻居节点如果拥有该资源直接响应,如果没有该资源,转发请求消息。最后,节点i将获得所有拥有该资源的集合Ω。然后节点根据信誉和交易总次数剔除一部分节点,其中被剔除节点集合为,满足如下条件:

其中ε为信誉的阈值,θ为交易总次数的阈值。当信誉值小于阈值ε,实验中设定为0.2,且交易次数大于阈值θ时,认为节点的信誉偏低是由于过多不诚实行为造成的,因此舍弃这些节点。

集合Φ可以由A和B两个子集组成,其中A表示自荐子集,B表示非自荐子集。满足如下条件:

然后节点i从满足条件的集合Φ中选择服务节点,选择满足如下条件:

S为选择节点集合,β为推拉因子(0≤β≤1),表示集合 A中的节点被选择的概率,1-β表示集合B中节点被选择的概率。 β×ΣAk表示以概率 β选择A集合中的节点进行服务,通过改变常系数因子,可以控制是否进行自己推荐节点选择可能性,如 β=1,则表示选择所有自荐节点服务。通过控制在常系数因子可以控制自荐节点被选择的概率,一般情况下设置0.6≤β≤0.9,这样有利于自荐节点被选择作为服务节点,使得它的信誉值迅速提升。

假设S集合中任意一个节点为k,如果k∈A,则直接进行交互;如果k∈B,首先查看它的信誉值以及和i的交易总次数,如果Rik<ε,Rik≠0且Tik<θ,认为信誉值偏低是由于交易次数过少造成的,i向k发送拉请求,询问k是否愿意提供服务,如果k响应,则进行交互。如果k未响应,则通过i的所有邻居节点计算它对k的局部信誉值,计算过程如下:

其中Lik表示i通过询问邻居节点得到的它对k的局部信誉值。当Lik大于某个阈值时,选择节点k进行服务,否则从集合Φ中重新选择服务节点。为了保证选择服务节点更加可信,Lik设定应该大于0.6。以上整个选择服务的过程表示如图2。

为了奖励提供优质服务节点,惩罚恶意节点,在得到服务后,节点i会通过服务质量改变自己对节点k的信誉值,当获得优质服务时,节点i对节点k的信誉值增加,从而实现提供优质服务节点信誉值的快速增加;当服务失败时,节点i对节点k信誉值降低,从而抑制节点提供较差服务,实现对恶意节点和欺骗节点的防御。同时为了确保自荐因子提供可靠服务,它的惩罚因子设置较大。仿真实验中对比了不同激励因子与惩罚因子组合下对信誉值变化的影响。

为了更好地理解该模型,下面对模型的性能做简要讨论。

假定为100个节点的网络规模情况下,设节点i需要的资源为m,假设30个节点(其中包括节点 j)拥有该资源,信誉的阈值ε为0.6,计算信誉值因子α和λ分别为2和

图2 请求服务过程图

2.5 ,任两节点间交易次数阈值θ为20,自荐节点提供诚实服务的可能性为90%,非自荐节点提供诚实服务的可能性为70%,开始i未跟任何节点交互过,发生的交易均成功。

在没有引进推拉机制时,如果要使得i对 j的信誉值到达0.6交易次数在20次以上,需要交互的期望次数为600次,完成后信誉值为0.65。如果引进推拉机制,设β=0.8,自荐节点数为5,需要交互的期望次数为125次,完成后信誉值为1.55;如果30个拥有资源的节点中有10个自荐节点,则需要交互期望次数为250次,完成后信誉值为1.55。

通过以上分析,可以看出推拉协议能以较少的交易次数让某个自荐节点获得较高的信誉值。伴随着交互次数的减少,网络流量也相应减少。

4 仿真及结果分析

在PeerSim[14]平台下进行仿真,为了模拟真实的网络,设计了几种类型的节点,即:

(1)自荐节点。该类节点大部分是新加入节点,希望为自己累积较高信誉,因此愿意为其他节点提供优质服务。自荐阶段总是作为网络服务端的角色。该类节点的自荐标志位为1。考虑到实际网络中可能存在丢包情况,假定它提供服务成功率为90%。

(2)需求服务节点。该类节点请求服务,并且通过服务质量调整对提供服务节点的信誉评价。

(3)普通节点。该类节点为P2P网络中普通节点,即可作为服务端提供服务,亦可作为客户端享受服务。该类节点上会初始化部分可信资源与不可信资源,不可信资源占该节点总资源的20%~50%。

仿真环境为Intel Core 2.10 GHz,2 GB。基于Eclipse 3.4 上Java实现的开源的PeerSim仿真平台。利用Gnutella协议,在PeerSim平台框架下构建一个仿真的对等网络。引入本文提出的信誉计算方法,统计信息为节点在仿真过程中与其他节点进行交互的相关数据,对仿真交互总数以及成功下载次数等相关信息进行对比。通过控制协议中常量因子(如:激励因子α、惩罚因子λ、推拉因子β)对比分析出某个节点信誉值达到指定值(系统预设的信誉阈值)时所需要的交互次数。与其他改进模型类似(如PeerTrust考虑了信誉值的更多影响因子),本文模型实现的过程也参照了EigenTrust模型。

4.1 达到固定信誉值所需交互次数仿真

信誉阈值仿真是指通过控制不同的网络规模,对比不同协议下使得某个节点(假设为i)对节点(假设为 j)的信誉值到达指定的值时(实验中设置为0.7,交互总次数大于20)需要的交互次数,交互次数反应了网络流量情况和交互总时间,认为交互次数越少则网络流量越少,交互次数越少交互总时间越短。在仿真中,网络中75%的节点都可以作为服务节点进行服务,其中有5个节点作为自荐节点。自荐时间阈值设为30 min,激励因子α为0.9,惩罚因子λ为1,资源总数为100,对普通节点的信誉值大于0.7时可以直接选择该节点得到服务,在普通服务节点初始化以20和5为种子的随机可信资源与不可信资源数,在自荐节点上初始化10个可信资源。随机产生查询消息,则生产需要资源为自荐节点上的概率为10%,同时需考虑每次查询时需要考虑到TTL为0时,查询失败情况。在网络规模为60的情况下,推拉机制期望产生的交互次数为200次(交互次数/资源为该节点概率),未加入信誉时,节点被选择为均等的,交互次数期望为450次。当然由于网络中邻居选择不同,以及资源初始化集中等问题,实际的交互次数会和理论有些许差别。基于推荐方式下的节点 j更容易被i选择作为交互节点,它每次都会提供诚实服务,所以总交互次数较少情况下就能获得较高的信誉值。图3所示,横坐标表示网络规模,纵坐标表示达到固定信誉值的交互总次数,从图中可以看出本文模型较其他模型有一定的优势,能使节点迅速达到设定信誉值。

图3 节点i对节点j信誉值大于0.7所需要交互次数

4.2 信誉值变化对比仿真

为了了解激励因子和惩罚因子变化对自荐节点信誉值变化的影响,通过控制激励、惩罚因子,观察节点信誉值变化情况。在仿真中,固定网络规模为70,自荐节点数为5,推拉因子β为1,自荐时间域为30 min,资源总数为100,在普通服务节点初始化以20和5为种子的随机可信资源与不可信资源数,在自荐节点上初始化10个可信资源,改变激励因子,惩罚因子,对比信誉变化曲线。在设定参数时,通过控制因子的权重,观察不同权重组合的激励因子与惩罚因子是如何影响信誉变化的,因此激励因子取大于1和小于1的两个值(即0.9和1.2),惩罚因子取0.7、1.5、2.0三个值。将上面不同激励因子和惩罚因子进行组合得到表1。

表1 控制因子变化情况

通过控制激励因子和惩罚因子可以控制信誉变化情况,激励因子越大,成功交易使得信誉增加值越大,惩罚因子越大,失败交易使得信誉值减少越大。如图4所示,横坐标表示总的交互次数,纵坐标表示节点i对节点 j的信誉值,从图中在激励因子相同时,增加幅度相同,惩罚因子越大,信誉值降低越快;惩罚因子相同时,激励因子越大,信誉值增加得越快。为了更好地防止恶意节点和欺诈节点,可以将惩罚因子设为较大,从图中可以看出第六组数据组合在激励的基础上可以起到很好的惩罚效果。

图4 激励、惩罚因子对信誉值影响

4.3 下载成功率仿真

下载成功率仿真是指通过控制不同的网络规模,对比不同协议下载文件的成功比率。由于信誉机制的加入,使得可信节点更容易被选择作为提供服务节点,从而提高下载成功率。在仿真中,网络中75%的节点都可以作为服务节点进行服务,这些服务节点有可能提供欺骗性服务。同时在不同网络规模下,推荐节点数目始终设置为5,推荐节点提供可信服务。由于推荐节点数目一定,所以随着网络规模的扩大,推荐节点被选择的机会将降低,当推荐节点被选择的概率降低时,更多选择其他不可信节点作为服务节点,因此随着网络规模增加,它的下载成功率将降低。在实验中,统计2000次的交互过程中成功交互的比率。如图5所示,横坐标表示网络规模,纵坐标表示下载成功率,从图中可以看出本文模型较其他模型有一定的优势,由于自荐节点提供更可靠服务,所以它使得整体的下载成功率更高。

图5 下载成功率

5 总结语

本文提出了推拉模式下的信誉模型,该模型考虑到对于新节点的特殊处理,加快了愿意提供优质服务的新节点的信誉积累过程,在推拉模式作用下,很大程度上减少了网络消息流量和信誉计算量。分析和仿真表明,本文提出的模型在节点加入获得较高信誉值时间、减少网络流量比其他信誉模型有所提高。该模型具有广泛的应用场景及较好的工程可行性。

下一步将在实际应用中分析该模型的效率,对比分析多个控制因子在不同具体应用环境中的最优值,尝试引入自学习的相关技术以及激励和惩罚相关机制,构建一个稳定高效的原型系统。

[1]Gu Chengjie,Zhang Shunyi,FengHuibin,etal.A novel trust management model for P2P network with reputation and risk evaluation[C]//International Conference on E-Business andE-Government.Washington,DC,USA:IEEE Computer Society,2010,891:3544-3547.

[2]胡宁,皱鹏,朱培栋.基于信誉机制的域间路由安全协同管理方法[J].软件学报,2010,21(3):505-515.

[3]Lin Huaiqing,Hu Zhengbin.A fuzzy trust model with punishmentmechanism[C]//2010 2nd InternationalConference on Networks Security,Wireless Communications and Trusted Computing.Washington,DC,USA:IEEE Computer Society,2010,2:158-161.

[4]Yu B,Singh M P.An evidential model of distributed reputation management[C]//Proc of the 1st International Conference on Autonomous Agent and Multi-Agent Systems.Bologna,Italy:[s.n.],2002:294-301.

[5]Kamvar S,Schlosser M.The Eigentrust algorithm for reputation management in P2P networks[C]//12th International Conference on the World Wide Web.Budapest,Hungary:[s.n.],2003:640-651.

[6]LiXiong,Ling Liu.PeerTrust:supporting reputation-based trust for peer-to-peer electronic communities[J].IEEE Transactions on Knowledge and Data Engineering,2004,16(7):843-857.

[7]Rao Shen,Wang Yong,Tao Xiao-ling.The comprehensive trust model in P2P based on improved eigentrust algorithm[C]// 2010 International Conference on Measuring Technology andMechatronics Automation(ICMTMA).Washington,DC,USA:IEEE Computer Society,2010,3:822-825.

[8]Liu Yan,Han Jun.An architectural approach to composing reputation-based rustworthy services[C]//2010 21st Australian SoftwareEngineering Conference.Washington,DC,USA:IEEE Computer Society,2010:117-126.

[9]李景涛,荆一楠.基于相似度加权推荐的P2P环境下的信任模型[J].软件学报,2007,18(1):157-167.

[10]CornelliF,DamianiP.Choosing reputableserventsin a P2P network[C]//11th International World Wide Web Conference,Honolulu,Hawaii.New York:ACM,2002:7-11.

[11]Damiani E.A reputation-based approach for choosing reliable resource in peer-to-peer networks[C]//2nd ACM Conference on Computers and Communications Security.New York:ACM Press,2002:207-216.

[12]张萌.对等网络流媒体直播调度策略研究[D].北京:清华大学,2008.

[13]冯健.P2P流媒体关键技术研究[J].微电子学与计算机,2009,26(8):49-54.

[14]Peersim[EB/OL].[2010-04-12].http://peersim.sourceforge.net.

QIN Zhiguang,YANG Yi,YANG Lei,ZHONG Ting

School of Computer Science and Engineering,University of Electronic Science and Technology of China,Chengdu 611731,China

In the existing reputation models,the accumulation of reputation of certain node requires so long a period even if that node provides good services,which influences the positivity of those newly added nodes.Besides,most models composite the global trust value by multiple iteration,and the huge amount of iteration will bring massive computational expense.On account of the above issue,this dissertation proposes a new reputation computing model by introducing the typical push-pull model in streaming media scheduling strategy.The push model can accelerate the trust value accumulation speed of those newly added nodes which provide good services,while the pull model reduces the network flows online and avoids the negative impacts of the iteration computation.Through analysis and simulation,this model can ensure the accuracy of reputation computation,meanwhile,the communication and computation expenses can get improved as well.

reputation;peer;push-pull protocol;iteration

在现有的信誉模型中,即使节点积极提供良好的服务,节点信誉的累积也需要一个很长的周期,影响了新节点加入网络的积极性。此外,大部分模型在合成全局信誉值时采用多次迭代的方式,大量的迭代运算将导致巨大的计算开销。针对上述问题,通过引入流媒体调度策略中典型的推拉模式,提出一个新的信誉计算模型。在推模式下,对于那些新加入且积极提供优质服务的节点,可以加快其信誉累积速度,在拉模式下,减少了网络消息流量,避免了迭代计算的负面影响。分析及仿真表明,该模型在保证信誉计算准确性的同时,能较大程度改善通信及计算开销。

信誉;节点;推拉协议;迭代

A

TP393

10.3778/j.issn.1002-8331.1108-0237

QIN Zhiguang,YANG Yi,YANG Lei,et al.Using push-pull mode to achieve reputation system in P2P networks.Computer Engineering and Applications,2013,49(5):88-92.

国家自然科学基金(No.60873075,No.60973118);教育部培育基金(No.708078)。

秦志光(1956—),男,教授,博导,研究领域为信息安全;杨毅(1986—),男,硕士生,研究领域为P2P信誉机制;杨磊(1976—),男,博士生,研究领域为P2P信誉机制;钟婷(1977—),女,博士,讲师,研究领域为分布式网络。E-mail:547343838@qq.com

2011-08-18

2011-11-29

1002-8331(2013)05-0088-05

猜你喜欢
信誉惩罚次数
以质量求发展 以信誉赢市场
基于单片机MCU的IPMI健康管理系统设计与实现
机场航站楼年雷击次数计算
2020年,我国汽车召回次数同比减少10.8%,召回数量同比增长3.9%
一类无界算子的二次数值域和谱
神的惩罚
信誉如“金”
Jokes笑话
惩罚
依据“次数”求概率