一种基于区块链的智能合约的众包构建方法技术

技术编号:15638712 阅读:740 留言:0更新日期:2017-06-15 18:58
本发明专利技术公开了一种基于区块链的智能合约的众包构建方法,包括:1、合约甲方对包含任务和规则的智能合约进行签名并发布到区块链的主链上;2、合约乙方根据合约甲方发布的合约任务认领若干所述合约子任务并将认领信息添加在支链上;3、系统检查甲方合约的所有子任务是否都能被乙方完成;4、甲方和乙方联合签名发布智能合约到区块链主链上,合约自动执行。本发明专利技术公开透明的监控合约的构建过程,自动监控合约的执行过程;从而能降低众包合约构建及执行过程中存在的风险。

【技术实现步骤摘要】
一种基于区块链的智能合约的众包构建方法
本专利技术属于区块链
,具体的说是一种基于区块链的智能合约的众包构建方法。
技术介绍
在社会生产中,不管是公司、机构还是个人都会遇到一些自身难以解决的问题。这时,公司或机构可能会选择将这样的问题外包给别的公司或机构去完成。随着互联网的发展,人们提出了一种新的解决办法,将企业自身不能解决的问题以自由自愿的形式外包给非特定的大众的方法。这种外包的任务通常由个人来承担,但如果涉及到需要多人协作完成的任务,也有可能以依靠开源的个体生产的形式出现。传统意义上的外包更多是交给专业性的组织或团队,这种关系是有针对性和契约性的;而互联网上的外包范围则更加宽泛,参与者可以是该领域的专业人士,也可以是非专业人士。人们将这种一对多的外包形式称为众包,众包充分利用了互联网用户多元化的背景。在某种程度上说,众包提供了一种组织劳动力的全新方式。互联网用户复杂、多元化的文化、教育、地域背景则进一步吸引了众多企业转向利用互联网众包获取解决方案。然而目前的众包协议的签订必须依赖于第三方平台,需求任务的信息来源的真实性完全取决于第三方的可信度得不到实质性的保障,且需要耗费较多的管理成本。对于需求任务的解决方,由于没有有效的解决方案监控措施,导致目前众包的解决方案良莠不齐,甚至于存在很多抄袭、虚假的现象,任务提出者并不能得到满意的解决方案且耗费时间和成本;另一方面解决方案提出者的知识产权也因为对合约执行过程缺乏监控,而得不到有效的保护。
技术实现思路
本专利技术是为了解决上述现有技术存在的不足之处,提出一种基于区块链的智能合约的众包构建方法,以期能通过去中心化的分布式数据存储方法解决中心化的数据存储存在的信息易篡改、不可靠问题,通过智能合约程序自动执行的方式解决对合约执行状态的监控问题,从而降低众包合约构建及执行过程中存在的风险。本专利技术为解决技术问题采用如下技术方案:本专利技术一种基于区块链的智能合约的众包构建方法的特点是按如下步骤执行:步骤一、定义所述智能合约的用户集合为U={Vα,V},Vα为所述智能合约的甲方,V为所述智能合约的乙方集合,并有:V={V1,V2,...,Vi,...,Vm},Vi为所述乙方集合中第i个用户,1≤i≤m;步骤二、智能合约任务和规则的发布:所述甲方Vα用自身私钥对包含任务和规则的智能合约进行签名,并由矿工将签名过的智能合约作为区块TR添加到区块链的主链上;所述智能合约的任务记为T={t1,t2,...,tp,...,tn},tp为第p个子任务;1≤p≤n;步骤三、合约任务的认领:步骤3.1、定义以所述区块TR为起点的支链上的区块数量为ρ,并初始化ρ=0;步骤3.2、假设第i个用户Vi期望认领所述任务中的若干个子任务,则第i个用户Vi查询所述区块TR为起点的支链上是否存在终止区块;若存在,则表示所述智能合约已经签订完成,若不存在,则执行步骤3.3;步骤3.3、初始化p=1;步骤3.4、由所述第i个用户Vi标记所述任务中第p个子任务tp的认领意愿状态当代表第i个用户Vi期望认领第p个子任务tp;当代表第i个用户Vi不认领第p个子任务tp;步骤3.5、将p+1赋值给p后,返回步骤3.4,直到p=n为止,从而得到所述第i个用户Vi对所有子任务的认领意愿状态;步骤3.6、判断是否成立,若成立,则表示第i个用户Vi期望认领所有子任务并能独立完成,从而根据所述智能合约的规则签订所述智能合约后,执行步骤3.7;否则,执行步骤3.8;步骤3.7、所述甲方Vα和第i个用户Vi分别对所签订的智能合约进行联合签名,并由矿工将联合签名过的智能合约作为区块添加到区块链的主链上后,矿工在以所述区块TR为起点的支链上的添加终止区块;步骤3.8、第i个用户Vi对所述任务中的每个子任务的认领意愿状态进行签名,并由矿工将签名过的所有认领意愿状态添加到区块链的支链上,同时将ρ+1赋值给ρ;步骤四、检查区块链的支链,判断支链上参与智能合约的所有用户是否能众包完成所述智能合约的所有子任务:步骤4.1、定义所述区块链的支链上的所有用户为{V1′,V2′,...,Vk′,...,Vρ′};Vk′表示所述支链上的第k个用户,1≤k≤ρ;定义第q个子任务tq所分配给的用户记为Vq″;1≤q≤n;初始化Vq″=NULL;步骤4.2、初始化q=1;步骤4.3、初始化k=1;步骤4.4、判断是否成立,若成立,则将Vk′赋值给Vq″,并将q+1赋值给q,返回步骤4.3,直到q=n为止;否则,将k+1赋值给k,返回步骤4.4,直到k=ρ为止;步骤4.5、初始化q=1;步骤4.6、判断Vq″=NULL是否成立,若成立,表示存在未认领的子任务,则等待其他用户认领并返回步骤3.2;若不成立,则将q+1赋值给q,返回步骤4.6,直到q=n为止;步骤4.7、所有子任务均被认领和分配完成,从而根据所述智能合约的规则签订所述智能合约;步骤4.8、所述甲方Vα和所有分配子任务的用户分别对所签订的智能合约进行联合签名,并由矿工将联合签名过的智能合约作为区块添加到区块链的主链上后,矿工在以所述区块TR为起点的支链上的添加终止区块。与现有技术相比,本专利技术的有益效果在于:1、本专利技术利用基于区块链的分布式数据存储技术使得构建的众包智能合约在没有第三方的情况下可靠且不可篡改,且众包智能合约以程序的方式执行保障了合约执行结果的可预知性。2、本专利技术通过将合约任务以区块的形式分布式发布在区块链主链上,从而省去了第三方的中间环节,使得任务发布方和问题解决者可以直接取得联系;将合约任务发布在区块链主链上也使得任务的来源公开透明、需求的内容和规则不可篡改,从而保证了合约任务发布的可靠性。3、本专利技术通过将用户对合约任务的完成意愿记录在以该合约任务区块为首的支链上,从而记录了合约任务认领的整个过程,保证了合约签订过程的公开透明,也保证了签订的合约的可靠性。4、本专利技术签订的众包合约是通过双方联合签名的、以可执行程序的形式发布在区块链主链的智能合约,具有自动执行的特点,从而保障了合约执行结果的可预知性,从而避免了合约双方在合约执行过程中可能因结果不满发生纠纷的问题。附图说明图1本专利技术流程图;图2本专利技术区块链示意图。具体实施方式如图1所示,本实施例中,一种基于区块链的智能合约的众包构建方法是应用于区块链用户之间建立众包的智能合约的,具体的说是按如下步骤执行:步骤一、定义区块链用户中参与构建众包智能合约的用户集合为U={Vα,V},Vα为众包智能合约构建的甲方,V为众包智能合约构建的乙方集合,并有:V={V1,V2,...,Vi,...,Vm},Vi为乙方集合中的第i个用户,且有1≤i≤m;本实施例中,分布式的区块链数据存储方式对应的是一个P2P网络,所有使用该区块链存储信息的用户都处于一个对等网络中,无中心节点;区块链的一个区块可以是一段时间内用户之间发生交易的总和,也可以是一个智能合约任务和规则或由合约双方签订并联合签名的自动执行的智能合约,每个区块由区块头和区块主体两部分组成;区块头包含区块主体的哈希值、时间戳和用于链接区块的上一区块哈希值等,区块主体包含实际有效的信息。步骤二、智能合约任务和规则的发布:甲方Vα用自身私钥对包含任务和规则的智能合约进行签名,然后由矿工本文档来自技高网...
一种基于区块链的智能合约的众包构建方法

【技术保护点】
一种基于区块链的智能合约的众包构建方法,其特征是按如下步骤执行:步骤一、定义所述智能合约的用户集合为U={V

【技术特征摘要】
1.一种基于区块链的智能合约的众包构建方法,其特征是按如下步骤执行:步骤一、定义所述智能合约的用户集合为U={Vα,V},Vα为所述智能合约的甲方,V为所述智能合约的乙方集合,并有:V={V1,V2,...,Vi,...,Vm},Vi为所述乙方集合中第i个用户,1≤i≤m;步骤二、智能合约任务和规则的发布:所述甲方Vα用自身私钥对包含任务和规则的智能合约进行签名,并由矿工将签名过的智能合约作为区块TR添加到区块链的主链上;所述智能合约的任务记为T={t1,t2,...,tp,...,tn},tp为第p个子任务;1≤p≤n;步骤三、合约任务的认领:步骤3.1、定义以所述区块TR为起点的支链上的区块数量为ρ,并初始化ρ=0;步骤3.2、假设第i个用户Vi期望认领所述任务中的若干个子任务,则第i个用户Vi查询所述区块TR为起点的支链上是否存在终止区块;若存在,则表示所述智能合约已经签订完成,若不存在,则执行步骤3.3;步骤3.3、初始化p=1;步骤3.4、由所述第i个用户Vi标记所述任务中第p个子任务tp的认领意愿状态当代表第i个用户Vi期望认领第p个子任务tp;当代表第i个用户Vi不认领第p个子任务tp;步骤3.5、将p+1赋值给p后,返回步骤3.4,直到p=n为止,从而得到所述第i个用户Vi对所有子任务的认领意愿状态;步骤3.6、判断是否成立,若成立,则表示第i个用户Vi期望认领所有子任务并能独立完成,从而根据所述智能合约的规则签订所述智能合约后,执行步骤3.7;否则,执行步骤3.8;步骤3.7、所述甲方Vα和第...

【专利技术属性】
技术研发人员:李磊刘古刘吴共庆吴信东
申请(专利权)人:合肥工业大学
类型:发明
国别省市:安徽,34

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

1