CN112016114A - 基于加密货币的智能合约生成方法、相关设备及存储介质 - Google Patents

基于加密货币的智能合约生成方法、相关设备及存储介质 Download PDF

Info

Publication number
CN112016114A
CN112016114A CN202011194749.6A CN202011194749A CN112016114A CN 112016114 A CN112016114 A CN 112016114A CN 202011194749 A CN202011194749 A CN 202011194749A CN 112016114 A CN112016114 A CN 112016114A
Authority
CN
China
Prior art keywords
contract
algorithm
cryptocurrency
user
data
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.)
Granted
Application number
CN202011194749.6A
Other languages
English (en)
Other versions
CN112016114B (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011194749.6A priority Critical patent/CN112016114B/zh
Publication of CN112016114A publication Critical patent/CN112016114A/zh
Application granted granted Critical
Publication of CN112016114B publication Critical patent/CN112016114B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Bioethics (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Technology Law (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例公开了一种基于加密货币的智能合约生成方法、相关设备及存储介质,其中方法包括:响应于多个合约参与用户中的任一合约参与用户触发的针对智能合约的创建操作,确定待生成智能合约的合约算法,合约算法包括多个合约规则,且存在至少一个合约规则包括了一个或多个自定义的算法变量因子;确定为每个算法变量因子设置的量化数据;通过加密货币交易系统创建合约加密货币,并将合约数据信息存储到合约加密货币中,得到智能合约;其中,合约数据信息至少包括:合约算法信息,量化数据和签名信息,合约算法信息包括合约算法的地址或合约算法内容,可提升对合约算法的使用次数,从而简化智能合约生成时的算法开发流程。

Description

基于加密货币的智能合约生成方法、相关设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种基于加密货币的智能合约生成方法、相关设备及存储介质。
背景技术
随着区块链技术的不断发展,当前的智能合约都是依托于区块链网络进行实现的,基于区块链网络实现的智能合约需要将智能合约的合约算法和合约数据均上传到区块链网络中,而随着当前业务数量的急速增长,由于不同业务需要由不同的智能合约进行执行,所以目前区块链网络需要存储并运行的智能合约的数量也越来越多,并呈现急速递增的趋势,基于区块链网络对大量智能合约的存储,导致区块链网络的存储空间被智能合约所占据,从而降低了区块链网络对其他交易数据进行存储的能力,而且,当前基于区块链实现的智能合约存在如下的弊端:
1、目前基于区块链实现的智能合约,在进行合约结算时涉及的价值转移必须依赖于区块链的有价资源(如比特币)进行结算,缩小了智能合约的使用人群和使用场景;
2、基于区块链实现的智能合约的求证过程,必须依赖区块链进行,而由于合约的求证数据上链比较困难,使得智能合约的结算求证较为复杂,而且,基于区块链实现的智能合约一旦生成,智能合约的运作规则就已经固定,不能再进行调整(或更新),那么就使得生成的智能合约难以应对突发情况,因此,很难在生活中灵活运用和大量推广。
所以,如何释放区块链中存储的智能合约,使在区块链下实现智能合约,并保证智能合约的有效执行成为了当前的研究热点。
发明内容
本发明实施例提供了一种基于加密货币的智能合约生成方法、相关设备及存储介质,可提升对合约算法的使用次数,从而简化智能合约生成时的算法开发流程。
一方面,本发明实施例提供了一种智能合约生成方法,包括:
响应于多个合约参与用户中的任一合约参与用户触发的针对智能合约的创建操作,确定待生成智能合约的合约算法,所述合约算法包括多个合约规则,且存在至少一个合约规则包括了一个或多个自定义的算法变量因子;
确定为每个算法变量因子设置的量化数据,所述量化数据是由所有合约参与用户协商确定的;
通过加密货币交易系统创建合约加密货币,并将合约数据信息存储到所述合约加密货币中,得到智能合约;其中,所述合约数据信息至少包括:合约算法信息,所述量化数据和签名信息,所述合约算法信息包括所述合约算法的地址或合约算法内容。
再一方面,本发明实施例提供了一种智能合约生成装置,包括:
确定单元,用于响应于多个合约参与用户中的任一合约参与用户触发的针对智能合约的创建操作,确定待生成智能合约的合约算法,所述合约算法包括多个合约规则,且存在至少一个合约规则包括了一个或多个自定义的算法变量因子;
所述确定单元,还用于确定为每个算法变量因子设置的量化数据,所述量化数据是由所有合约参与用户协商确定的;
存储单元,用于通过加密货币交易系统创建合约加密货币,并将合约数据信息存储到所述合约加密货币中,得到智能合约;其中,所述合约数据信息至少包括:合约算法信息,所述量化数据和签名信息,所述合约算法信息包括所述合约算法的地址或合约算法内容。
在一个实施例中,所述合约算法是由合约机构编写并提前发布到公信平台的,所述公信平台存储了多个合约算法,且每个合约算法对应唯一的合约算法编号;所述确定单元,具体用于:
接收合约发起用户对应的用户终端执行所述创建操作时所发送的合约算法编号,所述合约算法编号是由所述多个合约参与用户协商并选择所述合约算法时确定的;
根据所述合约算法编号,从所述公信平台定位出与所述合约算法编号匹配的合约算法内容;
下载所述合约算法内容,并将所述合约算法编号,对应公信平台标识,以及由所述合约算法编号与所述公信平台标识进行签名得到的签名信息作为所述合约算法的地址。
在一个实施例中,生成的智能合约为待生效状态,所述装置还包括:获取单元。
获取单元,用于将所述智能合约同步给每个合约参与用户对应的用户终端,并从所述每个合约参与用户对应的用户终端中获取针对所述智能合约的反馈信息,所述反馈信息用于指示对应合约参与用户是否认可所述智能合约包括的合约内容;
所述确定单元,还用于若根据获取到的反馈信息确定每个合约参与用户认可所述智能合约包括的合约内容,则将生成的智能合约从所述待生效状态转换为生效状态。
在一个实施例中,所述装置还包括:处理单元。
所述获取单元,还用于若检测到目标合约用户按照所述智能合约中加密货币转入规则的约束,在转移约束时间到达前,发起的将目标数额的用户加密货币转移到所述合约加密货币的转移操作,则获取执行所述目标合约用户发起的转移操作的授权信息;所述加密货币转入规则包括:提供用户加密货币的目标合约用户的用户标识,所述用户加密货币的目标数额,以及所述用户加密货币转移到所述合约加密货币的转移约束时间;所述目标合约用户是所述多个合约参与用户中的一个或多个合约参与用户;
处理单元,用于在获取到所述授权信息后,通过所述加密货币交易系统将所述目标数额的用户加密货币转移到所述合约加密货币中。
在一个实施例中,所述处理单元,还用于若由需要向所述合约加密货币转入用户加密货币的用户触发所述智能合约的创建操作,则在需要向所述合约加密货币转入资金的用户触发所述创建操作时,选择同时授权将协商的目标数额的用户加密货币转移给合约加密货币;
所述转移单元,还用于在获取到所述授权信息后,若通过所述加密货币交易系统创建所述合约加密货币成功,则自动通过所述加密货币交易系统将协商的目标数额的用户加密货币转移到所述合约加密货币中。
在一个实施例中,所述确定单元,还用于在履行所述智能合约的过程中,确定合约求证数据,所述合约求证数据是任一合约参与用户基于所述合约规则的问题列表提交的答案数据,或者公信平台响应针对所述合约求证数据的获取请求所返回的数据;
其中,确定的合约求证数据为待生效状态。
在一个实施例中,所述处理单元,还用于若所述合约求证数据从所述任一合约参与用户采集得到,则将所述合约求证数据同步给所有合约参与用户;
所述处理单元,还用于接收每个合约参与用户针对所述合约求证数据的投票信息,若根据接收的投票信息综合确定所述合约求证数据通过投票,则将确定的合约求证数据从所述待生效状态转换为生效状态;
所述处理单元,还用于若所述合约求证数据从所述公信平台采集得到,则公示所述合约求证数据,若在公示阶段未接收到合约参与用户发送的针对所述合约求证数据的反对意见,则将确定的合约求证数据从所述待生效状态转换为生效状态。
在一个实施例中,所述确定单元,还用于若根据接收的投票信息综合确定所述合约求证数据未通过投票,且存在对所述合约求证数据的综合投票结果有异议的合约参与用户,则在合约机构获取到对合约求证数据的投票有异议的合约参与用户发送的仲裁申请后,向仲裁机构发送协助对所述合约求证数据进行投票的仲裁请求;
所述获取单元,还用于从所述仲裁机构获取对所述合约求证数据的投票结果;
所述处理单元,还用于若所述投票结果指示所述合约求证数据为有效数据,则将所述合约求证数据的状态转换为生效状态。
在一个实施例中,所述装置还包括:检测单元。
检测单元,用于在履行所述智能合约的过程中,检测针对所述智能合约的执行触发操作;
所述处理单元,还用于若检测到针对所述智能合约的执行触发操作,则执行合约结算。
在一个实施例中,所述确定单元,还用于根据所述合约算法,合约求证数据,以及为每个算法变量因子设置的量化数据计算生成合约结算数据;
所述处理单元,还用于将所述合约结算数据同步给所述所有合约参与用户对应的合约机构,接收每个合约参与用户对应的合约机构对所述合约结算数据进行投票确认并发送的投票确认信息以及结算授权信息;
其中,在接收到所述每个合约参与用户对应的合约机构返回的投票确认信息以及结算授权信息后,若所有参与合约机构投票确认通过,则向所述合约结算数据指示的需要向目标用户进行结算的目标合约机构发送结算通知消息,并在所述目标合约机构接收到所述结算通知消息后,由所述目标合约机构通过加密货币交易系统将与需要转移的加密货币的数量等量的加密货币转移到对应目标用户的账户。
在一个实施例中,所述处理单元,还用于在接收到所述每个合约参与用户对应的合约机构返回的投票确认信息以及结算授权信息后,若所述所有参与合约机构投票确认通过,则若所述合约结算数据指示的需要向目标用户进行结算的目标合约机构,与发起合约结算的合约机构为同一合约机构,则通过所述加密货币系统将所述结算数据指示的需要转移的加密货币数额从合约加密货币转移到对应目标用户的账户。
在一个实施例中,所述处理单元,还用于将所述合约结算数据以及所述结算授权信息再次同步给所述所有合约参与用户对应的合约机构,以通知所述目标合约机构对合约结算数据指示的所述目标合约机构下的目标合约用户进行结算;
所述处理单元,还用于所述目标合约机构收到同步数据后,所述目标合约机构通过所述加密货币交易系统将与需要转移的加密货币的数量等量的加密货币转移到对应目标用户的账户。
在一个实施例中,所述处理单元,还用于响应于将新的合约算法添加到所述智能合约的触发操作,将所述触发操作,所述新的合约算法,以及为所述新的合约算法中的算法变量因子设置的量化数据同步给所述所有合约参与用户,并获取每个合约参与用户的投票信息;
所述存储单元,还用于若根据获取的投票信息综合结果通过,则将新的合约数据信息存储到所述合约加密货币中,得到更新后的智能合约;其中,所述新的合约数据信息至少包括:新的合约算法信息,为所述新的合约算法中的算法变量因子设置的量化数据和签名信息,所述新的合约算法信息包括所述新的合约算法的地址或所述新的合约算法内容。
在一个实施例中,所述处理单元,还用于针对其他有价电子资产接入适应所述智能合约所在的智能合约系统的情况,通过所述加密货币交易系统授权接入使用所述有价电子资产的交易系统;
所述处理单元,还用于在合约参与用户基于所述合约规则约束转移用户电子资产给智能合约时,通过所述加密货币交易系统间接调用所述有价电子资产的交易系统完成对需要转移的目标资产的转入;
所述处理单元,还用于在执行合约结算时,通过所述加密货币交易系统间接调用所述有价电子资产的交易系统完成对合约资金的结算转移。
在一个实施例中,若所述智能合约只在一个合约机构运行,所述处理单元,还用于在所述合约机构发布合约算法时,发布的合约算法只存储在所述合约机构的本地;
所述处理单元,还用于在合约结算时,所述合约机构根据所述合约算法,合约求证数据,以及为每个算法变量因子设置的量化数据计算得到合约结算数据;
所述处理单元,还用于通过所述加密货币交易系统将所述结算数据指示的需要转移的加密货币数额,从所述合约加密货币转移到对应目标用户的账户。
再一方面,本发明实施例提供了一种合约机构的服务器,包括处理器、输入设备、输出设备和存储器,所述处理器、输入设备、输出设备和存储器相互连接,其中,所述存储器用于存储支持终端执行上述方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如下步骤:
响应于多个合约参与用户中的任一合约参与用户触发的针对智能合约的创建操作,确定待生成智能合约的合约算法,所述合约算法包括多个合约规则,且存在至少一个合约规则包括了一个或多个自定义的算法变量因子;
确定为每个算法变量因子设置的量化数据,所述量化数据是由所有合约参与用户协商确定的;
通过加密货币交易系统创建合约加密货币,并将合约数据信息存储到所述合约加密货币中,得到智能合约;其中,所述合约数据信息至少包括:合约算法信息,所述量化数据和签名信息,所述合约算法信息包括所述合约算法的地址或合约算法内容。
再一方面,本发明实施例提供了计算机可读存储介质,所述计算机可读存储介质中存储有程序指令,所述程序指令被处理器执行时,用于执行如下步骤:
响应于多个合约参与用户中的任一合约参与用户触发的针对智能合约的创建操作,确定待生成智能合约的合约算法,所述合约算法包括多个合约规则,且存在至少一个合约规则包括了一个或多个自定义的算法变量因子;
确定为每个算法变量因子设置的量化数据,所述量化数据是由所有合约参与用户协商确定的;
通过加密货币交易系统创建合约加密货币,并将合约数据信息存储到所述合约加密货币中,得到智能合约;其中,所述合约数据信息至少包括:合约算法信息,所述量化数据和签名信息,所述合约算法信息包括所述合约算法的地址或合约算法内容。
在本发明实施例中,在任一合约参与用户发起针对智能合约的创建触发操作后,发起智能合约创建的合约参与用户所在的合约机构可先确定出待生成智能合约的合约算法,并确定出为该合约算法中包括的每个算法变量因子所设置的量化数据,从而可通过加密货币交易系统创建合约加密货币,并在将确定出的合约算法的地址,量化数据,以及由该合约算法的地址和量化数据进行签名得到的签名信息存储到合约加密货币后生成智能合约,本发明实施例将智能合约算法拆解为合约算法,以及合约算法中算法变量因子的量化数据,而由于合约算法是通用的,则可提升对合约算法的使用次数,从而简化智能合约生成时的算法开发流程。此外,在生成智能合约后,可进行合约求证数据的采集,并将采集到的合约求证数据作为合约结算执行的参考依据,丰富了用户对智能合约的规则约束和执行需求,而且,本发明实施例所提出的智能合约,可在生成智能合约后,基于用户需求进行新的合约算法的补充,解决了合约算法一旦发布到区块链网络就被不可变更的问题,提升了对智能合约进行补充时的灵活性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种智能合约系统的示意图;
图2是本发明实施例提供的一种基于加密货币的智能合约生成方法的示意流程图;
图3是本发明实施例提供的一种基于加密货币的智能合约生成装置的示意性框图;
图4是本发明实施例提供的一种合约机构所在的服务器的示意性框图。
具体实施方式
本发明实施例提出了一种基于加密货币的智能合约生成方法,该智能合约是基于加密货币实现的智能合约,在生成该智能合约时,可在分别确定出待生成智能合约的合约算法和为每个算法变量因子设置的量化数据后,通过加密货币交易系统创建合约加密货币,从而可进一步地将确定出的合约算法的地址,该量化数据,以及基于该合约算法的地址和量化数据签名得到的签名信息存储到该合约加密货币中,从而生成智能合约。其中,该加密货币是一种线上的基于密码学原理确保安全交易的媒介,本发明实施例所描述的加密货币主要是指通过特定机构发行和维护的加密货币,而不是基于区块链的货币,该合约算法是用软件编码,并用于解决某类问题的通用逻辑规则(协议)的框架,该合约算法可由各合约机构提前编写并发布到公信平台进行存储,其中,合约机构指具有该套合约系统合约资质的机构或主体,同时也具备加密货币的接入资质的机构,公信平台是指该平台能为大家提供安全可信数据的平台,该公信平台例如可以是区块链或有重要机关背景的权威平台,公信平台可对各种类型合约协议对应的合约算法进行存储,该各种类型合约协议例如可以是预付款类合约协议,租住房屋类合约协议等。
在一个实施例中,加密货币交易系统是指负责进行加密货币交易和管理相关的系统,该加密货币包括用户加密货币和合约加密货币,用户加密货币是指加密货币的属主为个人用户的加密货币,而合约加密货币则是指对应属主为智能合约的加密货币,可以理解的是,属主为个人用户的用户加密货币对应个人用户对该用户加密货币具备支配的权力,即个人用户不需要任何规则约束,即可任意使用该个人用户的用户加密货币,而合约加密货币相比于用户加密货币,另外存储了合约算法的地址,对应算法变量因子的量化数据,以及由该合约算法的算法地址和量化数据进行签名得到的签名信息,因此合约加密货币的本质为智能合约,该合约加密货币的属主则为该合约协议的每个合约参与用户,且其使用受到合约算法中合约规则的约束,即在合约算法中的合约规则被执行时,才能使用被执行的合约规则对应数额的合约加密货币。可以理解的是,采用本发明实施例提及的智能合约生成方法得到的智能合约是以合约加密货币为载体的智能合约,其表现形式为合约加密货币,并同时具备交易的功能,因此,采用本发明实施例提出的智能合约生成方法所生成的智能合约回归了智能合约本身的价值和权力范围,即智能合约(合约加密货币)归属所有的合约参与用户共同所有,是所有合约参与用户的共同资产,每个合约参与用户均可查看及发起维护该共同资产;此外,由于智能合约本身具备价值,各合约参与用户相对于该智能合约的价值有一定的占比价值,因此,该智能合约还可基于此实现智能合约权益的转卖或转让等,实现了对智能合约的合约功能的丰富。
在生成智能合约,并在对生成的智能合约进行生效完成后,可在履行该智能合约的过程中进行合约求证数据的采集和确认,并在对采集到的合约求证数据进行确认完成后执行合约结算,其中,该智能合约生成方法可应用在如图1的合约系统所示,该智能合约生成方法是由多个合约参与用户中触发智能合约创建操作的任一合约参与用户所在的合约机构的服务器执行的,可以理解,合约参与用户所在的合约机构为合约参与机构,由于该任一合约参与用户所在的合约机构为第一个主动发起创建该智能合约的合约机构,那么,该多个合约参与用户中发起针对该智能合约的创建操作的合约机构则为合约发起机构,而任一合约参与用户均可通过所在的合约机构发起针对智能合约的创建操作,那么可以理解,该任一合约参与机构均可在发起智能合约创建时作为合约发起机构,其中,本发明实施例提出的智能合约生成方法是由合约发起机构对应的服务器执行的,在本发明实施例所提及的合约机构,合约发起机构,或者合约参与机构均是指对应机构所在的服务器。
在一个实施例中,发起智能合约创建的任一合约参与用户所在的合约机构可以是图1所示的合约系统中由10标记的合约起机构,此外,该合约系统还包括公信平台11和其他合约参与用户所在的其他合约机构12。其中,该合约系统主要包括:内部操作模块、合约交互模块、合约生成模块、合约采集模块、合约执行模块。内部操作模块主要提供给合约机构的内部工作人员进行交互接入,该内部工作人员可通过该内部操作模块进行合约算法的发行;合约交互模块主要用于对接一个或多个合约参与用户,或者用于对接合作渠道的接入,在本发明实施例中主要用于接收合约参与用户针对智能合约的操作请求(如针对智能合约的创建操作等);合约生成模块用于对合约参与用户提交的具体合约合同信息(如针对智能合约中算法变量因子的量化数据)进行校验,存储,以及确认等;合约采集模块用于采集合约参与用户上报的合约求证数据,并对该合约求证数据进行存储和同步到其他合约参与用户对应的合约参与机构,从而在合约参与用户对该合约求证数据投票通过后,确定采集的合约求证数据生效;合约执行模块用于协调合约算法的执行以及后续发起的合约结算的执行;加密货币交易系统,是合约系统外的依赖系统(各合约机构都需要有该加密货币交易系统,或存在委托可用的加密货币交易系统),该加密货币交易系统主要用于对加密货币的交易和管理。
在一个实施例中,合约机构的内部人员可通过合约机构10的内部操作模块发行合约算法,并经由合约发行模块将发行的合约算法存储到公信平台11中,在合约机构10对应的合约参与用户向合约机构10请求创建智能合约时,该合约机构10是通过合约交互模块接收由合约参与用户发送的针对智能合约的创建请求的,并将该创建请求发送给合约生成模块,合约生成模块在接收到该创建请求后,则可确定出待生成智能合约的合约算法,从而生成智能合约。此外,在生成智能合约后,合约机构10中的合约采集模块还可获取合约求证数据,该合约执行模块在合约求证数据生效后,则可执行合约结算,其中,在执行合约结算时需要通过加密货币交易系统进行加密货币资金的结算。
在一个实施例中,内部工作人员通过内部操作模块发行的合约算法可采用编程语言进行编写,或者采用规则语言进行编写,此外,内部工作人员在设计合约算法时,还需要为合约算法本身设计兜底规则,以保证合约算法本身有漏洞或纠纷需要解决时,可基于该兜底规则的介入进行补救。在对合约算法设计完成后,则可通过该内部操作模块进行合约算法的发行,具体的,该内部操作模块在发行合约算法时,通过合约发行模块提交合约算法,并发行到公信平台,以供所有合约机构进行采录和使用。其中,发布到公信平台的合约算法无需加密或编译处理,以便于对合约算法的监督审查。
在生成智能合约时,可由多个合约参与用户中的任一合约参与用户通过所在的合约机构触发创建,可以理解,发起智能合约创建的合约参与用户所在的合约机构为合约发起机构,在任一合约参与用户通过所在的合约机构发起智能合约的创建后,该任一合约参与用户所在的合约机构(即合约发起机构)在基于该创建操作生成智能合约时,需要先确定出待生成智能合约的合约算法,其中,合约发起机构是根据任一合约参与用户发送到所在合约机构的算法编号确定出待生成智能合约的合约算法的,该任一合约参与用户发送到合约发起机构的算法编号是多个合约参与用户从多个合约算法中协商选取出的适用于待生成智能合约的合约算法的编号,其中,该算法编号用于指示待生成智能合约的合约算法在公信平台中的存储位置。
该任一合约参与用户所在的合约机构所确定出的合约算法包括多个合约规则,且存在至少一个合约规则包括了一个或多个自定义的算法变量因子,可以理解的是,该算法变量因子是用于确定具体合约算法的边界或协商的数据,在根据合约算法得到该多个合约参与用户需要的智能合约时,该多个合约参与用户可协商生成该合约算法中每个算法变量因子对应的量化数据,从而使得该合约算法被执行时按照每个算法变量因子对应的具体的量化数据进行执行。举例来说,若该待生成智能合约的合约算法包括的任一合约规则为“收款方第一批交货延期超过X天,则罚款合约金额的百分之Y”,该合约规则中存在两个自定义的算法变量因子,该算法变量因子分别为X和Y,若该多个合约参与用户协商得到的算法变量因子X的量化数据为3,算法变量因子Y的量化数据为1,那么,在执行该条合约规则时,如果确定收款方第一批交货延期已超过3天,则将罚款合约金额的百分之1。
在确定出待生成智能合约的合约算法,以及为每个算法变量因子所设置的量化数据后,发起智能合约创建操作的合约参与用户所在的合约机构可通过加密货币交易系统创建合约加密货币,并在将合约算法的地址,量化数据,以及由合约算法的地址与量化数据进行签名得到的签名信息存储到该合约加密货币中后,实现对智能合约的生成。其中,加密货币交易系统在生成合约加密货币时,需设置合约加密货币归该合约多个合约参与用户所有,并把待生成智能合约所需的合约信息(如合约算法的地址、为算法变量因子所设置的量化数据以及合约的状态进度等)存储到加密货币表达式中,在加密货币表达式存储空间不够时,把所需的合约信息存储到合约安全存储平台,并把存储到合约安全存储平台的合约信息的签名存储到加密货币表达式中。其中,加密货币表达式是指每个加密货币本身代表的属性信息,里面记录有如:发行机构、金额、拥有者(即属主信息)、自定义数据和签名等,在为加密货币表达式写入信息时,是指将需要写入的信息写入到该加密货币表达式的自定义数据字段。
在生成智能合约后,该多个合约参与用户中的一个或多个合约参与用户需要在合约规则约定的转移约束时间到达之前,通过加密货币交易系统主动将目标数额的用户加密货币转移到合约加密货币中,其中,该目标数额的用户加密货币可以是由合约发起用户(即触发针对智能合约的创建操作的任一合约参与用户)提供的,或者,也可以是由多个合约参与用户中的任意一个或多个合约参与用户提供的,其中,该目标数额的用户加密货币可以是履行该智能合约所需的全部数额的加密货币,或者,也可以是履行智能合约中的部分合约规则时所需的部分数额的加密货币,如履行智能合约的第一合约阶段或者第二合约阶段时所需的加密货币。若该目标数额的加密货币为履行智能合约中的部分合约规则所需的加密货币,那么在智能合约的履行过程中,还可继续添加用户加密货币到合约加密货币中,以保证智能合约中全部合约规则的履行。
由于该智能合约是由发起智能合约创建的任一合约参与用户所在的合约机构(即合约发起机构)生成的,在生成智能合约后,该合约发起机构需要将生成的智能合约同步到其他合约参与用户所在的合约机构,每个合约参与用户所在的合约机构在接收到该生成的智能合约后,可判断是否认可用于生成该智能合约的合约算法,并向合约发起机构发送认可该合约算法的反馈信息,以使得合约发起机构可基于该反馈信息确定每个合约参与用户是否认可该合约算法,并在该合约发起机构基于该反馈信息确定每个合约参与用户均认可该合约算法后,该智能合约才正式开始处于生效状态。此外,若每个合约参与用户认可该合约算法,则还需要反馈授权信息(如支付密码的授权信息或生物识别认证的授权信息等),该授权信息用于在履行智能合约过程中自动进行合约结算,实现了对各合约参与用户的利益的保障,此时,各合约参与用户也就成为了合约加密货币的拥有者之一,也就可以作为合约资产在各合约参与用户的个人资产数据中进行展示,并可通过所在的合约机构发起对针对智能合约的相关操作,如合约结算操作等。
在智能合约生效之后,在履行智能合约的过程中,需要进行合约求证数据的采集,其中,对合约求证数据的采集过程,可以由任一合约参与用户发起人工录入指定问题的答案数据,从而可在将获取到的答案数据经各合约参与用户投票确认后,作为采集的合约求证数据。在一个实施例中,若采集的求证数据为人工录入的答案数据,则需要先通过对应的合约机构将该合约求证数据同步到其他合约参与用户所在的合约机构,并进一步通知各合约参与用户进行投票确认,在综合各合约参与用户对采集到的合约求证数据的投票结果为确认通过,则确认采集到的合约求证数据生效,可以理解的是,生效的合约求证数据才可运用到后续合约的结算执行过程。针对其他合约参与用户恶意不通过采集的合约求证数据的情况,可在发布合约算法时,从算法本身建立保护机制,也可在其他合约参与用户恶意不通过时向仲裁机构发起仲裁请求,以使得仲裁机构接入智能合约的执行,并在合约内进行解决,从而可实现对每个合约参与用户的利益的保障。
在一个实施例中,该合约求证数据也可以从公信平台进行采集,采集的合约求证数据可存储在合约机构的内部存储器,也可以存储在合约安全存储平台中,各合约机构均可对该合约安全存储平台进行访问,对于从公信平台采集的合约求证数据则不需要同步给合约参与用户进行投票确认,只需要在获取到该合约求证数据后,将采集到的合约求证数据公示给合约参与用户一定时间,并在公示阶段未接收到合约参与用户发送的针对采集的合约求证数据的反对意见时,认为从公信平台采集的到合约求证数据生效,而如果在公示期间接收到存在合约参与用户对该合约求证数据的反对意见,则认为采集到的合约求证数据存在异常。在该合约求证数据存在异常时,合约参与用户可根据智能合约的履行情况确定是否暂停智能合约的履行,同时,该合约参与用户可请求仲裁机构进行仲裁,以从仲裁机构确定是否生效采集到的合约求证数据,其中,合约求证数据接收到反对意见时,合约机构的内部工作人员可介入排查该合约求证数据存在反对意见的原因,从而可保证采集的合约求证数据的公平性,公正性和可信性。
采集并生效的合约求证数据用于执行合约结算,合约结算的执行过程包括合约算法执行过程和资金结算过程,该合约结算的执行可由合约发起机构自主发起,也可由合约参与用户发起,在合约算法执行的过程中,可根据合约算法,为合约算法中的算法变量因子所设置的量化数据,采集的合约求证数据进行规则运算得到合约结算数据,进一步地,可将得到的合约结算数据同步给各合约参与用户所在的合约机构进行投票确认,并在综合各合约参与用户所在的合约机构的投票结果通过后再执行资金结算过程,其中,在将合约结算数据同步给各合约参与用户所在的合约机构后,每个合约机构将对合约结算数据进行验证,并在验证通过过后返回投票确认信息以及结算授权信息,从而可在综合投票结果后执行资金结算过程,执行资金结算过程即是对加密货币资金进行处理,其中,该结算授权信息例如可以是结算授权令牌等,授权令牌是指通过密码学原理来表明该合约机构对此操作认可的证明信息,其他机构是不能伪造的。
在一个实施例中,执行合约结算时涉及的对加密货币资金的操作需要由加密货币交易系统来执行,如果合约参与用户来自多个不同的合约机构,那么在执行合约结算时,可在确定出合约结算数据,并将该合约结算数据同步给每个合约参与用户所在的合约机构进行确认,参与机构全部投票通过并获取各机构结算授权信息后,根据该合约结算数据发起跨机构用户结算。在一个实施例中,若合约参与用户都同属于同一个合约机构,那么在采集到合约求证数据后,则不再需要同步到其他合约机构,也不需要在进行合约结算时同步结算数据和跨机构结算。
请参见图2,是本发明实施例提出的一种智能合约生成方法的示意流程图,该方法可由发起智能合约创建的任一合约参与用户所在的合约机构(即合约发起机构)执行,即具体由合约机构对应的服务器执行,本发明实施例所提出的智能合约生成方法,在定义上先把合约数据拆分成合约算法、算法变量因子、合约求证数据、合约结算数据。首先,合约机构的内部人员通过机构合约系统提前设计并发布合约算法到公信平台供大家使用;然后,由多个合约参与用户共同协商决定采用何种协议(合约算法),并通过任一合约参与用户所在的合约机构生成具体的智能合约。在生成智能合约时,会通过加密货币交易系统生成合约加密货币,其中,合约信息会记录到加密货币表达式中,从而使得将加密货币作为生成的智能合约的载体,此外,基于合约参与用户的确认投票机制让生成的智能合约正式生效。进一步地,合约参与用户可从合约机构合约录入合约求证数据,并基于用户确认投票机制让合约求证数据生效;最后,进行合约结算执行,所述合约结算执行的过程具体包括合约算法执行过程和资金结算过程,合约算法执行过程先由执行发起的合约机构执行计算并获得合约结算数据,并基于合约参与机构的投票机制确保合约结算数据的公平准确,进而可基于各合约机构投票返回的结算授权令牌和合约结算数据向加密货币交易系统发起合约结算执行(基于加密货币资金操作),并最终结束智能合约。具体地,如图2所示,该方法可包括:
S201,响应于多个合约参与用户中的任一合约参与用户触发的针对智能合约的创建操作,确定待生成智能合约的合约算法,所述合约算法包括多个合约规则,且存在至少一个合约规则包括了一个或多个自定义的算法变量因子。
在一个实施例中,合约算法是由合约机构提前编写并发布到公信平台的,该公信平台存储了多个合约算法,且每个合约算法与唯一的合约算法编号相对应,其中,每个合约算法对应的合约算法编号是根据合约算法的内容的不同,在合约机构将合约算法发布到公信平台时,由公信平台分配的唯一算法编号,也就是说,每个合约算法编号与合约算法的内容相对应,合约算法的内容不同,那么对应的合约算法编号也就不同。合约参与用户在协商确定出待生成智能合约的合约算法时,合约参与用户可根据已发布到公信平台的合约算法的算法内容进行选择,并选取出所需的待生成智能合约的合约算法,那么,在任一合约参与用户通过所在的合约机构发起智能合约创建时,发起智能合约创建的任一合约参与用户则可只需要将确定出的合约算法对应的合约算法编号发送到所在的合约机构,该合约机构则可基于接收到的合约算法编号确定出待生成智能合约的合约算法,其中,每个合约算法的合约算法编号用于指示合约算法对应存储在公信平台的存储位置,从而使得合约机构可基于该合约算法编号,从公信平台中确定出对应的合约算法。
可以理解,在多个合约参与用户协商确定出待生成智能合约的合约算法的过程,即是确定待生成智能合约的合约算法对应的合约算法编号的过程,具体地,发起智能合约创建的合约机构在确定待生成智能合约的合约算法时,是在多个合约参与用户协商并选择待生成智能合约的合约算法,并确定该待生成智能合约对应合约算法的合约算法编号后,从发起智能合约创建的任一合约参与用户(即合约发起用户)对应用户终端接收的合约算法编号,其中,该合约发起用户对应用户终端发送该合约算法编号,是在该合约发起用户执行针对智能合约的创建触发操作时一并发送的;进一步地,在确定出待创建智能合约对应的合约算法编号后,发起智能合约创建的合约机构则可根据所述合约算法编号,从所述公信平台定位出与所述合约算法编号匹配的合约算法内容,并下载所述合约算法内容,以及将所述合约算法编号,对应公信平台标识,以及由所述合约算法编号与所述公信平台标识进行签名得到的签名信息作为所述合约算法的地址。
在一个实施例中,在确定出待生成智能合约的合约算法后,由于该合约算法包括的合约规则中,至少存在一个合约规则包括有一个或多个自定义的算法变量因子,所以,在生成智能合约之前,还需确定出该自定义的算法变量因子对应的量化数据,即转而执行步骤S202,在确定出该自定义的算法变量因子对应的量化数据后,则可生成得到智能合约。
S202,确定为每个算法变量因子设置的量化数据,所述量化数据是由所有合约参与用户协商确定的。
为每个算法变量因子所设置的量化数据也是由所有合约参与用户协商确定的,在合约参与用户协商确定出算法变量因子对应的量化数据后,该合约发起用户则可通过对应的用户终端将协商确定出的每个算法变量因子的量化数据发送到合约机构,以使得合约机构确定出为每个算法变量因子所设置的量化数据。在合约机构确定出待生成智能合约的合约算法,以及为合约算法中每个算法变量因子设置的量化数据后,则可通过加密货币交易系统创建合约加密货币,并生成智能合约,即转而执行步骤S203。
S203,通过加密货币交易系统创建合约加密货币,并将合约数据信息存储到所述合约加密货币中,得到智能合约;其中,合约数据信息至少包括:合约算法信息,所述量化数据和签名信息,所述合约算法信息包括所述合约算法的地址或合约算法内容。
在一个实施例中,发起智能合约创建的合约参与用户所在的合约系统在确定出待生成智能合约的合约算法,以及为合约算法中的每个算法变量因子设置的量化数据后,可先通过加密货币交易系统创建合约加密货币,从而将合约算数据信息存储到给合约加密货币中,实现对智能合约的创建,其中,该合约数据信息可包括合约算法的地址,量化数据以及签名信息等信息,或者该合约数据信息可包括合约算法内容,量化数据以及签名信息等信息。在创建该合约加密货币后,需要向合约加密货币转移用户加密货币的合约参与用户,在转移约束时间到达前主动授权将该合约参与用户的用户加密货币转移到合约加密货币中。其中,需要向合约加密货币转移用户加密货币的合约参与用户可以是发起该智能合约创建的合约参与用户,或者,也可以不是发起该智能合约创建的合约参与用户,且需要向合约加密货币转移用户加密货币的合约参与用户的数量也可以是一个或者多个,那么,该需要向合约加密货币转移用户加密货币的合约参与用户,在通过加密货币交易系统将用户加密货币转移到合约加密货币中时,若发起智能合约创建的机构检测到目标合约用户按照智能合约中加密货币转入规则的约束,在所述转移约束时间到达前发起的将所述目标数额的用户加密货币转移到所述合约加密货币的转移操作,则该合约系统可获取执行所述目标合约用户发起的转移操作的授权信息;其中,所述加密货币转入规则包括:提供用户加密货币的目标合约用户的用户标识,所述用户加密货币的目标数额,以及所述用户加密货币转移到所述合约加密货币的转移约束时间约束;所述目标合约用户是所述多个合约参与用户中需要将用户加密货币转移到合约加密货币的一个或多个合约参与用户;在获取到授权信息后,则可通过所述加密货币交易系统将所述目标数额的用户加密货币转移到所述合约加密货币中,从而实现在转移约束时间到达前向合约加密货币进行资金转移。
在一个实施例中,如果由需要向合约加密货币转入用户加密货币的用户触发所述智能合约的创建操作,则在需要向所述合约加密货币转入资金的用户触发所述创建操作时,选择同时授权将协商的目标数额的用户加密货币转移给合约加密货币;在合约机构获取到所述授权信息后,则在该合约机构在通过所述加密货币交易系统创建所述合约加密货币成功时,可同时通过所述加密货币交易系统将协商的目标数额的用户加密货币转移到所述合约加密货币中,使得在发起智能合约创建的一刻,即可同时授权转移用户加密货币给合约加密货币,那么,在创建的智能合约生效时,用于执行该智能合约的合约加密货币就已经准备完成,也就可以直接进行智能合约的执行,也就不再需要在智能合约生效之后再敦促进行合约加密货币的转移,从而可提升对智能合约执行时的效率。
在合约机构通过加密货币交易系统创建合约加密货币后,再将确定出的合约算法的地址,量化数据,以及由合约算法的地址和量化数据进行签名得到的签名信息存储到合约加密货币中之后,即可生成智能合约,其中,生成的智能合约为待生效状态,在执行该智能合约之前,则需要先将待生效状态的智能合约先转换为生效状态之后,再进行智能合约的执行。在具体实现中,合约机构可在生成该智能合约后,先将智能合约同步给每个合约参与用户对应的用户终端(或者所在的合约机构),并接收每个结合约参与用户针对该智能合约的反馈信息,其中,该反馈信息用于指示对应的合约参与用户是否认可该智能合约所包括的合约内容(该合约内容包括智能合约的合约规则,以及设置的量化数据等),进一步地,在合约机构根据获取到的每个合约参与用户针对该智能合约的反馈信息,确定每个合约参与用户认可该智能合约包括的合约内容后,则可将生成的智能合约从待生效状态转换为生效状态,其中,处于生效状态的智能合约才可用户智能合约的执行过程。
在智能合约处于生效状态后,则可履行该智能合约,在履行该智能合约的过程中,可先确定合约求证数据,并将确定出的合约求证数据从待生效状态转换为生效,其中,合约机构确定出的合约求证数据是任一合约参与用户基于该合约规则的问题列表提交的答案数据,或者公信平台响应针对该合约求证数据的获取请求所返回的数据。在一个实施例中,在将确定出的合约求证数据从待生效状态转换成生效状态时,若所述合约求证数据从所述任一合约参与用户采集得到,则将所述合约求证数据同步给所有合约参与用户,并接收每个合约参与用户针对所述合约求证数据的投票信息,若根据接收的投票信息综合确定所述合约求证数据通过投票,则将确定的合约求证数据从所述待生效状态转换为生效状态。
在一个实施例中,若所述合约求证数据是从所述公信平台采集得到的,则可在采集到该合约求证数据后,对采集得到的合约求证数据进行公示,并对该合约求证数据进行公示的公示阶段未接收到合约参与用户发送的针对所述合约求证数据的反对意见时,将确定的合约求证数据从所述待生效状态转换为生效状态,同样的,由于合约机构在采集到合约求证数据后,也需要将采集到的合约求证数据同步给其他合约参与用户进行投票确认,或者公示给其他合约参与用户进行确认,从而可有效保证采集到的合约求证数据的真实性,避免了采集虚假合约求证数据对合约参与用户的利益遭受损害,从而也就实现了在履行智能合约过程中,对合约参与用户的利益的保障。
由于采集到的合约求证数据是在同步给所有合约参与用户进行投票确认之后才进行生效的,因此,为了防止恶意不进行确认投票的合约参与用户的投票作恶行为,可发起仲裁请求,其中,该仲裁请求可以是提交合约求证数据的合约参与用户对综合投票结果有异议时发起的,用于向仲裁机构请求对采集到的合约求证数据的投票结果进行重新仲裁投票,而该仲裁机构在接收到仲裁请求后重新对采集到的合约求证数据进行仲裁处理,从而基于仲裁机构对该合约求证数据的仲裁处理结果,确定是否将采集到的合约求证数据从待生效状态转换为生效状态。在具体实现中,合约机构若根据接收的投票信息综合确定所述合约求证数据未通过投票,且存在对所述合约求证数据的综合投票结果有异议的合约参与用户,那么,该合约机构则可在获取到对合约求证数据的投票有异议的合约参与用户发送的仲裁申请后,向仲裁机构发送协助对所述合约求证数据进行投票的仲裁请求,进一步地,合约机构则可从所述仲裁机构获取对所述合约求证数据的投票结果,并在该投票结果指示所述合约求证数据为有效数据时,将该合约求证数据的状态转换为生效状态。或者,如果从仲裁机构获取的对合约求证数据进行投票的结果指示合约求证数据为无效数据,则获取到的合约求证数据仍然保持待生效状态。
在采集到合约求证数据,并将该合约求证数据从待生效状态转换为生效状态后,该处于生效状态的合约求证数据可用于执行合约结算,其中,合约机构可检测针对所述智能合约的执行触发操作,并在检测到针对所述智能合约的执行触发操作时,执行合约结算。在一个实施例中,合约机构执行合约结算时,可先根据合约算法,采集到的合约求证数据,以及为每个算法变量因子设置的量化数据生成合约结算数据,进一步地,在得到合约结算数据后,将计算得到的合约结算数据同步给所有合约参与用户所在的合约机构,并接收每个合约参与用户对应的合约机构对所述合约结算数据进行投票确认并发送的投票确认信息和结算授权信息。在一个实施例中,发起针对智能合约进行合约结算的执行触发操作的合约参与用户可以是发起创建智能合约的合约参与用户,也可以是任一合约参与用户,其中,如果是由创建智能合约的合约机构对应的合约参与用户触发合约结算,那么由创建该智能合约的合约机构直接执行合约结算;而如果是由非创建智能合约的合约机构对应的合约参与用户触发合约结算,那么对应合约机构在接收到该合约触发操作后,需将该合约触发操作转发给创建智能合约的合约机构,并由创建智能合约的合约机构执行合约结算。
在合约机构获取到给投票确认信息和该结算授权信息后,则完成了针对合约结算数据的第一次数据同步,若各合约机构均对该合约结算数据进行了确认,并发送了投票确认信息和结算授权信息,则根据结算数据并通过机构内或跨机构结算给目标用户对应的结算金额;或者,也可以采用两次同步的方案,即把合约结算数据和结算授权信息再次同步给各合约参与用户所在的合约机构,从而使得各合约参与用户所在的合约机构对自己合约机构对应的用户进行结算。在具体实现中,发起合约结算的合约机构可在接收到所述每个合约参与用户对应的合约机构返回的投票确认信息以及结算授权信息后,若所述所有参与合约机构投票确认通过,则向所述合约结算数据指示的需要向目标用户进行结算的目标合约机构发送结算通知消息,并在所述目标合约机构接收到所述通知消息后,由所述目标合约机构通过加密货币系统将与需要转移的加密货币的数量等量的加密货币转移到对应目标用户的账户。
在一个实施例中,发起合约结算的合约机构在接收到投票确认信息和结算授权信息后,如果对合约结算数据进行二次同步,则可先将所述合约结算数据以及所述结算授权信息再次同步给所述所有合约参与用户对应的合约机构,以通知所述目标合约机构对合约结算数据指示的所述目标合约机构下的目标合约用户进行结算,其中,所述目标合约机构收到同步数据后,所述目标合约机构通过所述加密货币系统将与需要转移的加密货币的数量等量的加密货币转移到对应目标用户的账户,基于两次对合约结算数据的同步,可保证合约结算数据的真实性,从而实现了对合约参与用户进行资金结算过程中的保障。
在一个实施例中,在接收到所述每个合约参与用户对应的合约机构返回的投票确认信息以及结算授权信息后,若所述所有参与合约机构投票确认通过,则若所述合约结算数据指示的需要向目标用户进行结算的目标合约机构,与发起合约结算的合约机构为同一合约机构,则通过所述加密货币交易系统将所述结算数据指示的需要转移的加密货币数额从合约加密货币转移到对应目标用户的账户。或者,在一个实施例中,若每个合约参与用户对应同一合约机构,则在进行合约结算时,需要先根据所述合约算法,所述合约求证数据,以及为每个算法变量因子设置的量化数据计算生成合约结算数据,从而可通过所述加密货币交易系统将所述结算数据指示的需要转移的加密货币数额从合约加密货币转移到对应目标用户的账户。
在一个实施例中,在生成智能合约之后,还可将新的合约算法补充到生成的智能合约中,具体的,在检测到将新的合约算法添加到所述智能合约的触发操作时,则可判断是否允许进行新的合约算法的添加;若是,则将所述触发操作,所述新的合约算法,以及为所述新的合约算法中的算法变量因子设置的量化数据同步给所有合约参与用户,并获取每个合约参与用户的投票信息;并在根据获取的投票信息综合结果通过时,将新的合约数据信息存储到所述合约加密货币中,得到更新后的智能合约,从而实现对现有智能合约的协议补充,其中,该新的合约数据信息至少包括:新的合约算法信息等信息,为所述新的合约算法中的算法变量因子设置的量化数据和签名信息,所述新的合约算法信息包括所述新的合约算法的地址或所述新的合约算法内容。
在一个实施例中,合约算法的发布和执行,可以是由任一合约机构发起执行的,也可以由合约机构委托给其他权威机构发起执行,其中,合约参与用户所在的合约机构也可不具备直接操作加密货币的资质,可通过和有加密货币操作资质的机构签订协议,并授权给合约机构通过该有加密货币操作资质的机构间接操作加密货币。此外,合约机构在生成合约算法后,也可不将合约算法发布到公信平台中供给其他合约机构使用,即在生成合约算法后,也可只存储在合约机构的本地,供本机构使用。此外,在创建智能合约生成合约加密货币时,可直接把合约规则或合约算法等信息存储在合约加密货币中,而不是存储合约算法的地址等信息。其中,本发明实施例以加密货币作为智能合约的载体,但该智能合约的资产使用不局限于作为载体的加密货币,还可以是其他有价电子资产,如钱包余额、游戏币或者股票等。
为了拓宽本发明实施例所提出的智能合约的使用场景,如果智能合约系统使用加密货币体系,其他有价电子资产若需要接入适应该智能合约系统,则需要本加密货币交易系统同时有授权接入使用对应有价电子资产的交易系统,以实现通过合约机构的加密货币交易系统间接对其他有价电子资产操作。其中,如果有价电子资产已支持兑换为加密货币,则合约用户在按合约规则约束通过加密货币交易系统转移有价电子资产给智能合约时,加密货币交易系统先将有价电子资产兑换为加密货币,再转移到合约加密货币中,然后按智能合约正常流程运行;如果有价电子资产不支持兑换为加密货币,则加密货币交易系统需要先在有价电子资产的交易系统开设临时合约账户,合约用户在按合约规则约束通过加密货币交易系统转移有价电子资产给智能合约时,加密货币交易系统间接将用户目标金额的有价电子资产转移到临时合约账户,合约结算时,通过加密货币交易系统间接将临时合约账户中的目标金额转移给目标结算用户。
在一个实施例中,如果智能合约系统未使用加密货币体系,那么本实施例提及到的合约加密货币则仅作为智能合约的载体使用,而不作为该智能合约资产的载体,其他有价电子资产若需要接入适应该智能合约系统,则需要本加密货币交易系统同时有授权接入使用对应有价电子资产的交易系统,以实现通过合约机构的加密货币交易系统间接对其他有价电子资产操作,此外,加密货币交易系统可以使用智能合约系统中模块代替。其中,该加密货币交易系统可在有价电子资产的交易系统中,为该智能合约开通属于该智能合约的临时合约账户,合约用户在按合约规则约束通过加密货币交易系统转移有价电子资产给智能合约时,加密货币交易系统间接调用有价电子资产的交易系统,将用户目标金额的有价电子资产转移到临时合约账户,合约结算时,通过加密货币交易系统间接调用有价电子资产的交易系统,将临时合约账户中的目标金额转移给目标结算用户。
其中,需要说明的是,生成的智能合约也可只在一个合约机构运行,具体地,在该合约机构发布合约算法时,发布的合约算法只存储在该合约机构的本地,而在进行合约结算时,该合约机构可根据该合约算法,合约求证数据,以及为每个算法变量因子设置的量化数据计算得到合约结算数据,从而通过加密货币交易系统将所述结算数据指示的需要转移的加密货币数额,从所述合约加密货币转移到对应目标用户的账户。
在本发明实施例中,在任一合约参与用户发起针对智能合约的创建触发操作后,发起智能合约创建的合约参与用户所在的合约机构可先确定出待生成智能合约的合约算法,并确定出为该合约算法中包括的每个算法变量因子所设置的量化数据,从而可通过加密货币交易系统创建合约加密货币,并在将确定出的合约算法的地址,量化数据,以及由该合约算法的地址和量化数据进行签名得到的签名信息存储到合约加密货币后生成智能合约,本发明实施例将智能合约算法拆解为合约算法,以及合约算法中算法变量因子的量化数据,而由于合约算法是通用的,则可提升对合约算法的使用次数,从而简化智能合约生成时的算法开发流程。此外,在生成智能合约后,可进行合约求证数据的采集,并将采集到的合约求证数据作为合约结算执行的参考依据,丰富了用户对智能合约的规则约束和执行需求,而且,本发明实施例所提出的智能合约,可在生成智能合约后,基于用户需求进行新的合约算法的补充,解决了合约算法一旦发布到区块链网络就被不可变更的问题,提升了对智能合约进行补充时的灵活性。
本发明实施例所提出的智能合约,主要用于解决基于加密货币的公平公正交易相关的问题,特别适合解决一些有多步骤分阶段执行的,涉及多个合约参与用户的,而传统或网上操作又担心部分交易后他方违约有财产损失的问题。比如:私下预购商品、购买会员、交押金交订金类等,付款方预付款给收款方而付款方担心收款方不发货违约私吞货款跑路无法追回的问题,但如果付款方不预付款收款方担心备货后付款方不认可后损失的问题。具体场景如:私下或网上联系向厂家预购10万个口罩,通过微信支付提前部分预付款则买家风险很大,不预付款则卖家风险很大,此时利用本申请提出的基于加密货币的智能合约就能化解此风险,因为合约的算法框架保证了双方的利益,有问题可以进行止损执行或申请冻结和邀请法律机构来仲裁。
在一个实施例中,若待生成的智能合约为预付款类的智能合约,因此,在生成该智能合约时,则可确定出预付款类的智能合约所需的合约算法,若某合约机构发布了合约算法T,其内容为:
1、合约付款方(即需要给合约加密货币转移资金的合约参与用户)为A,收款方为B,允许的介入者列表C,合约总金额D,其中,该介入者例如可以是仲裁机构,合约总金额即是执行合约结算所需的加密货币的总额,也是需要转移到合约加密货币的总资金;
2、收款方M天内完成第一批交货(百分之N),则立即到账总合约金额的百分之L;
3、收款方第一批交货延期超过X天则罚款合约金额的百分之Y;
4、收款方在第O天内全部交货则合约金额归收款方(立即到账,罚款另算),合约结束;
5、收款方截止P天内完成全部交货,罚款合约金额的百分之Q,合约结束;
6、收款方截止R天内未完成全部交货,罚款合约金额的百分之S,合约结束;
7、收款方未做任何交货,合约金额全部退回给付款方,合约结束;
8、合约可采集的问题映射列表W;
9、用户可发起的合约操作的列表V;
10、一些保障合约正常运作的介入规则条例或其他子合约算法。
其中,该合约算法中包括上述的1~10条合约规则,且合约算法中包括的A/B/C/D/M/N/L/X/Y/O/P/W/V是该合约算法对应的算法变量因子,在生成智能合约时,则需要对设定该算法变量因子所对应的量化数据。假设用户A用此合约算法T和厂家B签订智能合约购买10万的口罩,此时用户A出资10万的加密货币生成智能合约,同时邀请厂家B参加本合约,此时用户A的10万用户加密货币变成了合约加密货币,厂家B同意后,货币真正归双方共同所有,另外会根据合约算法T的规则约定把协商确定的上述合约算法变量因子的量化数据记录合约加密货币中。
在生成该智能合约,并在智能合约开始生效后,可进行合约求证数据的采集,从而进行合约结算,其中,若用于进行合约求证数据采集的问题列表W为:
a、第一批交货时间(在履行到合约规则2和规则3时进行判断);
b、全部交货时间(可履行到合约规则4、规则5和规则6时进行判断);
c、是否有交货(可履行待合约规则7时进行判断)。
合约开始生效后,用户A或厂家B均可提交该答案数据作为合约求证数据,假设厂家B在发出第一批货后,录入问题映射列表中a对应的答案数据,用户A在收到第一批货后,并在确定到货时间无误后,则可对厂家B提交的针对a的答案数据进行起确认,此时厂家B(或用户A)就可发起第一阶段的合约结算的执行,在执行第一阶段的合约结算时,对应的合约机构可确定出如下的合约结算数据:用户A获得的加密货币的数额为0,厂家B立即获得目标数额的合约加密货币,其中,该目标数额为合约总金额D*百分之L,并完成第一批货的交货完成。进而,执行该智能合约的发起机构(厂家B所在的合约机构)可将计算出的合约结算数据同步到用户A所在的合约机构,并对该合约结算数据进行投票,在综合投票结果确定该合约结算数据的投票通过后,则可发起合约结算的执行(即资金结算,从合约加密货币中转出目标数额到厂家B的账户中)。假设一段时间后,厂家B完成全部交货,并录入问题映射列表中b对应的答案数据(假设此时交货时间大于O小于P),用户A接收到全部货并确认到货时间无误后,可进行第二阶段的合约结算,对应的合约机构可确定出如下的合约结算数据:用户A获得第一数额,厂家B获得第二数额,其中,第一数额为对厂家B的超时发货的罚款:合约总金额D*百分之Q,第二数额为厂家B应得的剩余货款:合约总金额D-目标数额-第一数额,且处于全部交货完成状态,在合约机构投票通过该合约结算数据后,则可发起资金结算,并通过加密货币交易系统把合约加密货币中的第一金额转出给用户A的账户,转出第二数额给厂家B的账户,此时合约加密货币中剩余金额为0,合约加密货币的合约状态结束,用户A和厂家B的合约结束。在一个实施例中,该合约算法T还可用于签订买水果合约、订购水果合约,订购家具合约,订购材料合约等等。
基于上述智能合约生成方法实施例的描述,本发明实施例还提出了一种智能合约生成装置,该智能合约生成装置可以是运行于上述任一合约参与用户所在合约机构的服务器中的一个计算机程序(包括程序代码),该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。其中,云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务,提供资源的网络被称为“云”,“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(Grid Computing )、分布式计算(DistributedComputing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(NetworkStorage Technologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。其中,该资源处理装置可用于执行如图2所述的智能合约生成方法,请参见图3,该智能合约生成装置包括:确定单元301和存储单元302。
确定单元301,用于响应于多个合约参与用户中的任一合约参与用户触发的针对智能合约的创建操作,确定待生成智能合约的合约算法,所述合约算法包括多个合约规则,且存在至少一个合约规则包括了一个或多个自定义的算法变量因子;
所述确定单元301,还用于确定为每个算法变量因子设置的量化数据,所述量化数据是由所有合约参与用户协商确定的;
存储单元302,用于通过加密货币交易系统创建合约加密货币,并将合约数据信息存储到所述合约加密货币中,得到智能合约;其中,合约数据信息至少包括:合约算法信息,所述量化数据和签名信息,所述合约算法信息包括所述合约算法的地址或合约算法内容。
在一个实施例中,所述合约算法是由合约机构编写并提前发布到公信平台的,所述公信平台存储了多个合约算法,且每个合约算法对应唯一的合约算法编号;所述确定单元301,具体用于:
接收合约发起用户对应的用户终端执行所述创建操作时所发送的合约算法编号,所述合约算法编号是由所述多个合约参与用户协商并选择所述合约算法时确定的;
根据所述合约算法编号,从所述公信平台定位出与所述合约算法编号匹配的合约算法内容;
下载所述合约算法内容,并将所述合约算法编号,对应公信平台标识,以及由所述合约算法编号与所述公信平台标识进行签名得到的签名信息作为所述合约算法的地址。
在一个实施例中,生成的智能合约为待生效状态,所述装置还包括:获取单元303。
获取单元303,用于将所述智能合约同步给每个合约参与用户对应的用户终端,并从所述每个合约参与用户对应的用户终端中获取针对所述智能合约的反馈信息,所述反馈信息用于指示对应合约参与用户是否认可所述智能合约包括的合约内容;
所述确定单元301,还用于若根据获取到的反馈信息确定每个合约参与用户认可所述智能合约包括的合约内容,则将生成的智能合约从所述待生效状态转换为生效状态。
在一个实施例中,所述装置还包括:处理单元304。
所述获取单元303,还用于若检测到目标合约用户按照所述智能合约中加密货币转入规则的约束,在转移约束时间到达前,发起的将目标数额的用户加密货币转移到所述合约加密货币的转移操作,则获取执行所述目标合约用户发起的转移操作的授权信息;所述加密货币转入规则包括:提供用户加密货币的目标合约用户的用户标识,所述用户加密货币的目标数额,以及所述用户加密货币转移到所述合约加密货币的转移约束时间;所述目标合约用户是所述多个合约参与用户中的一个或多个合约参与用户;
处理单元304,用于在获取到所述授权信息后,通过所述加密货币交易系统将所述目标数额的用户加密货币转移到所述合约加密货币中。
在一个实施例中,所述处理单元304,还用于若由需要向所述合约加密货币转入用户加密货币的用户触发所述智能合约的创建操作,则在需要向所述合约加密货币转入资金的用户触发所述创建操作时,选择同时授权将协商的目标数额的用户加密货币转移给合约加密货币;
所述转移单元304,还用于在获取到所述授权信息后,若通过所述加密货币交易系统创建所述合约加密货币成功,则自动通过所述加密货币交易系统将协商的目标数额的用户加密货币转移到所述合约加密货币中。
在一个实施例中,所述确定单元301,还用于在履行所述智能合约的过程中,确定合约求证数据,所述合约求证数据是任一合约参与用户基于所述合约规则的问题列表提交的答案数据,或者所述公信平台响应针对所述合约求证数据的获取请求所返回的数据;
其中,确定的合约求证数据为待生效状态。
在一个实施例中,所述处理单元304,还用于若所述合约求证数据从所述任一合约参与用户采集得到,则将所述合约求证数据同步给所有合约参与用户;
所述处理单元304,还用于接收每个合约参与用户针对所述合约求证数据的投票信息,若根据接收的投票信息综合确定所述合约求证数据通过投票,则将确定的合约求证数据从所述待生效状态转换为生效状态;
所述处理单元304,还用于若所述合约求证数据从所述公信平台采集得到,则公示所述合约求证数据,若在公示阶段未接收到合约参与用户发送的针对所述合约求证数据的反对意见,则将确定的合约求证数据从所述待生效状态转换为生效状态。
在一个实施例中,所述确定单元301,还用于若根据接收的投票信息综合确定所述合约求证数据未通过投票,且存在对所述合约求证数据的综合投票结果有异议的合约参与用户,则在合约机构获取到对合约求证数据的投票有异议的合约参与用户发送的仲裁申请后,向仲裁机构发送协助对所述合约求证数据进行投票的仲裁请求;
所述获取单元303,还用于从所述仲裁机构获取对所述合约求证数据的投票结果;
所述处理单元304,还用于若所述投票结果指示所述合约求证数据为有效数据,则将所述合约求证数据的状态转换为生效状态。
在一个实施例中,所述装置还包括:检测单元305。
检测单元305,用于在履行所述智能合约的过程中,检测针对所述智能合约的执行触发操作;
所述处理单元304,还用于若检测到针对所述智能合约的执行触发操作,则执行合约结算。
在一个实施例中,所述确定单元301,还用于根据所述合约算法,所述合约求证数据,以及为每个算法变量因子设置的量化数据计算生成合约结算数据;
所述处理单元304,还用于将所述合约结算数据同步给所述所有合约参与用户对应的合约机构,接收所述每个合约参与用户对应的合约机构对所述合约结算数据进行投票确认并发送的投票确认信息以及结算授权信息;
其中,在接收到所述每个合约参与用户对应的合约机构返回的投票确认信息以及结算授权信息后,若所有参与合约机构投票确认通过,则向所述合约结算数据指示的需要向目标用户进行结算的目标合约机构发送结算通知消息,并在所述目标合约机构接收到所述通知消息后,由所述目标合约机构通过加密货币交易系统将与需要转移的加密货币的数量等量的加密货币转移到对应目标用户的账户。
在一个实施例中,所述处理单元304,还用于在接收到所述每个合约参与用户对应的合约机构返回的投票确认信息以及结算授权信息后,若所述所有参与合约机构投票确认通过,则若所述合约结算数据指示的需要向目标用户进行结算的目标合约机构,与发起合约结算的合约机构为同一合约机构,则通过所述加密货币系统将所述结算数据指示的需要转移的加密货币数额从合约加密货币转移到对应目标用户的账户。
在一个实施例中,所述处理单元304,还用于将所述合约结算数据以及所述结算授权信息再次同步给所述所有合约参与用户对应的合约机构,以通知所述目标合约机构对合约结算数据指示的所述目标合约机构下的目标合约用户进行结算;
所述处理单元304,还用于所述目标合约机构收到同步数据后,所述目标合约机构通过所述加密货币交易系统将与需要转移的加密货币的数量等量的加密货币转移到对应目标用户的账户。
在一个实施例中,所述处理单元304,还用于响应于将新的合约算法添加到所述智能合约的触发操作,将所述触发操作,所述新的合约算法,以及为所述新的合约算法中的算法变量因子设置的量化数据同步给所有合约参与用户,并获取每个合约参与用户的投票信息;
所述存储单元302,还用于若根据获取的投票信息综合结果通过,则将新的合约数据信息存储到所述合约加密货币中,得到更新后的智能合约;其中,所述新的合约数据信息至少包括:新的合约算法信息,为所述新的合约算法中的算法变量因子设置的量化数据和签名信息,所述新的合约算法信息包括所述新的合约算法的地址或所述新的合约算法内容。
在一个实施例中,所述处理单元304,还用于针对其他有价电子资产接入适应所述智能合约所在的智能合约系统的情况,通过所述加密货币交易系统授权接入使用所述有价电子资产的交易系统;
所述处理单元304,还用于在合约参与用户基于所述合约规则约束转移用户电子资产给智能合约时,通过所述加密货币交易系统间接调用所述有价电子资产的交易系统完成对需要转移的目标资产的转入;
所述处理单元304,还用于在执行合约结算时,通过所述加密货币交易系统间接调用所述有价电子资产的交易系统完成对合约资金的结算转移。
在一个实施例中,若所述智能合约只在一个合约机构运行,所述处理单元304,还用于在所述合约机构发布合约算法时,发布的合约算法只存储在所述合约机构的本地;
所述处理单元304,还用于在合约结算时,所述合约机构根据所述合约算法,合约求证数据,以及为每个算法变量因子设置的量化数据计算得到合约结算数据;
所述处理单元304,还用于通过所述加密货币交易系统将所述结算数据指示的需要转移的加密货币数额,从所述合约加密货币转移到对应目标用户的账户。
在本发明实施例中,在任一合约参与用户发起针对智能合约的创建触发操作后,确定单元301可先确定出待生成智能合约的合约算法,并确定出为该合约算法中包括的每个算法变量因子所设置的量化数据,从而存储单元302可通过加密货币交易系统创建合约加密货币,并在将确定出的合约算法的地址,量化数据,以及由该合约算法的地址和量化数据进行签名得到的签名信息存储到合约加密货币后生成智能合约,本发明实施例将智能合约算法拆解为合约算法,以及合约算法中算法变量因子的量化数据,而由于合约算法是通用的,则可提升对合约算法的使用次数,从而简化智能合约生成时的算法开发流程。此外,在生成智能合约后,可进行合约求证数据的采集,并将采集到的合约求证数据作为合约结算执行的参考依据,丰富了用户对智能合约的规则约束和执行需求,而且,本发明实施例所提出的智能合约,可在生成智能合约后,基于用户需求进行新的合约算法的补充,解决了合约算法一旦发布到区块链网络就被不可变更的问题,提升了对智能合约进行补充时的灵活性。
请参见图4,是本发明实施例提供的一种合约机构的服务器的结构示意性框图。如图4所示的本实施例中的服务器可包括:一个或多个处理器401;一个或多个输入设备402,一个或多个输出设备403和存储器404。上述处理器401、输入设备402、输出设备403和存储器404通过总线405连接。存储器404用于存储计算机程序,所述计算机程序包括程序指令,处理器401 用于执行所述存储器404存储的程序指令。
所述存储器404可以包括易失性存储器(volatile memory),如随机存取存储器(random-access memory,RAM);存储器404也可以包括非易失性存储器(non-volatilememory),如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;存储器404还可以包括上述种类的存储器的组合。
所述处理器401可以是中央处理器(central processing unit,CPU)。所述处理器401还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)等。该PLD可以是现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)等。所述处理器401也可以为上述结构的组合。
本发明实施例中,所述存储器404用于存储计算机程序,所述计算机程序包括程序指令,处理器401用于执行存储器404存储的程序指令,用来实现上述如图2中相应方法的步骤。
在一个实施例中,所述处理器401被配置调用所述程序指令,用于执行:
响应于多个合约参与用户中的任一合约参与用户触发的针对智能合约的创建操作,确定待生成智能合约的合约算法,所述合约算法包括多个合约规则,且存在至少一个合约规则包括了一个或多个自定义的算法变量因子;
确定为每个算法变量因子设置的量化数据,所述量化数据是由所有合约参与用户协商确定的;
通过加密货币交易系统创建合约加密货币,并将合约数据信息存储到所述合约加密货币中,得到智能合约;其中,合约数据信息至少包括:合约算法信息,所述量化数据和签名信息,所述合约算法信息包括所述合约算法的地址或合约算法内容。
在一个实施例中,所述合约算法是由合约机构编写并提前发布到公信平台的,所述公信平台存储了多个合约算法,且每个合约算法对应唯一的合约算法编号;所述处理器401被配置调用所述程序指令,用于执行:
接收合约发起用户对应的用户终端执行所述创建操作时所发送的合约算法编号,所述合约算法编号是由所述多个合约参与用户协商并选择所述合约算法时确定的;
根据所述合约算法编号,从所述公信平台定位出与所述合约算法编号匹配的合约算法内容;
下载所述合约算法内容,并将所述合约算法编号,对应公信平台标识,以及由所述合约算法编号与所述公信平台标识进行签名得到的签名信息作为所述合约算法的地址。
在一个实施例中,生成的智能合约为待生效状态,所述处理器401被配置调用所述程序指令,用于执行:
将所述智能合约同步给每个合约参与用户对应的用户终端,并从所述每个合约参与用户对应的用户终端中获取针对所述智能合约的反馈信息,所述反馈信息用于指示对应合约参与用户是否认可所述智能合约包括的合约内容;
若根据获取到的反馈信息确定每个合约参与用户认可所述智能合约包括的合约内容,则将生成的智能合约从所述待生效状态转换为生效状态。
在一个实施例中,所述处理器401被配置调用所述程序指令,用于执行:
若检测到目标合约用户按照所述智能合约中加密货币转入规则的约束,在转移约束时间到达前,发起的将目标数额的用户加密货币转移到所述合约加密货币的转移操作,则获取执行所述目标合约用户发起的转移操作的授权信息;所述加密货币转入规则包括:提供用户加密货币的目标合约用户的用户标识,所述用户加密货币的目标数额,以及所述用户加密货币转移到所述合约加密货币的转移约束时间;所述目标合约用户是所述多个合约参与用户中的一个或多个合约参与用户;
在获取到所述授权信息后,通过所述加密货币交易系统将所述目标数额的用户加密货币转移到所述合约加密货币中。
在一个实施例中,所述处理器401被配置调用所述程序指令,用于执行:
若由需要向所述合约加密货币转入用户加密货币的用户触发所述智能合约的创建操作,则在需要向所述合约加密货币转入资金的用户触发所述创建操作时,选择同时授权将协商的目标数额的用户加密货币转移给合约加密货币;
在获取到所述授权信息后,若通过所述加密货币交易系统创建所述合约加密货币成功,则自动通过所述加密货币交易系统将协商的目标数额的用户加密货币转移到所述合约加密货币中。
在一个实施例中,所述处理器401被配置调用所述程序指令,用于执行:
在履行所述智能合约的过程中,确定合约求证数据,所述合约求证数据是任一合约参与用户基于所述合约规则的问题列表提交的答案数据,或者所述公信平台响应针对所述合约求证数据的获取请求所返回的数据;
其中,确定的合约求证数据为待生效状态。
在一个实施例中,所述处理器401被配置调用所述程序指令,用于执行:
若所述合约求证数据从所述任一合约参与用户采集得到,则将所述合约求证数据同步给所有合约参与用户,并接收每个合约参与用户针对所述合约求证数据的投票信息,若根据接收的投票信息综合确定所述合约求证数据通过投票,则将确定的合约求证数据从所述待生效状态转换为生效状态;
若所述合约求证数据从所述公信平台采集得到,则公示所述合约求证数据,若在公示阶段未接收到合约参与用户发送的针对所述合约求证数据的反对意见,则将确定的合约求证数据从所述待生效状态转换为生效状态。
在一个实施例中,所述处理器401被配置调用所述程序指令,用于执行:
若根据接收的投票信息综合确定所述合约求证数据未通过投票,且存在对所述合约求证数据的综合投票结果有异议的合约参与用户,则在合约机构获取到对合约求证数据的投票有异议的合约参与用户发送的仲裁申请后,向仲裁机构发送协助对所述合约求证数据进行投票的仲裁请求;
从所述仲裁机构获取对所述合约求证数据的投票结果;
若所述投票结果指示所述合约求证数据为有效数据,则将所述合约求证数据的状态转换为生效状态。
在一个实施例中,所述处理器401被配置调用所述程序指令,用于执行:
在履行所述智能合约的过程中,检测针对所述智能合约的执行触发操作;
若检测到针对所述智能合约的执行触发操作,则执行合约结算。
在一个实施例中,所述处理器401被配置调用所述程序指令,用于执行:
根据所述合约算法,所述合约求证数据,以及为每个算法变量因子设置的量化数据计算生成合约结算数据;
将所述合约结算数据同步给所述所有合约参与用户对应的合约机构,接收所述每个合约参与用户对应的合约机构对所述合约结算数据进行投票确认并发送的投票确认信息以及结算授权信息;
其中,在接收到所述每个合约参与用户对应的合约机构返回的投票确认信息以及结算授权信息后,若所有参与合约机构投票确认通过,则向所述合约结算数据指示的需要向目标用户进行结算的目标合约机构发送结算通知消息,并在所述目标合约机构接收到所述通知消息后,由所述目标合约机构通过加密货币交易系统将与需要转移的加密货币的数量等量的加密货币转移到对应目标用户的账户。
在一个实施例中,所述处理器401被配置调用所述程序指令,用于执行:
在接收到所述每个合约参与用户对应的合约机构返回的投票确认信息以及结算授权信息后,若所述所有参与合约机构投票确认通过,则若所述合约结算数据指示的需要向目标用户进行结算的目标合约机构,与发起合约结算的合约机构为同一合约机构,则通过所述加密货币系统将所述结算数据指示的需要转移的加密货币数额从合约加密货币转移到对应目标用户的账户。
在一个实施例中,所述处理器401被配置调用所述程序指令,用于执行:
将所述合约结算数据以及所述结算授权信息再次同步给所述所有合约参与用户对应的合约机构,以通知所述目标合约机构对合约结算数据指示的所述目标合约机构下的目标合约用户进行结算;
所述目标合约机构收到同步数据后,所述目标合约机构通过所述加密货币交易系统将与需要转移的加密货币的数量等量的加密货币转移到对应目标用户的账户。
在一个实施例中,所述处理器401被配置调用所述程序指令,用于执行:
响应于将新的合约算法添加到所述智能合约的触发操作,将所述触发操作,所述新的合约算法,以及为所述新的合约算法中的算法变量因子设置的量化数据同步给所有合约参与用户,并获取每个合约参与用户的投票信息;
若根据获取的投票信息综合结果通过,则将新的合约数据信息存储到所述合约加密货币中,得到更新后的智能合约;其中,所述新的合约数据信息至少包括:新的合约算法信息,为所述新的合约算法中的算法变量因子设置的量化数据和签名信息,所述新的合约算法信息包括所述新的合约算法的地址或所述新的合约算法内容。
在一个实施例中,所述处理器401被配置调用所述程序指令,用于执行:
针对其他有价电子资产接入适应所述智能合约所在的智能合约系统的情况,通过所述加密货币交易系统授权接入使用所述有价电子资产的交易系统;
在合约参与用户基于所述合约规则约束转移用户电子资产给智能合约时,通过所述加密货币交易系统间接调用所述有价电子资产的交易系统完成对需要转移的目标资产的转入;
在执行合约结算时,通过所述加密货币交易系统间接调用所述有价电子资产的交易系统完成对合约资金的结算转移。
在一个实施例中,若所述智能合约只在一个合约机构运行,所述处理器401被配置调用所述程序指令,用于执行:
在所述合约机构发布合约算法时,发布的合约算法只存储在所述合约机构的本地;
在合约结算时,所述合约机构根据所述合约算法,合约求证数据,以及为每个算法变量因子设置的量化数据计算得到合约结算数据;
通过所述加密货币交易系统将所述结算数据指示的需要转移的加密货币数额,从所述合约加密货币转移到对应目标用户的账户。
本发明实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述如图2所示的方法实施例。其中,所述的计算机可读存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明的局部实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或局部流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (15)

1.一种智能合约生成方法,其特征在于,包括:
响应于多个合约参与用户中的任一合约参与用户触发的针对智能合约的创建操作,确定待生成智能合约的合约算法,所述合约算法包括多个合约规则,且存在至少一个合约规则包括了一个或多个自定义的算法变量因子;
确定为每个算法变量因子设置的量化数据,所述量化数据是由所有合约参与用户协商确定的;
通过加密货币交易系统创建合约加密货币,并将合约数据信息存储到所述合约加密货币中,得到智能合约;其中,所述合约数据信息至少包括:合约算法信息,所述量化数据和签名信息,所述合约算法信息包括所述合约算法的地址或合约算法内容。
2.根据权利要求1所述的方法,其特征在于,所述合约算法是由合约机构编写并提前发布到公信平台的,所述公信平台存储了多个合约算法,且每个合约算法对应唯一的合约算法编号;所述确定待生成智能合约的合约算法,包括:
接收合约发起用户对应的用户终端执行所述创建操作时所发送的合约算法编号,所述合约算法编号是由所述多个合约参与用户协商并选择所述合约算法时确定的;
根据所述合约算法编号,从所述公信平台定位出与所述合约算法编号匹配的合约算法内容;
下载所述合约算法内容,并将所述合约算法编号,对应公信平台标识,以及由所述合约算法编号与所述公信平台标识进行签名得到的签名信息作为所述合约算法的地址。
3.根据权利要求1所述的方法,其特征在于,生成的智能合约为待生效状态,所述方法还包括:
将所述智能合约同步给每个合约参与用户对应的用户终端,并从所述每个合约参与用户对应的用户终端中获取针对所述智能合约的反馈信息,所述反馈信息用于指示对应合约参与用户是否认可所述智能合约包括的合约内容;
若根据获取到的反馈信息确定每个合约参与用户认可所述智能合约包括的合约内容,则将生成的智能合约从所述待生效状态转换为生效状态。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若检测到目标合约用户按照所述智能合约中加密货币转入规则的约束,在转移约束时间到达前,发起的将目标数额的用户加密货币转移到所述合约加密货币的转移操作,则获取执行所述目标合约用户发起的转移操作的授权信息;所述加密货币转入规则包括:提供用户加密货币的目标合约用户的用户标识,所述用户加密货币的目标数额,以及所述用户加密货币转移到所述合约加密货币的转移约束时间;所述目标合约用户是所述多个合约参与用户中的一个或多个合约参与用户;
在获取到所述授权信息后,通过所述加密货币交易系统将所述目标数额的用户加密货币转移到所述合约加密货币中。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若由需要向所述合约加密货币转入用户加密货币的用户触发所述智能合约的创建操作,则在需要向所述合约加密货币转入资金的用户触发所述创建操作时,选择同时授权将协商的目标数额的用户加密货币转移给合约加密货币;
在获取到所述授权信息后,若通过所述加密货币交易系统创建所述合约加密货币成功,则自动通过所述加密货币交易系统将协商的目标数额的用户加密货币转移到所述合约加密货币中。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在履行所述智能合约的过程中,确定合约求证数据,所述合约求证数据是任一合约参与用户基于所述合约规则的问题列表提交的答案数据,或者公信平台响应针对所述合约求证数据的获取请求所返回的数据;
其中,确定的合约求证数据为待生效状态。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若所述合约求证数据从所述任一合约参与用户采集得到,则将所述合约求证数据同步给所有合约参与用户,并接收每个合约参与用户针对所述合约求证数据的投票信息,若根据接收的投票信息综合确定所述合约求证数据通过投票,则将确定的合约求证数据从所述待生效状态转换为生效状态;
若所述合约求证数据从所述公信平台采集得到,则公示所述合约求证数据,若在公示阶段未接收到合约参与用户发送的针对所述合约求证数据的反对意见,则将确定的合约求证数据从所述待生效状态转换为生效状态。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
若根据接收的投票信息综合确定所述合约求证数据未通过投票,且存在对所述合约求证数据的综合投票结果有异议的合约参与用户,则在合约机构获取到对合约求证数据的投票有异议的合约参与用户发送的仲裁申请后,向仲裁机构发送协助对所述合约求证数据进行投票的仲裁请求;
从所述仲裁机构获取对所述合约求证数据的投票结果;
若所述投票结果指示所述合约求证数据为有效数据,则将所述合约求证数据的状态转换为生效状态。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在履行所述智能合约的过程中,检测针对所述智能合约的执行触发操作;
若检测到针对所述智能合约的执行触发操作,则执行合约结算。
10.根据权利要求9所述的方法,其特征在于,所述执行合约结算,包括:
根据所述合约算法,合约求证数据,以及为每个算法变量因子设置的量化数据计算生成合约结算数据;
将所述合约结算数据同步给所述所有合约参与用户对应的合约机构,接收每个合约参与用户对应的合约机构对所述合约结算数据进行投票确认并发送的投票确认信息以及结算授权信息;
其中,在接收到所述每个合约参与用户对应的合约机构返回的投票确认信息以及结算授权信息后,若所有参与合约机构投票确认通过,则向所述合约结算数据指示的需要向目标用户进行结算的目标合约机构发送结算通知消息,并在所述目标合约机构接收到所述结算通知消息后,由所述目标合约机构通过加密货币交易系统将与需要转移的加密货币的数量等量的加密货币转移到对应目标用户的账户。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
在接收到所述每个合约参与用户对应的合约机构返回的投票确认信息以及结算授权信息后,若所述所有参与合约机构投票确认通过,则若所述合约结算数据指示的需要向目标用户进行结算的目标合约机构,与发起合约结算的合约机构为同一合约机构,则通过所述加密货币系统将所述结算数据指示的需要转移的加密货币数额从合约加密货币转移到对应目标用户的账户。
12.根据权利要求10所述的方法,其特征在于,所述接收所述每个合约参与用户对应的合约机构对所述合约结算数据进行投票确认并发送的投票确认信息以及结算授权信息之后,所述方法还包括:
将所述合约结算数据以及所述结算授权信息再次同步给所述所有合约参与用户对应的合约机构,以通知所述目标合约机构对合约结算数据指示的所述目标合约机构下的目标合约用户进行结算;
所述目标合约机构收到同步数据后,所述目标合约机构通过所述加密货币交易系统将与需要转移的加密货币的数量等量的加密货币转移到对应目标用户的账户。
13.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于将新的合约算法添加到所述智能合约的触发操作,将所述触发操作,所述新的合约算法,以及为所述新的合约算法中的算法变量因子设置的量化数据同步给所述所有合约参与用户,并获取每个合约参与用户的投票信息;
若根据获取的投票信息综合结果通过,则将新的合约数据信息存储到所述合约加密货币中,得到更新后的智能合约;其中,所述新的合约数据信息至少包括:新的合约算法信息,为所述新的合约算法中的算法变量因子设置的量化数据和签名信息,所述新的合约算法信息包括所述新的合约算法的地址或所述新的合约算法内容。
14.根据权利要求1所述的方法,其特征在于,所述方法还包括:
针对其他有价电子资产接入适应所述智能合约所在的智能合约系统的情况,通过所述加密货币交易系统授权接入使用所述有价电子资产的交易系统;
在合约参与用户基于所述合约规则约束转移用户电子资产给智能合约时,通过所述加密货币交易系统间接调用所述有价电子资产的交易系统完成对需要转移的目标资产的转入;
在执行合约结算时,通过所述加密货币交易系统间接调用所述有价电子资产的交易系统完成对合约资金的结算转移。
15.根据权利要求1所述的方法,其特征在于,若所述智能合约只在一个合约机构运行,所述方法还包括:
在所述合约机构发布合约算法时,发布的合约算法只存储在所述合约机构的本地;
在合约结算时,所述合约机构根据所述合约算法,合约求证数据,以及为每个算法变量因子设置的量化数据计算得到合约结算数据;
通过所述加密货币交易系统将所述结算数据指示的需要转移的加密货币数额,从所述合约加密货币转移到对应目标用户的账户。
CN202011194749.6A 2020-10-31 2020-10-31 基于加密货币的智能合约生成方法、相关设备及存储介质 Active CN112016114B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011194749.6A CN112016114B (zh) 2020-10-31 2020-10-31 基于加密货币的智能合约生成方法、相关设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011194749.6A CN112016114B (zh) 2020-10-31 2020-10-31 基于加密货币的智能合约生成方法、相关设备及存储介质

Publications (2)

Publication Number Publication Date
CN112016114A true CN112016114A (zh) 2020-12-01
CN112016114B CN112016114B (zh) 2021-03-16

Family

ID=73527457

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011194749.6A Active CN112016114B (zh) 2020-10-31 2020-10-31 基于加密货币的智能合约生成方法、相关设备及存储介质

Country Status (1)

Country Link
CN (1) CN112016114B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113938493A (zh) * 2021-10-09 2022-01-14 中国人民大学 物联网中的点对点资源共享方法、系统、介质及计算设备
CN115001715A (zh) * 2022-08-02 2022-09-02 药融云数字科技(成都)有限公司 基于区块链的加密智能合约检测方法及终端

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108881428A (zh) * 2018-06-13 2018-11-23 明阳智慧能源集团股份公司 一种具有监管机制的区块链系统
CN109034915A (zh) * 2018-09-03 2018-12-18 王昆 一种可应用数字资产或积分作为交易媒介的人工智能型电子商务系统
CN109274498A (zh) * 2018-09-25 2019-01-25 江西理工大学 一种基于联盟链的智能电网数据聚合及监控方法
CN109450856A (zh) * 2018-10-12 2019-03-08 西安电子科技大学 基于区块链的数据链信息流转控制系统及方法
CN109614820A (zh) * 2018-12-06 2019-04-12 山东大学 基于零知识证明的智能合约认证数据隐私保护方法
CN109615474A (zh) * 2018-12-11 2019-04-12 南京大学 基于区块链的中小企业竞争情报共享平台构建方法
CN109949022A (zh) * 2019-03-11 2019-06-28 梁庆生 一种电子加密货币
WO2020051569A1 (en) * 2018-09-07 2020-03-12 Jointer, Inc. Systems and methods for implementing a smart stablecoin and facilitating the trustless smart swap of cryptocurrency
CN111061713A (zh) * 2019-12-11 2020-04-24 北京时代云链信息科技有限公司 区块链数据融合方法、装置、设备以及存储介质
CN111369221A (zh) * 2020-03-09 2020-07-03 浙江大学 面向区块链监管的智能合约监控方法及系统
CN111626853A (zh) * 2020-04-14 2020-09-04 北京交通大学 一种装配式建筑预制供应链多主体信息协同方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108881428A (zh) * 2018-06-13 2018-11-23 明阳智慧能源集团股份公司 一种具有监管机制的区块链系统
CN109034915A (zh) * 2018-09-03 2018-12-18 王昆 一种可应用数字资产或积分作为交易媒介的人工智能型电子商务系统
WO2020051569A1 (en) * 2018-09-07 2020-03-12 Jointer, Inc. Systems and methods for implementing a smart stablecoin and facilitating the trustless smart swap of cryptocurrency
US20200082360A1 (en) * 2018-09-07 2020-03-12 Jointer, Inc. Systems and methods for implementing a smart stablecoin and facilitating the trustless smart swap of cryptocurrency
CN109274498A (zh) * 2018-09-25 2019-01-25 江西理工大学 一种基于联盟链的智能电网数据聚合及监控方法
CN109450856A (zh) * 2018-10-12 2019-03-08 西安电子科技大学 基于区块链的数据链信息流转控制系统及方法
CN109614820A (zh) * 2018-12-06 2019-04-12 山东大学 基于零知识证明的智能合约认证数据隐私保护方法
CN109615474A (zh) * 2018-12-11 2019-04-12 南京大学 基于区块链的中小企业竞争情报共享平台构建方法
CN109949022A (zh) * 2019-03-11 2019-06-28 梁庆生 一种电子加密货币
CN111061713A (zh) * 2019-12-11 2020-04-24 北京时代云链信息科技有限公司 区块链数据融合方法、装置、设备以及存储介质
CN111369221A (zh) * 2020-03-09 2020-07-03 浙江大学 面向区块链监管的智能合约监控方法及系统
CN111626853A (zh) * 2020-04-14 2020-09-04 北京交通大学 一种装配式建筑预制供应链多主体信息协同方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113938493A (zh) * 2021-10-09 2022-01-14 中国人民大学 物联网中的点对点资源共享方法、系统、介质及计算设备
CN115001715A (zh) * 2022-08-02 2022-09-02 药融云数字科技(成都)有限公司 基于区块链的加密智能合约检测方法及终端

Also Published As

Publication number Publication date
CN112016114B (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
US11907947B2 (en) Resource transfer system
US20220391890A1 (en) Private networks and content requests in a resource transfer system
US11392955B2 (en) Temporary consensus networks in a resource transfer system
JP6813477B2 (ja) 信頼度が低い、または信頼度が皆無の当事者間での価値転送を円滑化する装置、システム、または方法
US20230040935A1 (en) One way functions in a resource transfer system
Guerar et al. A fraud-resilient blockchain-based solution for invoice financing
US11995468B2 (en) Transfer costs in a resource transfer system
US20220351177A1 (en) Hold condition in a resource transfer system
WO2020233404A1 (zh) 交易系统、方法以及交易系统中的节点
US20160342984A1 (en) Loop transfer in a resource transfer system
CN112016114B (zh) 基于加密货币的智能合约生成方法、相关设备及存储介质
AU2022215275A1 (en) Temporary consensus networks in a resource transfer system
CN110378693B (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
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40036290

Country of ref document: HK