CN114430326B - 基于区块链的信息确认方法及装置、电子设备及存储介质 - Google Patents
基于区块链的信息确认方法及装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114430326B CN114430326B CN202210357326.4A CN202210357326A CN114430326B CN 114430326 B CN114430326 B CN 114430326B CN 202210357326 A CN202210357326 A CN 202210357326A CN 114430326 B CN114430326 B CN 114430326B
- Authority
- CN
- China
- Prior art keywords
- transaction
- message
- calculation
- computing
- block chain
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
Abstract
本发明公开了一种基于区块链的信息确认方法及装置、电子设备及存储介质,涉及区块链技术领域,其中,该确认方法包括:接收安全计算节点传输的交易报文,基于交易报文,获取在进行安全计算交易时所需要的交易数据,并将交易数据发送至安全计算节点,接收多个安全计算节点传输的计算结果,并对多个计算结果进行联合计算,得到联合计算结果,采用预先配置的共识机制,验证联合计算结果的正确性,得到共识信息,将共识信息广播至区块链。本发明解决了相关技术中在保障各参与方数据安全共享的情况下,安全计算效能较低的技术问题。
Description
技术领域
本发明涉及区块链技术领域,具体而言,涉及一种基于区块链的信息确认方法及装置、电子设备及存储介质。
背景技术
在传统分布式系统中,参与到系统中的各方需要围绕区域中心系统进行数据交互,所有系统内跨机构间的业务流程须经过中心系统进行流转处理,数据处理受制于中心系统的处理时效,时效性偏低,同时,系统中的各参与方出于对数据隐私、经营利益等方面的考虑,不愿意内部数据被恶意分享,即便发现被泄漏的隐私图片、文件等,也无从追溯和索权。
随着区块链技术的发展,区块链系统的去中心化、不可篡改、可追溯等特性为解决中心化运营遇到的问题提供了很好的解决方案。然而,在用户数据隐私保护方面仍存在如下问题:(1)区块链虽然具有相对安全的运行环境,但本质上数据都是私有的,参与方对于自己的数据没有数据控制权和追溯手段,也无法保证数据归自己管控,例如,在区块链系统上,数据一旦被拿走,参与方将不再具有数据的控制权和归属权;(2)区块链具备物理通道数据隔离机制,通道之间数据互不可见,限制了参与方在区块链上的跨场景、跨机构之间的可信数据传递应用。
相关技术中,多方安全计算作为一种加密协议,在分布式系统中执行数据计算,计算过程中,各参与方在无法获取其它参与方输入参数的条件下,共同执行一条带参的计算函数,如果计算函数得到足够多的参与方的输入参数,秘密就能出现并在共同参与方范围内传播,该方法虽然能够对数据进行安全的、保密的计算而各参与方无需公开数据或上传数据,但也增加了多方安全计算的交互通讯数量,如果把参与计算的多方描述成一个圆圈,理论上多方计算过程的交互通讯数量与组成圆圈的成员数成正比,因此,在多个参与方参与的情况下,交互通讯数量会对安全计算效能产生很大的影响。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种基于区块链的信息确认方法及装置、电子设备及存储介质,以至少解决相关技术中在保障各参与方数据安全共享的情况下,安全计算效能较低的技术问题。
根据本发明实施例的一个方面,提供了一种基于区块链的信息确认方法,应用于区块链节点,包括:接收安全计算节点传输的交易报文;基于所述交易报文,获取在进行安全计算交易时所需要的交易数据,并将所述交易数据发送至所述安全计算节点,其中,所述安全计算节点对所述交易数据进行加密处理,得到交易密文,并将所述交易密文传送至其它安全计算节点;接收多个所述安全计算节点传输的计算结果,并对多个所述计算结果进行联合计算,得到联合计算结果,其中,所述计算结果是所述安全计算节点对分片报文以及所述交易密文进行计算后得到的,所述分片报文为所述安全计算节点对所述交易报文进行分割处理得到的;采用预先配置的共识机制,验证所述联合计算结果的正确性,得到共识信息,将所述共识信息广播至区块链。
可选地,在接收安全计算节点传输的交易报文之前,还包括:接收智能合约部署请求;基于所述智能合约部署请求,生成智能合约标识以及合约交易标识;将所述合约交易标识、所述智能合约标识、智能合约代码以及校验参数信息组装成智能合约部署报文;将所述智能合约部署报文广播至区块链的其它区块链节点,其中,每个所述其它区块链节点在接收到所述智能合约部署报文后,编译所述智能合约代码,并启动智能合约执行环境。
可选地,基于所述交易报文,获取在进行安全计算交易时所需要的交易数据的步骤,包括:对所述交易报文进行解析,得到智能合约标识和计算参数;将所述计算参数传送给所述智能合约标识所指示的目标智能合约;根据所述目标智能合约的业务逻辑信息,从预设数据库中获取在进行安全计算交易时所需要的交易数据。
可选地,在验证所述联合计算结果的正确性,得到共识信息,将所述共识信息广播至区块链之后,还包括:在所述共识信息指示所有区块链节点对所述联合计算结果验证正确的情况下,执行所述目标智能合约,并保存合约执行结果。
可选地,在验证所述联合计算结果的正确性之前,还包括:接收多个所述分片报文,采用预设评估算法,对每个所述分片报文进行评估,得到评估结果;在所述评估结果指示评估通过的情况下,验证所述联合计算结果的正确性。
可选地,采用预设评估算法,对每个所述分片报文进行评估的步骤,包括:获取与所述分片报文对应的键值;将预先得到的加密报文、错误临界值参数、同态分享函数、所述分片报文以及所述键值输入至所述预设评估算法中,得到分片报文分量;在所述分片报文分量满足预设条件的情况下,确定对所述分片报文的评估通过。
可选地,所述确认方法还包括:接收目标客户端发送的多方安全计算结果查询请求,其中,所述多方安全计算结果查询请求携带有智能合约标识;执行所述智能合约标识所指示的智能合约,获取多方安全计算结果;将所述多方安全计算结果返回至所述目标客户端,以完成查询请求。
根据本发明实施例的另一方面,还提供了一种基于区块链的信息确认方法,应用于安全计算节点,包括:接收客户端发起的安全计算交易请求,并将所述安全计算交易请求组装成交易报文;对所述交易报文进行分割处理,得到多个分片报文,并基于区块链,将所述分片报文广播至其它安全计算节点;接收区块链节点传输的交易数据,并对所述交易数据进行加密处理,得到交易密文,将所述交易密文传送至其它安全计算节点,其中,所述交易数据为区块链节点基于所述交易报文获取到的;对所述分片报文以及所述交易密文进行计算,得到计算结果,其中,通过所述区块链节点汇总多个所述计算结果,并对多个所述计算结果进行联合计算,得到联合计算结果,并验证所述联合计算结果的正确性,得到共识信息。
可选地,对所述交易报文进行分割处理,得到多个分片报文的步骤,包括:获取参数数据,其中,所述参数数据至少包括:安全参数;基于所述安全参数以及所述交易报文,采用预设生成算法,生成多个分片报文,其中,多个所述分片报文相乘的结果满足预设循环群条件,所述预设循环群条件中的乘方参数为通过计算每两个所述分片报文之间的预设对数距离差值得到的。
可选地,对所述交易数据进行加密处理,得到交易密文的步骤,包括:基于所述安全参数,生成秘钥;基于所述秘钥,对所述交易数据进行加密处理,得到交易密文。
可选地,所述确认方法还包括:基于所述安全参数,生成秘钥;基于所述秘钥,对所述分片报文进行加密处理,得到加密报文,其中,所述加密报文用于得到分片报文分量。
根据本发明实施例的另一方面,还提供了一种基于区块链的信息确认装置,应用于区块链节点,包括:第一接收单元,用于接收安全计算节点传输的交易报文;获取单元,用于基于所述交易报文,获取在进行安全计算交易时所需要的交易数据,并将所述交易数据发送至所述安全计算节点,其中,所述安全计算节点对所述交易数据进行加密处理,得到交易密文,并将所述交易密文传送至其它安全计算节点;第一计算单元,用于接收多个所述安全计算节点传输的计算结果,并对多个所述计算结果进行联合计算,得到联合计算结果,其中,所述计算结果是所述安全计算节点对分片报文以及所述交易密文进行计算后得到的,所述分片报文为所述安全计算节点对所述交易报文进行分割处理得到的;验证单元,用于采用预先配置的共识机制,验证所述联合计算结果的正确性,得到共识信息,将所述共识信息广播至区块链。
可选地,所述确认装置还包括:第一接收模块,用于在接收安全计算节点传输的交易报文之前,接收智能合约部署请求;第一生成模块,用于基于所述智能合约部署请求,生成智能合约标识以及合约交易标识;第一组装模块,用于将所述合约交易标识、所述智能合约标识、智能合约代码以及校验参数信息组装成智能合约部署报文;第一广播模块,用于将所述智能合约部署报文广播至区块链的其它区块链节点,其中,每个所述其它区块链节点在接收到所述智能合约部署报文后,编译所述智能合约代码,并启动智能合约执行环境。
可选地,所述获取单元包括:第一解析模块,用于对所述交易报文进行解析,得到智能合约标识和计算参数;第一传送模块,用于将所述计算参数传送给所述智能合约标识所指示的目标智能合约;第一获取模块,用于根据所述目标智能合约的业务逻辑信息,从预设数据库中获取在进行安全计算交易时所需要的交易数据。
可选地,所述确认装置还包括:第一执行模块,用于在验证所述联合计算结果的正确性,得到共识信息,将所述共识信息广播至区块链之后,在所述共识信息指示所有区块链节点对所述联合计算结果验证正确的情况下,执行所述目标智能合约,并保存合约执行结果。
可选地,所述确认装置还包括:第一评估模块,用于在验证所述联合计算结果的正确性之前,接收多个所述分片报文,采用预设评估算法,对每个所述分片报文进行评估,得到评估结果;第一验证模块,用于在所述评估结果指示评估通过的情况下,验证所述联合计算结果的正确性。
可选地,所述第一评估模块包括:第一获取子模块,用于获取与所述分片报文对应的键值;第一输入子模块,用于将预先得到的加密报文、错误临界值参数、同态分享函数、所述分片报文以及所述键值输入至所述预设评估算法中,得到分片报文分量;第一确定子模块,用于在所述分片报文分量满足预设条件的情况下,确定对所述分片报文的评估通过。
可选地,所述确认装置还包括:第二接收模块,用于接收目标客户端发送的多方安全计算结果查询请求,其中,所述多方安全计算结果查询请求携带有智能合约标识;第二执行模块,用于执行所述智能合约标识所指示的智能合约,获取多方安全计算结果;第一返回模块,用于将所述多方安全计算结果返回至所述目标客户端,以完成查询请求。
根据本发明实施例的另一方面,还提供了一种基于区块链的信息确认装置,应用于安全计算节点,包括:第二接收单元,用于接收客户端发起的安全计算交易请求,并将所述安全计算交易请求组装成交易报文;分割单元,用于对所述交易报文进行分割处理,得到多个分片报文,并基于区块链,将所述分片报文广播至其它安全计算节点;加密单元,用于接收区块链节点传输的交易数据,并对所述交易数据进行加密处理,得到交易密文,将所述交易密文传送至其它安全计算节点,其中,所述交易数据为区块链节点基于所述交易报文获取到的;第二计算单元,用于对所述分片报文以及所述交易密文进行计算,得到计算结果,其中,通过所述区块链节点汇总多个所述计算结果,并对多个所述计算结果进行联合计算,得到联合计算结果,并验证所述联合计算结果的正确性,得到共识信息。
可选地,所述分割单元包括:第二获取模块,用于获取参数数据,其中,所述参数数据至少包括:安全参数;第二生成模块,用于基于所述安全参数以及所述交易报文,采用预设生成算法,生成多个分片报文,其中,多个所述分片报文相乘的结果满足预设循环群条件,所述预设循环群条件中的乘方参数为通过计算每两个所述分片报文之间的预设对数距离差值得到的。
可选地,所述加密单元包括:第三生成模块,用于基于所述安全参数,生成秘钥;第一加密模块,用于基于所述秘钥,对所述交易数据进行加密处理,得到交易密文。
可选地,所述确认装置还包括:第四生成模块,用于基于所述安全参数,生成秘钥;第二加密模块,用于基于所述秘钥,对所述分片报文进行加密处理,得到加密报文,其中,所述加密报文用于得到分片报文分量。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行上述所述的基于区块链的信息确认方法。
根据本发明实施例的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现上述所述的基于区块链的信息确认方法。
在本公开中,接收安全计算节点传输的交易报文,基于交易报文,获取在进行安全计算交易时所需要的交易数据,并将交易数据发送至安全计算节点,接收多个安全计算节点传输的计算结果,并对多个计算结果进行联合计算,得到联合计算结果,采用预先配置的共识机制,验证联合计算结果的正确性,得到共识信息,将共识信息广播至区块链。在本申请中,可通过区块链节点获取在进行安全计算交易时安全计算节点所需要的交易数据,使得多个安全计算节点可以分别基于得到的分片报文和加密后的交易数据进行计算,并由区块链节点对接收到的多个计算结果进行验证,以得到共识信息,不仅保障了各参与方数据的安全共享,也减少数据分享交互数量,从而提升了数据的安全性和计算效率,进而解决了相关技术中在保障各参与方数据安全共享的情况下,安全计算效能较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的基于区块链的信息确认方法的流程图;
图2是根据本发明实施例的一种可选的区块链节点结构的示意图;
图3是根据本发明实施例的一种可选的区块链多方安全秘密分享转化流程的示意图;
图4是根据本发明实施例的另一种可选的基于区块链的信息确认方法的流程图;
图5是根据本发明实施例的一种可选的安全计算节点(MPC)结构的示意图;
图6是根据本发明实施例的一种可选的区块链多方安全计算系统框架的示意图;
图7是根据本发明实施例的一种可选的区块链多方安全秘密分享转化的系统结构的示意图;
图8是根据本发明实施例的一种可选的基于区块链的信息确认装置的示意图;
图9是根据本发明实施例的另一种可选的基于区块链的信息确认装置的示意图;
图10是根据本发明实施例的一种用于基于区块链的信息确认方法的电子设备(或移动设备)的硬件结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于本领域技术人员理解本发明,下面对本发明各实施例中涉及的部分术语或名词做出解释:
隐私计算(Privacy-Preserving Computation):是指在提供隐私保护的前提下,通过协作对多方的数据进行机器学习和数据计算分析,实现数据价值挖掘的技术体系,也是一套包含人工智能、密码学、数据科学等众多领域交叉融合的跨学科技术体系。
多方安全计算(Multiply Security Computation,简称MPC):在没有可信第三方的情况下,安全地计算约定函数的技术和系统。各参与方将明文数据加密转化后,通过密码学协议协同完成数学计算,任一方都无法接触其他方明文数据,保证各方数据的安全。
秘密分享(Secret Sharing):是一种在多个参与方中发布秘密信息的方法,每个参与方获得一份秘密片断,无法破译秘密信息,只有收集到足够多(参与方)的秘密片断,才能将破译出完整的秘密信息。
需要说明的是,本公开中的基于区块链的信息确认方法及其装置可用于区块链技术领域,在基于区块链进行信息确认的情况下,也可用于除区块链技术领域之外的任意领域在基于区块链进行信息确认的情况下,本公开中对基于区块链的信息确认方法及其装置的应用领域不做限定。
需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本发明下述各实施例可应用于各种基于区块链进行信息确认的系统/应用/设备中。本发明可以通过将区块链与多方安全计算技术结合,以提升自身的隐私数据保护能力,不仅有助于降低集中式处理的单点故障,提升系统的稳定性,而且允许参与方在隐匿身份的场景下自主定义秘密信息的发布类型,选择共享发布范围,既解决了去中心化数据隐私保护的问题,又解决了数据归属权问题,为后续可能发生的隐私数据恶意传播,提供追索依据。并且,本发明在区块链和多方安全计算结合的基础上,通过改进秘密分享的算法,能够减少秘密分享交互数量,提升了数据安全性和计算效率,还可以提升秘密数据传播的效率和速度,同时,赋予了秘密数据可追溯和选择性披露的属性,打破了通道数据彼此不可用的壁垒,进而提升了区块链上秘密数据流通价值。
下面结合各个实施例来详细说明本发明。
实施例一
根据本发明实施例,提供了一种基于区块链的信息确认方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种可选的基于区块链的信息确认方法的流程图,如图1所示,该方法包括如下步骤:
步骤S101,接收安全计算节点传输的交易报文。
步骤S102,基于交易报文,获取在进行安全计算交易时所需要的交易数据,并将交易数据发送至安全计算节点,其中,安全计算节点对交易数据进行加密处理,得到交易密文,并将交易密文传送至其它安全计算节点。
步骤S103,接收多个安全计算节点传输的计算结果,并对多个计算结果进行联合计算,得到联合计算结果,其中,计算结果是安全计算节点对分片报文以及交易密文进行计算后得到的,分片报文为安全计算节点对交易报文进行分割处理得到的。
步骤S104,采用预先配置的共识机制,验证联合计算结果的正确性,得到共识信息,将共识信息广播至区块链。
通过上述步骤,可以接收安全计算节点传输的交易报文,基于交易报文,获取在进行安全计算交易时所需要的交易数据,并将交易数据发送至安全计算节点,接收多个安全计算节点传输的计算结果,并对多个计算结果进行联合计算,得到联合计算结果,采用预先配置的共识机制,验证联合计算结果的正确性,得到共识信息,将共识信息广播至区块链。在本发明实施例中,可通过区块链节点获取在进行安全计算交易时安全计算节点所需要的交易数据,使得多个安全计算节点可以分别基于得到的分片报文和加密后的交易数据进行计算,并由区块链节点对接收到的多个计算结果进行验证,以得到共识信息,不仅保障了各参与方数据的安全共享,也减少数据分享交互数量,从而提升了数据的安全性和计算效率,进而解决了相关技术中在保障各参与方数据安全共享的情况下,安全计算效能较低的技术问题。
下面结合上述各步骤对本发明实施例进行详细说明。本发明实施例可应用于区块链节点。
图2是根据本发明实施例的一种可选的区块链节点结构的示意图,如图2所示,包括:通讯模块21,交易处理模块22,智能合约模块23,共识验证模块24,其中,
通讯模块21负责各节点间的通信交互,完成一般区块链节点通讯信息,通讯信息包括但不限于:广播交易信息、共识相关信息、区块同步信息、网络状态信息等。
交易处理模块22负责接收交易请求,生成交易唯一标识,将交易唯一标识、合约唯一标识以及调用参数组装成交易报文,广播到区块链的其它节点。
智能合约模块23负责从交易处理模块22接收交易报文,通过多方安全计算得出计算结果,根据预设的业务逻辑进行判断,并把最终交易指令提交到共识验证模块24进行验证。
共识验证模块24负责对接收到交易指令进行共识处理,如达成共识,调用智能合约模块23,执行智能合约,并最终形成记录在案,可供日后审计追溯或验证,并负责执行智能合约形成联合计算结果,验证和评估相似度结果。
可选的,在接收安全计算节点传输的交易报文之前,还包括:接收智能合约部署请求;基于智能合约部署请求,生成智能合约标识以及合约交易标识;将合约交易标识、智能合约标识、智能合约代码以及校验参数信息组装成智能合约部署报文;将智能合约部署报文广播至区块链的其它区块链节点,其中,每个其它区块链节点在接收到智能合约部署报文后,编译智能合约代码,并启动智能合约执行环境。
在本发明实施例中,任意一个安全计算节点(即MPC节点)上的运营商可通过客户端,向所在MPC节点发起一笔多方安全计算的智能合约部署请求,然后由该MPC节点转发给区块链节点,区块链节点中的交易处理模块会接收智能合约部署请求,并基于该智能合约部署请求,生成部署合约交易的唯一标识(即合约交易标识)以及智能合约唯一标识(即智能合约标识),然后合约交易标识、智能合约标识、智能合约代码以及校验参数信息(例如,检验码等安全参数)组装成智能合约部署报文,区块链节点的交易处理模块调用通讯模块21,把组装的智能合约部署报文广播到区块链系统中的其它区块链节点,各节点接收到智能合约部署报文后,开始解析请求报文,如涉及本节点的,则开始在本节点编译智能合约代码,启动智能合约执行环境,区块链节点将部署成功状态返回运营商的客户端。
步骤S101,接收安全计算节点传输的交易报文。
在本发明实施例中,该交易报文是安全计算节点在接收到安全计算交易请求后组装成的报文。
步骤S102,基于交易报文,获取在进行安全计算交易时所需要的交易数据,并将交易数据发送至安全计算节点,其中,安全计算节点对交易数据进行加密处理,得到交易密文,并将交易密文传送至其它安全计算节点。
可选的,基于交易报文,获取在进行安全计算交易时所需要的交易数据的步骤,包括:对交易报文进行解析,得到智能合约标识和计算参数;将计算参数传送给智能合约标识所指示的目标智能合约;根据目标智能合约的业务逻辑信息,从预设数据库中获取在进行安全计算交易时所需要的交易数据。
在本发明实施例中,各区块链节点接收到交易报文后,对报文进行解析,获取智能合约标识以及相关计算参数,然后将相关计算参数传送给对应的智能合约(即智能合约标识所指示的目标智能合约),由智能合约模块进行处理,执行智能合约业务逻辑,并进行数据处理,之后,根据智能合约业务逻辑从区块链节点数据库(即预设数据库)中获取本次多方安全计算交易所需要的数据,然后将交易数据发送至安全计算节点,安全计算节点接收到交易数据,利用加密模块对获取的交易数据进行加密处理,得到交易密文,并将交易密文传送至其它安全计算节点。
可选的,本实施例中的交易密文包括但不限于:计算因子、随机数、数据密文等。
步骤S103,接收多个安全计算节点传输的计算结果,并对多个计算结果进行联合计算,得到联合计算结果,其中,计算结果是安全计算节点对分片报文以及交易密文进行计算后得到的,分片报文为安全计算节点对交易报文进行分割处理得到的。
在本发明实施例中,各安全计算节点中的密文处理模块对通讯得到的分片报文(通过对交易报文进行分割处理得到的)以及交易密文进行计算,并将计算结果传送给区块链节点,区块链节点在接收多个安全计算节点传输的计算结果后,对多个计算结果进行联合计算,得到联合计算结果。
可选的,在验证联合计算结果的正确性之前,还包括:接收多个分片报文,采用预设评估算法,对每个分片报文进行评估,得到评估结果;在评估结果指示评估通过的情况下,验证联合计算结果的正确性。
在本发明实施例中,区块链节点接收多个分片报文,并采用预设评估算法(例如,Eval算法),对每个分片报文进行评估,得到评估结果,如果对所有分片报文评估通过,则验证联合计算结果的正确性。
可选的,采用预设评估算法,对每个分片报文进行评估的步骤,包括:获取与分片报文对应的键值;将预先得到的加密报文、错误临界值参数、同态分享函数、分片报文以及键值输入至预设评估算法中,得到分片报文分量;在分片报文分量满足预设条件的情况下,确定对分片报文的评估通过。
在本发明实施例中,在预设评估算法中,可以先生成密钥,具体为:输入安全参数1k,输出公钥PK,以及一个估计键值对,形式化表示为:。然后,对秘密数据进行加密处理,输入公钥PK和秘密数据w,输出加密报文c:。之后,可以获取与分片报文对应的键值eb,输入分片报文b以及键值eb,输出分片报文分量yb,形式上表示为:
其中,c表示预先得到的加密报文,P为同态分享函数,δ表示错误临界值参数。
在分片报文分量满足预设条件的情况下,确定对分片报文的评估通过。
步骤S104,采用预先配置的共识机制,验证联合计算结果的正确性,得到共识信息,将共识信息广播至区块链。
在本发明实施例中,在对分片报文的评估通过后,各区块链节点智能合约通过区块链共识机制证(即预先配置的共识机制),验证联合计算结果,产生共识,存储至区块链中(即验证联合计算结果的正确性,得到共识信息,将共识信息广播至区块链)。
可选的,在验证联合计算结果的正确性,得到共识信息,将共识信息广播至区块链之后,还包括:在共识信息指示所有区块链节点对联合计算结果验证正确的情况下,执行目标智能合约,并保存合约执行结果。
在本发明实施例中,在共识信息指示所有区块链节点对联合计算结果验证正确的情况下(即所有区块链节点达成共识),执行目标智能合约,并保存合约执行结果,以供日后审计追溯或验证。
可选的,确认方法还包括:接收目标客户端发送的多方安全计算结果查询请求,其中,多方安全计算结果查询请求携带有智能合约标识;执行智能合约标识所指示的智能合约,获取多方安全计算结果;将多方安全计算结果返回至目标客户端,以完成查询请求。
在本发明实施例中,运营商可以通过客户端(即目标客户端)发出多方安全计算结果查询请求,区块链节点在接收目标客户端发送的多方安全计算结果查询请求后,可以通过多方安全计算结果查询请求携带有智能合约标识,执行智能合约标识所指示的智能合约,获取多方安全计算结果,并将多方安全计算结果返回至目标客户端,以完成查询请求。
下面结合另一种可选的具体实施例进行说明。
图3是根据本发明实施例的一种可选的区块链多方安全秘密分享转化流程的示意图,如图3所示,包括:部署智能合约,执行多方安全计算交易,查询多方安全计算结果等3个操作,具体如下:
操作一:部署智能合约;
步骤S3101:运营商A通过客户端发起智能合约部署请求,并通过与区块链节点连接的MPC节点转发给区块链节点,区块链节点(群)的交易处理模块会收到该智能合约部署请求;
步骤S3102:交易处理模块接收智能合约部署请求,生成部署合约交易的唯一标识以及智能合约唯一标识,然后将交易唯一标识、合约唯一标识、智能合约代码以及相关参数等组装成报文。
步骤S3103:区块链节点的交易处理模块将组装的报文广播到区块链系统中的其它区块链节点;
步骤S3104:各节点接收报文,编译智能合约代码,启动智能合约执行环境;
步骤S3105:区块链节点返回部署成功信息给运营商A的客户端。
操作二:执行多方安全计算交易;
步骤S3201:在交易中涉及到的节点部署完智能合约后,运营商A发布多方安全计算交易请求,交易请求中指定相关的计算参数以及多方安多计算智能合约的唯一标识;
步骤S3202:多方安全计算节点(即MPC节点A)接收多方安全计算交易请求,并组装为交易报文;
步骤S3203:对交易报文进行秘密分断处理,通过区块链网络广播秘密分片报文,其中,可通过秘密片断分量Share算法对交易报文进行秘密分断处理,执行秘密片断分量算法,为执行内容感知算法的主体模块,秘密片断分量算法Share包括:预处理、秘密分断、后评估3个步骤,具体如下:
(1)预处理:设置安全参数,设δ表示错误临界值,v表示忽视函数;
(2)秘密分断:秘密分断函数share形式上表示为:
其中,1k表示安全参数,w表示秘密信息,(w0,w1)表示share输出的秘密片断;
(3)后评估:对同态分享函数P,评估share算法的正确性,即:对于每一个多项式P,安全参数k,w,同态分享函数P和δ,存在忽视函数v,满足如下关系:
步骤S3204:各区块链节点接收到交易报文,对报文进行解析,获取智能合约唯一标识,然后将相关信息传送给对应的智能合约,由智能合约模块进行处理,执行智能合约业务逻辑,并进行数据处理;
步骤S3205:根据智能合约业务逻辑从区块链节点数据库中获取本次多方安全计算交易所需要的数据,然后将数据交给多方安全计算节点(即MPC节点A);
步骤S3206:多方安全计算节点接收交易数据,对交易数据进行加密处理;
步骤S3207:加密处理后的数据由通讯模块传送给其它MPC节点,传送的消息包括:计算因子、随机数、数据密文等;
步骤S3208:各MPC节点对通讯得到的密文进行联合计算;
步骤S3209:对联合计算结果加密处理,发给区块链节点;
步骤S3210:各区块链节点接收多参与方的秘密片断,验证联合计算结果,产生共识,存储区块链。
步骤S3211:客户端接收联合计算结果,完成交易。
操作三:查询多方安全计算结果;
步骤S3301:运营商B通过客户端发出多方安全计算结果查询请求;
步骤S3302:区块链节点通过执行智能合约查询交易,获取多方安全联合计算结果;
步骤S3303:客户端接收返回结果,完成交易。
本发明实施例中,针对用户数据文件在区块链和多方安全计算中难以追踪、举证困难、成本高、效率低等问题,打破现有的传统中心化运营模式,提出了一种区块链多方安全秘密分享转化的解决方案,将语义感知哈希算法嵌入到区块链和多方安全计算技术中,可以有效解决了数字文件内容跟踪和操作的难题,可广泛应用在安全数据分享、金融业务等业务场景中。并且,本发明实施例在区块链和多方安全计算结合的基础上,通过改进秘密分享的算法,提高了秘密数据传播的效率和速度,同时赋予了秘密数据可追溯和选择性披露的属性,打破了通道数据彼此不可用的壁垒,进而提升了区块链上秘密数据流通价值。
实施例二
根据本发明实施例,提供了另一种基于区块链的信息确认方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图4是根据本发明实施例的另一种可选的基于区块链的信息确认方法的流程图,如图4所示,该方法包括如下步骤:
步骤S401,接收客户端发起的安全计算交易请求,并将安全计算交易请求组装成交易报文。
步骤S402,对交易报文进行分割处理,得到多个分片报文,并基于区块链,将分片报文广播至其它安全计算节点。
步骤S403,接收区块链节点传输的交易数据,并对交易数据进行加密处理,得到交易密文,将交易密文传送至其它安全计算节点,其中,交易数据为区块链节点基于交易报文获取到的。
步骤S404,对分片报文以及交易密文进行计算,得到计算结果,其中,通过区块链节点汇总多个计算结果,并对多个计算结果进行联合计算,得到联合计算结果,并验证联合计算结果的正确性,得到共识信息。
通过上述步骤,可以接收客户端发起的安全计算交易请求,并将安全计算交易请求组装成交易报文,对交易报文进行分割处理,得到多个分片报文,并基于区块链,将分片报文广播至其它安全计算节点,接收区块链节点传输的交易数据,并对交易数据进行加密处理,得到交易密文,将交易密文传送至其它安全计算节点,对分片报文以及交易密文进行计算,得到计算结果,其中,通过区块链节点汇总多个计算结果,并对多个计算结果进行联合计算,得到联合计算结果,并验证联合计算结果的正确性,得到共识信息。在本发明实施例中,安全计算节点可以对交易报文进行分割处理,得到多个分片报文,各安全计算节点在接收到交易密文以及分片报文后,可以进行计算,并将计算结果发送至区块链节点中,由区块链节点对接收到的多个计算结果进行验证,以得到共识信息,不仅保障了各参与方数据的安全共享,也减少数据分享交互数量,从而提升了数据的安全性和计算效率,进而解决了相关技术中在保障各参与方数据安全共享的情况下,安全计算效能较低的技术问题。
图5是根据本发明实施例的一种可选的安全计算节点(MPC)结构的示意图,如图5所示,包括:通讯模块51,密文处理模块52、安全计算模块53,其中,
通讯模块51:负责为安全计算节点建立安全通道,实现多方安全计算报文收发。
密文处理模块52:负责对多方安全计算报文进行秘密分享处理,为执行内容感知算法的主体模块。秘密分享算法P的实质是同态秘密分享函数,P包括生成秘密片断分量算法Share和评估秘密片断分量算法Eval:Share算法包括:预处理、秘密分断、后评估3个步骤;Eval算法包括秘钥生成、秘密加密、秘密片断评估、后评估4个步骤,具体如下:
生成秘密片断分量share算法步骤:
(1)预处理:设置安全参数,设δ表示错误临界值,v表示忽视函数;
(2)秘密分断:秘密分断函数share形式上表示为:
其中,1k表示安全参数,w表示秘密信息,(w0,w1)表示share输出的秘密片断;
b表示w0,w1之间的DDLog距离,形式上:
其中,Pr表示概率函数,M∈N为随机整数,δ为错误临界值,Φ表示循环群G的映射函数,本实施例可采用离散对数作为映射函数。
输出:距离步长i;
步骤3:h=gh;
步骤4:i=i+1;
步骤5:end while;
步骤6:return i。
(3)后评估:对同态分享函数P,评估share算法的正确性,即:对于每一个多项式P,k,w,同态分享函数P和δ,存在忽视函数v,满足如下关系:
评估秘密片断分量Eval算法步骤:
(1)密钥生成:
(2)秘密加密:
(3)秘密片断评估:
输入秘密片断b,以及键值eb,输出秘密片断评估分量yb,形式上表示为:
其中,c表示密文,P为同态分享函数,δ表示错误临界值。
(4)后评估:
安全计算模块53:负责根据联合计算的请求,调用各节点经过验证提交的数据,以密文形式通过密码学技术进行联合查询、计算,再把计算结果返回到智能合约模块23。
下面结合上述各步骤对本发明实施例进行详细说明。本发明实施例可应用于安全计算节点。
步骤S401,接收客户端发起的安全计算交易请求,并将安全计算交易请求组装成交易报文。
在本发明实施例中,在部署完智能合约后,客户端发布安全计算交易请求,交易请求包括:相关的计算参数以及多方安多计算智能合约的唯一标识等,在接收到安全计算交易请求后,将安全计算交易请求组装成交易报文。
步骤S402,对交易报文进行分割处理,得到多个分片报文,并基于区块链,将分片报文广播至其它安全计算节点。
可选的,对交易报文进行分割处理,得到多个分片报文的步骤,包括:获取参数数据,其中,参数数据至少包括:安全参数;基于安全参数以及交易报文,采用预设生成算法,生成多个分片报文,其中,多个分片报文相乘的结果满足预设循环群条件,预设循环群条件中的乘方参数为通过计算每两个分片报文之间的预设对数距离差值得到的。
在本发明实施例中,可以通过预设生成算法(例如,Share算法),对交易报文进行分割处理,以获取多个分片报文,具体为:可以先获取参数数据(包括:安全参数1k、错误临界值δ,忽视函数v等),然后,基于安全参数以及交易报文,采用秘密分断函数share:,生成多个分片报文,其中,1k表示安全参数,w表示交易报文,(w0,w1)表示share输出的分片报文,并且,多个分片报文相乘的结果满足预设循环群条件(即其中,,g为循环群G的生成元,由循环群的定义可知,),该预设循环群条件中的乘方参数b为通过计算每两个分片报文之间的预设对数距离(即DDLog距离)差值得到的(即乘方参数b表示之间的DDLog距离,DDLog距离的表示形式为:
步骤S403,接收区块链节点传输的交易数据,并对交易数据进行加密处理,得到交易密文,将交易密文传送至其它安全计算节点,其中,交易数据为区块链节点基于交易报文获取到的。
可选的,对交易数据进行加密处理,得到交易密文的步骤,包括:基于安全参数,生成秘钥;基于秘钥,对交易数据进行加密处理,得到交易密文。
在本发明实施例中,可以通过评估秘密片断分量Eval算法中的密钥生成和秘密加密步骤,对交易数据(可由区块链节点基于交易报文获取到的)进行加密处理,得到交易密文,具体为:输入安全参数1k,输出密钥PK,以及一个估计键值对,形式化表示为:,然后,输入密钥PK和交易数据w,输出交易密文c:(即基于秘钥,对交易数据进行加密处理,得到交易密文),之后,将交易密文传送至其它安全计算节点。
步骤S404,对分片报文以及交易密文进行计算,得到计算结果,其中,通过区块链节点汇总多个计算结果,并对多个计算结果进行联合计算,得到联合计算结果,并验证联合计算结果的正确性,得到共识信息。
在本发明实施例中,各安全计算节点可以基于得到的分片报文以及交易密文进行计算,得到计算结果,并将计算结果发送至区块链节点中,由区块链节点汇总多个计算结果,并对多个计算结果进行联合计算,得到联合计算结果,并验证联合计算结果的正确性,得到共识信息。
另一种可选的,确认方法还包括:基于安全参数,生成秘钥;基于秘钥,对分片报文进行加密处理,得到加密报文,其中,加密报文用于得到分片报文分量。
在本发明实施例中,在区块链和多方安全计算结合的基础上,通过改进秘密分享的算法,提高了秘密数据传播的效率和速度,同时赋予秘密数据可追溯和选择性披露的属性,打破了通道数据彼此不可用的壁垒,进而提升区块链上秘密数据流通价值,可广泛应用在安全数据分享、金融业务等业务场景中。
实施例三
图6是根据本发明实施例的一种可选的区块链多方安全计算系统框架的示意图,如图6所示,包括:客户访问层、多方安全计算网络、区块链网络,其中,
客户端访问层:负责提供运营商访问的客户端软件(包括:客户端A、客户端B等),便于发起多方安全计算请求,接收多方安全计算结果。客户端可在区块链网络上发布链码(即智能合约),客户产生行为数据后,可调用链码发起交易请求,将行为数据上链,根据客户使用场景,提交到各个场景对应的通道上(客户端可以直接上送客户行为数据,无需加工处理,具体数据处理逻辑可交由场景提供商执行),供应商也可以发布链码,可以查询属于自己通道的数据,可以对自己通道的数据进行处理分析。
多方安全计算网络(包括:MPC节点1、MPC节点2、MPC节点3、MPC节点4等):负责根据客户端提交的计算请求,通过多方安全计算逻辑配置所需的参数、数据、业务逻辑等,同时加密形成多方安全计算报文,广播给区块链网络。场景提供商还可以发布联合运营链码,通过链码调用MPC服务,每个区块链节点都有对应的MPC服务,链码可以指定需要哪些MPC服务进行联合计算。场景提供商通过链码发起联合计算请求,原本其它通道的提供商数据相互之间是无法访问的,通过MPC可以在不泄漏各自数据的情况进行联合查询计算。
区块链网络(包括:区块链节点1、区块链节点2、区块链节点3、区块链节点4):负责接收和解密多方安全计算报文,触发预设的智能合约逻辑,形成多方安全计算结果。区块链网络可提供托管节点,对于有能力的提供商也可提供本地节点部署,每个场景提供商在区块链上有各自的通道,场景提供商无法获取其它通道的数据信息。
图7是根据本发明实施例的一种可选的区块链多方安全秘密分享转化的系统结构的示意图,包括:客户端(客户端A、客户端B等)、MPC节点、区块链节点,其中,
客户端主要负责发起智能合约部署请求、多方安全计算交易请求、多方安全计算查询请求等。
MPC节点负责接收多方安全交易请求,进行多方安全计算,交易信息存证到区块链节点。本实施例中客户端A和客户端B分别接入MPC节点,可通过MPC节点发布多方安全计算请求,接收多方安全计算结果。
区块链节点用于完成交易广播、交易执行、交易验证、共识和存储等,具有区块链的一般特性。通过客户端发起多方安全计算的联合计算和查询,同时经过多方安全计算的智能合约执行后的交易记录也会保存在区块链上。
在本发明实施例中,参与者可能是多个主体,它们对交易数据的真实性及访问对象的可靠性负责,多主体(假设为A))对交易数据对象签名,然后确定数据的接收者(假设为B),A用B的公钥进行数据加密,然后打包成报文传到区块链上,B通过区块链获得加密数据后,用私钥解密,然后用A的公钥验签。
在本实施例中,可以将多方安全计算框架构建在区块链网络中,是执行秘密分享的主体构件,参与方A在场景中向B分享秘密w,可先执行同态秘密分享策略,将w分解为秘密片断{w0,w1},并分别发送到不同的安全计算节点,安全计算节点执行加法分享函数,输出秘密分享增益。
本发明实施例中,可将多方安全计算框架与区块链网络结合,能够支持多参与方发起多方安全智能合约交易,共同计算输出结果,而无需提前掌握私有数据,有效解决了数字内容跟踪和操作的难题,可广泛应用在安全数据分享、金融业务等业务场景中。
实施例四
本实施例中提供的一种基于区块链的信息确认装置包含了多个实施单元,每个实施单元对应于上述实施例一中的各个实施步骤。
图8是根据本发明实施例的一种可选的基于区块链的信息确认装置的示意图,如图8所示,该确认装置可以包括:第一接收单元80,获取单元81,第一计算单元82,验证单元83,其中,
第一接收单元80,用于接收安全计算节点传输的交易报文;
获取单元81,用于基于交易报文,获取在进行安全计算交易时所需要的交易数据,并将交易数据发送至安全计算节点,其中,安全计算节点对交易数据进行加密处理,得到交易密文,并将交易密文传送至其它安全计算节点;
第一计算单元82,用于接收多个安全计算节点传输的计算结果,并对多个计算结果进行联合计算,得到联合计算结果,其中,计算结果是安全计算节点对分片报文以及交易密文进行计算后得到的,分片报文为安全计算节点对交易报文进行分割处理得到的;
验证单元83,用于采用预先配置的共识机制,验证联合计算结果的正确性,得到共识信息,将共识信息广播至区块链。
上述确认装置,可以通过第一接收单元80接收安全计算节点传输的交易报文,通过获取单元81基于交易报文,获取在进行安全计算交易时所需要的交易数据,并将交易数据发送至安全计算节点,通过第一计算单元82接收多个安全计算节点传输的计算结果,并对多个计算结果进行联合计算,得到联合计算结果,通过验证单元83采用预先配置的共识机制,验证联合计算结果的正确性,得到共识信息,将共识信息广播至区块链。在本发明实施例中,可通过区块链节点获取在进行安全计算交易时安全计算节点所需要的交易数据,使得多个安全计算节点可以分别基于得到的分片报文和加密后的交易数据进行计算,并由区块链节点对接收到的多个计算结果进行验证,以得到共识信息,不仅保障了各参与方数据的安全共享,也减少数据分享交互数量,从而提升了数据的安全性和计算效率,进而解决了相关技术中在保障各参与方数据安全共享的情况下,安全计算效能较低的技术问题。
可选的,确认装置还包括:第一接收模块,用于在接收安全计算节点传输的交易报文之前,接收智能合约部署请求;第一生成模块,用于基于智能合约部署请求,生成智能合约标识以及合约交易标识;第一组装模块,用于将合约交易标识、智能合约标识、智能合约代码以及校验参数信息组装成智能合约部署报文;第一广播模块,用于将智能合约部署报文广播至区块链的其它区块链节点,其中,每个其它区块链节点在接收到智能合约部署报文后,编译智能合约代码,并启动智能合约执行环境。
可选的,获取单元包括:第一解析模块,用于对交易报文进行解析,得到智能合约标识和计算参数;第一传送模块,用于将计算参数传送给智能合约标识所指示的目标智能合约;第一获取模块,用于根据目标智能合约的业务逻辑信息,从预设数据库中获取在进行安全计算交易时所需要的交易数据。
可选的,确认装置还包括:第一执行模块,用于在验证联合计算结果的正确性,得到共识信息,将共识信息广播至区块链之后,在共识信息指示所有区块链节点对联合计算结果验证正确的情况下,执行目标智能合约,并保存合约执行结果。
可选的,确认装置还包括:第一评估模块,用于在验证联合计算结果的正确性之前,接收多个分片报文,采用预设评估算法,对每个分片报文进行评估,得到评估结果;第一验证模块,用于在评估结果指示评估通过的情况下,验证联合计算结果的正确性。
可选的,第一评估模块包括:第一获取子模块,用于获取与分片报文对应的键值;第一输入子模块,用于将预先得到的加密报文、错误临界值参数、同态分享函数、分片报文以及键值输入至预设评估算法中,得到分片报文分量;第一确定子模块,用于在分片报文分量满足预设条件的情况下,确定对分片报文的评估通过。
可选的,确认装置还包括:第二接收模块,用于接收目标客户端发送的多方安全计算结果查询请求,其中,多方安全计算结果查询请求携带有智能合约标识;第二执行模块,用于执行智能合约标识所指示的智能合约,获取多方安全计算结果;第一返回模块,用于将多方安全计算结果返回至目标客户端,以完成查询请求。
上述的确认装置还可以包括处理器和存储器,上述第一接收单元80,获取单元81,第一计算单元82,验证单元83等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来采用预先配置的共识机制,验证联合计算结果的正确性,得到共识信息,将共识信息广播至区块链。
上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:接收安全计算节点传输的交易报文,基于交易报文,获取在进行安全计算交易时所需要的交易数据,并将交易数据发送至安全计算节点,接收多个安全计算节点传输的计算结果,并对多个计算结果进行联合计算,得到联合计算结果,采用预先配置的共识机制,验证联合计算结果的正确性,得到共识信息,将共识信息广播至区块链。
实施例五
本实施例中提供的一种基于区块链的信息确认装置包含了多个实施单元,每个实施单元对应于上述实施例一中的各个实施步骤。
图9是根据本发明实施例的另一种可选的基于区块链的信息确认装置的示意图,如图9所示,该确认装置可以包括:第二接收单元90,分割单元91,加密单元92,第二计算单元93,其中,
第二接收单元90,用于接收客户端发起的安全计算交易请求,并将安全计算交易请求组装成交易报文;
分割单元91,用于对交易报文进行分割处理,得到多个分片报文,并基于区块链,将分片报文广播至其它安全计算节点;
加密单元92,用于接收区块链节点传输的交易数据,并对交易数据进行加密处理,得到交易密文,将交易密文传送至其它安全计算节点,其中,交易数据为区块链节点基于交易报文获取到的;
第二计算单元93,用于对分片报文以及交易密文进行计算,得到计算结果,其中,通过区块链节点汇总多个计算结果,并对多个计算结果进行联合计算,得到联合计算结果,并验证联合计算结果的正确性,得到共识信息。
上述确认装置,可以通过第二接收单元90接收客户端发起的安全计算交易请求,并将安全计算交易请求组装成交易报文,通过分割单元91对交易报文进行分割处理,得到多个分片报文,并基于区块链,将分片报文广播至其它安全计算节点,通过加密单元92接收区块链节点传输的交易数据,并对交易数据进行加密处理,得到交易密文,将交易密文传送至其它安全计算节点,通过第二计算单元93对分片报文以及交易密文进行计算,得到计算结果,其中,通过区块链节点汇总多个计算结果,并对多个计算结果进行联合计算,得到联合计算结果,并验证联合计算结果的正确性,得到共识信息。在本发明实施例中,安全计算节点可以对交易报文进行分割处理,得到多个分片报文,各安全计算节点在接收到交易密文以及分片报文后,可以进行计算,并将计算结果发送至区块链节点中,由区块链节点对接收到的多个计算结果进行验证,以得到共识信息,不仅保障了各参与方数据的安全共享,也减少数据分享交互数量,从而提升了数据的安全性和计算效率,进而解决了相关技术中在保障各参与方数据安全共享的情况下,安全计算效能较低的技术问题。
可选的,分割单元包括:第二获取模块,用于获取参数数据,其中,参数数据至少包括:安全参数;第二生成模块,用于基于安全参数以及交易报文,采用预设生成算法,生成多个分片报文,其中,多个分片报文相乘的结果满足预设循环群条件,预设循环群条件中的乘方参数为通过计算每两个分片报文之间的预设对数距离差值得到的。
可选的,加密单元包括:第三生成模块,用于基于安全参数,生成秘钥;第一加密模块,用于基于秘钥,对交易数据进行加密处理,得到交易密文。
可选的,确认装置还包括:第四生成模块,用于基于安全参数,生成秘钥;第二加密模块,用于基于秘钥,对分片报文进行加密处理,得到加密报文,其中,加密报文用于得到分片报文分量。
上述的确认装置还可以包括处理器和存储器,上述第二接收单元90,分割单元91,加密单元92,第二计算单元93等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来对分片报文以及交易密文进行计算,得到计算结果。
上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:接收客户端发起的安全计算交易请求,并将安全计算交易请求组装成交易报文,对交易报文进行分割处理,得到多个分片报文,并基于区块链,将分片报文广播至其它安全计算节点,接收区块链节点传输的交易数据,并对交易数据进行加密处理,得到交易密文,将交易密文传送至其它安全计算节点,对分片报文以及交易密文进行计算,得到计算结果,其中,通过区块链节点汇总多个计算结果,并对多个计算结果进行联合计算,得到联合计算结果,并验证联合计算结果的正确性,得到共识信息。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述的基于区块链的信息确认方法。
根据本发明实施例的另一方面,还提供了一种电子设备,包括一个或多个处理器和存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述的基于区块链的信息确认方法。
图10是根据本发明实施例的一种用于基于区块链的信息确认方法的电子设备(或移动设备)的硬件结构框图。如图10所示,电子设备可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、键盘、电源和/或相机。本领域普通技术人员可以理解,图10所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备还可包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种基于区块链的信息确认方法,其特征在于,应用于区块链节点,包括:
接收安全计算节点传输的交易报文;
基于所述交易报文,获取在进行安全计算交易时所需要的交易数据,并将所述交易数据发送至所述安全计算节点,其中,所述安全计算节点对所述交易数据进行加密处理,得到交易密文,并将所述交易密文传送至其它安全计算节点;
接收多个所述安全计算节点传输的计算结果,并对多个所述计算结果进行联合计算,得到联合计算结果,其中,所述计算结果是所述安全计算节点对分片报文以及所述交易密文进行计算后得到的,所述分片报文为所述安全计算节点对所述交易报文进行分割处理得到的;
采用预先配置的共识机制,验证所述联合计算结果的正确性,得到共识信息,将所述共识信息广播至区块链,
在验证所述联合计算结果的正确性之前,还包括:接收多个所述分片报文,采用预设评估算法,对每个所述分片报文进行评估,得到评估结果;在所述评估结果指示评估通过的情况下,验证所述联合计算结果的正确性,
采用预设评估算法,对每个所述分片报文进行评估的步骤,包括:获取与所述分片报文对应的键值;将预先得到的加密报文、错误临界值参数、同态分享函数、所述分片报文以及所述键值输入至所述预设评估算法中,得到分片报文分量;在所述分片报文分量满足预设条件的情况下,确定对所述分片报文的评估通过。
2.根据权利要求1所述的确认方法,其特征在于,在接收安全计算节点传输的交易报文之前,还包括:
接收智能合约部署请求;
基于所述智能合约部署请求,生成智能合约标识以及合约交易标识;
将所述合约交易标识、所述智能合约标识、智能合约代码以及校验参数信息组装成智能合约部署报文;
将所述智能合约部署报文广播至区块链的其它区块链节点,其中,每个所述其它区块链节点在接收到所述智能合约部署报文后,编译所述智能合约代码,并启动智能合约执行环境。
3.根据权利要求2所述的确认方法,其特征在于,基于所述交易报文,获取在进行安全计算交易时所需要的交易数据的步骤,包括:
对所述交易报文进行解析,得到智能合约标识和计算参数;
将所述计算参数传送给所述智能合约标识所指示的目标智能合约;
根据所述目标智能合约的业务逻辑信息,从预设数据库中获取在进行安全计算交易时所需要的交易数据。
4.根据权利要求3所述的确认方法,其特征在于,在验证所述联合计算结果的正确性,得到共识信息,将所述共识信息广播至区块链之后,还包括:
在所述共识信息指示所有区块链节点对所述联合计算结果验证正确的情况下,执行所述目标智能合约,并保存合约执行结果。
5.根据权利要求1所述的确认方法,其特征在于,所述确认方法还包括:
接收目标客户端发送的多方安全计算结果查询请求,其中,所述多方安全计算结果查询请求携带有智能合约标识;
执行所述智能合约标识所指示的智能合约,获取多方安全计算结果;
将所述多方安全计算结果返回至所述目标客户端,以完成查询请求。
6.一种基于区块链的信息确认方法,其特征在于,应用于安全计算节点,包括:
接收客户端发起的安全计算交易请求,并将所述安全计算交易请求组装成交易报文;
对所述交易报文进行分割处理,得到多个分片报文,并基于区块链,将所述分片报文广播至其它安全计算节点;
接收区块链节点传输的交易数据,并对所述交易数据进行加密处理,得到交易密文,将所述交易密文传送至其它安全计算节点,其中,所述交易数据为区块链节点基于所述交易报文获取到的;
对所述分片报文以及所述交易密文进行计算,得到计算结果,其中,通过所述区块链节点汇总多个所述计算结果,并对多个所述计算结果进行联合计算,得到联合计算结果,并验证所述联合计算结果的正确性,得到共识信息,
对所述交易报文进行分割处理,得到多个分片报文的步骤,包括:获取参数数据,其中,所述参数数据至少包括:安全参数;基于所述安全参数以及所述交易报文,采用预设生成算法,生成多个分片报文,其中,多个所述分片报文相乘的结果满足预设循环群条件,所述预设循环群条件中的乘方参数为通过计算每两个所述分片报文之间的预设对数距离差值得到的。
7.根据权利要求6所述的确认方法,其特征在于,对所述交易数据进行加密处理,得到交易密文的步骤,包括:
基于所述安全参数,生成秘钥;
基于所述秘钥,对所述交易数据进行加密处理,得到交易密文。
8.根据权利要求6所述的确认方法,其特征在于,所述确认方法还包括:
基于所述安全参数,生成秘钥;
基于所述秘钥,对所述分片报文进行加密处理,得到加密报文,其中,所述加密报文用于得到分片报文分量。
9.一种基于区块链的信息确认装置,其特征在于,应用于区块链节点,包括:
第一接收单元,用于接收安全计算节点传输的交易报文;
获取单元,用于基于所述交易报文,获取在进行安全计算交易时所需要的交易数据,并将所述交易数据发送至所述安全计算节点,其中,所述安全计算节点对所述交易数据进行加密处理,得到交易密文,并将所述交易密文传送至其它安全计算节点;
第一计算单元,用于接收多个所述安全计算节点传输的计算结果,并对多个所述计算结果进行联合计算,得到联合计算结果,其中,所述计算结果是所述安全计算节点对分片报文以及所述交易密文进行计算后得到的,所述分片报文为所述安全计算节点对所述交易报文进行分割处理得到的;
验证单元,用于采用预先配置的共识机制,验证所述联合计算结果的正确性,得到共识信息,将所述共识信息广播至区块链,
所述确认装置还包括:第一评估模块,用于在验证所述联合计算结果的正确性之前,接收多个所述分片报文,采用预设评估算法,对每个所述分片报文进行评估,得到评估结果;第一验证模块,用于在所述评估结果指示评估通过的情况下,验证所述联合计算结果的正确性,
所述第一评估模块包括:第一获取子模块,用于获取与所述分片报文对应的键值;第一输入子模块,用于将预先得到的加密报文、错误临界值参数、同态分享函数、所述分片报文以及所述键值输入至所述预设评估算法中,得到分片报文分量;第一确定子模块,用于在所述分片报文分量满足预设条件的情况下,确定对所述分片报文的评估通过。
10.一种基于区块链的信息确认装置,其特征在于,应用于安全计算节点,包括:
第二接收单元,用于接收客户端发起的安全计算交易请求,并将所述安全计算交易请求组装成交易报文;
分割单元,用于对所述交易报文进行分割处理,得到多个分片报文,并基于区块链,将所述分片报文广播至其它安全计算节点;
加密单元,用于接收区块链节点传输的交易数据,并对所述交易数据进行加密处理,得到交易密文,将所述交易密文传送至其它安全计算节点,其中,所述交易数据为区块链节点基于所述交易报文获取到的;
第二计算单元,用于对所述分片报文以及所述交易密文进行计算,得到计算结果,其中,通过所述区块链节点汇总多个所述计算结果,并对多个所述计算结果进行联合计算,得到联合计算结果,并验证所述联合计算结果的正确性,得到共识信息,
所述分割单元包括:第二获取模块,用于获取参数数据,其中,所述参数数据至少包括:安全参数;第二生成模块,用于基于所述安全参数以及所述交易报文,采用预设生成算法,生成多个分片报文,其中,多个所述分片报文相乘的结果满足预设循环群条件,所述预设循环群条件中的乘方参数为通过计算每两个所述分片报文之间的预设对数距离差值得到的。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至8中任意一项所述的基于区块链的信息确认方法。
12.一种电子设备,其特征在于,包括一个或多个处理器和存储器,所述存储器用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至8中任意一项所述的基于区块链的信息确认方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210357326.4A CN114430326B (zh) | 2022-04-07 | 2022-04-07 | 基于区块链的信息确认方法及装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210357326.4A CN114430326B (zh) | 2022-04-07 | 2022-04-07 | 基于区块链的信息确认方法及装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114430326A CN114430326A (zh) | 2022-05-03 |
CN114430326B true CN114430326B (zh) | 2022-08-05 |
Family
ID=81314343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210357326.4A Active CN114430326B (zh) | 2022-04-07 | 2022-04-07 | 基于区块链的信息确认方法及装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114430326B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115242370B (zh) * | 2022-05-23 | 2024-04-12 | 华数云科技有限公司 | 基于区块链可信安全多方计算的监督系统及方法 |
CN115865364B (zh) * | 2022-11-24 | 2023-11-17 | 杭州微毅科技有限公司 | 一种区块链交易安全评估方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112669111A (zh) * | 2020-12-29 | 2021-04-16 | 昆明理工大学 | 一种基于区块链的5g物联网数据共享交易方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111047316A (zh) * | 2019-12-02 | 2020-04-21 | 上海金桥信息股份有限公司 | 一种反篡改的智能区块链系统及实现方法 |
CN114418574A (zh) * | 2020-01-17 | 2022-04-29 | 厦门潭宏信息科技有限公司 | 一种共识和资源传输方法、设备及存储介质 |
CN111784128A (zh) * | 2020-06-16 | 2020-10-16 | 北京海益同展信息科技有限公司 | 一种基于区块链的资产信息处理方法及系统 |
CN113326525B (zh) * | 2021-06-22 | 2024-01-16 | 深圳前海微众银行股份有限公司 | 一种基于智能合约的数据处理方法及装置 |
CN114119021A (zh) * | 2021-11-30 | 2022-03-01 | 中国工商银行股份有限公司 | 图像文件安全多方计算方法及系统 |
-
2022
- 2022-04-07 CN CN202210357326.4A patent/CN114430326B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112669111A (zh) * | 2020-12-29 | 2021-04-16 | 昆明理工大学 | 一种基于区块链的5g物联网数据共享交易方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114430326A (zh) | 2022-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112214780B (zh) | 一种数据处理方法、装置、智能设备及存储介质 | |
US11368391B2 (en) | Verification of data processes in a network of computing resources | |
CN114430326B (zh) | 基于区块链的信息确认方法及装置、电子设备及存储介质 | |
CN111949953B (zh) | 基于区块链的身份认证方法、系统、装置和计算机设备 | |
CN108400872B (zh) | 一种基于星地协同的区块链信息传输方法和系统 | |
TW202011329A (zh) | 基於區塊鏈的交易共識處理方法及裝置、電子設備 | |
CN109741068B (zh) | 网银跨行签约方法、装置及系统 | |
WO2019227225A1 (en) | Systems and methods for establishing communications via blockchain | |
CN110096894B (zh) | 一种基于区块链的数据匿名共享系统及方法 | |
CN114119021A (zh) | 图像文件安全多方计算方法及系统 | |
CN109377220B (zh) | 基于区块链的传媒数据交易方法及系统、计算机存储介质 | |
CN113657978A (zh) | 一种基于区块链和隐私保护的分布式能源拍卖方法及系统 | |
CN111683090A (zh) | 一种基于分布式存储的区块链数字签名方法及装置 | |
CN114866323B (zh) | 一种用户可控的隐私数据授权共享系统及方法 | |
CN110647583B (zh) | 一种区块链构建方法、装置、终端及介质 | |
EP3627361B1 (en) | Media content control | |
CN106464664A (zh) | 一种在两个安全模块间建立安全通信信道的方法和系统 | |
CN111709053B (zh) | 基于松散耦合交易网络的作业方法及作业装置 | |
CN115412568A (zh) | 分布式数据传输方法、装置及系统 | |
CN116204914A (zh) | 一种可信隐私计算方法、装置、设备及存储介质 | |
CN113312646B (zh) | 一种基于区块链的数据加密方法 | |
KR20230148200A (ko) | 멀티소스 데이터의 데이터 처리 방법, 장치 및 전자 기기, 저장 매체 | |
CN115426204B (zh) | 基于可信第三方的电力物联网认证与密钥更新方法及系统 | |
US20230421397A1 (en) | Systems and methods for performing blockchain operations using multi-party computation cohort management groupings | |
CN117195310B (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 |