掌桥专利:专业的专利平台
掌桥专利
首页

一种数据处理方法、装置和用于数据处理的装置

文献发布时间:2023-06-19 11:57:35


一种数据处理方法、装置和用于数据处理的装置

技术领域

本发明涉及智能合约技术领域,尤其涉及一种数据处理方法、装置和用于数据处理的装置。

背景技术

智能合约作为一种由区块链网络存储和执行的可执行软件指令集,是区块链发展的重要推动力。智能合约通常以未加密的方式存储,因此对区块链网络中的所有参与者可见。区块链网络中的参与者可以编写和发布他们自己的智能合约,并且通常也可以调用已部署在区块链网络中的智能合约。

对于通过MPC(Secure Multiparty Computation,多方安全计算)平台进行数据资产交易的智能合约,数据资产的交易过程本质上就是根据合约约定的规则,将MPC平台中各个节点的工作状态、存储数据量状态、CPU(Central Processing Unit/Processor,中央处理器)占用率、计算结果等工作量证明信息转换为交易内容。

现有技术中,在数据资产交易过程中,MPC平台中的计算节点、存储节点、调度节点等直接与智能合约所在的区块链网络进行接口调用。区块链网络无法对MPC平台各个节点的运行情况进行监控,容易出现若某个计算节点未能诚实的执行计算任务,或者调度节点未能正确的进行调度,或者最终的计算结果不正确,或者MPC平台利用智能合约的漏洞,使用超出智能合约规定的MPC计算资源或存储资源等异常情况。现有技术无法对这些异常情况进行规避处理,这就导致在数据资产交易的过程中,无法保证智能合约被正确且合规的执行。

发明内容

本发明实施例提供一种数据处理方法、装置和用于数据处理的装置,可以避免在基于智能合约进行数据资产交易的过程中,多方安全计算平台中各个节点直接参与智能合约执行而导致的交易数据无法达成共识、多余的算力消耗、恶意合约执行等问题,提高智能合约执行的可靠性和准确性。

为了解决上述问题,本发明实施例公开了一种数据处理方法,应用于多方安全计算代理服务端,所述方法包括:

接收执行智能合约的触发指令,所述触发指令是所述智能合约所在的区块链在确定所述智能合约对应的交易申请信息满足申请条件的情况下发送的;

根据所述交易申请信息生成安全计算任务;

将所述安全计算任务发送至多方安全计算平台,以触发所述多方安全计算平台执行所述安全计算任务;

确定所述多方安全计算平台执行所述安全计算任务的工作量证明;

将所述工作量证明发送至所述智能合约所在的区块链,以使所述区块链根据所述智能合约的合约规则将所述工作量证明转换为交易内容。

可选地,所述确定所述多方安全计算平台执行所述安全计算任务的工作量证明,包括:

监测所述多方安全计算平台在执行所述安全计算任务过程中的状态信息;

将所述状态信息输入预置模型,以通过所述预置模型输出所述多方安全计算平台执行所述安全计算任务的工作量证明。

可选地,所述多方安全计算平台包括数据服务节点、计算节点,所述状态信息包括所述数据服务节点的工作状态、所述计算节点的工作状态、所述数据服务节点的存储数据量状态、所述计算节点的CPU占用率、计算结果中的至少一项。

可选地,所述确定所述多方安全计算平台执行所述安全计算任务的工作量证明,包括:

对所述智能合约进行解析,确定执行所述安全计算任务所需的算子;

在所述多方安全计算平台执行所述安全计算任务的过程中,确定密文数据使用信息和所述算子的执行状态;

根据所述密文数据使用信息和所述算子的执行状态确定所述多方安全计算平台的工作量证明。

可选地,所述确定所述多方安全计算平台执行所述安全计算任务的工作量证明,包括:

确定所述多方安全计算平台执行所述安全计算任务过程中的存证;

根据所述存证生成所述多方安全计算平台执行所述安全计算任务的工作量证明。

可选地,所述确定所述多方安全计算平台执行所述安全计算任务过程中的存证,包括:

获取所述安全计算任务的计算结果的哈希值密文;

对所述哈希值密文进行私钥签名,得到所述多方安全计算平台执行所述安全计算任务过程中的存证。

可选地,所述触发所述多方安全计算平台执行所述安全计算任务之后,所述方法还包括:

检测所述多方安全计算平台在执行所述安全计算任务的过程中的资源使用信息;

根据所述资源使用信息判断所述多方安全计算平台在执行所述安全计算任务的过程中是否符合所述智能合约的合约规则;

若确定所述多方安全计算平台在执行所述安全计算任务的过程中不符合所述智能合约的合约规则,则中止所述多方安全计算平台执行所述安全计算任务。

可选地,所述根据所述资源使用信息判断所述多方安全计算平台在执行所述安全计算任务的过程中是否符合所述智能合约的合约规则,包括:

判断所述资源使用信息是否超出所述智能合约的规定使用范围;

若所述资源使用信息超出所述智能合约的规定使用范围,则确定所述多方安全计算平台在执行所述安全计算任务的过程中不符合所述智能合约的合约规则。

可选地,所述判断所述资源使用信息是否超出所述智能合约的规定使用范围,包括:

获取所述智能合约签订时对应第一算法的第一哈希值;

确定所述智能合约执行时对应第二算法的第二哈希值;

将所述第一哈希值与所述第二哈希值进行比对;

若所述第一哈希值与所述第二哈希值不一致,则确定所述资源使用信息超出所述智能合约的规定使用范围。

可选地,所述接收执行智能合约的触发指令之前,所述方法还包括:

接收针对智能合约的交易申请信息查询指令;

响应于所述交易信息查询指令,查询所述智能合约对应的交易申请信息;

将所述交易申请信息发送至所述智能合约所在的区块链,以使所述区块链判断所述交易申请信息是否满足申请条件。

可选地,所述资源使用信息包括:密文数据使用信息、计算资源使用信息和存储资源使用信息中的至少一项。

本发明实施例还公开了另一种数据处理方法,应用于智能合约所在的区块链,所述方法包括:

在智能合约对应的交易申请信息满足申请条件的情况下,向多方安全计算代理服务端发送执行所述智能合约的触发指令,以使所述多方安全计算代理服务端根据所述交易申请信息生成安全计算任务;

接收所述多方安全计算代理服务端发送的针对所述安全计算任务的工作量证明;

根据所述智能合约的合约规定将所述工作量证明转换为交易内容。

可选地,所述向多方安全计算代理服务端发送执行智能合约的触发指令之前,所述方法还包括:

在接收到针对所述智能合约的交易申请的情况下,向所述多方安全计算代理服务端发送针对所述智能合约的交易申请信息查询指令;

接收所述多方安全计算代理服务端返回的所述智能合约对应的交易申请信息。

可选地,所述在智能合约对应的交易申请信息满足申请条件的情况下,向多方安全计算代理服务端发送执行所述智能合约的触发指令,包括:

判断所述交易申请信息是否满足申请条件;

若所述交易申请信息满足申请条件,则向多方安全计算代理服务端发送执行所述智能合约的触发指令。

另一方面,本发明实施例公开了一种数据处理装置,应用于多方安全计算代理服务端,所述装置包括:

触发指令接收模块,用于接收执行智能合约的触发指令,所述触发指令是所述智能合约所在的区块链在确定所述智能合约对应的交易申请信息满足申请条件的情况下发送的;

安全计算任务生成模块,用于根据所述交易申请信息生成安全计算任务;

安全计算任务发送模块,用于将所述安全计算任务发送至多方安全计算平台,以触发所述多方安全计算平台执行所述安全计算任务;

工作量证明确定模块,用于确定所述多方安全计算平台执行所述安全计算任务的工作量证明;

工作量证明发送模块,用于将所述工作量证明发送至所述智能合约所在的区块链,以使所述区块链根据所述智能合约的合约规则将所述工作量证明转换为交易内容。

可选地,所述工作量证明确定模块,包括:

状态信息监测子模块,用于监测所述多方安全计算平台在执行所述安全计算任务过程中的状态信息;

第一工作量证明确定子模块,用于将所述状态信息输入预置模型,以通过所述预置模型输出所述多方安全计算平台执行所述安全计算任务的工作量证明。

可选地,所述多方安全计算平台包括数据服务节点、计算节点,所述状态信息包括所述数据服务节点的工作状态、所述计算节点的工作状态、所述数据服务节点的存储数据量状态、所述计算节点的CPU占用率、计算结果中的至少一项。

可选地,所述工作量证明确定模块,包括:

智能合约解析子模块,用于对所述智能合约进行解析,确定执行所述安全计算任务所需的算子;

信息确定子模块,用于在所述多方安全计算平台执行所述安全计算任务的过程中,确定密文数据使用信息和所述算子的执行状态;

第二工作量证明确定子模块,用于根据所述密文数据使用信息和所述算子的执行状态确定所述多方安全计算平台的工作量证明。

可选地,所述工作量证明确定模块,包括:

存证确定子模块,用于确定所述多方安全计算平台执行所述安全计算任务过程中的存证;

第三工作量证明确定子模块,用于根据所述存证生成所述多方安全计算平台执行所述安全计算任务的工作量证明。

可选地,所述存证确定子模块,包括:

密文获取单元,用于获取所述安全计算任务的计算结果的哈希值密文;

存证生成单元,用于对所述哈希值密文进行私钥签名,得到所述多方安全计算平台执行所述安全计算任务过程中的存证。

可选地,所述装置还包括:

资源使用信息检测模块,用于检测所述多方安全计算平台在执行所述安全计算任务的过程中的资源使用信息;

合规性判断模块,用于根据所述资源使用信息判断所述多方安全计算平台在执行所述安全计算任务的过程中是否符合所述智能合约的合约规则;

安全计算任务中止模块,用于若确定所述多方安全计算平台在执行所述安全计算任务的过程中不符合所述智能合约的合约规则,则中止所述多方安全计算平台执行所述安全计算任务。

可选地,所述合规性判断模块,包括:

使用范围判断子模块,用于判断所述资源使用信息是否超出所述智能合约的规定使用范围;

合规性判断子模块,用于若所述资源使用信息超出所述智能合约的规定使用范围,则确定所述多方安全计算平台在执行所述安全计算任务的过程中不符合所述智能合约的合约规则。

可选地,所述使用范围判断子模块,包括:

第一哈希值获取单元,用于获取所述智能合约签订时对应第一算法的第一哈希值;

第二哈希值确定单元,用于确定所述智能合约执行时对应第二算法的第二哈希值;

哈希值比对单元,用于将所述第一哈希值与所述第二哈希值进行比对;

使用范围判断单元,用于若所述第一哈希值与所述第二哈希值不一致,则确定所述资源使用信息超出所述智能合约的规定使用范围。

可选地,所述装置还包括:

查询指令接收模块,用于接收针对智能合约的交易申请信息查询指令;

交易申请信息查询模块,用于响应于所述交易信息查询指令,查询所述智能合约对应的交易申请信息;

交易申请信息发送模块,用于将所述交易申请信息发送至所述智能合约所在的区块链,以使所述区块链判断所述交易申请信息是否满足申请条件。

可选地,所述资源使用信息包括:密文数据使用信息、计算资源使用信息和存储资源使用信息中的至少一项。

本发明实施例还公开了另一种数据处理装置,应用于智能合约所在的区块链,所述装置包括:

触发指令发送模块,用于在智能合约对应的交易申请信息满足申请条件的情况下,向多方安全计算代理服务端发送执行所述智能合约的触发指令,以使所述多方安全计算代理服务端根据所述交易申请信息生成安全计算任务;

工作量证明接收模块,用于接收所述多方安全计算代理服务端发送的针对所述安全计算任务的工作量证明;

工作量证明转换模块,用于根据所述智能合约的合约规定将所述工作量证明转换为交易内容。

可选地,所述装置还包括:

查询指令发送模块,用于在接收到针对所述智能合约的交易申请的情况下,向所述多方安全计算代理服务端发送针对所述智能合约的交易申请信息查询指令;

交易申请信息接收模块,用于接收所述多方安全计算代理服务端返回的所述智能合约对应的交易申请信息。

可选地,所述触发指令发送模块,包括:

申请条件判断子模块,用于判断所述交易申请信息是否满足申请条件;

触发指令发送子模块,用于若所述交易申请信息满足申请条件,则向多方安全计算代理服务端发送执行所述智能合约的触发指令。

再一方面,本发明实施例公开了一种用于数据处理的装置,应用于多方安全计算代理服务端,所述装置包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

接收执行智能合约的触发指令,所述触发指令是所述智能合约所在的区块链在确定所述智能合约对应的交易申请信息满足申请条件的情况下发送的;

根据所述交易申请信息生成安全计算任务;

将所述安全计算任务发送至多方安全计算平台,以触发所述多方安全计算平台执行所述安全计算任务;

确定所述多方安全计算平台执行所述安全计算任务的工作量证明;

将所述工作量证明发送至所述智能合约所在的区块链,以使所述区块链根据所述智能合约的合约规则将所述工作量证明转换为交易内容。

可选地,所述确定所述多方安全计算平台执行所述安全计算任务的工作量证明,包括:

监测所述多方安全计算平台在执行所述安全计算任务过程中的状态信息;

将所述状态信息输入预置模型,以通过所述预置模型输出所述多方安全计算平台执行所述安全计算任务的工作量证明。

可选地,所述多方安全计算平台包括数据服务节点、计算节点,所述状态信息包括所述数据服务节点的工作状态、所述计算节点的工作状态、所述数据服务节点的存储数据量状态、所述计算节点的CPU占用率、计算结果中的至少一项。

可选地,所述确定所述多方安全计算平台执行所述安全计算任务的工作量证明,包括:

对所述智能合约进行解析,确定执行所述安全计算任务所需的算子;

在所述多方安全计算平台执行所述安全计算任务的过程中,确定密文数据使用信息和所述算子的执行状态;

根据所述密文数据使用信息和所述算子的执行状态确定所述多方安全计算平台的工作量证明。

可选地,所述确定所述多方安全计算平台执行所述安全计算任务的工作量证明,包括:

确定所述多方安全计算平台执行所述安全计算任务过程中的存证;

根据所述存证生成所述多方安全计算平台执行所述安全计算任务的工作量证明。

可选地,所述确定所述多方安全计算平台执行所述安全计算任务过程中的存证,包括:

获取所述安全计算任务的计算结果的哈希值密文;

对所述哈希值密文进行私钥签名,得到所述多方安全计算平台执行所述安全计算任务过程中的存证。

可选地,所述装置还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

检测所述多方安全计算平台在执行所述安全计算任务的过程中的资源使用信息;

根据所述资源使用信息判断所述多方安全计算平台在执行所述安全计算任务的过程中是否符合所述智能合约的合约规则;

若确定所述多方安全计算平台在执行所述安全计算任务的过程中不符合所述智能合约的合约规则,则中止所述多方安全计算平台执行所述安全计算任务。

可选地,所述根据所述资源使用信息判断所述多方安全计算平台在执行所述安全计算任务的过程中是否符合所述智能合约的合约规则,包括:

判断所述资源使用信息是否超出所述智能合约的规定使用范围;

若所述资源使用信息超出所述智能合约的规定使用范围,则确定所述多方安全计算平台在执行所述安全计算任务的过程中不符合所述智能合约的合约规则。

可选地,所述判断所述资源使用信息是否超出所述智能合约的规定使用范围,包括:

获取所述智能合约签订时对应第一算法的第一哈希值;

确定所述智能合约执行时对应第二算法的第二哈希值;

将所述第一哈希值与所述第二哈希值进行比对;

若所述第一哈希值与所述第二哈希值不一致,则确定所述资源使用信息超出所述智能合约的规定使用范围。

可选地,所述装置还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

接收针对智能合约的交易申请信息查询指令;

响应于所述交易信息查询指令,查询所述智能合约对应的交易申请信息;

将所述交易申请信息发送至所述智能合约所在的区块链,以使所述区块链判断所述交易申请信息是否满足申请条件。

可选地,所述资源使用信息包括:密文数据使用信息、计算资源使用信息和存储资源使用信息中的至少一项。

本发明实施例还公开了另一种用于数据处理的装置,应用于智能合约所在的区块链,所述装置包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

在智能合约对应的交易申请信息满足申请条件的情况下,向多方安全计算代理服务端发送执行所述智能合约的触发指令,以使所述多方安全计算代理服务端根据所述交易申请信息生成安全计算任务;

接收所述多方安全计算代理服务端发送的针对所述安全计算任务的工作量证明;

根据所述智能合约的合约规定将所述工作量证明转换为交易内容。

可选地,所述装置还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

在接收到针对所述智能合约的交易申请的情况下,向所述多方安全计算代理服务端发送针对所述智能合约的交易申请信息查询指令;

接收所述多方安全计算代理服务端返回的所述智能合约对应的交易申请信息。

可选地,所述向多方安全计算代理服务端发送执行智能合约的触发指令,包括:

判断所述交易申请信息是否满足申请条件;

若所述交易申请信息满足申请条件,则向多方安全计算代理服务端发送执行所述智能合约的触发指令。

又一方面,本发明实施例公开了一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如前述一个或多个所述的数据处理方法。

本发明实施例包括以下优点:

本发明实施例提供了一种数据处理方法,该方法可以在多方安全计算代理服务端接收到执行智能合约的触发指令的情况下,根据智能合约对应的交易申请信息生成安全计算任务,然后将所述安全计算任务发送至多方安全计算平台,触发多方安全计算平台执行所述安全计算任务,并确定所述多方安全计算平台执行所述安全计算任务的工作量证明,随后将所述工作量证明发送至所述智能合约所在的区块链,以使所述区块链根据所述智能合约的合约规则将所述工作量证明转换为交易内容。相比于现有技术中智能合约所在的区块链直接与多方安全计算平台进行交互,本发明实施例通过多方安全计算代理服务端代理智能合约所在区块链与多方安全计算平台之间的交互过程,可以避免在基于智能合约进行数据资产交易的过程中,多方安全计算平台中各个节点直接参与智能合约执行而导致的交易数据无法达成共识、多余的算力消耗、恶意合约执行等问题,提高了智能合约执行的可靠性和准确性。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明的一种数据处理方法实施例的步骤流程图;

图2是本发明的一种智能合约所在区块链与MPC平台的交互示意图;

图3是本发明的一种MPC平台执行安全计算任务过程中的存证生成流程图;

图4是本发明的另一种数据处理方法实施例的步骤流程图;

图5是本发明的一种数据处理装置实施例的结构框图;

图6是本发明的另一种数据处理装置实施例的结构框图;

图7是本发明的一种用于数据处理的装置800的框图;

图8是本发明的一些实施例中服务器的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

方法实施例

参照图1,示出了本发明的一种数据处理方法实施例的步骤流程图,应用于多方安全计算代理服务端,所述方法具体可以包括如下步骤:

步骤101、接收执行智能合约的触发指令,所述触发指令是所述智能合约所在的区块链在确定所述智能合约对应的交易申请信息满足申请条件的情况下发送的。

步骤102、根据所述交易申请信息生成安全计算任务。

步骤103、将所述安全计算任务发送至多方安全计算平台,以触发所述多方安全计算平台执行所述安全计算任务。

步骤104、确定所述多方安全计算平台执行所述安全计算任务的工作量证明。

步骤105、将所述工作量证明发送至所述智能合约所在的区块链,以使所述区块链根据所述智能合约的合约规则将所述工作量证明转换为交易内容。

本发明实施例提供了一种数据处理方法。所述方法可用于对部署在区块链上的智能合约的执行过程进行数据处理。需要说明的是,区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(Private Blockchain)和联盟链(ConsortiumBlockchain)。此外,还有多种类型的结合,比如私有链+联盟链、联盟链+公有链等不同组合形式。本发明实施例提供的数据处理方式可以在任何适当类型的区块链网络中实现。

在区块链中,通过向区块链节点提交相应的区块链交易,由区块链交易触发执行对应的智能合约。智能合约中可以定义一个或多个接口,每一接口用于实现相应的功能。在通过区块链交易调用智能合约时,可以声明调用该智能合约中定义的哪个或者哪些接口,以实现相应的功能。

其中,多方安全计算代理服务端(以下简称MPC代理服务端)用于连接智能合约所在区块链与多方安全计算平台(以下简称MPC平台)。MPC代理服务端受到智能合约所在的区块链与MPC平台的双方信任。MPC代理服务端作为区块链与MPC平台共同信任的第三方,可以同步监控智能合约所在区块链的变化和MPC平台执行状态变化,并根据MPC平台的执行状态提供工作量证明给区块链,以便区块链根据MPC平台的工作量证明生成交易内容,从而避免在基于智能合约进行数据资产交易的过程中,由于多方安全计算平台中各个节点直接参与智能合约执行而导致的交易数据无法达成共识、多余的算力消耗、恶意合约执行等问题,提高智能合约执行的可靠性和准确性。

在MPC平台执行智能合约对应的安全计算任务时,参与安全计算任务的节点需要通过消耗的计算资源、数据存储资源等信息证明自己参与了安全计算或数据存储。工作量证明就是MPC平台执行安全计算任务过程中各个节点的工作状态、资源消耗情况、执行结果等信息的可视化数据。工作量证明作为MPC平台的工作证据,供MPC代理服务端验证MPC平台执行智能合约对应的安全计算任务是否正确且合规。

由于区块链无法直接获取MPC平台中各个节点的安全计算任务的执行信息,也就无法对MPC平台中各个节点是否正确且合规的执行了智能合约对应的安全计算任务进行监测。若由MPC平台自行提供工作量证明,就会出现任务执行方也是执行证明方的情况,无法取得智能合约所在区块链的信任。因此,本发明实施例通过MPC代理服务端对MPC平台的多方安全计算任务的执行过程进行监控,并生成MPC平台的工作量证明提供给智能合约所在的区块链,避免了在基于智能合约进行数据资产交易的过程中,MPC平台中各个节点直接参与智能合约执行并由MPC平台自行生成工作量证明导致智能合约的执行过程不可信的情况,提高了智能合约执行的可靠性和准确性。

其中,执行智能合约的触发指令可以是智能合约所在区块链在接收到用户操作指令的情况下发送的,也可以是在满足预设规则的情况下发送的。例如:当智能合约所在的区块链接收到用户针对智能合约的交易申请操作时,首先确认该智能合约对应的交易申请信息是否满足申请条件,如果满足申请条件,则向MPC代理服务端发送执行智能合约的触发指令;或者,当满足预设规则时,如到达预设时间点且该智能合约的交易申请信息满足申请条件,则智能合约所在区块链向MPC代理服务端发送执行智能合约的触发指令。

申请条件可以根据智能合约的合约规则和实际需求具体设置,例如,发起交易申请的用户的密文信用等级需满足预设要求、交易申请的交易内容符合智能合约的合约规则等。

参照图2,示出了本发明实施例提供的智能合约所在区块链与MPC平台的交互示意图。下面将结合图2对本发明实施例提供的数据处理方法进行详细说明。

如图2所示,智能合约通常包含多个合约要素,根据合约要素就可以确定智能合约的合约规则。通过智能合约解析和编译服务将智能合约字节码部署在区块链上,以便区块链根据智能合约字节码解析智能合约,并在交易过程中调用智能合约对应的接口实现相应功能。需要说明的是,智能合约字节码在区块链的虚拟机中执行,本身不具备直接与MPC平台进行交互的能力。在本发明实施例中,智能合约所在区块链通过MPC代理服务端与MPC平台进行交互,MPC平台执行智能合约对应的交易同样需要通过MPC代理服务端与智能合约所在区块链进行交互。

具体的,当智能合约触发器确定满足智能合约的交易触发条件时,如接收到用户针对智能合约的交易申请操作,或者满足预设规则,如到达预设时间点等,智能合约触发器向智能合约所在的区块链发送交易申请,由区块链根据交易申请触发执行对应的智能合约,并在确定交易申请信息满足申请条件时,生成执行智能合约的触发指令。区块链将执行智能合约的触发指令发送给MPC代理服务端,通过调用MPC代理服务端与MPC平台进行交互。

MPC代理服务端接收到执行智能合约的触发指令后,根据相应的交易申请信息生成安全计算任务,并将安全计算任务发送至MPC平台,触发MPC平台执行安全计算任务。然后,在MPC平台执行安全计算任务的过程中,MPC代理服务端持续监测MPC平台的执行状态,包括计算算力使用情况、临时存储消耗情况、密文数据使用情况等,并根据MPC平台的执行状态确定MPC平台执行安全计算任务的工作量证明。

其中,MPC代理服务端触发MPC平台执行安全计算任务,可以通过MPC代理服务端的触发MPC平台启动计算任务接口实现,或者具备安全计算任务执行触发功能的其他接口实现。MPC代理服务端监测MPC平台的执行状态,并根据MPC平台的执行状态确定工作量证明,可以通过MPC计算任务状态更新接口,也即产生交易接口实现。其中,可以根据监测的执行状态的具体内容,如计算算力、临时存储消耗、密文数据使用等,将产生交易接口细分为计算算力使用产生交易接口、临时存储消耗产生交易接口、提供数据使用产生交易接口等。MPC代理服务端通过这些产生交易接口,将监测的执行状态转换为具体的工作量证明。当然,也可以使用其他的接口,只要能够监测MPC平台针对安全计算任务的执行状态,并将相应的执行状态转换为工作量证明即可。

MPC代理服务端确定MPC平台执行安全计算任务的工作量证明之后,将工作量证明发送至智能合约所在的区块链,由区块链根据智能合约的合约规则将工作量证明转换为交易内容。区块链将工作量证明转换为交易内容的过程,本质上就是根据智能合约的交易规则,将工作量证明中MPC平台执行智能合约对应的安全计算任务的实际工作量转化为区块链代币。例如,区块链根据工作量证明确定MPC平台提供了1小时的密文计算,根据合约规则,申请交易的用户需要支付m个数字代币。

本发明实施例中,在执行智能合约对应的数据资产交易的过程中,智能合约所在区块链与MPC平台始终通过MPC代理服务端进行交互,智能合约所在区块链与MPC平台无法直接进行接口调用,MPC平台也不会自行生成工作量证明,而是由受到智能合约所在的区块链与MPC平台的双方信任的MPC代理服务端提供MPC平台的工作量证明,保证了MPC平台执行智能合约对应的安全计算任务的可信度。其中,MPC代理服务端采用mTLS(MutualTransport Layer Security,相互传输层安全)协议与智能合约所在区块链、MPC平台进行认证。

在本发明的一种可选实施例中,步骤104所述确定所述多方安全计算平台执行所述安全计算任务的工作量证明,包括:

步骤S11、监测所述多方安全计算平台在执行所述安全计算任务过程中的状态信息;

步骤S12、将所述状态信息输入预置模型,以通过所述预置模型输出所述多方安全计算平台执行所述安全计算任务的工作量证明。

智能合约所在区块链与MPC平台通过MPC代理服务端提供的工作量证明达成交易数据共识,因此,MPC代理服务端提供的工作量证明必须真实可靠。除了MPC平台需要取得区块链与MPC平台双方的信任,MPC代理服务端生成MPC平台的工作量证明的计算过程也要可靠,可被验证。在本发明实施例中,可以基于一套约定好的规则确定一个预置模型,然后将监测到的MPC平台在执行安全计算任务过程中的状态信息输入到预置模型中,得到MPC平台执行安全计算任务的工作量证明,保证了生成的工作量证明的可靠性。其中,预置模型的确定规则受到智能合约与MPC平台的双方认可。

在本发明的一种可选实施例中,所述多方安全计算平台包括数据服务节点、计算节点,所述状态信息包括所述数据服务节点的工作状态、所述计算节点的工作状态、所述数据服务节点的存储数据量状态、所述计算节点的CPU占用率、计算结果中的至少一项。

其中,MPC代理服务端监测的MPC平台的状态信息,可以包括MPC平台在执行安全计算任务的过程中,数据服务节点的工作状态,如获取的密文数据的使用范围、提供的密文数据的数据量等;还可以包括计算节点的工作状态,如消耗的计算算力、计算时间等;还可以包括数据服务节点的存储数据量状态,如提供的临时存储空间、存储的数据量大小等;以及计算节点的CPU占用率、计算结果等。将这些状态信息输入到预置模型中,就可以得到MPC平台的工作量证明。

在本发明的一种可选实施例中,步骤104所述确定所述多方安全计算平台执行所述安全计算任务的工作量证明,包括:

步骤S21、对所述智能合约进行解析,确定执行所述安全计算任务所需的算子;

步骤S22、在所述多方安全计算平台执行所述安全计算任务的过程中,确定密文数据使用信息和所述算子的执行状态;

步骤S23、根据所述密文数据使用信息和所述算子的执行状态确定所述多方安全计算平台的工作量证明。

MPC代理服务端用于代理智能合约的接口与智能合约字节码紧密相关,MPC代理服务端可以通过用于代理智能合约的接口和智能合约字节码解析智能合约,从而进一步确定执行智能合约对应的安全计算任务所需要的算子。其中,执行安全计算任务的算子为密文计算的基本算子,包括加法算子、乘法算子、比较算子。其他复杂运算均可以通过这几个基本算子的组合实现。

MPC代理服务端解析算子之后,在MPC平台执行安全计算任务的过程中,监测MPC平台的密文数据使用信息和各个算子的执行状态。其中,密文数据使用信息包括MPC平台在执行安全计算任务的过程中,密文数据的用量记录;算子的执行状态包括各个算子的使用次数、各个算子的运算时间等。通过算子的执行状态就可以确定MPC平台执行安全计算任务时的计算资源消耗情况,根据密文数据使用信息可以确定数据资源消耗情况。进一步的,根据密文数据使用信息和算子的执行状态,确定工作量证明,为MPC平台执行智能合约对应的安全计算任务的实际工作量提供证据。

在本发明的一种可选实施例中,步骤104所述确定所述多方安全计算平台执行所述安全计算任务的工作量证明,包括:

步骤S31、确定所述多方安全计算平台执行所述安全计算任务过程中的存证;

步骤S32、根据所述存证生成所述多方安全计算平台执行所述安全计算任务的工作量证明。

在本发明实施例中,除了可以根据预置模型确定MPC平台的工作量证明、根据MPC平台执行安全计算任务的过程中密文数据使用信息和算子的执行状态确定工作量证明,还可以通过确定MPC平台执行安全计算任务过程中的存证,根据存证确定工作量证明。其中,存证包括计算结果的哈希值、计算节点的CPU占用率等。

在本发明的一种可选实施例中,步骤S31所述确定所述多方安全计算平台执行所述安全计算任务过程中的存证,包括:

子步骤S311、获取所述安全计算任务的计算结果的哈希值密文;

子步骤S312、对所述哈希值密文进行私钥签名,得到所述多方安全计算平台执行所述安全计算任务过程中的存证。

参照图3,示出了本发明实施例提供的一种MPC平台执行安全计算任务过程中的存证生成流程图。MPC平台执行安全计算任务之后,采用持有的公钥1对计算结果的哈希值进行加密。MPC代理服务端从MPC平台直接获取加密后的计算结果的哈希值,也即计算结果的哈希值密文。获取哈希值密文后,MPC代理服务端采用自身生成的私钥2对哈希值密文进行私钥签名,并将签名后的哈希值密文作为MPC平台执行安全计算任务过程中的存证,进而得到MPC平台的工作量证明。

需要说明的是,MPC代理服务端只负责对MPC平台的工作量证明进行转发,并不存储MPC平台的工作量证明。因此,如图3所示,MPC代理服务端将签名后的哈希值密文发送至智能合约所在的区块链,由区块链采用与私钥2相匹配的公钥2进行签名验证后,存储MPC平台的工作量证明,也即哈希值密文,并根据哈希值密文和合约规则生成交易内容。

其中,MPC代理服务端、MPC平台、区块链之间采用非对称加密。MPC平台采用自身的密钥系统得到公钥1,并基于公钥1对计算结果的哈希值进行加密。MPC代理服务端基于自身的密钥系统生成私钥2和公钥2,并向连接的MPC平台与区块链公开公钥2。MPC代理服务端获取计算结果的哈希值密文后,采用私钥2对哈希值密文进行签名,当且仅当区块链持有与私钥2相匹配的公钥2时,才能完成对哈希值密文的签名验证,进行哈希值密文的存储与使用,保证了哈希值密文传输的可靠性。

并且,MPC平台、MPC代理服务端、区块链之间传输的均为计算结果的哈希值密文,MPC代理服务端由于未持有公钥1对应的私钥,无法对采用公钥1加密后哈希值密文进行解密,也无法对计算结果的哈希值进行篡改,从而保证了MPC代理服务端向区块链转发的工作量证明的可靠性,进一步提高了MPC代理服务端的可信度。

在本发明的一种可选实施例中,步骤103所述触发所述多方安全计算平台执行所述安全计算任务之后,所述方法还包括:

步骤S41、检测所述多方安全计算平台在执行所述安全计算任务的过程中的资源使用信息;

步骤S42、根据所述资源使用信息判断所述多方安全计算平台在执行所述安全计算任务的过程是否符合所述智能合约的合约规则;

步骤S43、若确定所述多方安全计算平台在执行所述安全计算任务的过程不符合所述智能合约的合约规则,则中止所述多方安全计算平台执行所述安全计算任务。

在本发明实施例中,MPC代理服务端在触发MPC平台执行安全计算任务之后,还可以检测MPC平台在执行安全计算任务过程中的资源使用信息,然后,根据检测到的资源使用信息判断MPC平台在执行安全计算任务的过程中是否符合智能合约的合约规则,以确定MPC平台是否出现多余的资源消耗、超范围使用密文数据、恶意执行智能合约等情况。

在本发明的一种可选实施例中,所述资源使用信息包括:密文数据使用信息、计算资源使用信息和存储资源使用信息中的至少一项。

MPC代理服务端一旦确定MPC平台执行安全计算任务的过程不符合智能合约的合约规则,就立即中止MPC平台对安全计算任务的执行过程,以避免造成数据泄漏、产生错误的工作量证明导致交易异常等情况。

其中,MPC代理服务端可以通过合约失效接口停止MPC平台执行的安全计算任务,或者,采用其他具备相同功能的接口中止MPC平台对安全计算任务的执行过程。

进一步的,MPC代理服务端在中止MPC平台的安全计算任务后,可以向智能合约所在区块链发送交易失败消息,以告知区块链此次合约交易出现异常且被中止。需要说明的是,被中止的合约交易也会产生交易记录,且不可销毁。

在本发明的一种可选实施例中,步骤S42所述根据所述资源使用信息判断所述多方安全计算平台在执行所述安全计算任务的过程中是否符合所述智能合约的合约规则,包括:

子步骤S421、判断所述资源使用信息是否超出所述智能合约的规定使用范围;

子步骤S422、若所述资源使用信息超出所述智能合约的规定使用范围,则确定所述多方安全计算平台在执行所述安全计算任务的过程中不符合所述智能合约的合约规则。

在本发明实施例中,可以通过判断MPC平台执行安全计算任务时的资源使用信息是否超出智能合约的规定使用范围来确定MPC平台执行安全计算任务的过程是否符合智能合约的合约规则。

具体的,可以通过判断MPC平台使用的密文数据的数据特征与智能合约规定的密文数据的数据特征判断资源使用信息是否超出智能合约的规定使用范围;或者,通过判断MPC平台使用的密文数据的安全等级与智能合约规定的密文数据的安全等级是否一致,确定资源使用信息是否超出智能合约的规定使用范围等等。

在本发明的一种可选实施例中,子步骤S421所述判断所述资源使用信息是否超出所述智能合约的规定使用范围,包括:

A11、获取所述智能合约签订时对应第一算法的第一哈希值;

A12、确定所述智能合约执行时对应第二算法的第二哈希值;

A13、将所述第一哈希值与所述第二哈希值进行比对;

A14、若所述第一哈希值与所述第二哈希值不一致,则确定所述资源使用信息超出所述智能合约的规定使用范围。

在执行智能合约时,数据通过算法进行使用,合约一旦签订,算法是固定的,因此,可以将智能合约签订时对应的第一算法与智能合约执行时对应的第二算法进行比对,以确定MPC在执行智能合约对应的安全计算任务时,资源使用信息是否超出智能合约的规定使用范围。

具体的,将智能合约签订时对应第一算法的第一哈希值与智能合约执行时对应第二算法的第二哈希值进行比对,由于算法的哈希值是固定且唯一的,如果第一哈希值与第二哈希值一致,说明合约签订时的第一算法与合约执行时的第二算法一致,数据使用一致,就可以确定MPC平台在执行智能合约对应的安全计算任务时的资源使用信息没有超出智能合约的规定使用范围。如果第一哈希值与第二哈希值不一致,说明合约执行时的第二算法与合约签订时的第一算法并不相同,使用的数据也就不相同,因此,可以确定MPC平台在执行智能合约对应的安全计算任务时的资源使用信息超出了智能合约的规定使用范围。根据算法的哈希值来判断资源使用信息是否超出智能合约的规定使用范围,提高了判断的准确度。

在本发明的一种可选实施例中,步骤101所述接收执行智能合约的触发指令之前,所述方法还包括:

步骤S51、接收针对智能合约的交易申请信息查询指令;

步骤S52、响应于所述交易信息查询指令,查询所述智能合约对应的交易申请信息;

步骤S53、将所述交易申请信息发送至所述智能合约所在的区块链,以使所述区块链判断所述交易申请信息是否满足申请条件。

在本发明实施例中,智能合约所在区块链在接收到针对智能合约的交易申请时,会向MPC代理服务端发送交易申请信息查询指令,以获取智能合约对应的交易申请信息并确定该交易申请信息是否满足申请条件。

MPC代理服务端接收到区块链发送的交易申请信息查询指令后,查询智能合约对应的交易申请信息,例如,对发起交易申请的用户的密文信用等级进行查询,并将查询结果发送给区块链,以便区块链根据查询结果判断是否满足申请条件,从而确定是否允许合约执行。如果区块链判断交易申请信息不满足申请条件,就可以直接确定本次交易失败,不必再向MPC代理服务端发送执行智能合约的触发指令。

综上所述,本发明实施例可以在多方安全计算代理服务端接收到执行智能合约的触发指令的情况下,根据智能合约对应的交易申请信息生成安全计算任务,然后将所述安全计算任务发送至多方安全计算平台,触发多方安全计算平台执行所述安全计算任务,并确定所述多方安全计算平台执行所述安全计算任务的工作量证明,随后将所述工作量证明发送至所述智能合约所在的区块链,以使所述区块链根据所述智能合约的合约规则将所述工作量证明转换为交易内容。相比于现有技术中智能合约所在的区块链直接与多方安全计算平台进行交互,本发明实施例通过多方安全计算代理服务端代理智能合约所在区块链与多方安全计算平台之间的交互过程,可以避免在基于智能合约进行数据资产交易的过程中,多方安全计算平台中各个节点直接参与智能合约执行而导致的交易数据无法达成共识、多余的算力消耗、恶意合约执行等问题,提高了智能合约执行的可靠性和准确性。

参照图4,示出了本发明的另一种数据处理方法实施例的步骤流程图,应用于智能合约所在的区块链,所述方法具体可以包括如下步骤:

步骤201、在智能合约对应的交易申请信息满足申请条件的情况下,向多方安全计算代理服务端发送执行所述智能合约的触发指令,以使所述多方安全计算代理服务端根据所述交易申请信息生成安全计算任务。

步骤202、接收所述多方安全计算代理服务端发送的针对所述安全计算任务的工作量证明。

步骤203、根据所述智能合约的合约规定将所述工作量证明转换为交易内容。

在本发明实施例中,智能合约所在区块链在接收到针对智能合约的交易申请,且确定智能合约对应的交易申请信息满足申请条件的情况下,向MPC代理服务端发送执行智能合约的触发指令,触发MPC代理服务端根据交易申请信息生成安全计算任务。具体的,参照图2,当智能合约触发器确定满足智能合约的交易触发条件时,如接收到用户针对智能合约的交易申请操作,或者满足预设规则,如到达预设时间点等,智能合约触发器向智能合约所在的区块链发送交易申请,由区块链根据交易申请触发执行对应的智能合约,并在确定交易申请信息满足申请条件时,生成执行智能合约的触发指令。区块链将执行智能合约的触发指令发送给MPC代理服务端,通过调用MPC代理服务端与MPC平台进行交互。

MPC代理服务端接收到执行智能合约的触发指令后,根据相应的交易申请信息生成安全计算任务,并将安全计算任务发送至MPC平台,触发MPC平台执行安全计算任务。然后,在MPC平台执行安全计算任务的过程中,MPC代理服务端持续监测MPC平台的执行状态,如计算算力使用情况、临时存储消耗情况、密文数据使用情况等,并根据MPC平台的执行状态确定MPC平台执行安全计算任务的工作量证明。

其中,工作量证明为MPC平台执行安全计算任务过程中各个节点的工作状态、资源消耗情况、执行结果等信息的可视化数据。工作量证明作为MPC平台的工作证据,供MPC代理服务端验证MPC平台执行智能合约对应的安全计算任务是否正确且合规。

MPC代理服务端生成工作量证明后,会将工作量证明发送至区块链。区块链根据智能合约的合约规则将接收到的工作量证明转换为交易内容。区块链将工作量证明转换为交易内容的过程,本质上就是根据智能合约的交易规则,将工作量证明中MPC平台执行智能合约对应的安全计算任务的实际工作量转化为区块链代币。例如,区块链根据工作量证明确定MPC平台提供给了1小时的密文计算,根据合约规则,申请交易的用户需要支付m个数字代币。

本发明实施例中,在执行智能合约对应的数据资产交易的过程中,智能合约所在区块链与MPC平台始终通过MPC代理服务端进行交互,智能合约所在区块链与MPC平台无法直接进行接口调用,MPC平台也不会自行生成工作量证明,而是由受到智能合约所在的区块链与MPC平台的双方信任的MPC代理服务端提供MPC平台的工作量证明,保证了MPC平台执行智能合约对应的安全计算任务的可信度。

在本发明的一种可选实施例中,步骤201所述向多方安全计算代理服务端发送执行智能合约的触发指令之前,所述方法还包括:

步骤P11、在接收到针对所述智能合约的交易申请的情况下,向所述多方安全计算代理服务端发送针对所述智能合约的交易申请信息查询指令;

步骤P12、接收所述多方安全计算代理服务端返回的所述智能合约对应的交易申请信息。

在本发明实施例中,智能合约所在区块链在接收到针对智能合约的交易申请时,会向MPC代理服务端发送交易申请信息查询指令,以获取智能合约对应的交易申请信息并确定该交易申请信息是否满足申请条件。

MPC代理服务端接收到区块链发送的交易申请信息查询指令后,查询智能合约对应的交易申请信息,例如,对发起交易申请的用户的密文信用等级进行查询,并将查询结果发送给区块链。

区块链接收到交易申请信息之后,进一步判断交易申请信息是否满足申请条件。例如,确定发起交易申请的用户的密文信用等级是否满足智能合约规定的密文信用等级;或者,确定交易申请中涉及的密文数据是否满足智能合约规定的密文数据使用范围等等。

在本发明的一种可选实施例中,步骤201所述在智能合约对应的交易申请信息满足申请条件的情况下,向多方安全计算代理服务端发送执行所述智能合约的触发指令,包括:

步骤P21、判断所述交易申请信息是否满足申请条件;

步骤P22、若所述交易申请信息满足申请条件,则向多方安全计算代理服务端发送执行所述智能合约的触发指令。

如果区块链确定智能合约对应的交易申请信息满足申请条件,则向MPC代理服务端发送执行智能合约的触发指令,由MPC代理服务端调用MPC平台执行智能合约对应的安全计算任务。如果区块链判断交易申请信息不满足申请条件,就可以直接确定本次交易失败,不必再向MPC代理服务端发送执行智能合约的触发指令。

综上所述,本发明实施例通过在智能合约对应的交易申请信息满足申请条件的情况下,由智能合约所在区块链向MPC代理服务端发送执行所述智能合约的触发指令,以使所述MPC代理服务端根据所述交易申请信息生成安全计算任务。然后,接收MPC代理服务端发送的针对所述安全计算任务的工作量证明,并根据所述智能合约的合约规定将所述工作量证明转换为交易内容。相比于现有技术中智能合约所在的区块链直接与多方安全计算平台进行交互,本发明实施例通过多方安全计算代理服务端代理智能合约所在区块链与多方安全计算平台之间的交互过程,可以避免在基于智能合约进行数据资产交易的过程中,多方安全计算平台中各个节点直接参与智能合约执行而导致的交易数据无法达成共识、多余的算力消耗、恶意合约执行等问题,提高了智能合约执行的可靠性和准确性。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

装置实施例

参照图5,示出了本发明的一种数据处理装置实施例的结构框图,应用于多方安全计算代理服务端,所述装置具体可以包括:

触发指令接收模块301,用于接收执行智能合约的触发指令,所述触发指令是所述智能合约所在的区块链在确定所述智能合约对应的交易申请信息满足申请条件的情况下发送的;

安全计算任务生成模块302,用于根据所述交易申请信息生成安全计算任务;

安全计算任务发送模块303,用于将所述安全计算任务发送至多方安全计算平台,以触发所述多方安全计算平台执行所述安全计算任务;

工作量证明确定模块304,用于确定所述多方安全计算平台执行所述安全计算任务的工作量证明;

工作量证明发送模块305,用于将所述工作量证明发送至所述智能合约所在的区块链,以使所述区块链根据所述智能合约的合约规则将所述工作量证明转换为交易内容。

在本发明的一种可选实施例中,所述工作量证明确定模块304,包括:

状态信息监测子模块,用于监测所述多方安全计算平台在执行所述安全计算任务过程中的状态信息;

第一工作量证明确定子模块,用于将所述状态信息输入预置模型,以通过所述预置模型输出所述多方安全计算平台执行所述安全计算任务的工作量证明。

在本发明的一种可选实施例中,所述多方安全计算平台包括数据服务节点、计算节点,所述状态信息包括所述数据服务节点的工作状态、所述计算节点的工作状态、所述数据服务节点的存储数据量状态、所述计算节点的CPU占用率、计算结果中的至少一项。

在本发明的一种可选实施例中,所述工作量证明确定模块304,包括:

智能合约解析子模块,用于对所述智能合约进行解析,确定执行所述安全计算任务所需的算子;

信息确定子模块,用于在所述多方安全计算平台执行所述安全计算任务的过程中,确定密文数据使用信息和所述算子的执行状态;

第二工作量证明确定子模块,用于根据所述密文数据使用信息和所述算子的执行状态确定所述多方安全计算平台的工作量证明。

在本发明的一种可选实施例中,所述工作量证明确定模块304,包括:

存证确定子模块,用于确定所述多方安全计算平台执行所述安全计算任务过程中的存证;

第三工作量证明确定子模块,用于根据所述存证生成所述多方安全计算平台执行所述安全计算任务的工作量证明。

在本发明的一种可选实施例中,所述存证确定子模块,包括:

密文获取单元,用于获取所述安全计算任务的计算结果的哈希值密文;

存证生成单元,用于对所述哈希值密文进行私钥签名,得到所述多方安全计算平台执行所述安全计算任务过程中的存证。

在本发明的一种可选实施例中,所述装置还包括:

资源使用信息检测模块,用于检测所述多方安全计算平台在执行所述安全计算任务的过程中的资源使用信息;

合规性判断模块,用于根据所述资源使用信息判断所述多方安全计算平台在执行所述安全计算任务的过程中是否符合所述智能合约的合约规则;

安全计算任务中止模块,用于若确定所述多方安全计算平台在执行所述安全计算任务的过程中不符合所述智能合约的合约规则,则中止所述多方安全计算平台执行所述安全计算任务。

在本发明的一种可选实施例中,所述合规性判断模块,包括:

使用范围判断子模块,用于判断所述资源使用信息是否超出所述智能合约的规定使用范围;

合规性判断子模块,用于若所述资源使用信息超出所述智能合约的规定使用范围,则确定所述多方安全计算平台在执行所述安全计算任务的过程中不符合所述智能合约的合约规则。

在本发明的一种可选实施例中,所述使用范围判断子模块,包括:

第一哈希值获取单元,用于获取所述智能合约签订时对应第一算法的第一哈希值;

第二哈希值确定单元,用于确定所述智能合约执行时对应第二算法的第二哈希值;

哈希值比对单元,用于将所述第一哈希值与所述第二哈希值进行比对;

使用范围判断单元,用于若所述第一哈希值与所述第二哈希值不一致,则确定所述资源使用信息超出所述智能合约的规定使用范围。

在本发明的一种可选实施例中,所述装置还包括:

查询指令接收模块,用于接收针对智能合约的交易申请信息查询指令;

交易申请信息查询模块,用于响应于所述交易信息查询指令,查询所述智能合约对应的交易申请信息;

交易申请信息发送模块,用于将所述交易申请信息发送至所述智能合约所在的区块链,以使所述区块链判断所述交易申请信息是否满足申请条件。

在本发明的一种可选实施例中,所述资源使用信息包括:密文数据使用信息、计算资源使用信息和存储资源使用信息中的至少一项。

综上所述,本发明实施例提供了一种数据处理装置,可以在多方安全计算代理服务端接收到执行智能合约的触发指令的情况下,根据智能合约对应的交易申请信息生成安全计算任务,然后将所述安全计算任务发送至多方安全计算平台,触发多方安全计算平台执行所述安全计算任务,并确定所述多方安全计算平台执行所述安全计算任务的工作量证明,随后将所述工作量证明发送至所述智能合约所在的区块链,以使所述区块链根据所述智能合约的合约规则将所述工作量证明转换为交易内容。本发明实施例可以避免在基于智能合约进行数据资产交易的过程中,多方安全计算平台中各个节点直接参与智能合约执行而导致的交易数据无法达成共识、多余的算力消耗、恶意合约执行等问题,提高了智能合约执行的可靠性和准确性。

参照图6,示出了本发明的另一种数据处理装置实施例的结构框图,应用于智能合约所在的区块链,所述装置具体可以包括:

触发指令发送模块401,用于在智能合约对应的交易申请信息满足申请条件的情况下,向多方安全计算代理服务端发送执行所述智能合约的触发指令,以使所述多方安全计算代理服务端根据所述交易申请信息生成安全计算任务;

工作量证明接收模块402,用于接收所述多方安全计算代理服务端发送的针对所述安全计算任务的工作量证明;

工作量证明转换模块403,用于根据所述智能合约的合约规定将所述工作量证明转换为交易内容。

在本发明的一种可选实施例中,所述装置还包括:

查询指令发送模块,用于在接收到针对所述智能合约的交易申请的情况下,向所述多方安全计算代理服务端发送针对所述智能合约的交易申请信息查询指令;

交易申请信息接收模块,用于接收所述多方安全计算代理服务端返回的所述智能合约对应的交易申请信息。

在本发明的一种可选实施例中,所述触发指令发送模块401,包括:

申请条件判断子模块,用于判断所述交易申请信息是否满足申请条件;

触发指令发送子模块,用于若所述交易申请信息满足申请条件,则向多方安全计算代理服务端发送执行所述智能合约的触发指令。

综上所述,本发明实施例提供一种数据处理装置,可以在多方安全计算代理服务端接收到执行智能合约的触发指令的情况下,根据智能合约对应的交易申请信息生成安全计算任务,然后将所述安全计算任务发送至多方安全计算平台,触发多方安全计算平台执行所述安全计算任务,并确定所述多方安全计算平台执行所述安全计算任务的工作量证明,随后将所述工作量证明发送至所述智能合约所在的区块链,以使所述区块链根据所述智能合约的合约规则将所述工作量证明转换为交易内容。本发明实施例可以避免在基于智能合约进行数据资产交易的过程中,多方安全计算平台中各个节点直接参与智能合约执行而导致的交易数据无法达成共识、多余的算力消耗、恶意合约执行等问题,提高了智能合约执行的可靠性和准确性。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本发明实施例提供了一种用于数据处理的装置,应用于多方安全计算代理服务端,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:接收执行智能合约的触发指令,所述触发指令是所述智能合约所在的区块链在确定所述智能合约对应的交易申请信息满足申请条件的情况下发送的;根据所述交易申请信息生成安全计算任务;将所述安全计算任务发送至多方安全计算平台,以触发所述多方安全计算平台执行所述安全计算任务;确定所述多方安全计算平台执行所述安全计算任务的工作量证明;将所述工作量证明发送至所述智能合约所在的区块链,以使所述区块链根据所述智能合约的合约规则将所述工作量证明转换为交易内容。

本发明实施例还提供了另一种用于数据处理的装置,应用于智能合约所在的区块链,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:在智能合约对应的交易申请信息满足申请条件的情况下,向多方安全计算代理服务端发送执行所述智能合约的触发指令,以使所述多方安全计算代理服务端根据所述交易申请信息生成安全计算任务;接收所述多方安全计算代理服务端发送的针对所述安全计算任务的工作量证明;根据所述智能合约的合约规定将所述工作量证明转换为交易内容。

图7是根据一示例性实施例示出的一种用于数据处理的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图7,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。

处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。

存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。

多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音信息处理模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。

I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频信息处理(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

图8是本发明的一些实施例中服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。

服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行图1或图3所示的数据处理方法。

一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行一种数据处理方法,所述方法包括:接收执行智能合约的触发指令,所述触发指令是所述智能合约所在的区块链在确定所述智能合约对应的交易申请信息满足申请条件的情况下发送的;根据所述交易申请信息生成安全计算任务;将所述安全计算任务发送至多方安全计算平台,以触发所述多方安全计算平台执行所述安全计算任务;确定所述多方安全计算平台执行所述安全计算任务的工作量证明;将所述工作量证明发送至所述智能合约所在的区块链,以使所述区块链根据所述智能合约的合约规则将所述工作量证明转换为交易内容。

一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行一种数据处理方法,所述方法包括:在智能合约对应的交易申请信息满足申请条件的情况下,向多方安全计算代理服务端发送执行所述智能合约的触发指令,以使所述多方安全计算代理服务端根据所述交易申请信息生成安全计算任务;接收所述多方安全计算代理服务端发送的针对所述安全计算任务的工作量证明;根据所述智能合约的合约规定将所述工作量证明转换为交易内容。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

以上对本发明所提供的一种数据处理方法、一种数据处理装置和一种用于数据处理的装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 图像数据处理方法、用于图像数据处理方法的程序、记录有用于图像数据处理方法的程序的记录介质和图像数据处理装置
  • 工程机械的数据处理方法、用于执行其的装置、用于工程机械的数据处理的服务器以及工程机械的数据处理单元
技术分类

06120113115035