一种基于区块链的隐私保护空间众包任务验证方法
本发明属于区块链与空间众包,具体地说,是涉及一种基于区块链的隐私保护空间众包任务验证方法。
背景技术:
1、随着智能手机等移动设备的广泛普及,空间众包已成为基于位置服务的一种重要应用模式。空间众包平台将具有空间属性的任务分配给移动工人,工人完成被分配的任务后获得报酬。这一模式已广泛应用于智慧城市、智能交通、电子商务等场景中。在典型的空间众包场景中,任务请求方发布带有指定报酬、完成时间窗与位置约束的任务,平台随后选择合适的工人,并在工人完成任务后发起支付。然而,现有空间众包方法并不支持对上述决策的验证。平台独自作出全部分配、完成与支付决策,任务请求方无法验证任务是否在约定的空间与时间约束内完成,工人也无法验证分配是否遵循声明的优先级与工作量约束。由于缺乏这种验证能力,双方只能盲目信任平台的决策。
2、在现有研究中,一类工作将区块链技术应用于空间众包以增强信任、保障公平与隐私,通常利用智能合约管理任务分配、报酬发放、工人信誉或位置资格,部分方法还采用加密或可信硬件保护隐私信息。然而,这类研究依赖区块链执行预先定义的工作流,并不能让任务请求方或工人独立验证平台自身关于任务分配、工人资格与任务完成的决策是否符合公开声明的准则。另一类工作利用认证数据结构在区块链上支持可验证查询。具体来说,区块链作为仅可追加的公开账本,数据一经承诺即不可篡改且可公开验证。认证数据结构在此基础上将大规模数据保留在链下,仅将摘要承诺上链,从而使不可信服务器能够证明其查询结果正确且完整,如附图1所示。然而,将基于认证数据结构的方法直接推广至空间众包,存在两方面的不足。其一,空间众包中的验证方需要核验的是与自身相关的具体主张,例如任务请求方核验“任务在其时间窗内被完成”,工人核验“本人具备某任务的资格却受到不公平对待”,此类主张涉及的并非单条记录,而是若干事实之间的关系。基于默克尔哈希树、默克尔b树等树型认证数据结构的方案只能认证查询结果的正确与完整,即证明平台存储了什么数据,而无法判定空间众包行为是否符合公开准则。其二,空间众包验证涉及任务细节、工人身份与分配结果等隐私信息,每次验证应当仅揭示必要的信息。树型认证数据结构的认证路径会暴露无关记录的摘要与位置,其非成员证明还必须披露缺失位置两侧的明文记录才能表明其间不存在目标记录。而采用密码学累加器的另一类认证数据结构虽然避免了认证路径,但其累加对象是面向可验证查询的整条记录或集合,验证一次空间众包行为会披露整条记录,超出该次验证所需披露的范围。
3、综上所述,现有技术在空间众包任务分配及完成的验证领域仍存在明显不足,主要表现为难以在最小化隐私披露的前提下,验证平台的任务分配、工人资格认定与任务完成等行为是否符合公开声明的准则。因此,有必要提出一种新的隐私保护空间众包任务验证方法,在不暴露隐私信息的前提下实现对任务分配及任务完成的验证。
技术实现思路
1、本发明的目的在于提供一种基于区块链的隐私保护空间众包任务验证方法,主要解决现有技术难以在隐私保护的前提下对空间众包平台的任务分配与完成决策进行独立验证的问题。
2、为实现上述目的,本发明采用的技术方案如下:
3、一种基于区块链的隐私保护空间众包任务验证方法,包括以下步骤:
4、s1,系统初始化,由可信审计方一次性生成rsa(rivest-shamir-adleman)累加器的公共参数,包括rsa模数n和rsa群的生成元g,其中n的因数分解保密。确定原子事实的类型、公开的优先级桶映射βp和负载桶映射βl,以及公开的任务分配公平性准则。其中,所述原子事实是关于单个任务或单个工人的基本陈述,包括任务事实、任务键、任务计数事实、工人事实、工人键、资格事实、分配事实、优先级事实、负载事实、完成事实和完成键。
5、s2,进行任务发布与工人注册,任务请求方将空间任务发布至空间众包平台,工人以化名向平台注册并以自身签名声明其时空属性。平台将任务发布和工人注册转化为相应的原子事实,其中任务位置和工人位置均以具有隐藏性的密码学承诺形式表示。平台将每个原子事实经素数表示映射编码为素数后,累加入当前结算轮的rsa累加器,并将累加器值作为该轮的摘要记录于区块链,原始数据保留在链下。
6、s3,进行任务分配,平台在链下执行任务分配算法,并向当前结算轮承诺四类分配原子事实,包括表示工人满足任务公开资格谓词的资格事实、表示平台已将任务分配给相应工人的分配事实、以桶形式表示工人优先级的优先级事实,以及以桶形式表示工人负载的负载事实。结算轮关闭时,平台承诺表明该轮任务总数的任务计数事实。
7、s4,进行任务执行与完成认证,被分配的工人执行任务后,由可信审计方对完成对象进行签名认证。平台向结算轮承诺绑定该签名哈希值的完成事实,以及用于将完成事实映射至任务—工人对的完成键。
8、s5,进行验证与争议仲裁,任务请求方依据链上记录的累加器值,通过成员证明验证任务发布与任务完成,通过非成员证明确认不存在指定工人与该任务对应的完成记录。工人通过组合资格事实、分配事实、优先级事实和负载事实的验证结果,依据所述公平性准则验证任务分配的公平性。当验证结果表明存在分配违规时,工人将由多个验证对象构成的证明组合提交可信审计方进行争议仲裁。
9、进一步地,在所述步骤s1中,所述rsa累加器定义在rsa模数n=pq与rsa群的生成元g之上,其中p、q为保密的大素数。对于由素数表示构成的集合s,其累加器值为:
10、
11、所述累加器值是对集合s的恒定大小承诺,其大小与集合中元素的数量无关。对于元素x∈s,其成员见证为:
12、
13、验证方当且仅当等式 (witx)x ≡ acc(s) (mod n) 成立时接受x∈s。对于元素x∉s,令u=∏y∈sy为累加乘积,由于x为素数且不整除u,故gcd(x,u)=1,依据裴蜀定理存在整数a和b满足:
14、
15、非成员见证为二元组(a, b),其中b = gb mod n,验证方当且仅当等式 acc(s)a·bx ≡ g (mod n) 成立时接受x∉s。当向集合追加元素x时,累加器按 acc(s∪{x}) = acc(s)x mod n 增量更新,从而支持随着工作流事件依次发生,将相应原子事实逐个加入累加器。
16、进一步地,所述素数表示映射primerep(·)将任意域中的原子事实映射为素数。具体做法是先对原子事实的编码进行密码学哈希,再返回不小于该哈希值的最小素数。所述密码学承诺对数值v的承诺为com(v)=h(v‖ρ),其中h为密码学哈希函数,ρ为随机盲化因子,‖表示拼接。所述承诺具有隐藏性与绑定性,通过公开(v, ρ)开启,任何一方均可通过重新计算h(v‖ρ)进行校验。
17、进一步地,在所述步骤s2和s3中,空间任务表示为五元组t=(rj, l, re, e, d),工人表示为三元组w=(l̂, rs, [τa, τb])。对于第k轮中第j个发布的任务,令t=(k, j)为其标识符,平台承诺任务事实task(t, rj, com(l), re, e, d)与任务键taskkey(t)。结算轮关闭时,平台承诺任务计数事实taskcount(k, nk)。任务请求方在taskkey(t)的成员见证验证通过后,将该任务视为已发布。对于以化名w注册的工人,平台承诺工人事实worker(w,com(l̂), rs, τa, τb, hwsig)与工人键workerkey(w),其中hwsig=h(wsig)绑定工人对其声明属性的签名。
18、进一步地,在所述步骤s3中,四类分配原子事实为资格事实eligible(t, w)、分配事实assign(t, w)、优先级事实priority(w, pb)与负载事实load(w, cb)。工人的优先级分值与负载分别经公开桶映射βp与βl离散化为优先级桶pb∈{1,…,mp}与负载桶cb∈{1,…,ml},桶边界为固定公开的系统参数,优先级事实与负载事实在每轮开始时作为轮始快照一次性承诺,且均可由此前轮次已承诺的事实集重新计算。
19、进一步地,在所述步骤s4中,对于完成对象oc=(t, w, sig),平台承诺完成事实done(t, w, hsig)与完成键donekey(t, w),其中hsig=h(sig)绑定可信审计方对任务完成出具的签名sig。对完成键的单个非成员证明即可证实该轮中不存在工人w对任务t的任何完成记录。
20、进一步地,在所述步骤s5中,所有验证请求共享统一的证明接口,对元素z的验证对象为五元组vo=(z, π, witz, payload, meta)。验证请求包括资格请求、分配请求、优先级请求、负载请求、任务请求与完成请求,每类请求的答案为依据链上累加器值的成员见证或非成员见证,关于其他工人的桶值返回请求仅在争议中针对被指名的单个竞争工人作答。
21、进一步地,在所述步骤s5中,所述公平性准则是:对于同一任务,当某工人具备执行资格且负载未达上限时,平台不得跳过该工人而将任务分配给优先级更低的工人。具体来说,工人以包含六项验证请求答案的证明组合证实分配违规,可信审计方当且仅当证明组合中每个见证均验证通过且所披露的原子事实满足违规条件时接受该证明组合。挑战方还可依据已承诺历史重新计算桶值,以证实平台提交的桶值与重算结果不一致所构成的违规。
22、与现有技术相比,本发明具有以下有益效果:
23、(1) 本发明将任务发布、工人注册、资格判断、任务分配、优先级、负载和任务完成分别表示为原子事实,并将验证条件表示为多个原子事实之间的关系。任务请求方可据此验证任务完成情况,工人可据此验证任务分配是否满足公开的优先级与负载约束,从而解决了现有技术中任务请求方与工人只能盲目信任平台决策的问题。
24、(2) 本发明利用rsa密码学累加器将每一结算轮内的原子事实聚合为恒定大小的摘要(约256字节),仅将摘要存储于区块链,原始数据保留在链下。摘要大小不随原子事实数量增加而变化,新增原子事实时可通过单次模幂运算增量更新累加器,无需重新构建完整的数据结构。实测单次记录上链耗时约3秒、消耗28615 gas,链上开销极小。
25、(3)本发明按照验证请求的粒度设置原子事实,使验证对象仅包含与当前请求相关的事实和见证。任务位置与工人位置采用密码学承诺表示,工人使用化名参与,链上不存储任务位置、工人位置和工人真实身份的明文信息。每条验证记录均不泄露任何多余明文记录与结构哈希,是现有方案中唯一无任何多余泄露且证明保持恒定小尺寸的方案。
26、(4)本发明设定了公开的任务分配公平性准则,并给出了可仲裁的违规证实机制。工人可利用由多个验证对象组成的证明组合提出分配违规主张,可信审计方依据链上累加器值验证相应见证。优先级桶和负载桶可根据此前已承诺的历史事实重新计算,从而检查平台提交的桶值是否一致。桶粒度的比较将竞争工人的信息披露限制在桶精度,在保障公平性验证的同时兼顾了隐私。
27、(5) 全部验证请求均在1毫秒内完成验证,在2048比特rsa模数下低于0.6毫秒。验证对象恒定约300字节,与轮规模无关,非成员验证对象较默克尔哈希树小约3.5倍、较稀疏默克尔树小约27倍。证明由链下平台生成,不增加验证方的计算负担,平台可采用分治预计算将成员见证生成开销摊销至o(log n),较按需生成加速可达764倍。
28、(6)本发明对平台运行的具体分配算法不作限制,平台可继续使用任意贪心、匹配或学习型分配算法,仅需按本发明所述方式承诺原子事实即可获得可验证性,因此能够以较低的改造成本部署于即时配送、同城物流、城市感知、智能交通等各类空间众包应用场景。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com