一种基于区块链实现安全多方计算的结果验证方法及系统技术方案

技术编号:21363514 阅读:23 留言:0更新日期:2019-06-15 09:47
本说明书提供一种基于区块链实现安全多方计算的结果验证方法及系统,将区块链与安全多方计算相结合,整体上采用了链下计算,链上验证的策略。数据的计算采用的是安全多方计算来实现,保证了原始数据的隐私,链下计算结果的正确性由区块链上的节点来进行验证。仅将链下计算部分的数据标签和计算结果上链,使计算结果可获得公开验证。从而使得无需在区块链上存储大量的数据,并且又能很好地将繁重的计算任务全部转移到链下来,极大地提高了整个系统的可扩展性,使区块链仅完成最纯粹的共识验证部分。本说明书实施例提供的隐私计算方式解决了区块链的可扩展性问题,并且保证了计算结果的可信性。

A Secure Multi-party Computing Results Verification Method and System Based on Block Chain

This specification provides a method and system to verify the results of secure multi-party computing based on block chains. It combines block chains with secure multi-party computing, and adopts the strategy of under-chain computing and on-chain verification as a whole. The calculation of data is implemented by secure multi-party computation, which ensures the privacy of the original data. The correctness of the calculation results under the chain is verified by the nodes on the block chain. Only the data label of the calculation part under the chain and the calculation results are linked, so that the calculation results can be publicly verified. Thus, it is not necessary to store a large amount of data in the block chain, and it can transfer all the heavy computing tasks to the chain, which greatly improves the scalability of the whole system and makes the block chain only complete the purest part of consensus verification. The privacy computing method provided in the embodiment of this specification solves the scalability problem of block chains and ensures the reliability of the calculation results.

【技术实现步骤摘要】
一种基于区块链实现安全多方计算的结果验证方法及系统
本说明书属于计算机
,尤其涉及一种基于区块链实现安全多方计算的结果验证方法及终端。
技术介绍
区块链可以理解为一个不可篡改的数据库,并且通过图灵完备的智能合约可以实现链上任何逻辑的执行。但是在区块链上的任何行为,包括交易转账和合约执行,不仅需要花费经济成本,而且要经由链上所有共识节点执行一次逻辑,造成链上资源的极大浪费,也影响了区块链本身的性能,因此,区块链本质上不适用于计算。MPC(SecureMulti-PartyComputation,安全多方计算)可以表示用户在无需进行数据归集的情况下,完成数据协同计算,同时保护数据所有方的原始数据隐私。参与各方在数据保留在各自本地的情况下,执行共同的既定计算逻辑(算法),得到计算结果。计算完成,参与各方除了自己的输入数据和输出结果外,无法获知任何额外信息。安全多方计算(MPC)作为一个隐私计算技术,与区块链本身无任何关系。但若有区块链中的需求方对数据隐私计算后的结果也有着需求,那么如何保证安全多方计算的结果对于需求方是可信的,提高数据处理的准确性和可信性,是本领域亟需解决的技术问题。
技术实现思路
本说明书实施例目的在于提供一种基于区块链实现安全多方计算的结果验证方法及系统,提高数据处理的准确性和可信性。第一方面本说明书实施例提供了一种基于区块链实现安全多方计算的结果验证方法,包括:第一终端基于安全多方计算生成加密电路和所述加密电路中各条输出线对应的输出线标签;所述第一终端根据所述输出线标签生成加密信息,并将所述第一终端的第一输入信息转换为第一输入标签;所述第一终端将所述加密电路、所述加密信息、所述第一输入标签、所述输出线标签对应的真值表发送给第二终端;所述第二终端与所述第一终端利用不经意传输协议,获取与所述第二终端的第二输入信息相对应的第二输入标签;所述第二终端利用所述第一输入标签、第二输入标签对所述加密电路进行解密,获得输出线解密标签;所述第二终端判断所述输出线解密标签和所述加密信息是否匹配,若匹配,则将计算结果信息存储到区块链中,所述计算结果信息包括:所述加密信息、计算输出结果、所述输出线解密标签、所述真值表;所述区块链中的节点根据所述计算结果信息对所述安全多方计算的结果进行正确性验证。第二方面,本说明书提供了一种基于区块链实现安全多方计算的结果验证系统,包括:第一终端、第二终端、区块链,其中,所述第一终端基于安全多方计算生成加密电路和所述加密电路中各条输出线对应的输出线标签;所述第一终端根据所述输出线标签生成加密信息,并将所述第一终端的第一输入信息转换为第一输入标签;所述第一终端将所述加密电路、所述加密信息、所述第一输入标签、所述输出线标签对应的真值表发送给第二终端;所述第二终端与所述第一终端利用不经意传输协议,获取与所述第二终端的第二输入信息相对应的第二输入标签;所述第二终端利用所述第一输入标签、第二输入标签对所述加密电路进行解密,获得输出线解密标签;所述第二终端判断所述输出线解密标签和所述加密信息是否匹配,若匹配,则将计算结果信息存储到区块链中,所述计算结果信息包括:所述加密信息、计算输出结果、所述输出线解密标签、所述真值表;所述区块链中的节点根据所述计算结果信息对所述安全多方计算的结果进行正确性验证。第三方面,本说明书提供了一种基于区块链实现安全多方计算的结果验证方法,包括:利用安全多方计算生成加密电路,和所述加密电路中各条输出线对应的输出线标签;根据所述输出线标签生成加密信息,并将第一输入信息转换为第一输入标签;将所述加密电路、所述加密信息、所述第一输入标签、所述输出线标签对应的真值表发送给第二终端,以使得所述第二终端根据所述加密电路、所述第一输入标签、所述真值表对所述加密电路进行解密,获得输出线解密标签,所述第二终端将计算结果信息存储到区块链中,所述计算结果信息包括:所述加密信息、计算输出结果、所述输出线解密标签、所述真值表。第四方面,本说明书提供了一种基于区块链实现安全多方计算的结果验证终端,包括:加密电路生成模块,用于利用安全多方计算生成加密电路,和所述加密电路中各条输出线对应的输出线标签;信息加密模块,用于根据所述输出线标签生成加密信息,并将第一输入信息转换为第一输入标签;信息发送模块,用于将所述加密电路、所述加密信息、所述第一输入标签、所述输出线标签对应的真值表发送给第二终端,以使得所述第二终端根据所述加密电路、所述第一输入标签、所述真值表对所述加密电路进行解密,获得输出线解密标签,所述第二终端将计算结果信息存储到区块链中,所述计算结果信息包括:所述加密信息、计算输出结果、所述输出线解密标签、所述真值表。第五方面,本说明书提供了一种基于区块链实现安全多方计算的结果验证方法,包括:接收第一终端基于安全多方计算生成并发送的加密电路、第一输入标签、所述加密电路的输出线标签对应的真值表、所述输出线标签对应的加密信息;利用不经意传输协议,获得第二输入信息对应的第二输入标签;利用所述第一输入标签、第二输入标签对所述加密电路进行解密,获得输出线解密标签;将计算结果信息存储到区块链中,以使得所述区块链的节点根据所述计算结果信息对所述安全多方计算的结果进行正确性验证;其中,所述加密信息为所述第一终端根据所述输出线标签生成的,所述计算结果信息包括:所述加密信息、计算输出结果、所述输出线解密标签、所述真值表。第六方面,本说明书提供了一种基于区块链实现安全多方计算的结果验证终端,包括:信息接收模块,用于接收第一终端基于安全多方计算生成并发送的加密电路、第一输入标签、所述加密电路的输出线标签对应的真值表、所述输出线标签对应的加密信息;输入标签获取模块,用于利用不经意传输协议,获得第二输入信息对应的第二输入标签;解密模块,用于利用所述第一输入标签、第二输入标签对所述加密电路进行解密,获得输出线解密标签;验证模块,用于将计算结果信息存储到区块链中,以使得所述区块链的节点根据所述计算结果信息对所述安全多方计算的结果进行正确性验证;其中,所述加密信息为所述第一终端根据所述输出线标签生成的,所述计算结果信息包括:所述加密信息、计算输出结果、所述输出线解密标签、所述真值表。第七方面,本说明书提供了基于区块链实现安全多方计算的结果验证方法,包括:接收并存储第二终端发送的计算结果信息,所述计算结果信息由第一终端和所述第二终端基于安全多方计算获得,所述计算结果信息包括:所述第一终端根据加密电路的输出线标签获得的加密信息、加密电路的输出线标签对应的真值表、所述第二终端根据加密电路以及输入标签获得的输出线解密标签、安全多方计算的计算输出结果;根据所述计算结果信息,验证所述安全多方计算的结果是否准确。第八方面,本说明书提供了基于区块链实现安全多方计算的结果验证装置,包括:计算结果接收模块,用于接收并存储第二终端发送的计算结果信息,所述计算结果信息由第一终端和所述第二终端基于安全多方计算获得,所述计算结果信息包括:所述第一终端根据加密电路的输出线标签获得的加密信息、加密电路的输出线标签对应的真值表、所述第二终端根据加密电路以及输入标签获得的输出线解密标签、安全多方计算的计算输出结果;结果验证模块,用于根据所述计算结果本文档来自技高网...

【技术保护点】
1.一种基于区块链实现安全多方计算的结果验证方法,其特征在于,包括:第一终端基于安全多方计算生成加密电路和所述加密电路中各条输出线对应的输出线标签;所述第一终端根据所述输出线标签生成加密信息,并将所述第一终端的第一输入信息转换为第一输入标签;所述第一终端将所述加密电路、所述加密信息、所述第一输入标签、所述输出线标签对应的真值表发送给第二终端;所述第二终端与所述第一终端利用不经意传输协议,获取与所述第二终端的第二输入信息相对应的第二输入标签;所述第二终端利用所述第一输入标签、第二输入标签对所述加密电路进行解密,获得输出线解密标签;所述第二终端判断所述输出线解密标签和所述加密信息是否匹配,若匹配,则将计算结果信息存储到区块链中,所述计算结果信息包括:所述加密信息、计算输出结果、所述输出线解密标签、所述真值表;所述区块链中的节点根据所述计算结果信息对所述安全多方计算的结果进行正确性验证。

【技术特征摘要】
1.一种基于区块链实现安全多方计算的结果验证方法,其特征在于,包括:第一终端基于安全多方计算生成加密电路和所述加密电路中各条输出线对应的输出线标签;所述第一终端根据所述输出线标签生成加密信息,并将所述第一终端的第一输入信息转换为第一输入标签;所述第一终端将所述加密电路、所述加密信息、所述第一输入标签、所述输出线标签对应的真值表发送给第二终端;所述第二终端与所述第一终端利用不经意传输协议,获取与所述第二终端的第二输入信息相对应的第二输入标签;所述第二终端利用所述第一输入标签、第二输入标签对所述加密电路进行解密,获得输出线解密标签;所述第二终端判断所述输出线解密标签和所述加密信息是否匹配,若匹配,则将计算结果信息存储到区块链中,所述计算结果信息包括:所述加密信息、计算输出结果、所述输出线解密标签、所述真值表;所述区块链中的节点根据所述计算结果信息对所述安全多方计算的结果进行正确性验证。2.一种基于区块链实现安全多方计算的结果验证系统,其特征在于,包括:第一终端、第二终端、区块链,其中,所述第一终端基于安全多方计算生成加密电路和所述加密电路中各条输出线对应的输出线标签;所述第一终端根据所述输出线标签生成加密信息,并将所述第一终端的第一输入信息转换为第一输入标签;所述第一终端将所述加密电路、所述加密信息、所述第一输入标签、所述输出线标签对应的真值表发送给第二终端;所述第二终端与所述第一终端利用不经意传输协议,获取与所述第二终端的第二输入信息相对应的第二输入标签;所述第二终端利用所述第一输入标签、第二输入标签对所述加密电路进行解密,获得输出线解密标签;所述第二终端判断所述输出线解密标签和所述加密信息是否匹配,若匹配,则将计算结果信息存储到区块链中,所述计算结果信息包括:所述加密信息、计算输出结果、所述输出线解密标签、所述真值表;所述区块链中的节点根据所述计算结果信息对所述安全多方计算的结果进行正确性验证。3.一种基于区块链实现安全多方计算的结果验证方法,其特征在于,包括:利用安全多方计算生成加密电路,和所述加密电路中各条输出线对应的输出线标签;根据所述输出线标签生成加密信息,并将第一输入信息转换为第一输入标签;将所述加密电路、所述加密信息、所述第一输入标签、所述输出线标签对应的真值表发送给第二终端,以使得所述第二终端根据所述加密电路、所述第一输入标签、所述真值表对所述加密电路进行解密,获得输出线解密标签,所述第二终端将计算结果信息存储到区块链中,所述计算结果信息包括:所述加密信息、计算输出结果、所述输出线解密标签、所述真值表。4.如权利要求3所述的方法,其特征在于,所述根据所述输出线标签生成加密信息,包括:将各所述输出线标签分别进行哈希计算,将获得的哈希计算结果作为所述加密信息。5.如权利要求3所述的方法,其特征在于,所述根据所述输出线标签生成加密信息,包括:利用承诺协议将各所述输出线标签分别生成对应的承诺值,将获得的所述承诺值作为所述加密信息。6.如权利要求3所述的方法,其特征在于,所述方法还包括:将所述加密信息、所述输出线标签和所述真值表的哈希真值表存储到区块链中;或,将所述输出线标签和所述真值表的哈希真值表存储到区块链中,并将所述加密信息发送给第二终端,以使得所述第二终端对所述加密信息统一进行哈希计算,获得所述输出线标签的统一哈希值,所述第二终端将所述输出线标签哈希值存储到区块链中。7.一种基于区块链实现安全多方计算的结果验证终端,其特征在于,包括:加密电路生成模块,用于利用安全多方计算生成加密电路,和所述加密电路中各条输出线对应的输出线标签;信息加密模块,用于根据所述输出线标签生成加密信息,并将第一输入信息转换为第一输入标签;信息发送模块,用于将所述加密电路、所述加密信息、所述第一输入标签、所述输出线标签对应的真值表发送给第二终端,以使得所述第二终端根据所述加密电路、所述第一输入标签、所述真值表对所述加密电路进行解密,获得输出线解密标签,所述第二终端将计算结果信息存储到区块链中,所述计算结果信息包括:所述加密信息、计算输出结果、所述输出线解密标签、所述真值表。8.一种基于区块链实现安全多方计算的结果验证方法,其特征在于,包括:接收第一终端基于安全多方计算生成并发送的加密电路、第一输入标签、所述加密电路的输出线标签对应的真值表、所述输出线标签对应的加密信息;利用不经意传输协议,获得第二输入信息对应的第二输入标签;利用所述第一输入标签、第二输入标签对所述加密电路进行解密,获得输出线解密标签;将计算结果信息存储到区块链中,以使得所述区块链的节点根据所述计算结果信息对所述安全多方计算的结果进行正确性验证;其中,所述加密信息为所述第一终端根据所述输出线标签生成的,所述计算结果信息包括:所述加密信息、计算输出结果、所述输出...

【专利技术属性】
技术研发人员:安瑞谢翔孙立林谢红军
申请(专利权)人:矩阵元技术深圳有限公司
类型:发明
国别省市:广东,44

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

1