1.一种基于区块链具有隐私保护特性的车联网群智感知激励方法,其特征在于,该方法包括:
S1、利用基于零知识证明的匿名身份认证机制以及布隆过滤器技术进行车辆的快速身份认证;
S2、通过匿名身份认证的车辆和任务发起者TA共同执行反向拍卖过程,利用Pedersen承诺确保出价的私密性,根据竞价,车辆声誉以及其精确位置来确定任务的中标者集合;
S3、根据数据准确性和响应时间来衡量数据的质量,并将车辆的声誉考虑在内来计算奖励金额;
S4、整个激励方法通过智能合约的形式在区块链上进行实施,合约部署之后,通过接收提交的数据能够自动执行设置的算法。
2.根据权利要求1所述的方法,其特征在于,S1具体为:雾服务器生成系统参数,设置私钥和公钥,车辆在雾服务器的帮助下通过零知识证明获得其匿名证书;每个合法车辆相应的快速认证因子存储在布隆过滤器中,该过滤器保存在区块链中,用于快速匿名认证。
3.根据权利要求1所述的方法,其特征在于,S2包括对于参与感知任务的车辆,相同异常交通状况下的车辆位置不应明显偏离大多数车辆的位置,如果车辆位置偏差过大,则对位置偏差过大的车辆进行过滤。
4.根据权利要求1所述的方法,其特征在于,S1具体过程包括:①系统设置:雾服务器运行Setup程序以获取公共参数创建素数q>2λ阶双线性映射组(G,GT);λ是安全参数;e(.,.)表示双线映射:G×G→GT;g和g1为群G的生成元,而e(g,g)被定义为gT;H:Zq*
→Zq和H′:{0,1}→Zq为两个碰撞抵抗的哈希函数;雾服务器F选择一个随机的s∈Zq作为其q x y z
私钥,并计算公钥YF=g ;同时,F选择x,y,z,μ∈Zq并计算X=g ,Y=g以及Z=g ,μ是一个周期验证密钥;之后,F初始化一个空集合Ω用作布隆过滤器;雾服务器会定期重置Ω;
②匿名证书生成:当车辆想要参与任务时,首先需要产生匿名证书,一旦车辆请求匿名k h
证书,雾服务器会设置状态标签T=1;然后,车辆随机选择 计算Δ=YZ并将(Δ,H(k))发送到本地雾服务器,雾服务器检查H(k)是否存在于Ω中,如果存在,则雾服务器将引导车辆重新洗择k:否则,雾服务器将H(k)加入Ω中;H(k)为快速认证因子,车辆充当证明k h
者,雾服务器充当验证者,通过零知识证明验证:ZkPoK{{k,h}:Δ=YZ},如果证明失败,则雾服务器返回为失败;否则,雾服务器将(W,v)发送至车辆,其中v∈Zq, 之后,v+μ
车辆检查等式e(W,YFg )=e(XΔ,g)是否成立,如果失败,车辆将返回失败状态,否则,匿名证书cred=(W,v,k,h)将会生成并被车辆存储在本地;
③匿名认证:车辆竞争参与感知任务,需首先向雾服务器提供H(k)来对自己进行合法性验证,雾服务器运行快速身份验证算法,以获得TF,如果TF=0,意味着H(k)不存在于Ω,则该车辆将被视为非法参与者;否则车辆充当证明者,而雾服务器充当验证者,通过零知识v+s+μ k h
证明验证:ZkPoK{{W,v,k,h}:W =XYZ},如果证明成立,则该车辆通过匿名认证,将作为合法的候选车辆进行竞标。
5.根据权利要求1所述的方法,其特征在于,S2具体过程包括:①每辆车都充当投标人,为了提交出价b∈Zq使用Pedersen承诺进行投标承诺,车辆选择一个随机的γ∈Zq,将承诺计算为 然后将承诺发送到本地雾服务器;所有车辆在提交时都不会获取有关其他车辆出价的任何信息,随后车辆将打开承诺C,显示b和γ的值;每辆车都发送通过本地雾服务器YF的公钥对(bi,γi)加密的密文结果,一旦车辆提交了承诺,雾服务器就会验证承诺是否能够打开,从而使智能隐私保护激励方法合约中仅存在有效的承诺;
②假定雾服务器F从n个合法车辆V=(V1,V2,...,Vn)接收n个投标
6.根据权利要求1所述的方法,其特征在于,S3具体过程包括:①数据质量计算:为了测量车辆提交的数据的质量,将感知数据的数据结构定义为D=(task,cause,proof,time),task以任务号表示,以区分不同的感知任务;cause是指交通状况异常的原因;proof是车辆上传以证明cause的数据;time是提交感知数据的时间;假设雾服务器F从m个获胜车辆接收m个完成相同任务的感知数据{D1,D2,...,Dm},其中Di=(taski,ci,proofi,ti),数据质量根据数据精度和响应时间ti量化,首先,通过交通异常原因ci计算车辆Vi与其余m‑1个车辆的汉明距离d(ci,cj),以测量提交的异常交通状况的相似性;如果车辆Vi与 以上其他车辆的汉明距离为0,即与其他车辆提交的数据相近,则认为其提交的为高精度数据,否则为低精度数据;高精度数据的数据精确度权重ωi(c)为 其中m’为高精度数据的总数,低精度数据的数据精确度权重为 ωi(t)表示车辆的响应时间权重,数据上传的越早,获得的权重越大,其量化方式为先将所有车辆提交数据的时间升序排序,获得序列t1≤t2≤…≤tn,然后根据排序顺序给车辆分配不同的权重ωi(t),且 参数θ表示数据精确度的重要性,因此车辆Vi最终的数据质量被表示为:qi=θωi(c)+(1‑θ)ωi(t);
②付款资料生成:付款资料根据竞价和车辆的数据质量生成,m个获胜车辆的总竞标价为 且 小于Bmax,因此,车辆Vi的最终付款为
7.根据权利要求1所述的方法,其特征在于,S4智能合约的实施过程包括:
1)Init(.)函数定义与注册关联的所有值,雾服务器调用Init(.)函数来获取公共参数,并与车辆一起生成匿名凭证,之后,将合法车辆的快速认证因子存储在布隆过滤器Ω中;
2)如果TA要启动任务,则他使用以下参数集调用Creat(.)函数:t1,t2,t3,t4,t5,t6定义六个阶段的时间间隔;任务的预算TA.budget,最高出价b0;合法车辆集合V;为了防止恶意TA发布欺诈性任务,然后退出交易,TA必须先向智能合约支付预算;如果因TA提前将拍卖中止,TA的预算将平均分配给获胜的车辆;最高出价b0用于防止恶意车辆提交过高的出价;
3)Authen(.)函数通过快速身份验证算法和零知识证明对所有参加竞争任务的车辆进行身份验证,车辆通过验证后,便可以提交出价;
4)Commit(.)函数通过Pedersen承诺对投标进行密封,以防止在投标间隔结束之前被其他车辆获取;
5)车辆触发Reveal(.)函数显示其出价,以便合约可以执行“胜出者选择算法”;
6)Decrypt(.)函数对车辆提交的投标的密文进行解密;
7)在显示所有投标之后,WinnerSel(.)函数对投标结果进行选择,它以出价,声誉,车辆位置,TA的预算和最高出价b0作为输入,该功能的结果是获胜的车辆集合Bw;
8)Payment(.)函数根据数据质量,出价和声誉来计算每辆车的奖励付款;
9)Finalize(.)函数返回TA的余额,并在确定付款资料后向车辆支付奖励。