牟星宇,廖祎玮,赵国生,王 健
1(哈尔滨师范大学 计算机科学与信息工程学院,哈尔滨150025)2(哈尔滨理工大学 计算机科学与技术学院,哈尔滨 150080)
群智感知是通过用户的参与来收集大量数据的一种机制,是物联网与众包思想的结合.随着智能手机,可穿戴移动设备等移动智能感知计算设备的发展普及,传统的数据收集方式已经完全不能满足目前互联网应用对数据的实时性要求,并且它本身就存在着成本太高、部署困难等问题,群智感知的技术应运而生.
群智感知需要大量智能移动设备和用户的参与,即基本单元的感知节点通过人与智能终端混合的形式存在[1]用户需要投入时间精力和承担设备损耗等资源,这影响了用户参与感知任务的积极性也降低了用户提供高质量感知数据的积极性.因此需要用户激励机制来激励用户积极的参加并上传高质量数据.
群智感知激励机制的研究成为群智感知网络的热点研究方向,获得了较多的研究成果.刘媛妮等[2],提出了以任务为中心的逆向竞拍激励机制,针对最大化用户转换率为目标,用户执行任务时可转售任务给新用户,从而最大化用户效用.童海等[3],提出了匿名竞拍的双向拍卖激励机制,通过采样进行用户筛选,然后预估用户报酬,这样既最大化了用户效用又保证了交易的公平性.传统的激励机制从降低成本出发,忽视了数据质量问题的影响,用户上传感知数据质量越高其投入的成本越高,理应给与其更多的报酬.
针对数据质量及其成本问题,Reddy等[4]指出基于报酬支付的激励形式,提出了使用微支付方式的激励模型,定义了一套指标用于评估激励措施的有效性,得出基于报酬支付的激励形式效果更好.南文倩等人[5]通过对任务代价和用户能力的分析,结合系统、感知任务和用户之间的交互来激励用户上传高质量感知任务.Jaimes等[6]设计了基于多轮逆向竞拍的激励机制,鼓励用户参与需要连续和定期抽样的感知计划.该机制在选择用户时不仅考虑了用户的竞价也考虑了用户的地点,实验结果表明,该机制在实现最优预算利用率的同时确保感知区域被覆盖并保证每一轮竞拍有足够的用户.Luo等人[7]提出了最大化收益的拍卖激励方法,通过感知任务的特点设计的刺激贡献函数,传统拍卖方法只考虑如何降低成本,忽视了数据质量问题.该方法为提供高质量感知数据的用户给与更多酬金奖励,实验表明该方法可以明显提升用户收益.Wang等[8]定义了用户的信誉模型,综合考虑了用户和感知平台两方面,使用户的报酬和系统数据质量都得到了提高.
上述的激励机制中,都需要可信第3方或半可信第3方参与报酬交付流程.由于用户必须先对通信实体进行验证,将感知数据传递给对方.这个过程中,用户所提交的感知数据很容易被截获.感知数据中可能包含用户位置和其他敏感信息,面临引入第3方参与的隐私安全问题.为了保持用户的积极性和可持续性,实施隐私保护措施是必须的.
研究人员的研究方向开始转向分布式系统.S.Goldwasser等[9]提出了零知识证明(zero-knowledge proof),属于分布式证明系统,广泛应用于区块链技术.是一种不透露自己的任何信息,却能证明自己拥有某个属性的方法.借助这一理论,Zk-snarks技术[10]允许将任何复杂的验证问题转化为一个多项式验证问题,再利用椭圆曲线上的指数知识困难假设[11]和同态隐藏手段,以及Fait-Shamir转换技术,获得最终形式的一种简洁且非交互式的零知识证明.Lu等[12]依据这一理论设计了一种匿名机制,防止恶意用户利用匿名机制实现双花,但该机制未考虑恶意攻击者上传病毒后对系统整体造成的损害.此时,Li等[13]利用区块链的去中心化特性,提高了网络安全性.但其并未考虑数据加密与区块链的用户唯一秘钥之间存在的的矛盾关系.
针对上述问题,本文提出基于Tangle网络的群智感知激励方法(Tangle-net Crowd Sensing,TCS),在该方法中,感知平台发布感知任务,用户上传感知数据,感知平台交付报酬等操作都被相应记录,Tangle网络不需要第3方介入,有效解决了引入可信第3方面临的安全问题.在TCS方法中,网络能够保持完全去中心化,不需要矿工传递信任,也不需要支付交易手续费,可以最大程度提高用户报酬.TCS方法在保证用户安全隐私的前提下进一步提高了用户参与的报酬收益,两者有机结合,提高用户参与感知任务的积极性.本文主要贡献有2个方面:
1)提出基于Tangle网络的群智感知激励方法,利用Tangle去中心化网络的安全属性保护用户隐私安全,通过模拟攻击验证系统健壮性.
2)利用Tangle网络无需交易摩擦费用的特性,实现最大化用户参与感知任务的报酬,提升用户参与感知任务的积极性.
群智感知的经典结构[14]由数据使用者、感知平台、用户3部分组成,感知任务执行过程[15]如下:
1)感知平台发布感知任务、激励奖励和数据要求,对用户提交的数据进行考量评估并根据贡献给与报酬.
2)用户携带智能感知移动设备,用户在收到任务后需要预估感知报酬R和消耗代价C,当R>C时用户执行感知任务.
3)感知平台通过用户提交的感知数据的质量和感知代价综合考量报酬,选定用户中的1个子集执行感知任务.对于子集中的每一个用户根据其有效工作量给予一定量的报酬.激励机制的设计直接决定着用户的积极性及感知任务质量[16],是群智感知模型的最重要的研究.
在Tangle中,交易相互关联,就像一个大的网络纠缠在一起.没有“块”的概念.该技术本身基于有向Acylic图.有向图DAG(Directed Acyclic Graph)是由有限数量的边和顶点组成.DAG的组成单元是一笔笔的交易,每个单元记录的是单个用户的交易,这样就省去了打包出块的时间.验证手段则依赖于后一笔交易对前一笔交易的验证这种验证手段,使得DAG可以异步并发的写入很多交易,并最终构成一种拓扑的树状结构,能够极大地提高扩展性.
通过DAG,Tangle网络通过平行验证能实现较高的交易吞吐,无需等待块开采.交易几乎会实时进行验证,一次可以提供更快的交易速度和更多的交易.网络中的每个有效节点都可以有效地对交易进行验证,无需支付交易费.Tangle网络会激励越来越多的用户都将发起交易,促使整个系统变得越来越安全和快速.确认时间会缩短,交易也完成的越来越快,更能保证交易结算的安全性和数据完整性.
本文的TCS方法使用Tangle网络来保证用户遵循交易规则.TCS方法无需矿工验证交易,通过每个可发起交易的人负责验证其他交易.所以整个网络中没有矿工,发出交易的人就无需支付交易的手续费.用户收益增加,更能激励用户高质量的完成感知任务.基于Tangle网络的群智感知模型图见图1.首先感知平台上传感知任务,用户接收到感知任务,完成后选择路径并校验,将数据发送给相互关联的节点直至尾部,尾部验证数据质量并量化贡献给出交易报酬同时将报酬发到感知平台,感知平台通过验证后支付给用户报酬并直接转入用户账户.
图1 基于Tangle网络的群智感知模型Fig.1 Crowd sensing model based on Tangle network
从感知平台发布任务直到交付给用户报酬,该过程视为一次交易,在进行一次交易的同时需要将上一笔交易信息发给尾部节点,通过尾部节点进行数据对比,间接校验了旧的交易,保证了感知过程的可靠性,由于不需要可信第3方参与交易,摆脱了中心交易带来的隐私安全等问题.
本文方法通过3个阶段来处理感知任务:
1)发布任务阶段:感知平台S发布N个不同的感知任务,包括任务名称、任务功能、要求等信息,并给定具体的报酬标准、评估标准,不同标准等级的数据给予不同的报酬R,允许用户U={u1,u2,…,un}来接收和完成任务.
2)用户评估任务:用户收到感知任务后进行评估任务,根据用户ux的感知数据dataux判断用户ux的工作量Qux.用户通过对比代价C和报酬R来决策是否参与任务,用户都是贪婪的,会最大化自身利益,用户ux所得收益为Earnings(ux)=Rux.
3)参与及上传数据阶段:用户评估感知代价后,决定是否参与任务以及上传感知数据.当该任务符合条件报酬Qux≤Rux时,用户上传感知数据.感知平台验证用户ux的感知数据dataux后,再通过工作量Qux判断用户ux能否得取相应报酬Rux,确认后支付相应报酬Rux.
用户上传感知数据后,由感知平台的尾部节点(Tip)对数据进行验证评估并作为用户报酬发放标准,通过划分不同工作量标准匹配不同酬金来激励用户提高数据质量.文献[17]采用的EM算法[18]进行迭代计算,但该方法计算过于复杂,在获得E步积分显示比较困难.为解决该问题,本文采用MCEM算法[19]来预估用户的工作量,MCEM算法是将EM算法中的E步拆分为E1和E2两步,并加入Monte Carlo模拟方法来实现E步积分求解,相较于EM算法该方法具有更快的计算速度和收敛特性.
记Ei为第i+1次迭代开始的估计值,随机的抽取n个随机数k1,k2,k3,…,kj,…,kn,则第i+1次迭代的E1步、E2步和M步为:
(1)
(2)
(3)
(4)
设新发布的任务验证过程中被重复验证的用户记为集合A,概率记为p1,即验证了集合A又验证了新用户的记为p2.这里p1和p2的关系式如下:
(5)
(6)
所以D(t)微分方程如下:
(7)
(8)
(9)
(10)
报酬交付前需要对节点进行可信度计算,交易的可信度是确认它的tip的数值.并非所有tip都被认为是同等的.本试验在模拟中增加了可信度.可信度超过51的交易周围有加粗边框来加重显示.
在图2的Tangle网络中,4条tips中的2条确认了交易9.如果我们使用统一的随机tip选择,它将有一个精确的50的可信度.然而,确认它的tips显然比没有的tip要更新,这就提高了可信度.本试验采用协调器协调机制.每隔两分钟,感知平台创建一笔里程碑交易,所有经它确认的交易立即被认为具有100的可信度.协调器在Tangle网络中充当了一种保护机制,直到完整的Tangle网络分布式共识算法开始发挥作用时,感知平台将关闭协调器,让Tangle网络完全依靠自身来演化和发展.这将在迭代阶段发生,当网络成熟到可以摆脱协调员时,网络本身也会立即变得更加效率.
图2 Tangle网络交易示例图Fig.2 Tangle network transaction example diagram
在不破坏任务数据的可用性的前提下保护用户隐私是亟需解决的问题[20].在TCS方法中,用户在对数据进行签名时需要匿名[21],且由新加入的用户来确认身份,这在一定程度上保证了用户的隐私安全.在群智感知激励框架中,恶意篡改和伪造数字签名会对用户和感知平台造成损失.在TCS方法中,所有交易都以地址为唯一识别标识,具有不可篡改的特性,也进一步的提升了安全性.
TCS方法的结构特性决定了它不存在因第3方发生的安全问题,具有系统健壮性,每个节点平等且独立生存,部分节点遭受攻击也不会影响其他节点和系统的正常运转,Tangle网络对交易数据的验证特性也有效的避免了用户可能受到酬金分配不平等问题.
这里通过设计一个攻击方案来验证安全性.
1)攻击者完成感知平台的任务后,在感知平台认为交易已经获得了足够大的累积权重之后,攻击者拿到了报酬;
2)接下来攻击者发布带有攻击者签名的一笔双重支付的报酬支付请求;
3)同时使用攻击者全部的计算能力来大量的发出小规模交易,并且这些交易不去直接或者间接验证原始的交易,而是去验证那笔双重支付的交易;
4)这里假定攻击者拥有大量的女巫攻击身份,并且他可以绕开节点进行验证;
5)攻击者期望他的sub-DAG超越主体DAG,从而使得DAG持续从攻击者的双重支付交易进行增长,以便使得之前合法的支付交易被抛弃掉.
上述攻击方案较为极端,但在数学模型的“理想”情况下,这种攻击总是可以成功的,这里进行计算该攻击成功的几率.
(11)
(12)
仿真分析通过采用真实数据集的方式对本文TCS方法进行验证,真实数据集选用GeoLife来模拟用户的行动[22],数据集收录了182名用户的轨迹数据.数据包含了一系列以时间为序的点,并记录了用户的活动轨迹,比如购物、旅游、远足等活动.本试验在Ubuntu系统下通过Python模拟试验得出仿真结果,参数设置见表1.
表1 仿真参数设置Table 1 Simulation parameter setting
为了方便处理将整个过程的开始时间记为00:00:00.仿真任务信息见表2.
表2 任务时间设置Table 2 Simulation task information
要得到更多高质量的数据,首先要保障有足够的用户数据量[23].所以本文主要针对用户数据量这个方面来进行仿真试验,来验证TCS方法在群智感知中对用户数据量的提升起到的积极作用,并且与Luo团队[7]提出的RSFP方法和南文倩等人[5]提出的CSII方法进行对比试验.用户的数量是感知数据“量”的基础,激励方法的本意也是激励更多的用户加入到执行任务的行列,用户加入感知任务的积极性也可以通过备选人员的人数来更直观的体现出来.
图3表示了在相同环境不同感知任务的情况下,相对于不使用TCS方法,使用TCS方法会增加更多备选人员.证明了通过使用激励方法TCS可以明显的提升用户参与感知任务的积极性.
图3 不同激励环境下备选人员对比Fig.3 Comparison of candidates
为了更直观的凸显该方法优点,这里设用户能力相同且平均交易摩擦费用为10费用.从第一次交易后每4次进行交易费用的累计.交易费用以及以太坊手续费参照以太坊2019年7月1日交易费用.这里选取Ethereum和Litecoin两种电子货币作对比,结果如图4所示,TCS方法中不需要矿工传递信任,无需支付交易手续费.不难看出TCS方法交易费用远低于Ethereum和Litecoin的交易费用.TCS方法的成本优势可见一斑.
图4 不同交易类型的交易费用对照Fig.4 Comparison of different types of transaction fees
同时用户收益和任务候选人数是影响用户响应感知任务的重要条件.感知任务的候选用户越多,用户参与感知任务的机会就越大.由图5所示,感知任务用户增加,候选人数也随之明显增加.证明了候选者数量会随着参与感知任务的用户数量的增加而增加.不难看出,TCS方法的候选人数增加量在参与任务人数达到35后逐渐与CSII和RSFP方法拉开差距,这是由于候选人数不断增多,使得整个网络面临的压力也不断增加并会增加感知任务成本.TCS方法在用户收益方面具有巨大优势,所以会增加用户参与感知任务的积极性,更利于感知平台获得更多的用户以及更高质量的感知数据.
图5 候选者人数对比Fig.5 Comparison of the number of candidates
TCS方法中,所有上传感知任务的用户都可以根据对感知数据的工作量来获得相应报酬,由于TCS方法采用无矿工参与的分布式记账管理,不存在交易摩擦费用,可以提高用户的收益,从而提升用户加入群智感知任务的积极性.图6是用户执行感知任务的收益情况对比.可看出在TCS方法中用户收益明显高于RSFP和CSII两种激励方法,这是因为RSFP方法采用报酬支付标准为多人竞争,胜者独享;在CSII方法中参与感知任务的用户都可以获得报酬奖励,提升了所有参与任务的用户的收益,但会降低个人收益;而在TCS中,参与感知任务的每个用户都会根据感知任务代价的不同获得不同报酬,按劳分配.这样的支付方案能够提高用户个人收益,更有利于提高用户参与感知任务的积极性.
图6 用户收益情况对比Fig.6 User revenue comparison
TCS方法通过可信度来衡量用户的可靠性,每次用户完成感知任务后,感知平台都会对其进行可信度的衡量,综合权重得出用户的可信度,使得感知网络更安全,减少恶意节点的存在.在TCS方法中,为避免λw>μ的情况发生,这里认为可信度高于51即为可信节点. 图7表示试验随机选取30名用户各完成50次任务,用户参与任务获得的可信度.试验结果表明有26名用户的可信度高于51,杜绝了λw>μ的情况发生,进一步保证了网络的安全性.
图7 用户可信度Fig.7 User credibility index
TCS方法通过提高用户收益与保护用户隐私这两方面来激励用户参与感知任务.图8是通过随机选出30名用户参与50次感知任务后的任务完成情况来计算用户参与度.在这个基础上,计算平均用户参与度,与TCS方法做差值,如表3所示,与RSFP方法和CSII方法相比,TCS方法在用户参与度上分别提升了0.404和0.092.CSII方法在任务预算高的前提下,无论参与者是否完成感知任务都会得到相应的任务补偿,而RSFP方法没有任务补偿.虽然CSII方法和TCS方法都提高了任务报酬奖励,但CSII方法是通过信誉度的高低来优选参与者,导致参与任务的要求变高,将未参与感知任务或参与感知任务次数较少的参与者拒之门外.TCS方法通过引入可信度避免了上述情况的发生,每个用户都有参与感知任务的机会,降低了参与感知任务的门槛,提高了用户参与感知任务的积极性.
表3 平均用户参与度Table 3 Average user engagement
图8 用户参与度Fig.8 User engagement index
为了满足群智感知技术在发展中对用户参与度提升的需求,提出了基于Tangle网络的群智感知用户可信激励方法.所提方法使感知网络完全去中心化,不需要矿工传递信任,也不需要支付交易手续费,降低了任务成本,同时利用匿名技术来保护用户的隐私,提高了用户参与感知任务的积极性.所提方法采用模拟攻击证明了该机制的安全性,然后通过用户执行感知任务的来验证该方法的可行性.最后采用仿真分析证明使用所提方法可降低感知任务成本,让用户的参与报酬最大化的同时使用户参与感知任务的积极性显著提高.下一步工作将利用Tangle网络的安全优势结合更高效的任务分配算法,来应对更复杂的群智感知网络.