【技术实现步骤摘要】
一种基于区块链的去中心化众包系统及其任务分派方法
[0001]本专利技术涉及区块链技术
、
众包模式以及众包任务的分派方法,具体是一种基于区块链的去中心化众包系统及其任务分派方法
。
技术介绍
[0002]众包是一种高效地组织劳动力的服务模式,通过互联网把任务分派给闲散的工人们来执行
。
一些公司用众包的方式重构了传统的商业模式,如数据标注
、
拼车打车
、
物流配送等,并取得了巨大的商业成功
。
但是众包作为一种集成群体劳动力来完成任务的方式,依赖于一个中心化的服务平台,这引发了如下亟待被解决的严峻问题
。1)
运营不透明:任务分派
、
信誉更新
、
支付计算不透明,导致众包服务平台运营不可信;
2)
高昂的手续费:参与众包的主体,如请求者
、
工人等,需要向众包服务平台支付高昂的手续费;
3)
单点故障:众包服务平台的故障导致整个众包业务的故障
。
[0003]区块链的出现使构建安全可信的众包系统成为可能
。
区块链是一个分布式账本,任何人都可以在其中记录交易,没有人可以篡改历史记录
。
更重要的是,被称为智能合约的可执行程序可以在区块链上部署运行
。
一旦智能合约被部署到区块链上,它的执行就会受到所有节点的监管
。
区块链即服务的解决方案可以帮助开发人
【技术保护点】
【技术特征摘要】
1.
一种基于区块链的去中心化众包系统,其特征在于,包括三个实体和三个智能合约,所述三个实体包括请求者
、
工人
、
任务分派者,所述三个智能合约包括用户管理合约
、
任务管理合约
、
任务分派合约,用户管理
、
发布任务
、
分派任务
、
提交解决方案的操作都通过部署在区块链上的智能合约来实现;具有多个任务分派者,所述任务分派合约用于管理任务分派者提交的任务分派方案,并从多个候选方案中选择最终方案;多个任务分派者以离链的方式在本地计算各自的任务分派方案,然后将任务分派方案提交到区块链进行竞争
。2.
根据权利要求1所述的基于区块链的去中心化众包系统,其特征在于,所述任务分派合约
(TAC)
:任务分派合约中名为
Scheme
的数据结构包括
assigner、worker、state
属性,用来描述任务分派方案的详情,其中
assigner
表示提交任务分派方案的任务分派者的标识符,
worker
表示被选择来执行任务的工人的标识符,
state
表示任务分派方案是否被选作为最终方案;任务分派合约包括
uploadScheme()
函数
、selectAssigner()
函数
、selectScheme()、updateAssignerRep()
函数,任务分派者的信誉存储在变量
assignerRep
中,对于一个任务,任务分派者们提交的任务分派方案中的一个方案被作为最终方案;提交最终方案的任务分派者和该方案被执行的结果存储在变量
assignmentLog
中;如果最终方案选择的工人完成了任务,则结果记录为
True
,如果工人取消被分派的任务,则结果为
False
;变量
assignmentLog
用于计算任务分派者的信誉
assignerRep
;任务分派者提交的任务分配方案存储在变量
schemes
中;任务分派者通过调用函数
uploadScheme()
向区块链提交各自的任务分派方案进行竞争,函数
selectScheme()
调用函数
selectAssigner()
来选择一个任务分派者并返回由该任务分派者提交的任务分配方案;任务分派者的信誉越高,其提交的任务分派方案被选中的概率就越高,任务分派者
A
k
被选中的概率
Pr
k
为:其中,
K
表示任务分派者的数量,
R
表示在计算信誉时只考虑任务分派者最近
R
次作业的结果,这使得信誉能够反映任务分派者的近期表现;任务分派者
A
k
提交的任务分派方案被选作为最终方案,则执行该方案的结果记为如果方案选择的工人成功完成任务,则结果记为
True
;
I(
·
)
是一个指标函数,当
·
为
True
时值为1,否则为0;每当一项任务被完成或取消时
updateAssignerRep()
函数就被调用来更新负责分派该任务的任务分派者的信誉
。3.
根据权利要求1所述的基于区块链的去中心化众包系统,其特征在于,所述基于区块链的去中心化众包系统应用于打车场景
、
众包数据标注
、
众包配送等众包场景中
。4.
根据权利要求1所述的基于区块链的去中心化众包系统,其特征在于,所述基于区块链的去中心化众包系统应用于打车场景,请求者和工人分别代表乘客和司机,所述请求者调用智能合约在区块链上发布叫车任务,然后,智能合约选择一个合格的工人来执行任务,被选中的工人向区块链提交解决方案,对于叫车任务来说,这相当于司机向乘客提供乘车服务并将结果提交给区块链
。
接受乘车服务后,请求者评估服务质量,并将乘车服务的评估结果提交给区块链;
所述工人:智能合约选择工人来执行打车任务,然后工人为请求者提供乘车服务,在请求者确认接受了乘车服务并将质量评估提交给区块链后,工人会因完成任务而获得收入;任务分派者:任务分派者负责将任务分配给适当的工人来执行,众包系统中的任务分派者的数量远少于区块链网络中的节点数量,包含
K
个任务分派者
A
=
{A1,A2,
…
,A
K
}。
任务分派者
A
k
表示为
(id
k
,role
k
,reputation
k
)
,其中
id
k
是任务分派者实体的唯一标识符,
role
k
表明实体的角色是任务分派者,
reputation
k
表示任务分派者的信誉值;任务分派者的信誉值表明其过去在分派任务方面的表现;在请求者发布任务后的一个时间窗内,任务分派者们将各自本地计算出的任务分派方案提交给区块链,任务分派者
A
K
为任务提交的方案表示为在该方案中,工人
W
n
被分派来执行任务;负责分派任务的智能合约,根据任务分派者们过往分派任务时的表现,从任务分派者们提交的任务分派方案中选择最终方案,然后指...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。