机会网络中自私节点的激励机制研究
2020-01-19宋科宁熊曾刚
肖 楠,宋科宁,邓 敏,熊曾刚,徐 琼,徐 方
(1.湖北工程学院 计算机与信息科学学院,湖北 孝感 432000;2.中国人民解放军95829部队战勤保障队,湖北 孝感 432000;3.湖北大学 计算机与信息工程学院,湖北 武汉 430062)
在移动智能设备普及的时代,无线通信技术发展迅速,许多无线自组织网络也相继出现,如Ad Hoc网络(Mobile Ad-hoc NETworks,MANET)、无线传感器网络等。而处于无线自组织网络中的设备在通信之前都需要提前建立一条完整的端到端链路,然而由于节点的频繁移动、分布不均匀等因素的影响,通信双方的连接经常会中断,最终导致设备间无法正常通信。在这种情况下,机会网络(Opportunistic Networks)[1-3]提供了一种新的访问方式,让设备可以在没有通信链路的情况下完成通信。
机会网络[1-3]是一种新的自组织网络,它主要依靠节点间的移动和相遇完成消息的转发过程,并且利用了“存储-携带-转发”的通信方法将消息从源节点传递到目的节点,从而实现节点间消息的传输。
但是机会网络没有固定的拓扑结构,节点间的通信范围有限,数据传输过程中很难实现直接传输,因此机会网络利用节点间的相遇选择中继节点转发数据,从而具有传输延迟、传输成功率较低等问题。而以往的研究重点集中在路由算法上,没有深入研究过节点的行为,并且现有的算法也都是基于节点间的完全合作,没有考虑过节点是否自私。如果节点是自私的,就会直接影响到消息的成功转发,并且网络很难对节点行为实行监督和管理。此外,在现实生活中一个人就是一个节点,这就给节点赋予了社会属性,因此节点很容易产生自私行为,从而影响网络的性能,也给机会网络带来了巨大挑战。因此,如何激励机会网络中的自私节点参与数据转发成为目前研究的热点。
1 自私节点概述
机会网络主要以“存储-携带-转发”的转发方式实现节点间的通信,而由于没有完整的通信链路,所以节点能够自己决定是否进行数据转发。但又因为资源有限,节点不愿意转发消息,因此很容易产生自私行为[4-9]。
1.1 节点自私的原因
在机会网络中节点产生自私行为的原因主要有以下几种[4-9]:
1)有限的网络资源。由于节点只有有限的能量、缓存空间等资源,因此在数据转发的同时节点会使用自身的缓存空间存储数据,消耗自身的能量转发数据给下一跳节点,并且参与转发的节点还不会获得任何的收益,所以很容易导致节点产生不参与合作转发或者直接丢弃转发内容的自私行为。
2)维护隐私安全。节点在帮助传输信息的同时,会暴露自己的地址、身份等相关信息,从而使恶意节点容易攻击中继节点,损害节点自身利益。因此,在没有任何中继保护或者是利益获取的情况下,节点不会参与数据转发。
3)追求最大利益。比如基于虚拟货币的激励策略和基于声誉的激励策略。每个节点都有一定的虚拟货币或声誉,而转发数据会获得相应的货币或声誉值。这时节点就会为了追求最大利益,伪造信息和欺骗消息发送者,从而制造自己成功转发的假象,获得相应的虚拟货币和声誉值,但是实际上节点并没有参与转发。
1.2 自私节点的分类
按照上述节点自私的原因,自私节点可以分为以下三类:
1)最大利益化的节点。节点希望最大限度地利用网络资源并且尽可能地减少资源消耗。那么这类节点就会拒绝参与转发其他节点的数据包,但是它们会复制自己的数据包,提高传输成功率并减少网络的传输延迟。这就会导致其他节点的利益和网络的性能受到影响。
2)资源不足的节点。当节点资源不足时, 它们没有精力去转发其他节点的数据包, 因此往往会表现出不参与数据包转发或直接丢弃数据包的自私行为。
3)恶意节点。这类节点会伪造信息并且欺骗其他节点证明自己并非自私节点,引诱其他节点选择自己作为中继节点转发数据从而骗取利益,降低网络性能。
另外自私节点也可以根据资源限制和社会关系将自私节点分为个体自私节点和社会自私节点。
1)个体自私节点。由于能量、缓存空间等有限的资源,节点很容易产生自私行为。因此,这类节点它们主要是转发自己的信息,但是拒绝为其他节点转发信息。
2)社会自私节点。因为社会属性的关系,节点会具有不同的社会关系,所以很容易影响节点的行为。这类节点主要是根据它们的社会关系来减轻自己的自私程度,并且只转发那些与它们有紧密社会关系的节点传递过来的信息,从而导致了网路中节点的自私行为。
1.3 自私节点的检测
随着自私节点的数量增加,网络中传递消息的数量会迅速减少,性能降低。因此,如果可以发现并阻止节点的自私行为,即使所有节点都倾向于自私行为,也有可能实现节点完全协作时的相同性能。但是,机会网络中节点的行为会受到各种内部因素和外部因素的影响,所以节点表现出来的自私方式也各有不同。因此,制定不同的检测机制并使用检测机制检测出自私节点是有必要的,这样可以减少自私节点对路由算法的干扰,降低其对网络性能的影响。目前,已经提出了几种机制用来检测网络中节点对消息的拒绝转发和丢弃行为。主要应用于自私节点的检测方法[9]有以下几种:
1)邻居监测。Marti等[10]提出了一个众所周知的监控系统——“看门狗系统”,它的原理如图1所示。假设存在一条从节点S经过中间节点A、B、C到达节点D的路径,节点A不能直接传输到节点C但它可以监听节点B的通信。因此,当节点A发送一个数据包给节点B去转发给节点C的时候,节点A通常可以知道节点B是否发送了这个数据包,并且,如果没有为转发过程单独执行加密操作,那么节点A还可以判断节点B是否篡改了数据。所以,Watchdog算法的主要过程是:节点会将需要发送的数据包放在自己的缓冲区中,然后通过维护最近发送过数据包的缓冲区,将每个监听到的数据包与缓冲区中的数据包进行比较,查看是否存在匹配。如果存在匹配,则证明此数据包已被转发,Watchdog算法会将缓冲区中的数据包删除。当然,如果缓冲区中的数据包超过一定的生存周期,那么Watchdog会给负责转发这个数据包的节点增加一条故障记录。当故障记录超过一定的阈值后,Watchdog就会将这个节点认定为行为不当的节点,同时将这条认定消息发送并告知源节点。因此,看门狗主要用来检测行为不当的节点,其中消息的发送者会验证它遇到的节点是否转发了消息。
但是此监控方法中的节点A只能判断节点B是否将数据包发送给节点C,但是它无法判断节点C是否接收到数据包,所以看门狗检测机制无法观察出第二跳节点的行为。
2)确认机制。TCP协议采用的就是端到端的确认机制(Acknowledgement, ACK),接收端发送确认,并通知发送端接收到连续数据流中某些位置的数据包。这种选择性确认(Selective ACK,SACK)技术主要用于确认无序的数据块。Liu等[11]提出了一种2ACK机制,其中消息的接收者要发送两次确认包-2ACK给发送者,以确认消息已经成功接收。而2ACK技术与TCP协议中的ACK和SACK方案的不同之处在于:2ACK机制试图检测那些行为不端的节点,这些节点贪婪地为源节点转发数据包,但在数据包到达时却拒绝转发;但TCP使用ACK和SACK却是用来度量当前路由的有用性,并采取适当的行动。所以2ACK机制的基本思想是:当节点收到上一跳节点发送的数据包后,它会立刻采用洪泛的方式给上一跳节点发送确认信息。节点的检测过程如图2所示,当节点在下一跳节点上成功转发数据包时,下一跳链接的目标节点将返回一个称为2ACK的特殊两跳确认,以表明数据包已成功接收。但是这样的2ACK传输只发生在小部分数据包中而不是所有数据包,这种选择性确认目的在于减少由2ACK方案引起的额外路由开销。
3)自主检测。Bigwood和Henderson[12]提出了IRONMAN算法,用来判断节点的自私性。机会网络中的每个节点都会记录下自己与其他节点的相遇信息,IRONMAN算法主要是利用这一信息来获取节点间的合作情况,从而判断节点是否是自私的。算法的实现过程如图3所示,节点A想发送消息给B,但是它先遇见了节点C并把消息转发给C,因为节点A认为C会在自己之前先遇见B。之后,节点C遇见了B,但因为它的自私,所以并没有把消息转发给节点B。后来,节点A遇到B后交换了双方的历史相遇信息,并且A告诉B它让节点C把信息转发给B。因此,节点B知道自己遇见了C但没有接收到信息,从而也知道了节点C是自私节点。然而,在这一检测过程中每个节点都是随机移动的,所以并不能确定节点间下次的相遇时间,因此这类检测并不能满足一定的时效性。
4)基于声誉检测。在声誉系统中,每个节点都有一定的声誉值。而声誉值是信用高低的体现,因此系统需要设置一定的阈值,当节点的声誉值小于阈值的时候,节点就被确定为自私节点。Behrouz等[13]在Watchdog的机制上增加了声誉机制,节点会根据直接和间接的检测信息更新其他节点的信誉值,并更新自己对于其他节点的看法,从而判断出其他节点是否是自私节点以及它们自私的程度。而Buchegger和Le Boudet[14]采用的检测方法主要来源于Dawkins[15]所提出的“自私的基因”这一灵感, Dawkins使用了一个生态实例解释了鸟类将寄生虫从对方头上清除的生存机会以及由此产生的基因选择。他将鸟分成两类:第一种是“傻瓜”,总是无条件帮助其他鸟类,第二种是“骗子”,总是欺骗其他鸟类让它们把寄生虫从头上清除,却没有回报它们。显然,欺骗者比较有优势,但是随着时间的推移,这两者都会被淘汰。因此,他介绍了第三种鸟——“吝啬鬼”,这种鸟开始会帮助每一只鸟,但慢慢地它不会再帮助那些不回报的鸟。所以,模拟显示,当刚开始的时候,大多数都是骗子,只有少数人是傻瓜和吝啬鬼,但随着时间的流逝吝啬鬼会获得最大的利益并最终获胜。正如Dawkins所解释的那样,互惠、利他主义对每一个生态系统都是有益的。当同时给予恩惠时,节点就会因为即时的满足而存在着一种内在的合作动机,但当给予帮助和偿还之间存在延迟的时候,合作的好处就不那么明显了。因此,CONFIDANT[14]利用了这一现象为路由和转发优惠定义了合适的成本和利润,并且维护了非合作节点的经验历史,从而使自私节点退出系统。
另外,CORE算法[16]也是利用watchdog和声誉机制检测出行为不当的节点,但在进行信誉评估时,CORE把信誉值分成主观信誉、间接信誉和功能信誉。直接信誉是直接由主体的观察计算得到的,主要是给在过去的检测中出现的零星不当行为在最近的观察中做一个最小的影响评估值,从而避免由于链接中断或者是因为不利节点引起的局部不当行为导致的错误检测。主观信誉的评价只考虑到主体与其相邻主体之间的直接交互,而引入间接信誉可以增加反映复杂社会特征的可能性,同时主观信誉的最终价值也会受到社区其他成员提供的信息的影响。功能信誉是用来描述根据不同功能计算出来的主观信誉和间接信誉。间接信誉只考虑了积极价值,而功能信誉的引用增加了计算一个考虑不同观察或评估标准的主观信誉整体价值的可能性。然而,为了提高信誉值的准确性, 在评估节点的信誉值时, 不仅要考虑周围的节点, 还要考虑多跳节点。
5)基于货币检测。在基于货币的激励机制中,往往容易自私的节点主要表现为贫穷节点和富裕节点。目前,大部分的激励策略主要都是针对只拥有少量货币的节点处理问题,因为人们普遍认为贫穷的节点更容易表现出自私,但其实富裕节点也会表现出它的自私性。文献[17]提出了一种基于IND算法的检测机制,主要是通过获取网络中每个节点的货币值来构建哈希表,然后利用齐夫定律[18]及基尼系数定理[19]来判断每个节点是否是富裕节点,同时更新每个节点的货币变化,设定一定的值作为阈值,从而实现对节点的监测处理。当把富裕节点一段时间内所拥有货币的平均值与最近一次更新货币平均值进行比较,差值大于阈值时,该节点在很大程度上表现出偏好自私性,那么此节点被认为是自私节点。
2 激励机制
目前,解决节点自私行为的方案[20]大体可以分为三大类:基于声誉的激励机制、基于货币的激励机制、基于博弈论的激励机制。基于声誉的激励机制主要是通过基于声誉的检测来判断节点是否自私,并制定一些惩罚机制或鼓励机制,从而达到激励自私节点参与数据转发的合作中;基于货币的激励机制主要是利用货币对转发服务进行定价,节点通过支付虚拟货币去购买服务的方式去激励节点参与合作转发从而获取报酬;基于博弈论的激励机制主要是利用讨价还价等策略为两个节点之间的合作提供等价的交易,从而激励节点帮助转发消息。
2.1 基于声誉的激励机制
基于声誉的激励机制主要是利用信誉值来评判节点是否自私,同时采用了Watchdog机制来更新并监测节点的信誉变化。当节点因为有限的资源而自私地拒绝为其他节点转发数据或者接收数据后丢弃时,该节点的信誉值就会降低,而低于一定的阈值后就会以广播的形式告知网络中的每个节点,从而被整个网络屏蔽,不再参与任何数据的转发也不会有任何的节点帮助其转发。当节点愿意为其他节点转发数据时,该节点的信誉值就会升高。因此为了自身的信誉以及避免被隔离的风险,节点会选择参与数据转发的合作,以此达到了激励自私节点的目的。
Xu等[21]提出了一个安全的基于信誉的动态窗口协议——SReD协议,它是一种基于链路状态的本地化多路径路由方案,主要包括以下三种模式:
1)基于信誉的路由生成模式。节点在其通信范围内搜索具有最高信任索引的下一跳节点,以此生成路由。邻居节点的信任索引由本地信任索引和信誉索引两部分构成,这种声誉机制可以最大限度地减少消息伪造,修改攻击,黑洞攻击和DOS攻击。这种模式强调效率,在此模式下可以快速找到最佳路线。
2)概率路由生成模式。该模式的节点以概率方式生成路由。由于没有策略应用于下一跳选择过程,因此该模式比以前提出的路由算法更能抵抗各种攻击,例如虫洞和恶意攻击。但是,这种模式必须牺牲一定的转发效率才能获得所需的安全性。
3)动态窗口机制。该机制可以自适应地切换上述两种模式,实现了转发效率与安全性之间的良好折衷。在此模式下,更新并维护动态窗口,其窗口大小表示了网络环境的安全质量。如果网络环境被认为是良性的,则该节点使用基于信誉的路由生成模式;否则节点将使用概率路由生成模式。
Li等[22]提出了一种机会网络信誉辅助数据转发协议——RADON协议,主要是将设计的声誉框架与数据转发协议集成,并且利用正反馈消息PFM帮助监视节点的转发行为,以更加准确地全面评估节点的数据转发能力。而RADON协议主要由声誉模块、信任评估模块和转发决策模块这三个模块组成。声誉模块的重点是如何收集信誉系统RS信息,RS包括Watchdog组件提供的直接信息和来自其他节点的间接信息。直接信息主要通过收集PFM来监测节点的转发行为,在固定间隔内更新声誉。而间接信息是由其他节点提供的并非直接观察,它的来源不仅来自节点的邻居,还来自之前接触过的其他节点。当两个节点相遇时,一个节点会将直接观察另一个节点的信息作为间接信息。所以,利用间接信息对预测节点的未来转发行为具有巨大影响。信任评估模块的过程是当节点遇到另一节点后,前者必须根据其直接观察得到的信息和间接信息来评估后者在转发数据时的综合声誉。在转发决策模块中,除了过去接触目的节点的次数之外,节点还会考虑数据转发信誉以全面评估节点成功转发数据的能力,同时还要权衡声誉的角色以及评估下一个节点转发数据时遇到目的节点的可能性。
之后,Bigwood等[12]则提出了一种新的机会网络激励机制——IRONMAN机制,利用已有的社交网络(SRSN)信息来检测和惩罚自私节点,激励它们参与网络中的数据转发,并为机会网络中的节点增加声誉并激励节点摆脱自私行为。该机制利用访谈或在线社交网络的信息来快速检测自私节点,并且使用SRSN为节点提供声誉。两个节点在相遇时交换双方的历史信息并更新其他节点的声誉值,然后根据声誉值决定选择是否转发数据。
2012年,Mei等[23]提出了Give2Get机制,其中包含了两种针对个体自私的移动无线网络转发协议——Give2Get流行病转发和Give2Get授权转发,这两种协议都包括三个阶段:消息生成、中继阶段和测试阶段。当一个节点创建要发送的消息时,首先生成消息。生成消息后,发送方会尝试将其中继到它遇到的前两个节点并且协商加密会话密钥(Session Key,SK)开始可能的中继会话,一旦确认为消息的中继,这两个节点会反馈中继证明给发送者,那么当中继节点再次遇到发送者后就进入到了测试阶段。如果中继节点能交付之前的中继证明或者其缓存空间中还保存着先前转发过的消息,就说明该节点信誉值高而且值得信赖,相反,说明该节点是自私节点,同时广播该节点的自私行为并将它从网络中剔除。
2.2 基于货币的激励机制
基于货币的激励机制主要是利用货币对转发服务进行定价,当节点帮助转发数据后就会获得相应的虚拟货币作为报酬,而当节点自身要发送数据时也要提供相应的虚拟货币去购买其他节点的转发服务,这其中就需要可信的第三方机构对虚拟货币进行调度,比如虚拟银行(Virtual Bank,VB)或者credit管理清算中心(Credit Clearance Service,CCS)。当数据成功到达目的节点后,第三方管理中心就会将相应的货币分给参与数据转发的各个中继节点,并且对这一交易给出相应的凭证。而第三方机构的管理过程如图4所示。
Zhu等[24]提出了一种安全的多层信用激励方案——Smart机制,它允许信用由当前转发的节点来分发而不需要发送者的参与。具体来说,Smart是基于分层硬币的概念,该硬币提供虚拟电子信用以收取和奖励网络中数据转发的提供,主要由基础成和支持层组成,并且每个层由源节点、目的节点或中继节点生成。基础层由源节点生成,主要包括信用值、报酬条件、服务等级要求(Class of Service,CoS)和其他奖励策略等信息,而在随后的消息传送过程中,每个中间节点将通过附加不可伪造的数字签名在基础层的基础上生成新层——支持层,这意味着转发节点同意在预定义的CoS要求下提供转发服务,并将根据未来的奖励政策给予奖励。同时通过支持层可以轻松跟踪消息的传送路径,并通过检查每个支持层的签名来确定每个中间节点。如果提供的转发服务满足预定义奖励政策中定义的报酬条件,则每个沿一个或多个路径转发的中间节点将根据不同的数据转发算法共享在该硬币中定义的信用和实际的转发结果。
但是,由于与硬币相关的所有安全性都是中间节点管理,自私节点甚至是一组串通节点可能会任意地将假层注入当前硬币中或从硬币中移除若干有效层,试图欺骗网络以求最大化其预期福利。所以Lu等[25]在Smart的基础上加入了声誉机制,即Pi机制,在此机制中提供了一个公平的激励模型。在奖励模型中,为了实现公平性,当且仅当消息到达目的节点时,中间转发节点可以从源节点获得信用,而对于那些消息转发失败的节点仍然可以从可信机构获得良好的信誉值。同时,在提出的Pi协议中还提供了认证和完整性保护,从而改进了Smart机制中存在的问题。
同年,Chen等[26]提出了一种基于货币的激励机制——MobiCent机制,它允许底层路由协议发现最有效的路径,并且理智的节点不会故意浪费转发机会或通过创建不存在的联系人来欺骗以增加它们的回报。同时,MobiCent还提供不同的支付机制以满足希望最小化支付或数据传送延迟的客户。它主要利用第三方信任管理机构保存密钥信息,源节点将需要发送的消息传送给中继节点,当消息转发到目的节点后,目的节点会支付相应的虚拟货币给中继节点,不需要源节点支付任何货币,同时管理机构还会提供认证服务。
文献[27]主要提出了一种基于价格效用比的激励机制——PDU,它主要是结合节点自身资源计算出节点效用值和转发消息的价格之间的比值PUD,并利用这个比值构成有向图,然后采用Dijkstra算法得到一条最短可信路径,再与设置的延迟门限值比较,逐渐找出一条延迟短且价格效用比最小的最优路径作为消息传输路径。因此,自私节点要获取转发机会就必须降低价格从而提高自身的效用值,使PUD变小,否则就会被隔离出网络。
2.3 基于博弈论的激励机制
基于博弈论的激励机制也称为平等交换激励机制,主要遵循竞争和讨价还价的原则以相同的方式处理与之联系的节点。因此,为了最大限度地提高自身的利益,节点最终将选择合作来帮助其他节点转发数据。
P2P文件共享系统的BitTorrent协议[28]中采用了Tit-For-Tit机制,在此协议中用户上传与下载的数据量必须是对等的。而Shevade等[29]提出基于DTN网络的激励感知路由策略,主要使用TFT机制并结合慷慨和忏悔策略来解决节点的自私问题。通过发送数据分组确认证明下一跳节点完成转发,这种积极的反馈允许节点与其邻居进行平衡的交换完成互惠服务并奖励良好行为。首先,采用慷慨方案解决经常初始化和某一时刻不对称的问题,然后采用忏悔方案解决无线的恶意报复问题。
后来,Buttyan等[30]提出了一种基于易货贸易原则的激励机制来阻止节点的自私行为,同时两个节点之间的交换价值必须相等。每个消息对节点的有用度不通,所以,根据节点对消息的兴趣程度可以将消息区分为主要消息和次要消息两种。如果移动节点对消息的内容感兴趣,则此消息是给定节点的主要消息,反之则是次要消息。因为不同的移动节点对不同的内容感兴趣,所以,对于不同的移动节点消息可以具有不同的类型。而网络中每个节点需要的消息是不一样的,对于一些节点来说的次要消息可能是其他节点的主要消息,因此每个节点都必须携带部分的次要消息完成交换服务,并且必须是等量的交换。
之后,Wu等[31-32]又借助经济学[19]中的商品交换理论——讨价还价方法来解决消息交换中节点的自私问题。首先,拥有转发服务的中继节点会为服务进行定价,如果购买转发服务的节点同意卖方的价格,那么交易完成。否则,买方为服务提供自己的定价,卖方同意的话,交换完成,否则就只能进行下一轮的协商交易直到交易的完成。
在TFT机制中还有一类典型的Ad-hoc VCG拍卖机制[33],源于经济学[19]中的Vickrey-Clarke-Grove(VCG)拍卖模型。该机制中节点先对自己的转发服务定价,然后买方通过拍卖竞价的方式竞相购买卖方的服务,从而激励中继节点给出它们可以转发所需的真实成本,并支付给卖方报酬。
对于这类激励机制,国内研究主要是通过数据相互交换或者是买卖双方利用货币等形式协商完成交易的过程,如物-物交换。简单的物-物交换[34](simple barter trade,SBT )的原则就是你交给我一个数据,我还给你一个数据。这种交换要求严格的对等机制,会导致网络中的节点之间不能完全地转发数据,从而降低了网络的性能。因此,在文献[35]中,研究者提出了一种基于债务的激励机制——DBT,它在SBT的基础上降低了交换要求,引入了债务这一概念,允许节点可以先借再还,从而使节点间保持长期的等价交换。DBT的主要思想过程主要分为两个阶段,在第一阶段中每个节点都会根据自己对其他节点的信任值为它们提供无息债务,如果债务方的债务值高于债权方所提供的最大无息债务后,债权方就开始计算利息,进而更新债务值,直到债务值再次低于最大无息债务,否则就到第二惩罚阶段;在第二阶段中,节点会将对自私节点的信任值设置为零,并且拒绝为其转发信息直到自私节点还清自己的债务,否则,自私节点会被隔离出网络,直至自己产生数据还清债务后才能重新进入网络。然而,DBT虽然提高了数据的交易量,却增加了网络缓存的负担,所以,文献[27]提出了一种基于效用的激励机制——UBT,主要是通过预测未来相遇节点和相遇节点转发消息到目的节点的概率进行缓存决策从而提高缓存效率和网络性能。UBT采用了顺序循环队列节省存储空间,并引入了滑动窗口的概念,使节点只记录当前W个区间的相遇次数,从而反映节点相遇的最新趋势;同时采用了链式存储的方法使节点只需动态地为相遇频率较高的节点维护信息。
3 现有激励机制主要问题
现有激励机制主要用于传统的无线自组织网络中,而对于机会网络的特殊性许多机制不能完全适用,同时现有的激励机制还存在着许多问题[12]。
1)基于声誉激励机制。在基于声誉的激励机制中,并没有被考虑节点的声誉值变化规律。对于信誉值高或者临近阈值的节点,相同的激励策略只会引发懒惰性,不会再主动转发数据提高信誉以实现更高的信誉价值,并且在间歇性机会网络中利用该机制监测下一跳节点的行为难以实现。
2)基于货币激励机制。在基于货币的激励机制中,整个交易过程都需要可信的第三方信任管理机构来支持。每个节点在管理机构中都有自己的账户和基金,当交易完成后节点对应账户中的货币会有相应的增多或减少,这会导致没有足够货币支付的节点仍然享受着其他节点的转发服务,并且无论中继节点的转发服务好还是坏,购买方需要支付的货币是一样的,从而导致了不公平性的出现。其次,该机制也不能保证在节点进行欺骗性攻击后货币的安全性。
3)基于博弈论激励机制。在基于博弈论的激励机制中,节点间的交易必须要求提供平等的服务,主要针对的是对称性网络,但是这在非对称的网络中是很难实现的,并且,在拍卖机制中节点的竞拍价格也很随意,无法实现真实的报价,经常出现虚假信息和重新拍卖等问题。同时,这种机制会降低数据的交易量,对缓存空间的要求极高。
4 未来研究方向
如今机会网络的研究还没有什么突破性的进展,并且实现机会网络的广泛应用还需要很长的时间,所以,需要改进现有算法和模型去解决上述问题。
1)基于声誉。针对上述有关声誉机制的问题,可以在基于声誉的激励机制基础上加入等级评价制度。如果信誉值高的节点或者刚刚到达阈值边界的节点不再主动转发消息后,可以采用降低该节点的等级,此后转发该节点消息的优先权也会降低,相反,如果主动转发消息,节点的等级会上升,节点的消息也可以被优先转发。这样做会促使所有的节点主动转发数据,提高消息转发效率。
2)基于货币。针对上述有关货币机制的问题,在基于货币的激励机制中需要对用户的账户进行加密认证,并且对每次的交易设置凭证,记录每次交易的内容和相对应的虚拟货币,然后在对应的账户中更新拥有的货币。如果节点没有货币能够支付转发服务,就会自发地为其他节点转发数据从而赚取货币。
3)基于博弈论。针对上述博弈论的相关问题,可以在博弈论的基础上加入声誉机制或货币机制捆绑成新的激励策略,在讨价还价的原则上协商转发服务的定价。但是,交易的协商过程不可能是无止境的,所以为交易双方设置耐心参数是必须的。当卖方没有耐心后就不提供转发服务,而买方没有耐心后就不购买转发服务。因此,利用讨价还价的方法可以提高消息的转发效率及缓存利用率,或者通过预测可能的相遇节点和其转发数据的概率来进行缓存决策从而提高缓存利用率。
5 结语
本文对机会网络中自私节点的激励机制进行了研究。首先介绍了自私节点产生的原因以及检测算法,然后阐述现有的激励自私节点参与数据转发合作的方案,主要分成了基于信誉、货币、博弈论这三类激励机制。最后,指出了每类方案中存在的主要问题,以及可能的解决方法。
目前,对机会网络研究的方式越来越多,将机会网络与其他学科领域技术交叉结合去解决机会网络中的节点自私问题已经慢慢地成为了这个领域新的研究方向,如机器学习。由于机会网络中节点具有社会性和规律性,通过利用机器学习来研究机会网络中节点生成的历史数据,可以预测节点间的相遇概率、消息的传输路径、消息转发成功的可能性,并且还可以挖掘更有用的信息。