当前位置: 首页 > 专利查询>暨南大学专利>正文

支持低成本隐私保护的可链接去中心化众包方法及系统技术方案

技术编号:38616873 阅读:11 留言:0更新日期:2023-08-26 23:44
本发明专利技术公开一种支持低成本隐私保护的可链接去中心化众包方法及系统,方法为:建立众包系统,确定交互实体;运行初始化及密钥生成算法,进行系统注册;任务请求者设置任务,通过智能合约发布到区块链上并指定任务收集者进行任务收集;工人接收任务,将解决方案在区块链下发送给任务收集者;任务收集者进行身份验证及有效数据筛选,并将结果发布到区块链上公开;引入防作弊机制,各交互实体对发布在智能合约上的结果进行作弊揭示;任务收集者收集最终结果提交给任务请求者,任务请求者分发任务奖励。本发明专利技术在保护区块链上数据隐私的同时,将系统总开销降低至常数级别的复杂度,同时引入防作弊机制,允许对作弊行为进行揭示,保证诚实用户的匿名性。诚实用户的匿名性。诚实用户的匿名性。

【技术实现步骤摘要】
支持低成本隐私保护的可链接去中心化众包方法及系统


[0001]本专利技术属于区块链/隐私保护的
,具体涉及一种支持低成本隐私保护的可链接去中心化众包方法及系统。

技术介绍

[0002]众包模式是一种通过互联网平台向大众征集解决方案的新型技术,随着互联网技术的高速发展,众包概念自2006年被提出以来,被作为一种分布式解决问题的机制,逐渐成为主流的商业模式。然而传统的众包应用大多依赖于中心化的系统架构,因此不可避免地会产生单点故障、数据泄露等缺陷,同时也容易受到分布式拒绝服务攻击和女巫攻击。近年来,随着区块链的高速发展,其去中心化的特性使其为解决众包系统中心化问题提供了可能性,因此基于区块链的众包系统成为了当前的研究热点。然而区块链具有公开透明的特性,严重威胁着众包系统参与者的隐私数据;同时由于在区块链上进行操作需要一定的开销,当众包系统的参与者规模增大时,会产生系统总开销过大、系统性能降低等问题。如论文《CrowdBC:A Blockchain

Based Decentralized Framework for Crowdsourcing》中,作者提出了一个基于区块链的去中心化众包系统的框架,实现了在没有可信第三方的情况下完成众包系统流程的具体方案,然而该方案并没有考虑到对任务内容、工人信息的隐私保护,特别是在如医疗、金融等场景下,任务内容本身也是一种需要保护的隐私数据。
[0003]在当前具有隐私保护的去中心化众包系统方案中,虽然实现了对隐私数据的保护,但其使用了复杂的密码算法,导致链上的计算成本大大增加,使得系统的可拓展性较差;如论文《ZebraLancer:Private and Anonymous Crowdsourcing System atop Open Blockchain》中,作者提出了一种可链接身份认证的方案,在不诚实的工人重复提交时,其身份信息将被公开链接,结合零知识证明技术,解决了数据泄露和身份泄露两个基本挑战;然而,作为保护隐私的代价,其产生的链上成本过高,在参与的人群规模增加时,其性能将会大大降低,并不适用于大型众包系统。而在降低链上成本的方案中,又忽视了对用户隐私数据的保护,同时部分方案涉及到区块链底层构造的改动,无法兼容主流区块链例如以太坊;如论文《NF

Crowd:Nearly

free Blockchain

based Crowdsourcing》中,作者在基于区块链的去中心化众包系统中引入一个上传者的角色,提出链下聚合、链上验证的系统架构,在理想情况下,系统总开销将由O(n)复杂度降低为O(1)复杂度;然而该方案同样不具有隐私保护的功能,工人提交的解决方案并没有被保护,同时只要有一个不诚实的用户出现,系统开销又会降低至O(n)复杂度。
[0004]由此可见,现有技术对去中心化众包系统中的隐私保护研究还不够完善,并且因为效率和开销问题而不够实用,可拓展性差;同时没有考虑到链上成本问题,而部分降低成本的方案又牺牲了匿名性。因此现有方法中,如何在区块链上实现隐私保护和链上成本平衡的去中心化众包系统仍未有理想的解决方案。

技术实现思路

[0005]基于以上现有技术的缺点与不足,本专利技术提出了一种支持低成本隐私保护的可链接去中心化众包方法及系统,本专利技术在保护区块链上数据隐私的同时,将系统总开销降低至常数级别的复杂度,同时引入防作弊的机制,允许任何人对作弊行为进行揭示,保证诚实用户匿名性的目的。
[0006]为了达到上述目的,本专利技术提供一种支持低成本隐私保护的可链接去中心化众包方法,包括下述步骤:
[0007]建立众包系统,确定交互实体;所述交互实体包括授权中心、任务请求者、工人及任务收集者;
[0008]众包系统各交互实体运行初始化及密钥生成算法,进行系统注册;
[0009]任务请求者设置任务,通过智能合约发布到区块链上并指定任务收集者进行任务收集;
[0010]工人接收任务,将完成任务得到的解决方案在区块链下发送给任务收集者;
[0011]任务收集者对收集的解决方案进行身份验证及有效数据筛选,并将结果通过智能合约发布到区块链上公开;
[0012]引入防作弊机制,各交互实体对发布在智能合约上的结果进行作弊揭示,若检查有作弊则将作弊结果通过智能合约发布到区块链上进行揭示;
[0013]任务收集者收集最终结果提交给任务请求者,任务请求者分发任务奖励。
[0014]作为优选的技术方案,所述众包系统各实体运行初始化及密钥生成算法,具体为:
[0015]令H(m)为安全的哈希函数,Λ为访问策略,S为属性集合,定义Λ(S)=1为S满足Λ;
[0016]令CP=(CP.Setup,CP.KeyGen,CP.Encrypt,CP.Decrypt)为密文策略基于属性的加密处理,即CP处理;其中,CP.Setup(λ,U)为CP处理的设置算法,输入为安全参数λ和属性空间描述U,输出为公开参数mpk和主私钥msk,用于初始化CP处理;CP.KeyGen(msk,S
i
)是CP处理的秘钥生成算法,输入为主私钥msk和用户i的属性集合S
i
={id,s1,...,s
n
},输出属性秘钥用于生成属性秘钥;CP.Encrypt(mpk,M,Λ)是CP处理的加密算法,输入为公开参数mpk、需要加密的明文消息M和由任务请求者制定的访问策略Λ,输出为发布任务的密文ct,所述密文只有满足访问策略Λ的工人才能解密,用于加密任务内容;是CP处理的解密算法,输入为公开参数mpk、发布任务的密文ct和属性秘钥输出为发布任务的明文内容M或错误符号

,用于解密已加密的任务;
[0017]令ZK=(ZK.Setup,ZK.Prover,ZK.Verifier)为zk

SNARK零知识证明处理,即ZK处理,其中,为ZK处理的设置算法,输入安全参数λ和NP语言输出公共参考字符串crs,用于初始化ZK处理;ZK.Prover(x,w,crs)为ZK处理的证明算法,输入声明x、秘密w和公共参考字符串crs,输出证明π,用于生成证明;ZK.Verifier(x,π,crs)为ZK处理的验证算法,输入声明x、证明π和公共参考字符串crs,输出0或1,用于验证证明的有效性;
[0018]所述授权中心运行CP.Setup(λ,U)设置算法,生成公开参数mpk和主私钥msk;运行设置算法,生成公共参考字符串crs;
[0019]所述任务请求者及工人通过授权中心进行系统注册。
[0020]作为优选的技术方案,所述进行系统注册,具体为:
[0021]授权中心运行CP.KeyGen(msk,S
i
)密钥生成算法,为工人W
i
生成与其自身属性集合S
i
={id,s1,...,s
n
}所对应的属性秘钥并分本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.支持低成本隐私保护的可链接去中心化众包方法,其特征在于,包括下述步骤:建立众包系统,确定交互实体;所述交互实体包括授权中心、任务请求者、工人及任务收集者;众包系统各交互实体运行初始化及密钥生成算法,进行系统注册;任务请求者设置任务,通过智能合约发布到区块链上并指定任务收集者进行任务收集;工人接收任务,将完成任务得到的解决方案在区块链下发送给任务收集者;任务收集者对收集的解决方案进行身份验证及有效数据筛选,并将结果通过智能合约发布到区块链上公开;引入防作弊机制,各交互实体对发布在智能合约上的结果进行作弊揭示,若检查有作弊则将作弊结果通过智能合约发布到区块链上进行揭示;任务收集者收集最终结果提交给任务请求者,任务请求者分发任务奖励。2.根据权利要求1所述的支持低成本隐私保护的可链接去中心化众包方法,其特征在于,所述众包系统各实体运行初始化及密钥生成算法,具体为:令H(m)为安全的哈希函数,Λ为访问策略,S为属性集合,定义Λ(S)=1为S满足Λ;令CP=(CP.Setup,CP.KeyGen,CP.Encrypt,CP.Decrypt)为密文策略基于属性的加密处理,即CP处理;其中,CP.Setup(λ,U)为CP处理的设置算法,输入为安全参数λ和属性空间描述U,输出为公开参数mpk和主私钥msk,用于初始化CP处理;CP.KeyGen(msk,S
i
)是CP处理的秘钥生成算法,输入为主私钥msk和用户i的属性集合S
i
={id,s1,...,s
n
},输出属性秘钥用于生成属性秘钥;CP.Encrypt(mpk,M,Λ)是CP处理的加密算法,输入为公开参数mpk、需要加密的明文消息M和由任务请求者制定的访问策略Λ,输出为发布任务的密文ct,所述密文只有满足访问策略Λ的工人才能解密,用于加密任务内容;是CP处理的解密算法,输入为公开参数mpk、发布任务的密文ct和属性秘钥输出为发布任务的明文内容M或错误符号

,用于解密已加密的任务;令ZK=(ZK.Setup,ZK.Prover,ZK.Verifier)为zk

SNARK零知识证明处理,即ZK处理,其中,为ZK处理的设置算法,输入安全参数λ和NP语言输出公共参考字符串crs,用于初始化ZK处理;ZK.Prover(x,w,crs)为ZK处理的证明算法,输入声明x、秘密w和公共参考字符串crs,输出证明π,用于生成证明;ZK.Verifier(x,π,crs)为ZK处理的验证算法,输入声明x、证明π和公共参考字符串crs,输出0或1,用于验证证明的有效性;所述授权中心运行CP.Setup(λ,U)设置算法,生成公开参数mpk和主私钥msk;运行设置算法,生成公共参考字符串crs;所述任务请求者及工人通过授权中心进行系统注册。3.根据权利要求2所述的支持低成本隐私保护的可链接去中心化众包方法,其特征在于,所述进行系统注册,具体为:授权中心运行CP.KeyGen(msk,S
i
)密钥生成算法,为工人W
i
生成与其自身属性集合S
i
={id,s1,...,s
n
}所对应的属性秘钥并分发给工人W
i
;授权中心运行密钥生成算法,为任务请求者R
i
生成与其自身属性集合对应的属性秘钥并分发给任务请求者R
i

所述任务收集者C
i
是工人,其注册方式与工人一致,仅用于进行任务收集。4.根据权利要求3所述的支持低成本隐私保护的可链接去中心化众包方法,其特征在于,所述任务请求者设置任务,通过智能合约发布到区块链上并指定任务收集者进行任务收集,具体为:任务请求者设置任务标识符为tid的任务明文Task和访问策略Λ,运行CP.Encrypt(mpk,Task,Λ)加密算法,获得任务Task的密文CT
Task
,将CT
Task
上传至星际文件系统IPFS获得内容地址CID
Task
;运行CP.Encrypt(mpk,CID
Task
,Λ)加密算法获得CID
Task
的密文CT
cid
,设置任务奖励reward、押金deposit、任务截止时间ddl、任务最大被接受数量max,并连同CT
cid
一起通过智能合约构建一笔交易发送到区块链上并指定任务收集者C
i
进行任务收集。5.根据权利要求4所述的支持低成本隐私保护的可链接去中心化众包方法,其特征在于,所述工人接收任务,将完成任务得到的解决方案在区块链下发送给任务收集者,具体为:工人W
i
捕获到任务请求者发布的任务信息后,首先判断访问策略Λ是否满足Λ(S)=1;若访问策略满足时,工人运行解密算法,获得密文CT
cid
对应的内容地址CID
Task
,从该地址下载获得任务密文CT
Task
,再次运行解密算法,获得任务明文Task;工人在任务截止时间ddl之前完成任务,运行CP.Encrypt(mpk,sln,Λ)加密算法,获得任务解决方案sln的密文CT
sln
,将CT
sln
上传至星际文件系统IPFS获得内容地址CID

【专利技术属性】
技术研发人员:赖俊祚黄连冠李鹏朱易明
申请(专利权)人:暨南大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1