群智感知应用中基于区块链的激励机制

2019-03-22 03:46何云华李梦茹孙利民
计算机研究与发展 2019年3期
关键词:报酬代价矿工

何云华 李梦茹 李 红 孙利民 肖 珂 杨 超

1(北方工业大学计算机学院 北京 100144)2(物联网安全技术北京市重点实验室(中国科学院信息工程研究所) 北京 100080)3 (西安电子科技大学网络与信息安全学院 西安 710071) (heyunhua610@163.com)

群智感知是指大规模的用户通过其携带具备感知、计算能力的移动终端采集并共享感知数据,对数据进行测量、分析、估计等处理后提取与公共利益相关现象或信息的技术.群智感知是物联网与众包思想的结合,随着互联网+的发展,智能手机、Pad、手环等智能终端的普及,群智感知在环境污染质量监测、环境噪音地图、实时交通状况、城市网络覆盖地图、路边停车位实时监测、室内定位等方面已经得到了广泛的应用.

群智感知任务的执行依赖于大量用户的参与,需要消耗用户的时间精力以及其智能终端设备的电量、存储与计算资源,并且存在泄露用户隐私的风险.用户应被给予相应的报酬以激励其参与感知任务,但用户都是自私的,可能会发起欺骗或合谋攻击来获取更多的奖励.因此,设计一种安全可信的激励机制[1]就显得尤为重要.

现有的激励机制主要有信誉机制、互惠机制和基于电子货币的机制.信誉机制[2]根据用户信誉度为用户提供相应的服务,但信誉机制的激励方式不明确并且易受女巫(sybil)攻击[3]和洗白(whitewashing)攻击[4].而互惠机制[5]采用等价交换原则激励用户参与,但需要建立长期的通信或互惠关系.基于电子货币的激励机制是普遍采用的方法,通过给予用户一定数额的电子货币以激励其参与感知,其电子货币的发行和流通由类似银行的可信中心来管理.但可信中心通常在现实生活中是难以实现的,可能会为了利益私自出售用户隐私数据或与参与用户共谋,而且也容易遭受攻击,一旦被攻击,将导致激励机制的混乱.

针对以上问题,本文提出一种群智感知应用中基于区块链的分布式激励机制.在该机制中,服务器发布感知任务、用户上传感知数据、服务器给予用户报酬等过程都在区块链中被相应记录,有效解决了可信第三方介入带来的安全问题.区块链中的矿工担任数据验证工作,作为利益无关者,比由服务器验证的方式更可信.由于矿工可能发起假冒攻击,本文提出数字水印的方式对用户上传的感知数据进行保护.本文贡献有3个方面:

1) 提出一种基于区块链的分布式激励机制,激励高技能用户参与感知任务的同时,避免了可信第三方带来的安全隐患;

2) 采用数字水印技术对用户上传的感知数据进行处理,有效防止了矿工利用他人数据冒名领取奖励的问题;

3) 仿真实验表明本文提出的激励机制的可行性和有效性.

1 相关工作

通过设计合理的激励方式能激励更多的参与者参与感知任务,并提供高质可靠的感知数据,因此激励机制是群智感知应用研究中的一个重要问题.

1) 群智感知应用中的激励机制

群智感知应用中的激励机制可划分为信誉机制、互惠机制和基于电子货币的机制[5-8]3类.信誉机制评价用户的信誉值,高信誉用户可获得更好的服务.Xie等人[6]采用信誉机制隔离感知系统中低水平工作者以激励高水平工作者参与感知任务,从而获得高质量的任务解决方案. Mohannad等人[7]提出一种参与者信誉值估计方法,使用RSEP(repu-tation system to evaluate participants)算法估算出最高信誉值的参与者并给予激励,以此来提高感知应用的质量,解决了不同参与者上传的感知数据参差不齐的问题.但信誉机制的激励方式并不具体,较难给出新加入用户合适的信誉值,容易受女巫(sybil)攻击和洗白攻击.

互惠机制根据用户贡献度匹配等价的服务.Gong等人[9]研究了在给定了社会信任结构的基础上,构建基于社会信任的互惠(social trust assisted reciprocity, STAR)激励机制,并对该激励机制用户的响应效率进行了深入的研究.研究表明此机制能够在构筑的社会图和用户请求图的循环流中达到效用最大化.由于互惠机制需要建立长期的通信或互惠连接,对于个性化的需求适用性较差.

Fig. 1 Crowdsensing network model图1 群智感知网络模型

基于电子货币的激励机制使用电子货币激励用户参与群智感知任务.Zhang等人[10]提出一种将波普法和EM算法有效结合的2阶算法以实现对多类人群的标识;Wang等人[11]提出一种群智感知中基于质量的综合定价机制,可以根据感知质量水平得到工作者的客观排名;Peng等人[8]提出的激励机制,解决了用户上传的感知数据质量参差不齐而影响感知网络的服务质量的问题.他们提出以贡献程度为支付标准来设计激励机制,有效地提高了理性参与者上传高质量感知数据的积极性.以扩展的经典的期望最大化算法(EM算法)估算感知数据质量,并通过消除信号传输中的噪音降低数据信息的不确定性来量化用户的贡献,以此为标准给予用户相应的最合适报酬.但这些激励机制都依赖可信中心,会面临着安全与隐私威胁.一方面,可信中心可能会滥用职权或出售隐私数据,使其利益最大化;另一方面,可信中心故障或被攻击,都会影响激励机制的实施,造成系统的混乱.

2) 分布式激励机制

基于区块链的激励机制是一种优选的可证安全的分布式激励[12-13],当前主要用于安全多方计算以保证公平性.Andrychowicz等人[14]提出基于Bit-coin的限时承诺机制:在某个限定时间内完成承诺的任务,若未履行承诺则进行惩罚.将该限时承诺机制用于实现在线的多人彩票协议,保证了赌徒遵守协议的规定,能够保证彩票协议的公平性.在另一篇文献中Andrychowicz等人[15]对该Bitcoin交易语法进行了扩展,使其支持限时承诺功能,并且能够适用于两方安全计算的所有计算函数;Kumaresan等人[16]提出了一个更通用比特币的激励框架,可以实现对安全计算中违反协议方进行惩罚.

Li等人[17]提出一种群智感知应用中基于区块链的激励框架CrowdBC,CrowdBC设置了应用层、区块链层和存储层3层,应用层利用智能合约进行用户管理和任务管理,区块链层利用矿工验证感知数据,存储层存储任务和解决方案的数据.但是没有给出具体的质量估计报酬分配方案.

本文不同于先前的工作,采用基于区块链的激励机制解决群智感知应用中的安全激励问题,而且考虑了矿工发起篡改攻击、假冒攻击、共谋攻击等情形.

2 群智感知网络模型

激励机制的设计直接决定着参与用户的积极性及感知任务质量,是群智感知模型的最重要的研究内容之一.激励机制设计会面临着3种挑战:

1) 完全可信的第三方在现实生活中往往是不存在的,可能会受利益驱使滥用其信息托管权,出售用户隐私信息;

2) 感知平台也可能与某些用户合谋而发起共谋攻击以求无偿或最小化代价地得到感知数据;

3) 托管信息的第三方本身就是感知网络模型中安全最薄弱的环节,最易受攻击者攻击,一旦用户信息被攻击者窃取就会导致混乱.

3 基于区块链的激励框架

Server给予上传感知数据用户奖励的过程可看作一个交易,此次交易产生的区块经由矿工验证后接入区块链中.矿工们验证每笔新的交易并把它们记录在总账簿上.每隔一段时间就会有1个新的区块被“挖掘”出来,每个区块里包含着从上一个区块产生到目前这段时间内发生的所有交易,这些块被依次添加到区块链中.包含在区块内且被添加到区块链上的交易被称为“确认”交易,交易经过“确认”之后,所有交易都无法更改,从而保证了感知过程的可靠性.该激励架构不依赖可信第三方,摆脱了可信中心带来的安全隐患.

由于感知任务的验证工作由矿工(Miner)负责,矿工可能利用看到的交易内容进行假冒攻击或者合谋攻击来冒名顶替感知数据提供者而非法获取报酬.针对这个问题,本文使用数字水印[21](digital watermarking)的方法对感知数据加水印处理,从而Server能够检查水印确定感知数据宿主,防止矿工将验证的感知数据据为己有领取报酬.

Fig. 2 Blockchain-based incentive framework图2 基于区块链的激励框架

3.1 发布感知任务

如图3所示交易任务语法格式.

Fig. 3 Task announcement
图3 任务公告

3.2 上传感知数据

这一阶段用户评估感知代价,决定是否执行感知任务并上传感知数据.用户读取Server发布的感知任务Task-Claim,并评估感知代价.用户ui需将购置安装智能设备和声音收录装置的代价、花费的时间、精力代价、执行感知任务花费的设备计算和存储代价,流量费用等相加的总代价ci与感知报酬比较.假定参与者的感知代价服从概率分布,有一个概率分布函数f(ci)以及一个累积分布函数F(c).理性的用户只有在预计上传感知数据后获得的感知报酬大于或等于c时才会执行感知任务.一般情况下,用户的智能设备和声音收录装置都是已有资本,无需为执行感知任务重新购置安装,这部分代价为0.

用户最大化自己的利益,即花最小的代价得到最大的利益.用户实际所得利益为

(1)

当用户期望的感知报酬rexpect≥ci(代价)时用户执行感知任务,采集噪音,上传感知数据给矿工(Miner).矿工验证用户上传的感知数据质量,将验证结果告知感知平台(Server).

3.3 感知数据质量验证

用户将感知数据上传,由矿工对感知数据的质量进行验证.矿工(Miner)首先估计感知数据的质量以作为Server给予用户报酬的标准,数据质量划分的等级越多,质量估计越精细,其激励机制越精确.Server会通过权衡精度和复杂性来最大化自己的利益,给出不同的质量标准等级,根据不同的质量进行报酬分配,鼓励用户上传高质量的数据.

E-step:计算似然函数的期望值,相对于P的条件分布给定了E的当前估计下的观测值S,

(2)

(3)

迭代步骤E-step和M-step直到估计值收敛.具体步骤如下:

(4)

(5)

真实的噪音区间分布为

(6)

i=1,2,…,n.

(7)

3.4 贡献量化与报酬分配

1) 贡献量化

给定了感知数据时,信息不确定性hb为

(8)

(9)

其中,a=1,2,…,n且a≠b.

(10)

0 lg 0=0,质量qk=1的感知数据会有最小的不确定性,hn(1)=0,最大的贡献cn(1)=lgn.虽然从不出错和一个总是出错的二进制信道对于通信同样有效,但这里只考虑和奖励感知数据质量在范围[0.5,1]之间的.

Miner将量化后的贡献量发给Server,然后Server依之将对应的感知报酬发给用户ui.

2) 报酬分配

对于Server来讲,任务Task-Claim的价值量为V,用户获得报酬为r.由感知代价概率密度函数f(ci)以及累积分布函数F(c)得Server获得的利益为

(11)

ci的分布独立于感知价值V和报酬r,期望收益计算为

(12)

因此求函数ProfitServer(r)的一阶导数并求解,Server得到最合适的报酬r*来最大化收益:

(13)

因此Server获得利润ProfitServer为

(14)

基于奖励的最佳质量由r*决定:

(15)

(16)

PaymentServer→ui: (in DepositServer)In-script: SigSKMiner(Payments→ui), n,r∗,SigSKui(Hash(Dataui)),Dataui,eui;Out-script: Ver(SigSKMiner(Payments→ui)),qui=g(eui)= ∑nl=1euill∕n,SigSKMiner(qui);Value: rui=r∗×lgn+quilgqui+(1-qui)lg((1-qui)∕(n-1));Time-lock: τ.

Fig. 4 Crowdsensing payment
图4 感知报酬

Server根据不同质量给出不同报酬(定价机制).Server付报酬rui给用户ui.Server和User之间的交易由Miner验证,通过后与其他在某段时间之内的所有交易形成区块,接入区块链.

在分布式交易中,Server和User作为交易双方进行交易,其交易数据D′(区别于感知数据D)被打包到一个“数据块”或“区块”(block)中.D′中包含感知数据D.

但是在这个激励框架里,矿工在担任验证感知数据的任务,众所周知:区块链的结构没有控制交易的中央机构,所有的交易清单都是公开的,因此攻击者是可以轻易获取用户的身份信息和用户上传数据,所以矿工可能发起假冒攻击冒名顶替用户领取报酬.因此,需设计一个合理的激励机制打消用户在执行感知任务时被冒名顶替的顾虑,从而更好地激励用户的参与.这里使用数字水印来杜绝攻击者发起的假冒攻击,窃取用户信息冒名顶替用户领取感知报酬.

3.5 数字水印

本文以音频水印为例说明水印的作用[27].嵌入算法Embed和检测算法Detect可采用互为可逆的算法.也可以采用不可逆的水印算法,如嵌入算法中采用多对一的映射函数使得算法不可逆.Detect和Embed互不可逆时具有很高的安全性.

水印信号W定义为

(17)

1) 水印嵌入

水印信号的嵌入过程为

A′=A⊕Embed(A,W,K),

(18)

A为音频数字媒体,W为所有的水印信号集合,K为水印密钥.

当信号为随机信号或伪随机信号时,相似度检验可以证明检测信号就是水印信号.

通过:

音频水印嵌入与检测的具体过程如下:

有M个样本的音频信号x(i),i=0,1,…,M,音频信号平均分成Ns段,每段N个样本,第k段的数据样本为Xk(i)=X(kN+i),i=0,1,…,N-1,k=0,1,…,Ns-1水印信号w为0均值、单位方差的高斯随机数.

通过对相应的各子带掩蔽阈值和安静掩蔽阈值求和得到全局掩蔽阈值Tg(i):

(19)

其中,Tq(i)表示频率i处的安静阈值,Ttm(i,l),Tnm(i,m)为音调与非音调成分的掩蔽阈值,L和M分别为音调与非音调成分的子带数.

对第k段音频信号Xk(i)( 0≤i

i=0,1,…,Nw-1.

(20)

(21)

(22)

2) 水印检测

(23)

划线部分均值滤波后近似为0.提取的水印为

(24)

用密钥产生原始水印信号w(t),计算w(t)与v(t)的互相关值:

(25)

4 安全性和性能分析

4.1 安全性分析

1) 防篡改攻击

在群智感知的激励框架中,数字签名的使用能够有效防止恶意的数据篡改.用户成功领取报酬需要身份和数据的双重认证.数据质量的认证由矿工(Miner)负责.而身份信息由用户ui以数字签名的方式发给Server,如果Server解签名成功则成功认证ui的身份,然后给予用户报酬,否则不给予报酬,这样就完成了用户ui身份认证的工作.另外Server收到密文和数字签名后计算明文的摘要并用公钥解密数字签名,然后将用ui的公钥解密后的摘要与计算的摘要比较,如果一致则说明数据没有被篡改.这样就完成了感知数据完整性的认证,能够有效防止数据篡改.反过来User验证Server报酬信息时也是如此.

2) 防假冒攻击

数字水印具有鲁棒性和脆弱性,鲁棒性能够保证数据信息的完整性,从而保证了数据质量不会因为添加水印而太大的变化.脆弱性使得感知数据无法被篡改.数字水印的身份特征使得每一份感知数据对应其原始作者,担任验证工作的矿工无法发起假冒攻击而损害感知用户的利益,有效防止冒名领取报酬的行为.

3) 防共谋攻击

本文主要考虑了3类共谋攻击:

① 用户之间的共谋.假设用户A与用户B在本次感知中发起共谋攻击,感知数据都由历史感知质量高的一方来上传,以获得更高的感知报酬.但这会影响下次用户感知数据质量的评估,当获得的额外报酬不超过其质量评估损失时,共谋攻击将导致A和B整体利益受损;

② 矿工与用户的共谋攻击.矿工抬高用户的感知数据质量水平来获取一定的共谋报酬,但这需要用户与矿工事先协商,而本方案中感知数据质量评估是随机分配给矿工的,很难成功发起共谋.即使协商成功,其他矿工也会对该用户的感知数据质量进行评估,当发现评估结果超出正常波动范围时也可究查出该矿工的作弊行为;

③ Server与矿工的共谋.Server可能与矿工发起共谋攻击,通过矿工降低感知数据质量水平以最小的代价得到最多高质量的感知数据.但该类共谋攻击需要网络中绝大多数矿工与Server达成共识,这是很难实现的,而且用户若获得相应的报酬就会打击其积极性,违反了激励机制设计的初衷.这里仅对共谋攻击进行简单阐述,详细理论性的证明将在我们后续的工作中进行阐述.

4) 系统健壮性

基于区块链的群智感知模型得益于区块链本身的结构特性,无第三方,因而能够保证群智感知激励模型中由于第三方的存在而产生的安全薄弱点.在有第三方的系统中第三方被攻克就会导致整个系统瘫痪,而区块链无此风险,因而具有足够的健壮性.区块链中的节点都是平等的,因而当系统中某些参与节点或矿工被攻击不会影响系统其他节点,系统可以继续工作.区块链的结构特征也能够有效防止数据被篡改和窃取.另外,传统感知模型中Server是验证感知数据的一方,也是付给用户感知报酬的一方,因此作为利益相关一方,用户有理由怀疑Server会恶意降低感知数据的质量水平估计结果少付报酬给用户从而损害用户的利益.而基于区块链的感知模型由利益无关的矿工来验证数据能够有效避免用户可能受到的不公平待遇.

4.2 性能分析

我们在Linux环境下模拟了EM算法不同的参数(种子集群数、感知矩阵、迭代次数)的影响:感知矩阵En×n,n=1,2,…的每一行为观察值,每一列是特征值,在EM算法的第4步迭代计算期望值时的边界值为ε.这里设定边界值ε=0.001,对已知数据群集S,迭代次数I,和矩阵的阶数n模拟测试其对计算代价的影响:

Fig. 5 The impact of clusters图5 集群的影响

由图5可知随着集群数量的增大,不同的迭代次数I其运行代价(runtime)不断增大,但是在集群数为10~15时其代价几乎不变.为此,考查10~15的集群数的影响,结果如图6所示,集群数为11时EM算法代价最低.因此数据集训练时集群数选择为11时最合适.

Fig. 6 The impact of clusters(10~15)图6 集群的影响(10~15)

En×n的感知矩阵在阶数n不断变化时随着迭代次数的增大,算法代价不断增大,由图7可知当迭代次数I=3时,n≤40时代价增长相对缓慢,而n>40时增涨幅度较大,而随着迭代次数的增大(I=10,20),增幅变大的拐点左移,当I=20时拐点已经降到n=10.因此当感知矩阵比较小(n≤10)时可以增大迭代次数来提高感知数据质量的估计精确度;当感知矩阵比较大时(n>40)如果降低迭代次数是性价比较高的选择.

Fig. 7 The impact of crowdsensing matrix图7 感知矩阵的影响

当迭代次数不断增大时,运行代价线性递增,并且随着感知矩阵阶数的增大,增幅系数越大.图8中可以看出矩阵为n=50时其代价系数非常大,相对于n=20的相对增幅要远大于n=20比n=3的相对增幅.因此出于代价的考虑应该选择合适的迭代次数.

Fig. 8 The impact of iteration number图8 迭代次数的影响

5 总 结

本文针对群智感知中的激励问题,提出了无第三方交易控制中心的基于区块链的激励机制.针对此分布式激励机制中矿工发起假冒攻击的问题,本文采用数字水印的方式防止矿工及其他人员利用或滥用感知数据.通过仿真实验验证了基于区块链的激励机制的有效性和可行性.

猜你喜欢
报酬代价矿工
基于新SEIRS 的矿工不安全行为传播分析
金牌挖矿工
矿工
职场不公平,所有人都变懒
爱的代价
幸灾乐祸的代价
代价
医生的最佳报酬
《使用文字作品支付报酬办法》发布
代价