CN114331435A - 一种基于区块链的任务众包方法及装置 - Google Patents
一种基于区块链的任务众包方法及装置 Download PDFInfo
- Publication number
- CN114331435A CN114331435A CN202111642424.4A CN202111642424A CN114331435A CN 114331435 A CN114331435 A CN 114331435A CN 202111642424 A CN202111642424 A CN 202111642424A CN 114331435 A CN114331435 A CN 114331435A
- Authority
- CN
- China
- Prior art keywords
- task
- intelligent contract
- acceptance
- transaction
- target
- 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
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种基于区块链的任务众包方法及装置,所述方法包括:生成携带有目标任务的内容以及报酬的智能合约、并部署到区块链上;响应于任务承接方发送的承接交易,调用所述智能合约的承接逻辑,将所述任务承接方的标识写入与所述智能合约相关联的存储区域,并修改所述智能合约的状态标识,将所述目标任务的状态切换为已承接状态;响应于所述任务承接方发送的验收交易,调用所述智能合约的验收逻辑,基于所述目标任务的内容对所述验收交易中携带的任务结果进行验收;若所述验收通过,则进一步调用所述智能合约的转账逻辑,将所述目标任务的报酬转移至所述任务承接方的账户。应用上述方案,可以改善任务众包流程的可用性与可信度。
Description
技术领域
本说明书涉及区块链技术领域,尤其涉及一种基于区块链的任务众包方法及装置。
背景技术
在信息产业中,软件开发任务可以通过软件众包模式进行分配;其核心思想为,将软件的需求设计和代码实现两个环节分离开,需求方在软件众包平台上发布软件众包任务以及对应的酬劳,由开发者自行从上述软件众包平台上“领取任务”,在完成众包任务、并通过需求方验收之后即可获得需求方给出的酬劳。值得注意的是,除了软件开发之外,平面设计、专利撰写、方案规划等等也都可以以上述众包的形式进行任务分配处理。
在上述众包过程中,通常依赖于一些中心化的平台,这种实现方式虽然有利于中心化平台提供更加专业化的服务,但是,平台本身作为一种用于撮合双方的基础设施被个别企业掌控,既存在平台宕机的可用性风险,也存在平台撮合过程的不公平风险。
发明内容
有鉴于此,本说明书公开了一种基于区块链的任务众包方法和装置。
根据本说明书实施例的第一方面,公开了一种基于区块链的任务众包方法,包括:
生成携带有目标任务的内容以及报酬的智能合约、并部署到区块链上,以将所述目标任务在所述区块链上存证并公布;
响应于任务承接方发送的、用于承接所述目标任务的承接交易,调用所述智能合约的承接逻辑,将所述任务承接方的标识写入与所述智能合约相关联的存储区域,并修改所述智能合约的状态标识,以将所述目标任务的状态切换为已承接状态;
响应于所述任务承接方发送的、用于启动任务验收的验收交易,调用所述智能合约的验收逻辑,基于所述目标任务的内容对所述验收交易中携带的任务结果进行验收;
若所述验收通过,则进一步调用所述智能合约的转账逻辑,将所述目标任务的报酬转移至所述任务承接方的账户。
可选的,所述方法还包括:
响应于任务分割方发送的、用于对所述目标任务进行分割的分割交易,调用所述智能合约的分割逻辑,基于所述分割交易中携带的分割信息,将所述目标任务分割为至少两个目标子任务,生成并部署分别与所述至少两个目标子任务对应的子智能合约;
将所述至少两个子智能合约的标识写入与所述智能合约关联的存储区域,并修改所述智能合约的状态标识,以将所述目标任务的状态切换为已分割状态。
可选的,在将所述智能合约部署在所述区块链上之后,所述方法还包括:
在所述区块链上发行与所述目标任务对应的可分割非同质化通证;
在所述目标任务被分割为至少两个目标子任务之后,所述方法还包括:
将所述可分割非同质化通证对应分割为至少两个非同质化子通证。
可选的,所述方法还包括:
在预设的事件通道中生成分割事件,以使监听所述事件通道的任务发布方客户端响应于所述分割事件,获取并展示所述分割交易中携带的分割信息;
接收所述任务发布方客户端响应于用户输入的分割确认指令而发送的分割确认交易;
基于所述目标任务的任务内容指示的、或所述分割确认交易的指示的数额,将分割报酬转移至所述任务分割方的账户。
可选的,在所述目标任务的状态为已承接状态下,所述方法还包括:
响应于所述任务承接方发送的、用于启动任务退回的退回交易,调用所述智能合约的退回逻辑,将所述任务承接方的标识从与所述智能合约相关联的存储区域中移除,并修改所述智能合约的状态标识,以将所述目标任务的状态切换为待承接状态。
可选的,所述方法还包括:
校验所述退回交易中携带的赔偿凭据对应的赔偿数额是否不小于所述目标任务的内容中指示的最低赔偿数额;
若是,将所述退回交易中携带的赔偿凭据对应的赔偿数额转账至所述任务发布方、或者添加至所述目标任务的报酬;
若否,拒绝所述任务承接方启动任务退回的请求。
可选的,在所述目标任务的状态为已承接状态下,所述方法还包括:
接收所述任务承接方发送的、用于启动任务转包的转包交易,以及转包方发送的、用于确认任务转包的转包确认交易;
响应于所述转包交易和所述转包确认交易,调用所述智能合约的转包逻辑,从所述转包确认交易中提取转包方的标识,将与所述智能合约相关联的存储区域中的所述任务承接方的标识替换为所述转包方的标识。
可选的,所述方法还包括:
基于所述转包交易和所述转包确认交易共同指示的转包费用数额,将所述转包方提供的转包费用转账至所述任务承接方的账户。
可选的,所述目标任务包括软件开发类任务;
所述调用所述智能合约的验收逻辑,基于所述目标任务的内容对所述验收交易中携带的任务结果进行验收,包括:
调用所述智能合约的验收逻辑,在预设的事件通道中生成第一类验收事件,以使监听所述事件通道的链外软件测试平台响应于所述第一类验收事件,获取所述任务结果以及所述目标任务的内容,并基于所述目标任务的内容中的测试用例对所述任务结果中的软件代码进行测试。
可选的,所述目标任务包括设计类任务;
所述调用所述智能合约的验收逻辑,基于所述目标任务的内容对所述验收交易中携带的任务结果进行验收,包括:
调用所述智能合约的验收逻辑,在预设的事件通道中生成第二类验收事件,以使监听所述事件通道的链外办公平台响应于所述第一类验收事件,获取并展示所述任务结果以及所述目标任务的内容,并获取用户输入的验收结果。
可选的,所述生成携带有目标任务的内容以及报酬的智能合约,包括:
通过去中心化应用客户端展示预设的任务模板;
接收用户基于所述任务模板输入的目标任务的内容以及报酬;
在预设的智能合约与所述任务模板对应的留空位置中,写入所述目标任务的内容以及报酬。
根据本说明书实施例的第二方面,公开了一种基于区块链的任务众包装置,包括:
部署模块,生成携带有目标任务的内容以及报酬的智能合约、并部署到区块链上,以将所述目标任务在所述区块链上存证并公布;
承接模块,响应于任务承接方发送的、用于承接所述目标任务的承接交易,调用所述智能合约的承接逻辑,将所述任务承接方的标识写入与所述智能合约相关联的存储区域,并修改所述智能合约的状态标识,以将所述目标任务的状态切换为已承接状态;
验收模块,响应于所述任务承接方发送的、用于启动任务验收的验收交易,调用所述智能合约的验收逻辑,基于所述目标任务的内容对所述验收交易中携带的任务结果进行验收;
转账模块,若所述验收通过,则进一步调用所述智能合约的转账逻辑,将所述目标任务的报酬转移至所述任务承接方的账户。
根据本说明书实施例的第三方面,公开了一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现上述任一方面实施例所述的方法。
根据本说明书实施例的第四方面,公开了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方面实施例所述的方法。
以上技术方案中,一方面,由于任务的发布、承接、验收以及最终的报酬转账均由部署在区块链上的智能合约完成,而智能合约依赖于区块链分布式运行,因此可以避免中心化平台宕机导致任务众包过程的不可用,也可以避免中心化平台作恶导致的众包过程中产生的信任问题。
另一方面,由于任务的发布方与承接方均作为链上角色参与上述区块链的运行,因此不同于传统的中心化解决方案,任务的发布方与承接方有了共同的权益载体即区块链,区块链的可信度越高,就越能够保障任务发布方和承接方的权益,而任务发布方和承接方的权益越能得到保障,他们参与区块链时也就会减少作恶、提高区块链的可信度;也就是说,区块链、与任务的发布方与承接方之间形成了正反馈,因此能在区块链节点设备数量相近的情况下获得更高的业务可信度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书文本一同用于解释原理。
图1是本说明书示出的一种基于区块链的任务众包方法的流程示例图;
图2是本说明书示出的一种智能合约的部署与调用的示例图;
图3是本说明书示出的一种任务分割的逻辑示例图;
图4是本说明书示出的一种任务转包的逻辑示例图;
图5是本说明书示出的一种基于区块链的任务众包装置的结构示例图;
图6是本说明书示出的一种用于基于区块链的任务众包的计算机设备的结构示例图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与本说明书的一些方面相一致的系统和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在信息产业中,软件开发任务可以通过软件众包模式进行分配;其核心思想为,将软件的需求设计和代码实现两个环节分离开,需求方在软件众包平台上发布软件众包任务以及对应的酬劳,由开发者自行从上述软件众包平台上“领取任务”,在完成众包任务、并通过需求方验收之后即可获得需求方给出的酬劳。值得注意的是,除了软件开发之外,平面设计、专利撰写、方案规划等等也都可以以上述众包的形式进行任务分配处理。
在上述众包过程中,通常借助一些中心化的平台完成上述任务众包过程,一般可以认为,这些平台不仅能够提供基本的任务发布、酬金流转等功能,还会对任务进行分类、分流,并通过内部的配对和推荐算法来撮合发布方与承接方,能够提高信息的流转效率。这种实现方式虽然有利于中心化平台提供更加专业化的服务,但是,平台本身作为一种用于撮合双方的基础设施被个别企业掌控,既存在平台宕机的可用性风险,也存在平台撮合过程的不公平风险。
基于此,本说明书提出一种借助区块链技术,通过与众包任务相对应的智能合约来管理众包任务的发布、承接、验收和报酬转账等相关业务逻辑的技术方案。
在实现时,上述与众包任务相对应的智能合约中可以携带有状态标识,用于标识众包任务的已发布、已承接、已完成等状态,并根据其包含的
一方面,由于任务的发布、承接、验收以及最终的报酬转账均由部署在区块链上的智能合约完成,而智能合约依赖于区块链分布式运行,因此可以避免中心化平台宕机导致任务众包过程的不可用,也可以避免中心化平台作恶导致的众包过程中产生的信任问题。
另一方面,由于任务的发布方与承接方均作为链上角色参与上述区块链的运行,因此不同于传统的中心化解决方案,任务的发布方与承接方有了共同的权益载体即区块链,区块链的可信度越高,就越能够保障任务发布方和承接方的权益,而任务发布方和承接方的权益越能得到保障,他们参与区块链时也就会减少作恶、提高区块链的可信度;也就是说,区块链、与任务的发布方与承接方之间形成了正反馈,因此能在区块链节点设备数量相近的情况下获得更高的业务可信度。
下面通过具体实施例并结合具体的应用场景对本说明书进行描述。
请参考图1,图1是本说明书一实施例提供的一种基于区块链的任务众包方法的流程示例图,该方法可以包括以下步骤:
S101,生成携带有目标任务的内容以及报酬的智能合约、并部署到区块链上,以将所述目标任务在所述区块链上存证并公布;
S102,响应于任务承接方发送的、用于承接所述目标任务的承接交易,调用所述智能合约的承接逻辑,将所述任务承接方的标识写入与所述智能合约相关联的存储区域,并修改所述智能合约的状态标识,以将所述目标任务的状态切换为已承接状态;
S103,响应于所述任务承接方发送的、用于启动任务验收的验收交易,调用所述智能合约的验收逻辑,基于所述目标任务的内容对所述验收交易中携带的任务结果进行验收;
S104,若所述验收通过,则进一步调用所述智能合约的转账逻辑,将所述目标任务的报酬转移至所述任务承接方的账户。
上述区块链,可以包括任意形式的区块链。区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的技术;通常,区块链具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性。区块链一般被划分为三种类型:公有链(PublicBlockchain),私有链(Private Blockchain)和联盟链(Consortium Blockchain)。此外,还可以有上述多种类型的结合,比如私有链+联盟链、联盟链+公有链等。通常各种类型的区块链性质可能存在差异,进而可以用于满足不同的技术需求;例如,如果希望获得最高的去中心化程度,则可以选用公有链;如果希望兼顾去中心化程度和性能,则可以选用联盟链等等。在实施中,如果上述区块链采用联盟链的形式,那么组成上述区块链的区块链节点则可以由任务发布方、任务承接方、云服务提供商等等多种类型的实体各自提供,以保证区块链记账权的相对公正合理;又例如,如果上述区块链需要使用智能合约功能,则可以在可编程区块链中自行选择符合需求的具体区块链种类;可见,各种形式的区块链各有优势,本领域技术人员可以根据具体的需求自行选择上述区块链的类型本说明书不限定上述区块链的具体类型。
可以理解的是,上述区块链可以通过区块链即服务(BaaS,Blockchain as aService)平台对外交互。通常,BaaS平台可以通过为区块链上发生的活动(诸如订阅和通知、用户验证、数据库管理和远程更新),提供预先编写的应用的方式,面向与BaaS平台连接的客户端侧计算设备,提供灵活可定制的区块链服务。例如,在一个例子中,用于公示众包任务数据的服务端需要与区块链进行数据通信,则BaaS平台可以提供诸如MQ(MessageQueue,消息队列)服务应用;与BaaS平台连接的用于公示众包任务数据的服务端,可以订阅BaaS平台连接的区块链系统中某一区块链上部署的智能合约,在触发执行后在区块链上产生的合约事件;而BaaS平台可以监听该智能合约在触发执行后在区块链上产生的事件,再基于MQ服务相关的软件,将该合约事件以通知消息的形式添加到消息队列中,使得订阅该消息队列的用于公示众包任务数据的服务端能够得到与上述合约事件相关的通知。
在本领域中,智能合约通常指在区块链上通过代码的形式定义、可以被交易触发执行的合约。通常认为,智能合约可以以规定的方式在区块链网络中每个节点独立的执行,所有执行记录和数据都保存在区块链上,所以当这样的交易执行完毕后,区块链上就保存了无法篡改、不会丢失的交易凭证。
请参见图2,图2是本说明书示出的一创建智能合约和调用智能合约的示意图;如图2所示,在该支持智能合约的区块链中,要创建一个智能合约,可以经过编写智能合约、变成字节码、部署到区块链等过程;要调用智能合约,则可以发起一笔指向智能合约地址的交易,各个节点的虚拟机则可以分别执行该交易,将智能合约代码分布式的运行在区块链网络中每个节点的虚拟机中。
在本说明书中,任务的发布方可以首先生成携带有目标任务的内容以及报酬的智能合约、并部署到区块链上,以将上述目标任务在上述区块链上存证并公布;具体而言,上述目标任务的内容可以包括目标任务的需求、验收指标、参考文件等等针对目标任务本身的描述信息,而报酬则指对于承接、完成上述目标任务并且通过验收的任务承接方将会对应收到的任务报酬。上述目标任务的内容以及报酬均可以写入智能合约,以便后续在区块链上自动触发执行。
当然可以理解的是,为了进一步提高上述智能合约生成的效率,可以通过任务模板的方式降低任务发布方的工作量;具体而言,在示出的一种实施方式中,上述生成携带有目标任务的内容以及报酬的智能合约的过程,可以具体包括:通过去中心化应用客户端展示预设的任务模板;接收用户基于上述任务模板输入的目标任务的内容以及报酬;在预设的智能合约与上述任务模板对应的留空位置中,写入上述目标任务的内容以及报酬。应用此方案,任务发布方就不再需要完全自行设计、撰写智能合约,而是可以通过类似于填表的方式,将相关信息填入任务模板内,快速获得目标任务对应的智能合约。
在本说明书中,上述区块链可以响应于任务承接方发送的、用于承接上述目标任务的承接交易,调用上述智能合约的承接逻辑,将上述任务承接方的标识写入与上述智能合约相关联的存储区域,并修改上述智能合约的状态标识,以将上述目标任务的状态切换为已承接状态。具体而言,在前述与目标任务对应的智能合约被发布到区块链上之后,该智能合约中相关联的、用于存储承接方标识的存储区域可能为空或者预设值,状态标识可以展示为待承接状态,这可以使通过区块链浏览器获取到该智能合约相关信息的任务承接方可以获知该目标任务尚未被承接,希望承接该目标任务的任务承接方就可以发起对应的承接交易,从而调用该智能合约的承接逻辑,将自身的标识写入与上述智能合约相关联的存储区域,并修改智能合约的状态标识,以昭示该智能合约对应的目标任务已被该标识对应的承接方承接。
在本说明书中,上述区块链可以进一步响应于上述任务承接方发送的、用于启动任务验收的验收交易,调用上述智能合约的验收逻辑,基于上述目标任务的内容对上述验收交易中携带的任务结果进行验收。具体而言,由于本说明书中的众包任务既可以包括软件开发任务,也可以包括设计类任务,因此本说明书此处无需一一列举具体的验收过程,而只关注验收是否通过与后续步骤之间的因果关系。
在本说明书中,若上述验收通过,上述区块链则可以进一步调用上述智能合约的转账逻辑,将上述目标任务的报酬转移至上述任务承接方的账户。如前所述,上述智能合约中预先设置有目标任务的报酬,因此在确定上述承接方给出的任务结果通过了验收的情况下,就可以触发智能合约中的转账逻辑,将对应的报酬进行转账。
可以理解的是,上述目标任务的报酬,具体可以是链上的虚拟资产例如积分等等,也可以是与链外的实际资产相锚定的凭证,例如兑换券等等。本领域技术人员可以根据具体的业务需求自行选择提供报酬的方式,本说明书无需进行进一步描述和限定。
在以上主干方案的基础上,上述方案中还可以包括任务分割的步骤;具体而言,由于不同的任务承接方所擅长的领域以及工作能力不同,对于项目较复杂的软件而言,将软件开发任务进行分割后分包给多家任务承接方分别完成的实际效率,可能会高于将软件整体外包给一家承接方完成的实际效率。举例而言,假设某办公自动化软件既需要后端管理系统,也需要前端的Web页面交互,这两部分开发任务就可以分别交由分别擅长后端开发和前端开发的两家软件外包公司完成。
但在实际实践中,如果任务发布方发布的任务如果较为复杂,则要么寻找开发能力较强的任务承接方开发者“接单”,要么由任务发布方自行规划、切分任务模块,再由多个任务承接方开发者接单,显然两者都会拖慢众包分配的效率。为了解决以上问题,在示出的一种实施方式中,上述智能合约中还可以包括分割逻辑,上述区块链中还可以包括任务分割方;具体而言,上述方法还可以包括:首先响应于任务分割方发送的、用于对上述目标任务进行分割的分割交易,调用上述智能合约的分割逻辑,基于上述分割交易中携带的分割信息,将上述目标任务分割为至少两个目标子任务,生成并部署分别与上述至少两个目标子任务对应的子智能合约;再将上述至少两个子智能合约的标识写入与上述智能合约关联的存储区域,并修改上述智能合约的状态标识,以将上述目标任务的状态切换为已分割状态。
通常认为,非同质化通证是一种记录在区块链上的数字资产所有权,具有唯一性、不可替代性、不可分割性等性质;由于被任务承接方承接到的任务本身也存在一定价值,如果得到任务发布方的允许,甚至可以将该任务再次转包给其他承接方;因此,针对被发布到上述区块链的任意任务,区块链都可以发行对应的非同质化通证,并将承接众包任务的过程,具体实现为非同质化通证的所有权的授予过程,将众包任务的转接过程,具体实现为对应非同质化通证的所有权的转移过程。
其中,存在一种非同质化通证,业内可以称之为可分割非同质化通证f-NFT;它不再具有不可分割的性质,这种可分割的非同质化通证能够将其所有权进行分割,从而在区块链上实现更灵活的资产分配模式;在本申请对应的情景下,具体而言,在将上述智能合约部署在上述区块链上之后,上述方法还可以包括:在上述区块链上发行与上述目标任务对应的可分割非同质化通证;在上述目标任务被分割为至少两个目标子任务之后,上述方法还可以包括:将上述可分割非同质化通证对应分割为至少两个非同质化子通证。
继续以前述办公自动化系统的开发任务为例,后端管理系统和前端的Web页面交互系统分别交由甲、乙两家软件外包公司完成,那么如果上述办公自动化系统的开发任务对应发行了可分割非同质化通证,则甲、乙两家软件外包公司就可以分别持有上述可分割非同质化通证形成的两个非同质化子通证的所有权。
在示出的一种实施方式中,上述进行任务分割的任务分割方能够获得对应的分割报酬;具体而言,对软件开发任务进行规划和分割,也可以是一项需要付出脑力劳动的事项,因此一部分人(例如经验丰富的软件架构师)可以作为任务分割方、对任务发布方提供的任务进行收费分割,从而获取一定的报酬;在实现该方案时,上述区块链可以在预设的事件通道中生成分割事件,以使监听所述事件通道的任务发布方客户端响应于所述分割事件,获取并展示所述分割交易中携带的分割信息;接收所述任务发布方客户端响应于用户输入的分割确认指令而发送的分割确认交易;基于所述目标任务的任务内容指示的、或所述分割确认交易的指示的数额,将分割报酬转移至所述任务分割方的账户。
请参见图3,图3是本说明书示出的一种任务分割的逻辑示例图;在该示例中,任务发布、上链、验收等步骤与前述主干方案类似,但引入了任务分割方参与交互,该任务分割方可以浏览链上公开的任务,并对任务进行规划、分割,以便多个任务承接方分别承接目标任务的一部分;而任务分割方也能够从中得到对应的酬劳。
在示出的一种实施方式中,上述被发布到区块链中的众包任务可以被退回;在实现时,在上述目标任务的状态为已承接状态下,上述方法还可以包括:响应于上述任务承接方发送的、用于启动任务退回的退回交易,调用上述智能合约的退回逻辑,将上述任务承接方的标识从与上述智能合约相关联的存储区域中移除,并修改上述智能合约的状态标识,以将上述目标任务的状态切换为待承接状态。经过上述过程,上述目标任务的状态从已承接状态重新切换为待承接状态,也就可以被其他的承接方重新发起承接交易而被承接。
通常认为,任务在被接受之后退回,事实上浪费了任务发布方用于完成此项众包任务的时间预期,因此可以要求退回任务的任务承接方给予一定的赔偿;在实现时,上述区块链可以校验上述退回交易中携带的赔偿凭据对应的赔偿数额是否不小于上述目标任务的内容中指示的最低赔偿数额;若是,则认为任务发布方能够获得合理的赔偿,即可将上述退回交易中携带的赔偿凭据对应的赔偿数额转账至上述任务发布方、或者添加至上述目标任务的报酬;若否,则意味着任务发布方不能获得合理的赔偿,则可以拒绝上述任务承接方启动任务退回的请求,以待该承接方受到整个任务承包机制的违约惩罚、或者使该承接方修改赔偿凭据对应的赔偿数额以满足上述目标任务的内容中指示的最低赔偿数额要求。
在示出的一种实施方式中,上述被发布到区块链中的众包任务可以被转包;具体而言,由于待完成的众包任务可以被理解为一种待兑换报酬的凭证,因此其本身亦具备一定的资产属性;因此,可以从链上资产转移的角度来理解上述被发布到区块链中的众包任务的转包过程。
在所述目标任务的状态为已承接状态下,所述方法还可以包括:接收上述任务承接方发送的、用于启动任务转包的转包交易,以及转包方发送的、用于确认任务转包的转包确认交易;响应于上述转包交易和上述转包确认交易,调用上述智能合约的转包逻辑,从上述转包确认交易中提取转包方的标识,将与上述智能合约相关联的存储区域中的上述任务承接方的标识替换为上述转包方的标识。
由于在以上过程中,与上述目标任务对应的智能合约相关联的存储区域中的上述任务承接方的标识替换为上述转包方的标识,因此该目标任务链上资产的所有权也就被转移到了上述转包方名下。
在示出的一种实施方式中,上述转包方为了从上述任务承接方手中获取到上述目标任务的所有权,可以付出一定的转包费用。举例而言,假设某转包方已经有一个与目标任务非常相似的软件原型,预计可以以较低的时间和人工成本完成修改设计,因此可以接受付出一定转包费用的条件,从上述任务承接方手中“购买”上述目标任务的所有权。在实现时,上述方法中还可以包括基于上述转包交易和上述转包确认交易共同指示的转包费用数额,将上述转包方提供的转包费用转账至上述任务承接方的账户的步骤。
当然可以理解的是,除上述情况以外,上述任务承接方还可能为了能将上述目标任务转包给上述转包方,需要额外给上述转包方一笔费用;请参见图4,图4是本说明书示出的一种任务转包的逻辑示例图;例如,该任务承接方高估了自身的软件开发效率,在开发若干天后发现以自身实力无法按期完成任务,为了避免可能受到的违约处罚,则可以选择将该任务转包给上述转包方;对于转包方而言,在完成上述众包任务的期限已经显然缩短,因此可以要求上述转包方追加一定的赏金,否则不接受转包。
可见,在众包任务作为链上资产进行流通的情况下,由于供需关系的变化,上述两种状况都可能存在。
在示出的一种实施方式中,上述目标任务包括软件开发类任务,上述验收逻辑可以与链外的软件测试平台配合完成对于任务结果的验收;具体而言,上述调用上述智能合约的验收逻辑,基于上述目标任务的内容对上述验收交易中携带的任务结果进行验收的过程,可以包括:调用上述智能合约的验收逻辑,在预设的事件通道中生成第一类验收事件,以使监听上述事件通道的链外软件测试平台响应于上述第一类验收事件,获取上述任务结果以及上述目标任务的内容,并基于上述目标任务的内容中的测试用例对上述任务结果中的软件代码进行测试。
在示出的另一种实施方式中,上述目标任务包括设计类任务;在此情况下,由于设计类任务可能涉及到美观度等主观评价内容,因此上述调用上述智能合约的验收逻辑,基于上述目标任务的内容对上述验收交易中携带的任务结果进行验收时,可以调用上述智能合约的验收逻辑,在预设的事件通道中生成第二类验收事件,以使监听上述事件通道的链外办公平台响应于上述第一类验收事件,获取并展示上述任务结果以及上述目标任务的内容,并获取用户输入的验收结果。
上述内容即为本说明书针对所述基于区块链的任务众包方法的全部实施例。基于以上实施例可知,本方案不仅能够提高任务众包过程的可用性、避免中心化平台作恶产生的信任问题、以更低成本获得更高业务可信度,而且在上述各细化方案中,还能取得改善众包任务流动性、提高任务完成率、进一步保障各方权益等效果。
本说明书还提供了对应的基于区块链的任务众包装置的实施例如下:
请参见图5,图5为本说明书示出的一种基于区块链的任务众包装置的结构示例图,该装置可以包括如下模块:
部署模块501,生成携带有目标任务的内容以及报酬的智能合约、并部署到区块链上,以将所述目标任务在所述区块链上存证并公布;
承接模块502,响应于任务承接方发送的、用于承接所述目标任务的承接交易,调用所述智能合约的承接逻辑,将所述任务承接方的标识写入与所述智能合约相关联的存储区域,并修改所述智能合约的状态标识,以将所述目标任务的状态切换为已承接状态;
验收模块503,响应于所述任务承接方发送的、用于启动任务验收的验收交易,调用所述智能合约的验收逻辑,基于所述目标任务的内容对所述验收交易中携带的任务结果进行验收;
转账模块504,若所述验收通过,则进一步调用所述智能合约的转账逻辑,将所述目标任务的报酬转移至所述任务承接方的账户。
本说明书实施例还提供一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现前述的基于区块链的任务众包方法。
图6示出了本说明书实施例所提供的一种更为具体的计算设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的基于区块链的任务众包方法。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。
Claims (14)
1.一种基于区块链的任务众包方法,包括:
生成携带有目标任务的内容以及报酬的智能合约、并部署到区块链上,以将所述目标任务在所述区块链上存证并公布;
响应于任务承接方发送的、用于承接所述目标任务的承接交易,调用所述智能合约的承接逻辑,将所述任务承接方的标识写入与所述智能合约相关联的存储区域,并修改所述智能合约的状态标识,以将所述目标任务的状态切换为已承接状态;
响应于所述任务承接方发送的、用于启动任务验收的验收交易,调用所述智能合约的验收逻辑,基于所述目标任务的内容对所述验收交易中携带的任务结果进行验收;
若所述验收通过,则进一步调用所述智能合约的转账逻辑,将所述目标任务的报酬转移至所述任务承接方的账户。
2.根据权利要求1所述的方法,所述方法还包括:
响应于任务分割方发送的、用于对所述目标任务进行分割的分割交易,调用所述智能合约的分割逻辑,基于所述分割交易中携带的分割信息,将所述目标任务分割为至少两个目标子任务,生成并部署分别与所述至少两个目标子任务对应的子智能合约;
将所述至少两个子智能合约的标识写入与所述智能合约关联的存储区域,并修改所述智能合约的状态标识,以将所述目标任务的状态切换为已分割状态。
3.根据权利要求2所述的方法,在将所述智能合约部署在所述区块链上之后,所述方法还包括:
在所述区块链上发行与所述目标任务对应的可分割非同质化通证;
在所述目标任务被分割为至少两个目标子任务之后,所述方法还包括:
将所述可分割非同质化通证对应分割为至少两个非同质化子通证。
4.根据权利要求2所述的方法,所述方法还包括:
在预设的事件通道中生成分割事件,以使监听所述事件通道的任务发布方客户端响应于所述分割事件,获取并展示所述分割交易中携带的分割信息;
接收所述任务发布方客户端响应于用户输入的分割确认指令而发送的分割确认交易;
基于所述目标任务的任务内容指示的、或所述分割确认交易的指示的数额,将分割报酬转移至所述任务分割方的账户。
5.根据权利要求1所述的方法,在所述目标任务的状态为已承接状态下,所述方法还包括:
响应于所述任务承接方发送的、用于启动任务退回的退回交易,调用所述智能合约的退回逻辑,将所述任务承接方的标识从与所述智能合约相关联的存储区域中移除,并修改所述智能合约的状态标识,以将所述目标任务的状态切换为待承接状态。
6.根据权利要求5所述的方法,所述方法还包括:
校验所述退回交易中携带的赔偿凭据对应的赔偿数额是否不小于所述目标任务的内容中指示的最低赔偿数额;
若是,将所述退回交易中携带的赔偿凭据对应的赔偿数额转账至所述任务发布方、或者添加至所述目标任务的报酬;
若否,拒绝所述任务承接方启动任务退回的请求。
7.根据权利要求1所述的方法,在所述目标任务的状态为已承接状态下,所述方法还包括:
接收所述任务承接方发送的、用于启动任务转包的转包交易,以及转包方发送的、用于确认任务转包的转包确认交易;
响应于所述转包交易和所述转包确认交易,调用所述智能合约的转包逻辑,从所述转包确认交易中提取转包方的标识,将与所述智能合约相关联的存储区域中的所述任务承接方的标识替换为所述转包方的标识。
8.根据权利要求1所述的方法,所述方法还包括:
基于所述转包交易和所述转包确认交易共同指示的转包费用数额,将所述转包方提供的转包费用转账至所述任务承接方的账户。
9.根据权利要求1所述的方法,所述目标任务包括软件开发类任务;
所述调用所述智能合约的验收逻辑,基于所述目标任务的内容对所述验收交易中携带的任务结果进行验收,包括:
调用所述智能合约的验收逻辑,在预设的事件通道中生成第一类验收事件,以使监听所述事件通道的链外软件测试平台响应于所述第一类验收事件,获取所述任务结果以及所述目标任务的内容,并基于所述目标任务的内容中的测试用例对所述任务结果中的软件代码进行测试。
10.根据权利要求1所述的方法,所述目标任务包括设计类任务;
所述调用所述智能合约的验收逻辑,基于所述目标任务的内容对所述验收交易中携带的任务结果进行验收,包括:
调用所述智能合约的验收逻辑,在预设的事件通道中生成第二类验收事件,以使监听所述事件通道的链外办公平台响应于所述第一类验收事件,获取并展示所述任务结果以及所述目标任务的内容,并获取用户输入的验收结果。
11.根据权利要求1所述的方法,所述生成携带有目标任务的内容以及报酬的智能合约,包括:
通过去中心化应用客户端展示预设的任务模板;
接收用户基于所述任务模板输入的目标任务的内容以及报酬;
在预设的智能合约与所述任务模板对应的留空位置中,写入所述目标任务的内容以及报酬。
12.一种基于区块链的任务众包装置,包括:
部署模块,生成携带有目标任务的内容以及报酬的智能合约、并部署到区块链上,以将所述目标任务在所述区块链上存证并公布;
承接模块,响应于任务承接方发送的、用于承接所述目标任务的承接交易,调用所述智能合约的承接逻辑,将所述任务承接方的标识写入与所述智能合约相关联的存储区域,并修改所述智能合约的状态标识,以将所述目标任务的状态切换为已承接状态;
验收模块,响应于所述任务承接方发送的、用于启动任务验收的验收交易,调用所述智能合约的验收逻辑,基于所述目标任务的内容对所述验收交易中携带的任务结果进行验收;
转账模块,若所述验收通过,则进一步调用所述智能合约的转账逻辑,将所述目标任务的报酬转移至所述任务承接方的账户。
13.一种计算机设备,其至少包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现权利要求1~11任一所述的方法。
14.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1~11任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111642424.4A CN114331435A (zh) | 2021-12-29 | 2021-12-29 | 一种基于区块链的任务众包方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111642424.4A CN114331435A (zh) | 2021-12-29 | 2021-12-29 | 一种基于区块链的任务众包方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114331435A true CN114331435A (zh) | 2022-04-12 |
Family
ID=81016758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111642424.4A Pending CN114331435A (zh) | 2021-12-29 | 2021-12-29 | 一种基于区块链的任务众包方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114331435A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114860845A (zh) * | 2022-05-23 | 2022-08-05 | 支付宝(杭州)信息技术有限公司 | 数字资产的管理方法和装置 |
CN115510250A (zh) * | 2022-11-10 | 2022-12-23 | 成都国恒空间技术工程股份有限公司 | 一种基于知识区块链的航天信息协同采集方法及系统 |
-
2021
- 2021-12-29 CN CN202111642424.4A patent/CN114331435A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114860845A (zh) * | 2022-05-23 | 2022-08-05 | 支付宝(杭州)信息技术有限公司 | 数字资产的管理方法和装置 |
CN115510250A (zh) * | 2022-11-10 | 2022-12-23 | 成都国恒空间技术工程股份有限公司 | 一种基于知识区块链的航天信息协同采集方法及系统 |
CN115510250B (zh) * | 2022-11-10 | 2023-02-14 | 成都国恒空间技术工程股份有限公司 | 一种基于知识区块链的航天信息协同采集方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | Blockchain-enabled workflow operating system for logistics resources sharing in E-commerce logistics real estate service | |
CN109274667B (zh) | 一种基于区块链的版权事件存证方法及系统 | |
CN109272385B (zh) | 一种基于区块链的版权事件代理存证方法及系统 | |
CN102663531B (zh) | 基于云的主数据管理 | |
CN112200571B (zh) | 基于区块链的资源发放方法、装置及电子设备 | |
CN114331435A (zh) | 一种基于区块链的任务众包方法及装置 | |
CN109191289A (zh) | 一种基于区块链的版权收益分配方法及装置 | |
CN110348882A (zh) | 基于智能合约的积分方法、系统、装置及设备 | |
CN113327165A (zh) | 一种基于区块链的交易方法 | |
CN110020945B (zh) | 一种基于多个区块链网络的数据读取方法及系统 | |
CN112200568B (zh) | 基于区块链的账户创建方法、装置及电子设备 | |
CN111985007A (zh) | 一种基于区块链的合同签署与执行方法及装置 | |
TW202008291A (zh) | 對象選取方法及裝置、電子設備 | |
JP2014502391A (ja) | アプリストアシステム及び当該アプリストアシステムを用いたアプリケーションの開発方法 | |
CN110020854A (zh) | 一种基于多个区块链网络的数据存证方法及系统 | |
CN111080342A (zh) | 资源的分配方法和装置、存储介质、电子装置 | |
CN110457141A (zh) | 一种业务消息的处理方法、系统、装置及设备 | |
US20080262881A1 (en) | Logically centralized scrap management using planning operations | |
CN112200572A (zh) | 基于区块链的资源发放方法、装置及电子设备 | |
CN110012054A (zh) | 一种基于联盟链网络的业务处理方法及系统 | |
CN110458541B (zh) | 基于区块链的对象置换方法及装置 | |
CN112511651B (zh) | 一种基于区块链的服务准入方法及装置 | |
CN110188975A (zh) | 一种资源获取方法及装置 | |
CN114358944A (zh) | 一种基于区块链的贸易轨迹凭证生成方法及装置 | |
CN110060152B (zh) | 一种基于多个区块链网络的数据读取方法及系统 |
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 | ||
CB02 | Change of applicant information |
Address after: Room 2339, 2nd Floor, No. 92, Huancheng North Road, Gongshu District, Hangzhou City, Zhejiang Province 310005 Applicant after: Hangzhou Xita Technology Co.,Ltd. Address before: 310007 room 2001 and 2010, 20 / F, tower a, Huaxing Times Square, No. 478, Wensan Road, Xihu District, Hangzhou, Zhejiang Applicant before: Hangzhou Xita Technology Co.,Ltd. |
|
CB02 | Change of applicant information |