CN112861181A - 一种基于区块链的群智化软件开发安全机制的方法 - Google Patents

一种基于区块链的群智化软件开发安全机制的方法 Download PDF

Info

Publication number
CN112861181A
CN112861181A CN202110254821.8A CN202110254821A CN112861181A CN 112861181 A CN112861181 A CN 112861181A CN 202110254821 A CN202110254821 A CN 202110254821A CN 112861181 A CN112861181 A CN 112861181A
Authority
CN
China
Prior art keywords
task
block chain
crowd
sourcing
solution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110254821.8A
Other languages
English (en)
Inventor
王红兵
陶新芝
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southeast University
Original Assignee
Southeast University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Southeast University filed Critical Southeast University
Priority to CN202110254821.8A priority Critical patent/CN112861181A/zh
Publication of CN112861181A publication Critical patent/CN112861181A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种基于区块链的群智化软件开发安全机制的方法,首先通过区块链技术构建去中心化的软件开发方式,将传统的集中式群智化任务处理的交易步骤放到区块链节点上,使得所有信息能够公开透明,不可篡改和可追溯,并引入同态加密技术,其可以在密文上进行同样操作使得和明文上的结果相同,从而在使得在验证服务时使用用户信息,而不暴露用户隐私信息。本发明可以合理有效保证群智化软件开发安全运作。

Description

一种基于区块链的群智化软件开发安全机制的方法
技术领域
本发明涉及群智化软件开发技术领域,尤其涉及一种基于区块链的群智化软件开发安全机制的方法。
背景技术
群智化软件开发作为一种新型的软件开发方式已经受到学术界和工业界的广泛关注,群智化开发充分利用了群智思想,通常是指一个公司或者个人将任务通过众包形式发布到非特定大型的众包网络上,利用一群人的智慧来参与完成该任务。传统的群智化模型大多遵循集中式结构,“集中式”主要指整个***由一家公家作为平台来负责。目前,互联网上已经有一些集中式架构的众包平台了,如Amazon Mechanical Turk(AMT)和CrowdFlower平台是做一些数据收集、数据验证、logo设计等众包任务的。Upwork平台允许雇佣自由职业者来完成项目的要求,当雇主雇佣这些自由职业者时,该平台会提供沟通和付款的必要工具。TopCoder、AppStori和uTest这些平台是专门针对软件开发平台的。任何集中式的解决方案都依赖于受信任的第三方平台,这通常是带有单点故障漏洞,对这些第三方平台服务器进行攻击会导致服务不可用。群智化平台和第三方支付机构必须保持可信度,这些机构一旦内部出现错误,就会给其它相关人员带来严重损失。在如今复杂的网络环境下,中心化的平台不可避免的会遭受到网络攻击,一旦发生数据丢失或者泄露等问题,也会造成不可估量的损失。
在隐私保护方面,有部分研究者关注于群智化平台下用户隐私的问题。有研究者使用匿名的群智化***服务架构来解决基于区块链群智化***的隐私匿名问题,但也不可避免的引入了第三方注册中心,这就导致所有的用户必须在这个权威中心使用真实身份等相关信息进行注册之后才能进入***使用其相应的服务。所以就必须保证权威注册中心的可靠性和安全性,而且很容易遭受攻击泄露用户信息。也有通过BSAP基础协议对地址进行隐匿,从而来保护隐私安全,这存在的主要问题是如果发送方和接收方始终使用同一对公私钥进行交易,则临时地址也是固定的,相关的交易信息仍然能够被关联。
可以看出目前关于群智化虽然有不少研究,但与群智化安全相关的解决方案较少,集中式的群智化平台容易遭受攻击导致服务不可获取。因此,为了群智化软件开发平台的健康发展和用户隐私能够得到安全保障,开发新的机制和算法来保证群智化软件开发良好运作并极大保护用户隐私具有重要理论意义和实际应用价值。
发明内容
为解决上述问题,本发明公开了一种基于区块链的群智化软件开发安全机制的方法,这种方法不仅给出一种新的软件开发思维方式,较传统的群智化软件开发方式能够更好的保护用户隐私安全和预防集中式带来的单点故障漏洞等问题。
本发明通过深入分析群智化软件开发***中的特点,从区块链技术和同态加密相结合的角度提出新的群智化软件开发安全机制。具体而言,首先利用区块链特有的性质,如信息完全公开、数据完整透明并且不可篡改,不存储在中心节点上等特点,将群智化服务中的任务分发、接收任务、提交任务等交易通过区块链来进行。
在进行交易的过程中,私人信息如地址等可能会暴露给其他人,为了隐藏此类敏感信息,同时保证在智能合约合验证的完整性,使用同态加密技术。同态加密技术可以在不解密密文的情况下对其进行相应的算术运算,并验证有效性。
具体内容如下:
首先通过区块链技术构建去中心化的软件开发方式,将传统的集中式群智化任务处理的交易步骤放到区块链节点上,使得所有信息能够公开透明,不可篡改和可追溯,并引入同态加密技术,其可以在密文上进行同样操作使得和明文上的结果相同,从而在使得在验证服务时使用用户信息,而不暴露用户隐私信息。
本发明进一步改进在于:所述群智化软件开发包括以下阶段:
1)开发任务提交,任务提交阶段的主要功能是发包方将任务元数据和酬劳通过智能合约的形式自动存入区块链中,并提交给平台;为防止恶意的任务发布者TR在收到合格的解决方案后拒绝支付服务费,TR在提交任务时必须将服务费存储在区块链上,并且在任务解决期间冻结,一旦资金冻结失败,则无法成功提交任务;
2)开发任务分配:将任务发布给区块链上专业领域与任务所属领域一致且信誉值达到任务要求的接包方,即
Figure BDA0002967691590000031
Figure BDA0002967691590000032
且user_credit>task_credit。
3)开发任务接收,是接包方通过在区块链上存入保证金领取任务发布者发布在区块链上的任务;为了防止恶意的任务接收者恶意领取任务占用资源而不进行解决或者恶意提交不合格方案,任务接收者在领取任务的时候,需要将一定额度的资金存储在区块链上进行冻结。
4)代码解决方案提交,接包方将制作完成的解决方案加密提交,如果提交解决方案的时间超过了任务规定的截止时限,则需要进行服务赔偿,将抵扣的金额交给任务发布者;
5)解决方案评审,完成的工作是代码评审者判断解决方案是否可以通过,如果方案通过,进入费用支付阶段,如果验证不成功,将由全网与任务同领域的接包方对方案进行仲裁,判定责任划分;
6)酬金支付,评审通过的方案,由任务接收者获得该任务相应的酬劳;
7)任务回滚,评审结果为未通过的,则由任务发布者决定是否任务回滚,重新将任务发布给区块链上其他与任务同领域的接包方,进入下一轮任务解决的过程。
本发明进一步改进在于:所有的步骤都编写对应的智能合约,确保***合理正常运行;智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议;可以使用区块链来确保正确执行智能合约中的所有交易。
本发明进一步改进在于:使用同态加密对加密的密文进行计算会得到一个结果,该结果与解密后在进行计算的结果是相匹配的,就像是对明文进行了计算一样;使用同态加密来透明的验证交易是否按照智能合约中的规定执行,同时保护用户隐私信息;同态加密一般有四个步骤:
1)用户生成公钥Kp和私钥Ks
(Ks,Kp)=keyGen(s)
2)过一个加密算法Encpk(m)和公钥Kp来加密明文M,产生密文C:
C=Encpk(M)
3)在密文C进行相应的计算f,进行评估:
C*=Evalpk(f,c)
4)通过解密算法Decsk(c)和秘钥Ks恢复明文:
M=Decsk(c)
从给定的智能合约示例中提取并执行对同态加密的密文进行操作的部分,如果该操作设计比较,将结果解密以便获得bool值。如果返回真值则继续验证智能合约中其它代码,否则拒绝执行。在整个智能合约执行完之后,验证者通过共识算法相互验证结果,如果大多数验证者同意结果,则认为智能合约是正确执行的。
本发明的有益效果:
一方面可以补充现在群智化软件开发方面对去中心化的研究的缺陷,利用区块链技术的去中心化、信息公开透明、不可篡改等特点,提供一种新的群智化软件开发方式。同时,利用同态加密的技术来使得用户隐私在交易的过程中不影响交易质量的情况下能够得到有效保障。
附图说明
图1、图1是基于区块链的群智化软件开发基础架构;
图2是区块链的节点结构;
图3是哈希计算过程;
图4是基于同态加密的智能合约验证流程示意。
具体实施方式
下面结合附图和具体实施方式,进一步阐明本发明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。需要说明的是,下面描述中使用的词语“前”、“后”、“左”、“右”、“上”和“下”指的是附图中的方向,词语“内”和“外”分别指的是朝向或远离特定部件几何中心的方向。
在传统群智化服务***架中,涉及到的实体包括任务发包方、任务接收方、群智化处理平台和其它第三方机构等。基于区块链的群智化软件开发平台设定有软件开发任务的发布者,任务接收者和代码评审者。软件开发任务的发布者可以将任务通过智能合约的形式发布到区块链网络上,并为该任务支付一定的金钱。开发任务发布者不可以同时作为代码评审者,使用TR来标记。任务接收者从发布者那里接受到任务之后,完成任务,并根据结果的性质上传至公有链或私有链,然后获得一定的报酬。任务接收者不能同时作为代码评审者,使用TW来标记。代码评审者负责为所有公共交易提供验证服务。使用TE来标记。如图1所示。对于所有的平台上的用户来说,可以用User(user_id,user_feilds,user_credit,)表示,用户通过在平台里合法发布和接收等交易来完成任务以提升自己的信誉值,一旦有违规遭到仲裁,则会被扣除相应的信誉值。
群智化软件开发主要包括以下几个阶段:
1)开发任务提交,开发任务使用Task(task_id,task_demand,task_fileds,task_date,task_deadline,task_fee,task_credit)表示,其中task_id是任务的唯一标识符号,task_demand是软件开发需求文档,task_fileds是任务的所属领域集合,如C++、Java或docker等,task_date是任务发布时间,task_deadline是任务截止时间,task_fee是任务的酬金,task_credit是接收该任务所需的最低信誉值。任务提交阶段的主要功能是发包方将任务元数据和酬劳通过智能合约的形式自动存入区块链中,并提交给平台。为防止恶意的任务发布者TR在收到合格的解决方案后拒绝支付服务费,TR在提交任务时必须将服务费存储在区块链上,并且在任务解决期间冻结,一旦资金冻结失败,则无法成功提交任务。
2)开发任务分配,主要功能是将任务发布给区块链上专业领域与任务所属领域一致且信誉值达到任务要求的接包方,即
Figure BDA0002967691590000071
且user_credit>task_credit。
3)开发任务接收,主要功能是接包方通过在区块链上存入保证金领取任务发布者发布在区块链上的任务。为了防止恶意的任务接收者恶意领取任务占用资源而不进行解决或者恶意提交不合格方案,任务接收者在领取任务的时候,需要将一定额度的资金存储在区块链上进行冻结。
4)代码解决方案提交,主要功能是接包方将制作完成的解决方案加密提交,如果提交解决方案的时间超过了任务规定的截止时限,则需要进行服务赔偿,将抵扣的金额交给任务发布者。
5)解决方案评审,主要完成的工作是代码评审者判断解决方案是否可以通过,如果方案通过,进入费用支付阶段,如果验证不成功,将由全网与任务同领域的接包方对方案进行仲裁,判定责任划分。
6)酬金支付,评审通过的方案,由任务接收者获得该任务相应的酬劳。
7)任务回滚,评审结果为未通过的,则由任务发布者决定是否任务回滚,重新将任务发布给区块链上其他与任务同领域的接包方,进入下一轮任务解决的过程。
智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。可以使用区块链来确保正确执行智能合约中的所有交易。以上所有的步骤都编写对应的智能合约,确保***合理正常运行。区块链本质是一个对等网络的分布式账本数据库,本身就是一串链接的数据区块,如图2所示,其链接的指针是采用密码学哈希算法对区块头进行处理所产生的区块头哈希值,如图3所示。每一个数据块记录一组采用哈希算法组成的树状的交易状态信息,这样保证了每个区块内的交易数据不可篡改,区块链里链接的区块也不可篡改。
使用同态加密对加密的密文进行计算会得到一个结果,该结果与解密后在进行计算的结果是相匹配的,就像是对明文进行了计算一样。使用同态加密来透明的验证交易是否按照智能合约中的规定执行,同时保护用户隐私信息。同态加密一般有四个步骤:
1)用户生成公钥Kp和私钥Ks
(Ks,Kp)=keyGen(s)
2)过一个加密算法Encpk(m)和公钥Kp来加密明文M,产生密文C:
C=Encpk(M)
3)在密文C进行相应的计算f,进行评估:
C*=Evalpk(f,c)
4)通过解密算法Decsk(c)和秘钥Ks恢复明文:
M=Decsk(c)
如图4所示,从给定的智能合约示例中提取并执行对同态加密的密文进行操作的部分,如果该操作设计比较,将结果解密以便获得bool值。如果返回真值则继续验证智能合约中其它代码,否则拒绝执行。在整个智能合约执行完之后,验证者通过共识算法相互验证结果,如果大多数验证者同意结果,则认为智能合约是正确执行的。
通过以上说明,我们可以得到结论,本发明提出的基于区块链和同态加密的群智化软件开发方法能够极大有效的避免集中式群智化平台的单点故障漏洞以及用户隐私泄露等问题。通过使用区块链技术,利用其对数据的公开透明,且不可篡改和可溯源等特点,将交易信息公开到区块链节点上,同时,通过同态加密的技术对密文进行验证以得到验证结果来避免暴露用户隐私信息。
本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。

Claims (4)

1.一种基于区块链的群智化软件开发安全机制的方法,其特征在于:首先通过区块链技术构建去中心化的软件开发方式,将传统的集中式群智化任务处理的交易步骤放到区块链节点上,使得所有信息能够公开透明,不可篡改和可追溯,并引入同态加密技术,其可以在密文上进行同样操作使得和明文上的结果相同,从而在使得在验证服务时使用用户信息,而不暴露用户隐私信息。
2.根据权利要求1所述的一种基于区块链的群智化软件开发安全机制的方法,其特征在于:所述群智化软件开发包括以下阶段:
1)开发任务提交,任务提交阶段的主要功能是发包方将任务元数据和酬劳通过智能合约的形式自动存入区块链中,并提交给平台;为防止恶意的任务发布者TR在收到合格的解决方案后拒绝支付服务费,TR在提交任务时必须将服务费存储在区块链上,并且在任务解决期间冻结,一旦资金冻结失败,则无法成功提交任务;
2)开发任务分配:将任务发布给区块链上专业领域与任务所属领域一致且信誉值达到任务要求的接包方,即
Figure FDA0002967691580000011
Figure FDA0002967691580000012
且user_credit>task_credit。
3)开发任务接收,是接包方通过在区块链上存入保证金领取任务发布者发布在区块链上的任务;为了防止恶意的任务接收者恶意领取任务占用资源而不进行解决或者恶意提交不合格方案,任务接收者在领取任务的时候,需要将一定额度的资金存储在区块链上进行冻结。
4)代码解决方案提交,接包方将制作完成的解决方案加密提交,如果提交解决方案的时间超过了任务规定的截止时限,则需要进行服务赔偿,将抵扣的金额交给任务发布者;
5)解决方案评审,完成的工作是代码评审者判断解决方案是否可以通过,如果方案通过,进入费用支付阶段,如果验证不成功,将由全网与任务同领域的接包方对方案进行仲裁,判定责任划分;
6)酬金支付,评审通过的方案,由任务接收者获得该任务相应的酬劳;
7)任务回滚,评审结果为未通过的,则由任务发布者决定是否任务回滚,重新将任务发布给区块链上其他与任务同领域的接包方,进入下一轮任务解决的过程。
3.根据权利要求2所述的一种基于区块链的群智化软件开发安全机制的方法,其特征在于:所有的步骤都编写对应的智能合约,确保***合理正常运行;智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议;可以使用区块链来确保正确执行智能合约中的所有交易。
4.根据权利要求1所述的一种基于区块链的群智化软件开发安全机制的方法,其特征在于:使用同态加密对加密的密文进行计算会得到一个结果,该结果与解密后在进行计算的结果是相匹配的,就像是对明文进行了计算一样;使用同态加密来透明的验证交易是否按照智能合约中的规定执行,同时保护用户隐私信息;同态加密一般有四个步骤:
1)用户生成公钥Kp和私钥Ks
(Ks,Kp)=keyGen(s)
2)过一个加密算法Encpk(m)和公钥Kp来加密明文M,产生密文C:
C=Encpk(M)
3)在密文C进行相应的计算f,进行评估:
C*=Evalpk(f,c)
4)通过解密算法Decsk(c)和秘钥Ks恢复明文:
M=Decsk(c);其中从给定的智能合约示例中提取并执行对同态加密的密文进行操作的部分,如果该操作设计比较,将结果解密以便获得bool值;如果返回真值则继续验证智能合约中其它代码,否则拒绝执行。在整个智能合约执行完之后,验证者通过共识算法相互验证结果,如果大多数验证者同意结果,则认为智能合约是正确执行的。
CN202110254821.8A 2021-03-09 2021-03-09 一种基于区块链的群智化软件开发安全机制的方法 Pending CN112861181A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110254821.8A CN112861181A (zh) 2021-03-09 2021-03-09 一种基于区块链的群智化软件开发安全机制的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110254821.8A CN112861181A (zh) 2021-03-09 2021-03-09 一种基于区块链的群智化软件开发安全机制的方法

Publications (1)

Publication Number Publication Date
CN112861181A true CN112861181A (zh) 2021-05-28

Family

ID=75993503

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110254821.8A Pending CN112861181A (zh) 2021-03-09 2021-03-09 一种基于区块链的群智化软件开发安全机制的方法

Country Status (1)

Country Link
CN (1) CN112861181A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115686778A (zh) * 2022-10-11 2023-02-03 暨南大学 一种基于区块链的去中心化群体机器人***框架

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190334716A1 (en) * 2018-04-27 2019-10-31 The University Of Akron Blockchain-empowered crowdsourced computing system
CN111131508A (zh) * 2019-12-31 2020-05-08 布比(北京)网络技术有限公司 区块链众包任务的执行方法、***和计算机设备
CN112053043A (zh) * 2020-08-21 2020-12-08 北京邮电大学 一种基于区块链的群智感知方法及***

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190334716A1 (en) * 2018-04-27 2019-10-31 The University Of Akron Blockchain-empowered crowdsourced computing system
CN111131508A (zh) * 2019-12-31 2020-05-08 布比(北京)网络技术有限公司 区块链众包任务的执行方法、***和计算机设备
CN112053043A (zh) * 2020-08-21 2020-12-08 北京邮电大学 一种基于区块链的群智感知方法及***

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115686778A (zh) * 2022-10-11 2023-02-03 暨南大学 一种基于区块链的去中心化群体机器人***框架

Similar Documents

Publication Publication Date Title
Peng et al. Privacy preservation in permissionless blockchain: A survey
JP7241216B2 (ja) ブロックチェーンベースの暗号通貨のためのトークンを検証する、コンピュータにより実行される方法及びシステム
Dai et al. SDTE: A secure blockchain-based data trading ecosystem
Mohsin et al. Blockchain authentication of network applications: Taxonomy, classification, capabilities, open challenges, motivations, recommendations and future directions
JP6873270B2 (ja) ブロックチェーンにおけるスマートコントラクトに基づくトランザクション活動の取扱注意データを保護するための方法及びデバイス
Desai et al. A hybrid blockchain architecture for privacy-enabled and accountable auctions
Ma et al. Blockchain-based mechanism for fine-grained authorization in data crowdsourcing
CN111989707B (zh) 管理基于区块链的海关清关服务的用户权限
US20150356523A1 (en) Decentralized identity verification systems and methods
Jaikaran Blockchain: Background and policy issues
CN110414270B (zh) 一种基于区块链的个人数据保护***及方法
CN111936995A (zh) 海关清关数据的分布式存储
TW200907843A (en) Trusted third party clearing house for lead tracking
CN111989663A (zh) 基于区块链的智能合约池
Li et al. A decentralized and secure blockchain platform for open fair data trading
CN114549194A (zh) 一种基于区块链的权利资产管理服务平台及其实现方法
CN111868725A (zh) 基于区块链处理进口海关清关数据
Li et al. A Blockchain‐Based Sealed‐Bid e‐Auction Scheme with Smart Contract and Zero‐Knowledge Proof
Gupta et al. TrailChain: Traceability of data ownership across blockchain-enabled multiple marketplaces
Humdullah et al. Secured data storage framework for land registration using blockchain technology
CN112801778A (zh) 联盟式不良资产区块链
Abubaker et al. Trustful data trading through monetizing IoT data using BlockChain based review system
Dash et al. Artificial intelligence models for blockchain-based intelligent networks systems: Concepts, methodologies, tools, and applications
Kassanuk et al. Design of blockchain based smart agriculture framework to ensure safety and security
Li et al. Nereus: Anonymous and secure ride-hailing service based on private smart contracts

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination