CN113326525A - 一种基于智能合约的数据处理方法及装置 - Google Patents

一种基于智能合约的数据处理方法及装置 Download PDF

Info

Publication number
CN113326525A
CN113326525A CN202110692736.XA CN202110692736A CN113326525A CN 113326525 A CN113326525 A CN 113326525A CN 202110692736 A CN202110692736 A CN 202110692736A CN 113326525 A CN113326525 A CN 113326525A
Authority
CN
China
Prior art keywords
block chain
ciphertext
fragment
node
chain node
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
CN202110692736.XA
Other languages
English (en)
Other versions
CN113326525B (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.)
WeBank Co Ltd
Original Assignee
WeBank 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 WeBank Co Ltd filed Critical WeBank Co Ltd
Priority to CN202110692736.XA priority Critical patent/CN113326525B/zh
Publication of CN113326525A publication Critical patent/CN113326525A/zh
Priority to PCT/CN2021/131302 priority patent/WO2022267314A1/zh
Application granted granted Critical
Publication of CN113326525B publication Critical patent/CN113326525B/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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures

Abstract

本发明实施例提供了一种基于智能合约的数据处理方法及装置,该方法包括针对任一区块链节点在确定满足智能合约中的解密时间戳时,基于区块链节点的公私钥生成索引密文,从加密信息中确定出与索引密文匹配的第一密文分片和与索引密文匹配的第二密文分片,通过双线性映射,对与索引密文匹配的第一密文分片和与索引密文匹配的第二密文分片进行处理,得到区块链节点的验证分片,并将验证分片上传至智能合约,在验证m个验证分片满足设定要求后,对与索引密文匹配的第二密文分片进行解密,得到待加密数据。如此,该方案由于各区块链节点是使用不同的公私钥对待加密数据进行加解密操作,而不是都使用相同的公私钥,从而可以确保待加密数据的隐私安全性。

Description

一种基于智能合约的数据处理方法及装置
技术领域
本发明实施例涉及金融科技(Fintech)领域,尤其涉及一种基于智能合约的数据处理方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技转变,但由于金融行业的安全性、实时性要求,也对技术提出的更高的要求。在金融领域,为了防止金融业务数据中所包含的敏感信息被泄露,针对金融业务数据中敏感信息的安全性要求也会变高。在此基础上,对金融业务数据进行加解密在金融业务上的应用也变得广泛。因此,如何及时有效地对金融业务数据进行加解密,以满足金融业务数据的安全性需求就成为急需解决的问题。
现有方案为了保证联盟链系统中各参与方加解密过程中的中间结果相同,各参与方通过共同协商确定一对密钥(即公钥和私钥),也即是通过密钥初始化操作生成相同的密钥,然后各参与方都使用该相同的密钥对数据进行加解密操作。具体地,在用户利用终端设备将数据上传至联盟链系统中各参与方后,各参与方分别使用公钥对该数据进行加密,并将加密后的数据上传至区块链,然后每个参与方使用私钥对其它参与方上传的加密后的数据进行解密,以确定其它参与方所接收的数据是否与自己接收的数据相同,并在各参与方都验证成功后达成共识,将该数据进行上链操作。然而,该方案由于各参与方使用相同的公私钥进行加解密操作,因此使得数据的隐私安全性并不能被保证,且,每次进行加解密操作都需要重新进行密钥初始化操作生成公私钥,导致加解密操作的过程繁琐,并使得加解密操作的成本增加。
综上,目前亟需一种基于智能合约的数据处理方法,用以解决现有技术中存在各参与方都使用相同的公私钥进行加解密操作,导致数据的隐私安全性无法被保证的问题。
发明内容
本发明实施例提供了一种基于智能合约的数据处理方法及装置,用以解决现有技术中存在各参与方都使用相同的公私钥进行加解密操作,导致数据的隐私安全性无法完全被保证的问题。
第一方面,本发明实施例提供了一种基于智能合约的数据处理方法,适用于具有m个区块链节点的联盟链,所述方法包括:
针对任一区块链节点,所述区块链节点在确定满足智能合约中的解密时间戳时,基于所述区块链节点的公私钥生成索引密文;所述解密时间戳是客户端生成的用于指示对所述客户端上传至所述智能合约中的加密信息进行解密的时间;所述加密信息包括针对每个区块链节点的第一密文分片和第二密文分片;第一密文分片是所述客户端基于区块链节点的公私钥生成的;第二密文分片是所述客户端基于待加密数据生成的;
所述区块链节点从所述加密信息中确定出与所述索引密文匹配的第一密文分片和与所述索引密文匹配的第二密文分片;
所述区块链节点通过双线性映射,对与所述索引密文匹配的第一密文分片和与所述索引密文匹配的第二密文分片进行处理,得到所述区块链节点的验证分片,并将所述验证分片上传至所述智能合约;
所述区块链节点在验证m个验证分片满足设定要求后,对与所述索引密文匹配的第二密文分片进行解密,得到所述待加密数据。
上述技术方案中,针对任一区块链节点,在确定本地时间戳满足智能合约中的解密时间戳时,即可开始进行解密操作。即,基于区块链节点的公私钥生成索引密文,并基于索引密文,可以及时准确地从客户端上传至智能合约中的加密信息中确定出与索引密文匹配的第一密文分片以及与索引密文匹配的第二密文分片。然后,通过双线性映射,对与索引密文匹配的第一密文分片和与索引密文匹配的第二密文分片进行处理,得到区块链节点的验证分片,并在验证m个验证分片满足设定要求后,对与索引密文匹配的第二密文分片进行解密,得到待加密数据。如此,该方案由于无需区块链节点对待加密数据进行加密操作,而且各区块链节点都是使用不同的公私钥,而不是都使用相同的公私钥,从而可以确保待加密数据的隐私安全性。此外,该方案由于无需每次在进行解密操作时都重新进行密钥初始化生成公私钥,而是一直使用的是各区块链节点的公私钥,因此可以使得该方案解密操作的过程更为简单方便,从而能够使得解密操作的成本降低。
可选地,基于所述区块链节点的公私钥生成索引密文,包括:
所述区块链节点将所述区块链节点的私钥与本轮加密索引进行拼接,生成偏移消息;
所述区块链节点对所述偏移消息进行哈希运算,生成所述加密偏移因子;
所述区块链节点基于所述加密偏移因子以及所述区块链节点的公钥,生成所述索引密文。
上述技术方案中,通过基于每个区块链节点的私钥与本轮加密索引来生成偏移消息,并基于偏移消息以及每个区块链节点的公钥来生成索引密文,可以为每个区块链节点及时准确地基于自己生成的索引密文从智能合约确定出与该区块链节点的索引密文匹配的第一密文分片和第二密文分片提供支持。
可选地,所述区块链节点通过双线性映射,对与所述索引密文匹配的第一密文分片和与所述索引密文匹配的第二密文分片进行处理,得到所述区块链节点的验证分片,包括:
所述区块链节点从所述智能合约获取m个区块链节点的第一承诺分片;所述第一承诺分片是区块链节点基于各自的加密偏移因子生成的;
所述区块链节点通过所述双线性映射,将所述区块链节点的加密偏移因子、与所述索引密文匹配的第一密文分片、与所述索引密文匹配的第二密文分片、所述区块链节点的第一承诺分片以及所述区块链节点的私钥进行转换处理,生成所述区块链节点的验证分片。
上述技术方案中,通过双线性映射,将区块链节点的加密偏移因子、与索引密文匹配的第一密文分片、与索引密文匹配的第二密文分片、区块链节点的第一承诺分片以及区块链节点的私钥进行转换处理,可以及时准确地生成验证分片。该验证分片可以为后续解密出待加密数据提供支持。
可选地,所述区块链节点验证m个验证分片满足设定要求,包括:
所述区块链节点确定所述区块链节点的验证分片与除所述区块链节点以外的其它区块链节点的验证分片是否相同;
若是,则所述区块链节点确认所述m个验证分片验证成功。
上述技术方案中,任一区块链节点通过确定自己的验证分片与除该区块链节点以外的其它区块链节点的验证分片是否相同来完成针对验证分片的共识同步过程。并确定各区块链节点均验证成功后,即可确认各区块链节点即使利用不同的私钥进行解密也能得到相同的中间结果(即验证分片),而无需各区块链节点都使用相同的私钥。
可选地,在所述区块链节点确认所述m个验证分片验证成功之后,还包括:
所述区块链节点将所述区块链节点的加密偏移因子上传至智能合约;
对与所述索引密文匹配的第二密文分片进行解密,得到所述待加密数据,包括:
所述区块链节点从所述智能合约获取所述m个区块链节点的加密偏移因子;
所述区块链节点通过所述双线性映射,基于所述m个区块链节点的加密偏移因子,对与所述索引密文匹配的第二密文分片进行解密,得到所述待加密数据。
上述技术方案中,各区块链节点都将自己的加密偏移因子上传至智能合约,可以为任一区块链节点可通过双线性映射解密与索引密文匹配的第二密文分片提供数据支持,以此能够及时有效地解密出待加密数据。
可选地,在得到所述待加密数据之后,还包括:
除所述区块链节点以外的其它区块链节点中每个区块链节点从智能合约上获取所述区块链节点解密出的待加密数据以及所述m个区块链节点的加密偏移因子;所述待加密数据是所述区块链节点上传至所述智能合约的;
所述其它区块链节点中每个区块链节点通过所述双线性映射,基于所述m个区块链节点的加密偏移因子,对所述区块链节点解密出的待加密数据进行验证,确定所述待加密数据与验证分片的匹配性,从而确定所述解密出的待加密数据是否正确。
上述技术方案中,任一区块链节点解密出待加密数据后,除该区块链节点以外的其它区块链节点中每个区块链节点都验证该解密出的待加密数据的正确性,以便在确认各区块链节点针对该解密出的待加密数据达成共识后,即确认解密出的待加密数据是正确的,将该解密出的待加密数据记录至区块链。
第二方面,本发明实施例提供了一种基于智能合约的数据处理方法,适用于具有m个区块链节点的联盟链,所述方法包括:
客户端从智能合约获取述m个区块链节点的第一承诺分片,并通过秘密通信通道获取所述m个区块链节点的加密偏移因子;所述第一承诺分片是区块链节点基于各自的加密偏移因子生成的;所述加密偏移因子是区块链节点基于各自的私钥生成的;
针对每个区块链节点,所述客户端基于所述区块链节点的加密偏移因子以及所述区块链节点的公钥,生成第一密文分片,并基于待加密数据以及除所述区块链节点以外的其它区块链节点的第一承诺分片,生成第二密文分片;
所述客户端生成解密时间戳;
所述客户端将所述解密时间戳以及所述m个区块链节点的第一密文分片、第二密文分片上传至所述智能合约;所述解密时间戳用于指示任一区块链节点在确定本地时间戳满足所述解密时间戳时对所述智能合约中的第一密文分片以及第二密文分片进行解密处理。
上述技术方案中,针对每个区块链节点,通过基于该区块链节点的加密偏移因子以及该区块链节点的公钥,生成第一密文分片,并基于待加密数据以及除该区块链节点以外的其它区块链节点的第一承诺分片,生成第二密文分片。然后生成解密时间戳,并将解密时间戳以及m个区块链节点的第一密文分片、第二密文分片上传至智能合约。如此,该方案通过客户端基于各区块链节点的公私钥对待加密数据进行加密处理,生成第一密文分片和第二密文分片,而无需针对各区块链节点都使用相同的公私钥进行加密处理,从而可以确保待加密数据的隐私安全性。此外,该方案在每次进行加密操作时无需各区块链节点重新进行密钥初始化生成公私钥,而是一直使用的是各区块链节点的公私钥,因此可以使得该方案加密操作的过程更为简单方便,从而能够使得加密操作的成本降低。
可选地,在生成第一密文分片之前,还包括:
针对每个区块链节点,所述客户端基于所述区块链节点的加密偏移因子,生成所述区块链节点的第二承诺分片;
所述客户端确定所述m个区块链节点的第一承诺分片与所述m个区块链节点的第二承诺分片是否均对应相同;
若是,则所述客户端确认所述m个区块链节点的第一承诺分片验证成功。
上述技术方案中,为了客户端从智能合约中获取的各区块链节点的承诺分片是准确的,因此为了验证各区块链节点的承诺分片的准确性,就会基于通过秘密通道获取的各区块链节点的加密偏移因子重新生成各区块链节点的承诺分片来进行验证,以确保在基于各区块链节点的承诺分片对待加密数据进行加密处理所生成的密文分片的安全性和准确性。
第三方面,本发明实施例提供了一种基于智能合约的数据处理装置,适用于具有m个区块链节点的联盟链,所述装置包括:
生成单元,用于针对任一区块链节点,在确定满足智能合约中的解密时间戳时,基于所述区块链节点的公私钥生成索引密文;所述解密时间戳是客户端生成的用于指示对所述客户端上传至所述智能合约中的加密信息进行解密的时间;所述加密信息包括针对每个区块链节点的第一密文分片和第二密文分片;第一密文分片是所述客户端基于区块链节点的公私钥生成的;第二密文分片是所述客户端基于待加密数据生成的;
第一处理单元,用于从所述加密信息中确定出与所述索引密文匹配的第一密文分片和与所述索引密文匹配的第二密文分片;通过双线性映射,对与所述索引密文匹配的第一密文分片和与所述索引密文匹配的第二密文分片进行处理,得到所述区块链节点的验证分片,并将所述验证分片上传至所述智能合约;在验证m个验证分片满足设定要求后,对与所述索引密文匹配的第二密文分片进行解密,得到所述待加密数据。
可选地,所述生成单元具体用于:
将所述区块链节点的私钥与本轮加密索引进行拼接,生成偏移消息;
对所述偏移消息进行哈希运算,生成所述加密偏移因子;
基于所述加密偏移因子以及所述区块链节点的公钥,生成所述索引密文。
可选地,所述第一处理单元具体用于:
从所述智能合约获取m个区块链节点的第一承诺分片;所述第一承诺分片是区块链节点基于各自的加密偏移因子生成的;
通过所述双线性映射,将所述区块链节点的加密偏移因子、与所述索引密文匹配的第一密文分片、与所述索引密文匹配的第二密文分片、所述区块链节点的第一承诺分片以及所述区块链节点的私钥进行转换处理,生成所述区块链节点的验证分片。
可选地,所述第一处理单元具体用于:
确定所述区块链节点的验证分片与除所述区块链节点以外的其它区块链节点的验证分片是否相同;
若是,则确认所述m个验证分片验证成功。
可选地,所述第一处理单元还用于:
在确认所述m个验证分片验证成功之后,将所述区块链节点的加密偏移因子上传至智能合约;
所述第一处理单元具体用于:
从所述智能合约获取所述m个区块链节点的加密偏移因子;
通过所述双线性映射,基于所述m个区块链节点的加密偏移因子,对与所述索引密文匹配的第二密文分片进行解密,得到所述待加密数据。
可选地,所述第一处理单元还用于:
在得到所述待加密数据之后,从智能合约上获取所述区块链节点解密出的待加密数据以及所述m个区块链节点的加密偏移因子;所述待加密数据是所述区块链节点上传至所述智能合约的;
通过所述双线性映射,基于所述m个区块链节点的加密偏移因子,对所述区块链节点解密出的待加密数据进行验证,确定所述待加密数据与验证分片的匹配性,从而确定所述解密出的待加密数据是否正确。
第四方面,本发明实施例提供了一种基于智能合约的数据处理装置,适用于具有m个区块链节点的联盟链,所述装置包括:
获取单元,用于从智能合约获取述m个区块链节点的第一承诺分片,并通过秘密通信通道获取所述m个区块链节点的加密偏移因子;所述第一承诺分片是区块链节点基于各自的加密偏移因子生成的;所述加密偏移因子是区块链节点基于各自的私钥生成的;
第二处理单元,用于针对每个区块链节点,基于所述区块链节点的加密偏移因子以及所述区块链节点的公钥,生成第一密文分片,并基于待加密数据以及除所述区块链节点以外的其它区块链节点的第一承诺分片,生成第二密文分片;生成解密时间戳;将所述解密时间戳以及所述m个区块链节点的第一密文分片、第二密文分片上传至所述智能合约;所述解密时间戳用于指示任一区块链节点在确定本地时间戳满足所述解密时间戳时对所述智能合约中的第一密文分片以及第二密文分片进行解密处理。
可选地,所述第二处理单元还用于:
在生成第一密文分片之前,针对每个区块链节点,基于所述区块链节点的加密偏移因子,生成所述区块链节点的第二承诺分片;
确定所述m个区块链节点的第一承诺分片与所述m个区块链节点的第二承诺分片是否均对应相同;
若是,则确认所述m个区块链节点的第一承诺分片验证成功。
第五方面,本发明实施例提供一种计算设备,包括至少一个处理器以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行上述第一方面或第二方面任意所述的基于智能合约的数据处理方法。
第六方面,本发明实施例提供一种计算机可读存储介质,其存储有可由计算设备执行的计算机程序,当所述程序在所述计算设备上运行时,使得所述计算设备执行上述第一方面或第二方面任意所述的基于智能合约的数据处理方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于智能合约的数据处理方法的流程示意图;
图2为本发明实施例提供的一种基于智能合约的数据处理装置的结构示意图;
图3为本发明实施例提供的另一种基于智能合约的数据处理装置的结构示意图;
图4为本发明实施例提供的一种计算设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
下面首先对本发明实施例中涉及的部分用语进行解释说明,以便于本领域技术人员进行理解。
(1)区块:是过程区块链的基本单元,由包含元数据的区块头和包含交易数据的区块体构成。其中,区块头主要包括父区块的哈希。
(2)区块链:是由一系列区块组成的一条链,每个块上除了记录本块的数据还会记录上一块的Hash值,通过这种方式组成一条链。此外,区块链的核心理念有两个:一个是密码学技术,另一个是去中心化思想。基于这两个理念做到区块链上的历史信息无法被篡改。区块链中的一个区块由块头和块体组成。其中,块头主要包括该区块高度h、上一个区块的hash等,而块体主要存储交易数据。
(3)节点:网络中的每一个参与者就是一个节点,节点参与网络组建和数据交换。在区块链网络中,一个节点是指一个具有唯一身份的参与者,该节点具有一份完整的账本拷贝,具有参与区块链网络共识和账本维护的能力。
(4)联盟链:是指有若干机构或组织共同参与管理的区块链,他们各自运行着一个或多个节点,之中的数据只允许系统内不同的机构进行读取和发送交易,并且共同记录交易数据。联盟链的各个节点通常有与之对应的实体机构组织,通过授权后才能加入与退出网络;各机构组织组成利益相关的联盟,共同维护区块链的健康运转。
(5)双线性映射:对于任意的a,b∈Zp *,e(aR,bS)=e(R,S)ab成立,R、S是G1的任意点。假设G1是生成元为P的加法循环群,阶为p,G2是与G1具有相同阶的乘法循环群,a,b是Zp *(p阶素数循环群)中的元素。
(6)智能合约:智能合约是运行在区块链系统之上的一份代码和数据的集合,其中代码负责实现智能合约的功能,数据负责存储智能合约状态,智能合约可以接收和发送信息。
如上介绍了本发明实施例中涉及的部分用语,下面对本发明实施例涉及的技术特征进行介绍。
图1示例性的示出了本发明实施例提供的一种基于智能合约的数据处理方法的流程,该流程可以由基于智能合约的数据处理装置执行。其中,该基于智能合约的数据处理方法适用于具有m个区块链节点的联盟链。
如图1所示,该流程具体包括:
步骤101,针对每个区块链节点,所述区块链节点基于自己的加密偏移因子生成第一承诺分片,并将第一承诺分片上传至智能合约。
步骤102,客户端从智能合约获取述m个区块链节点的第一承诺分片,并通过秘密通信通道获取所述m个区块链节点的加密偏移因子。
步骤103,针对每个区块链节点,所述客户端基于所述区块链节点的加密偏移因子以及所述区块链节点的公钥,生成第一密文分片,并基于待加密数据以及除所述区块链节点以外的其它区块链节点的第一承诺分片,生成第二密文分片,以及生成解密时间戳。
步骤104,所述客户端将所述解密时间戳以及所述m个区块链节点的第一密文分片、第二密文分片上传至所述智能合约。
步骤105,针对任一区块链节点,所述区块链节点在确定满足智能合约中的解密时间戳时,基于所述区块链节点的公私钥生成索引密文。
步骤106,所述区块链节点从所述加密信息中确定出与所述索引密文匹配的第一密文分片和与所述索引密文匹配的第二密文分片。
步骤107,所述区块链节点通过双线性映射,对与所述索引密文匹配的第一密文分片和与所述索引密文匹配的第二密文分片进行处理,得到所述区块链节点的验证分片,并将所述验证分片上传至智能合约。
步骤108,所述区块链节点在验证m个验证分片满足设定要求后,对与所述索引密文匹配的第二密文分片进行解密,得到所述待加密数据。
上述步骤101中,针对联盟链中每个区块链节点,该区块链节点将自己的私钥和本轮加密偏移因子进行拼接处理,生成偏移消息,并通过消息摘要算法或安全散列算法等对偏移消息进行哈希运算,生成该区块链节点的加密偏移因子,再通过该加密偏移因子以及椭圆曲线上的公开点,生成该区块链节点的第一承诺分片,并将该第一承诺分片上传至智能合约,如此联盟链中各区块链节点都将自己生成的第一承诺分片上传至智能合约。示例性地,假设联盟链中有三个区块链节点,即区块链节点1、区块链节点2以及区块链节点3,以联盟链中的区块链节点1为例,区块链节点1将自己的私钥sk1与本轮加密索引index进行拼接,生成偏移消息(sk1|index)。再通过消息摘要算法或安全散列算法等对偏移消息进行哈希运算,生成区块链节点1的加密偏移因子,即加密偏移因子r1=H(sk1|index)。然后,将自己的加密偏移因子r1与椭圆曲线上的公开点G进行相乘,生成区块链节点1的第一承诺分片,即第一承诺分片R1=r1*G。
上述步骤102中,用户在需要对待加密数据进行加密时,通过客户端向联盟链中任一区块链节点发送第一承诺分片获取请求,该第一承诺分片获取请求用于获取m个区块链节点的第一承诺分片。该区块链节点在接收到第一承诺分片获取请求后,从智能合约读取各区块链节点的第一承诺分片,然后将m个区块链节点的第一承诺分片发送给客户端。同时,用户利用客户端通过秘密通信通道向m个区块链节点的发送加密偏移因子获取请求。每个区块链节点在接收到加密偏移因子获取请求后,将自己的加密偏移因子发送给客户端。客户端在接收到m个区块链节点的第一承诺分片以及加密偏移因子后,针对每个区块链节点,客户端基于该区块链节点的加密偏移因子,生成该区块链节点的第二承诺分片,即该区块链节点的加密偏移因子以及椭圆曲线上的公开点,生成该区块链节点的第二承诺分片。然后,确定m个区块链节点的第一承诺分片与m个区块链节点的第二承诺分片是否均对应相同,若是,则确认m个区块链节点的第一承诺分片验证成功。如此,为了客户端从智能合约中获取的各区块链节点的承诺分片是准确的,因此为了验证各区块链节点的承诺分片的准确性,就会基于通过秘密通道获取的各区块链节点的加密偏移因子重新生成各区块链节点的承诺分片来进行验证,以确保在基于各区块链节点的承诺分片对待加密数据进行加密处理所生成的密文分片的安全性和准确性。示例性地,以联盟链中的区块链节点1为例,针对区块链节点1,用户通过客户端将区块链节点1的加密偏移因子r1与椭圆曲线上的公开点G进行相乘,生成针对区块链节点1的偏移验证承诺R1′=r1*G。然后,用户通过客户端验证本地生成的区块链节点1的偏移验证承诺R1′与从智能合约上获取的区块链节点1的偏移承诺R1是否相等。
上述步骤103和步骤104中,针对每个区块链节点,客户端基于区块链节点的加密偏移因子以及所述区块链节点的公钥,生成第一密文分片,并基于待加密数据以及除区块链节点以外的其它区块链节点的第一承诺分片,生成第二密文分片,以及生成解密时间戳,然后将解密时间戳以及m个区块链节点的第一密文分片、第二密文分片上传至智能合约。其中,解密时间戳用于指示任一区块链节点在确定本地时间戳满足解密时间戳时对智能合约中的第一密文分片以及第二密文分片进行解密处理。示例性地,以联盟链中的区块链节点1为例,针对区块链节点1,用户通过客户端将区块链节点1的加密偏移因子r1与区块链节点1的公钥pk1进行相乘处理,生成针对区块链节点1的第一密文分片,即第一密文分片Q1=r1*pk1。用户通过客户端对待加密数据m以及除区块链节点A以外的其它区块链节点的偏移承诺进行处理,生成针对区块链节点1的第二密文分片,即第二密文分片T1=m*G+R2+R3
上述步骤105和步骤106中,针对任一区块链节点,该区块链节点在确定本地时间戳满足智能合约中的解密时间戳时,即,该区块链节点确定本地时间戳大于等于智能合约中的解密时间戳时,即开始执行解密操作过程。具体地,区块链节点将区块链节点的私钥与本轮加密索引进行拼接,生成偏移消息,并对偏移消息进行哈希运算,生成加密偏移因子,然后基于加密偏移因子以及区块链节点的公钥,生成索引密文。示例性地,以联盟链中的区块链节点1为例,针对区块链节点1,区块链节点1将自己的加密偏移因子r1与区块链节点1的公钥pk1进行相乘处理,生成针对区块链节点1的索引密文,即索引密文S1=r1*pk1。如此,可以为每个区块链节点及时准确地基于自己生成的索引密文从智能合约确定出与该区块链节点的索引密文匹配的第一密文分片和第二密文分片提供支持。然后,该区块链节点基于自己生成的索引密文从加密信息中确定出与索引密文匹配的第一密文分片和与索引密文匹配的第二密文分片。其中,加密信息包括针对每个区块链节点的第一密文分片和第二密文分片。
上述步骤107和步骤108中,针对任一区块链节点,该区块链节点从智能合约获取m个区块链节点的第一承诺分片,并通过双线性映射,将区块链节点的加密偏移因子、与索引密文匹配的第一密文分片、与索引密文匹配的第二密文分片、区块链节点的第一承诺分片以及区块链节点的私钥进行转换处理,可以及时准确地生成区块链节点的验证分片,并将该验证分片上传至智能合约,以便为后续解密出待加密数据提供支持。然后,在确定m个区块链节点都将自己生成的验证分片上传至智能合约后,确定该区块链节点的验证分片与除该区块链节点以外的其它区块链节点的验证分片是否相同,若是,则确认m个验证分片验证成功。如此,任一区块链节点通过确定自己的验证分片与除该区块链节点以外的其它区块链节点的验证分片是否相同来完成针对验证分片的共识同步过程。并确定各区块链节点均验证成功后,即可确认各区块链节点即使利用不同的私钥进行解密也能得到相同的中间结果(即验证分片),而无需各区块链节点都使用相同的私钥。在确认m个验证分片验证成功之后,该区块链节点将区块链节点的加密偏移因子上传至智能合约,如此,m个区块链节点都会将自己的加密偏移因子上传至智能合约。然后,任一区块链节点从智能合约获取m个区块链节点的加密偏移因子,并通过双线性映射,基于m个区块链节点的加密偏移因子,对与索引密文匹配的第二密文分片进行解密,得到待加密数据,并将该待加密数据上传至智能合约。
示例性地,以满足解密条件的区块链节点2为例,区块链节点2可以按照二进制数的取值范围从小到大或从大到小依次进行遍历,并基于验证分片,通过双线性映射,确定每个被遍历的数据mi是否满足
Figure BDA0003127343500000151
Figure BDA0003127343500000152
其中,该等式的右边是一个验证分片,也是一个数值。若确定某一数据mi满足,则将该数据mi作为解密出的数据,并将该解密出的数据上传至智能合约。
在得到所述待加密数据之后,除区块链节点以外的其它区块链节点中每个区块链节点从智能合约上获取区块链节点解密出的待加密数据以及m个区块链节点的加密偏移因子,并通过双线性映射,基于m个区块链节点的加密偏移因子,对区块链节点解密出的待加密数据进行验证,确定待加密数据与验证分片的匹配性,以此验证该解密出的待加密数据是否正确,从而便于在确认各区块链节点针对该解密出的待加密数据达成共识后,即确认解密出的待加密数据是正确的,将该解密出的待加密数据记录至区块链。
示例性地,以解密出待加密数据的区块链节点2为例,其它区块链节点从智能合约上获取区块链节点2解密出的待加密数据mi。例如,区块链节点1从智能合约上获取解密出的待加密数据mi,通过双线性映射算法,验证区块链节点1解密出的待加密数据mi与验证分片的匹配性。即,验证是否满足
Figure BDA0003127343500000153
若满足,则区块链节点1确认区块链节点2解密出的待加密数据mi是正确的。同理,其它区块链节点也可以按照与区块链节点1相同的验证方式进行验证区块链节点2解密出的待加密数据mi是否是正确的,在此不再赘述。
基于此,下面以应用场景为联盟链为例,对本发明实施例中基于智能合约的数据处理方法的实施过程进行具体描述。
Step1:联盟链中各区块链节点生成各自的偏移承诺。
具体地,在用户对待加密数据进行加密时,需要通过联盟链中任一区块链节点获取各区块链节点的偏移承诺用于加密待加密数据。基于此,在用户对待加密数据进行加密之前,联盟链中各区块链节点会预先生成各自的偏移承诺。
下面对每个区块链节点生成偏移承诺的具体实施过程进行描述。
步骤a、针对每个区块链节点,该区块链节点基于自己的私钥和本轮加密索引,生成该区块链节点的加密偏移因子。
具体地,以联盟链由四个区块链节点组成为例,即区块链节点A、区块链节点B、区块链节点C以及区块链节点D。区块链节点A将自己的私钥skA与本轮加密索引index进行拼接,生成偏移消息(skA|index)。再通过消息摘要算法或安全散列算法等对偏移消息进行哈希运算,生成区块链节点A的加密偏移因子,即加密偏移因子rA=H(skA|index)。区块链节点B将自己的私钥skB与本轮加密索引index进行拼接,生成偏移消息(skB|index)。再通过消息摘要算法或安全散列算法等对偏移消息进行哈希运算,生成区块链节点B的加密偏移因子,即加密偏移因子rB=H(skB|index)。区块链节点C将自己的私钥skC与本轮加密索引index进行拼接,生成偏移消息(skC|index)。再通过消息摘要算法或安全散列算法等对偏移消息进行哈希运算,生成区块链节点C的加密偏移因子,即加密偏移因子rC=H(skC|index)。区块链节点D将自己的私钥skD与本轮加密索引index进行拼接,生成偏移消息(skD|index)。再通过消息摘要算法或安全散列算法等对偏移消息进行哈希运算,生成区块链节点D的加密偏移因子,即加密偏移因子rD=H(skD|index)。
步骤b、每个区块链节点基于自己的加密偏移因子以及椭圆曲线上的公开点,生成该区块链节点的偏移承诺。
具体地,每个区块链节点将自己的加密偏移因子与椭圆曲线上的公开点G进行相乘,生成该区块链节点的偏移承诺,即偏移承诺Rx=rx*G。继续以上述联盟链由四个区块链节点组成为例,区块链节点A将自己的加密偏移因子rA与椭圆曲线上的公开点G进行相乘,生成区块链节点A的偏移承诺,即偏移承诺RA=rA*G。区块链节点B将自己的加密偏移因子rB与椭圆曲线上的公开点G进行相乘,生成区块链节点B的偏移承诺,即偏移承诺RB=rB*G。区块链节点C将自己的加密偏移因子rC与椭圆曲线上的公开点G进行相乘,生成区块链节点C的偏移承诺,即偏移承诺RC=rC*G。区块链节点D将自己的加密偏移因子rD与椭圆曲线上的公开点G进行相乘,生成区块链节点D的偏移承诺,即偏移承诺RD=rD*G。其中,需要说明的是,各区块链节点将加密偏移因子与椭圆曲线上的公开点相乘所得到的运算结果(即偏移承诺)仍为椭圆曲线上的点。
步骤c、每个区块链节点将自己的偏移承诺上传至智能合约。
具体地,继续以上述联盟链由四个区块链节点组成为例,区块链节点A将自己的偏移承诺RA上传至智能合约E_Contract;区块链节点B将自己的偏移承诺RB上传至智能合约E_Contract;区块链节点C将自己的偏移承诺RC上传至智能合约E_Contract;区块链节点D将自己的偏移承诺RD上传至智能合约E_Contract。
此外,联盟链中各区块链节点也会将自己的公钥上传至智能合约。即,区块链节点A将自己的公钥pkA上传至智能合约E_Contract;区块链节点B将自己的公钥pkB上传至智能合约E_Contract;区块链节点C将自己的公钥pkC上传至智能合约E_Contract;区块链节点D将自己的公钥pkD上传至智能合约E_Contract。在智能合约E_Contract中形成一个pklist=[pkA,pkB,pkC,pkD]。倘若该联盟链中有新区块链节点加入时,会同步更新该pklist。其中,pkx=skx*G,G为椭圆曲线上的公开点,例如pkA=skA*G。
Step2:用户通过客户端对待加密数据进行加密处理,并将加密后的数据上传至智能合约。
具体地,针对每个区块链节点,用户通过客户端基于该区块链节点的偏移加密因子以及公钥,生成第一密文分片,并基于除该区块链节点以外的其它区块链节点的偏移承诺,对待加密数据进行处理,生成第二密文分片。然后,用户通过客户端将各区块链节点的第一密文分片、第二密文分片上传至智能合约。
下面对用户通过客户端生成密文分片的具体实施过程进行描述。
步骤a、用户通过客户端向联盟链中任一区块链节点发送偏移承诺获取请求。
其中,该偏移承诺获取请求用于获取各区块链节点的偏移承诺,客户端装载于终端设备上,该终端设备可以是平板电脑、手机、笔记本电脑或台式电脑等终端设备,本发明实施例对此并不作限定。具体地,用户在需要对某一待加密数据进行加密时,首先会向任一区块链节点发送偏移承诺获取请求。该区块链节点在接收到偏移承诺获取请求后,会从智能合约中读取各区块链节点的偏移承诺,并对各区块链节点的偏移承诺进行打包处理,形成数据包,然后将该数据包发送给客户端。客户端在接收到该数据包后,对该数据包进行解析处理,得到各区块链节点的偏移承诺。示例性地,继续以上述联盟链由四个区块链节点组成为例,比如,用户通过客户端向区块链节点A发送偏移承诺获取请求。区块链节点A在接收到偏移承诺获取请求后,会从智能合约中读取区块链节点A、区块链节点B、区块链节点C以及区块链节点D的偏移承诺,并对这四个区块链节点的偏移承诺进行打包处理,形成数据包,然后将该数据包发送给客户端。客户端在接收到该数据包后,对该数据包进行解析处理,得到区块链节点A的偏移承诺RA、区块链节点B的偏移承诺RB、区块链节点C的偏移承诺RC以及区块链节点D的偏移承诺RD
步骤b、用户通过客户端向各区块链节点发送加密偏移因子获取请求。
其中,该加密偏移因子获取请求用于获取每个区块链节点的加密偏移因子。具体地,用户基于客户端通过专属通信通道或秘密通信通道分别向各区块链节点发送加密偏移因子获取请求。每个区块链节点在接收到该加密偏移因子获取请求后,将自己的加密偏移因子发送给客户端。示例性地,继续以上述联盟链由四个区块链节点组成为例,用户基于客户端通过专属通信通道或秘密通信通道向区块链节点A发送加密偏移因子获取请求。区块链节点A在接收到该加密偏移因子获取请求后,将自己的加密偏移因子rA发送给客户端。用户基于客户端通过专属通信通道或秘密通信通道向区块链节点B发送加密偏移因子获取请求。区块链节点B在接收到该加密偏移因子获取请求后,将自己的加密偏移因子rB发送给客户端。区块链节点C在接收到该加密偏移因子获取请求后,将自己的加密偏移因子rC发送给客户端。区块链节点D在接收到该加密偏移因子获取请求后,将自己的加密偏移因子rD发送给客户端。
步骤c、针对每个区块链节点,用户通过客户端基于该区块链节点的加密偏移因子以及椭圆曲线上的公开点,生成偏移验证承诺。
具体地,针对每个区块链节点,用户通过客户端将该区块链节点的加密偏移因子与椭圆曲线上的公开点进行相乘处理,生成针对该区块链节点的偏移验证承诺。示例性地,继续以上述联盟链由四个区块链节点组成为例,针对区块链节点A,用户通过客户端将区块链节点A的加密偏移因子rA与椭圆曲线上的公开点G进行相乘,生成针对区块链节点A的偏移验证承诺RA′=rA*G。针对区块链节点B,用户通过客户端将区块链节点B的加密偏移因子rB与椭圆曲线上的公开点G进行相乘,生成针对区块链节点B的偏移验证承诺RB′=rB*G。针对区块链节点C,用户通过客户端将区块链节点C的加密偏移因子rC与椭圆曲线上的公开点G进行相乘,生成针对区块链节点C的偏移验证承诺RC′=rC*G。针对区块链节点D,用户通过客户端将区块链节点D的加密偏移因子rD与椭圆曲线上的公开点G进行相乘,生成针对区块链节点D的偏移验证承诺RD′=rD*G。
步骤d、针对每个区块链节点,用户通过客户端验证本地生成的该区块链节点的偏移验证承诺与从智能合约上获取的该区块链节点的偏移承诺是否相等。
具体地,若验证本地生成的各区块链节点的偏移验证承诺与从智能合约上获取的各区块链节点的偏移承诺均对应相等,则执行步骤e;若验证本地生成的一个区块链节点的偏移验证承诺与从智能合约上获取的该区块链节点的偏移承诺不相等,或者验证本地生成的多个区块链节点的偏移验证承诺与从智能合约上获取的该多个区块链节点的偏移承诺不对应相等,则确定存在一个或多个区块链节点作恶,即可终止本次加密流程。
示例性地,继续以上述联盟链由四个区块链节点组成为例,用户通过客户端验证本地生成的区块链节点A的偏移验证承诺RA′与从智能合约上获取的区块链节点A的偏移承诺RA是否相等;验证本地生成的区块链节点B的偏移验证承诺RB′与从智能合约上获取的区块链节点B的偏移承诺RB是否相等;验证本地生成的区块链节点C的偏移验证承诺RC′与从智能合约上获取的区块链节点C的偏移承诺RC是否相等;以及验证本地生成的区块链节点D的偏移验证承诺RD′与从智能合约上获取的区块链节点D的偏移承诺RD是否相等。若确定这四个区块链节点均验证成功,则执行步骤e;若确定这四个区块链节点中出现至少一个区块链节点验证不成功,比如区块链节点A验证不成功,则确定区块链节点A作恶,即可终止本次加密流程。或者区块链节点A和区块链节点B验证都不成功,则确定区块链节点A和区块链节点B作恶,即可终止本次加密流程。
步骤e、在确定各区块链节点的偏移承诺均验证成功后,针对每个区块链节点,用户通过客户端基于该区块链节点的加密偏移因子以及公钥,生成针对该区块链节点的第一密文分片。
示例性地,继续以上述联盟链由四个区块链节点组成为例,针对区块链节点A,用户通过客户端将区块链节点A的加密偏移因子rA与区块链节点A的公钥pkA进行相乘处理,生成针对区块链节点A的第一密文分片,即第一密文分片QA=rA*pkA。针对区块链节点B,用户通过客户端将区块链节点B的加密偏移因子rB与区块链节点B的公钥pkB进行相乘处理,生成针对区块链节点B的第一密文分片,即第一密文分片QB=rB*pkB。针对区块链节点C,用户通过客户端将区块链节点C的加密偏移因子rC与区块链节点C的公钥pkC进行相乘处理,生成针对区块链节点C的第一密文分片,即第一密文分片QC=rC*pkC。针对区块链节点D,用户通过客户端将区块链节点D的加密偏移因子rD与区块链节点D的公钥pkD进行相乘处理,生成针对区块链节点D的第一密文分片,即第一密文分片QD=rD*pkD
步骤f、针对每个区块链节点,用户通过客户端基于待加密数据以及除该区块链节点以外的其它区块链节点的偏移承诺,生成针对该区块链节点的第二密文分片。
示例性地,继续以上述联盟链由四个区块链节点组成为例,针对区块链节点A,用户通过客户端对待加密数据m以及除区块链节点A以外的其它区块链节点的偏移承诺进行处理,生成针对区块链节点A的第二密文分片,即第二密文分片TA=m*G+RB+RC+RD。针对区块链节点B,用户通过客户端对待加密数据m以及除区块链节点B以外的其它区块链节点的偏移承诺进行处理,生成针对区块链节点B的第二密文分片,即第二密文分片TB=m*G+RA+RC+RD。针对区块链节点C,用户通过客户端对待加密数据m以及除区块链节点C以外的其它区块链节点的偏移承诺进行处理,生成针对区块链节点C的第二密文分片,即第二密文分片TC=m*G+RA+RB+RD。针对区块链节点D,用户通过客户端对待加密数据m以及除区块链节点D以外的其它区块链节点的偏移承诺进行处理,生成针对区块链节点D的第二密文分片,即第二密文分片TD=m*G+RA+RB+RC
步骤g、用户通过客户端设置用于解密第一密文分片和第二密文分片的解密时间戳。
具体地,用户在客户端设置一个解密时间戳Timestamp,该解密时间戳用于指示任一区块链节点在确定本地时间戳满足该解密时间戳后执行解密操作。
步骤h、用户通过客户端将解密时间戳以及各区块链节点的第一密文分片、第二密文分片上传至智能合约。
示例性地,用户通过客户端将(TA,QA,TB,QB,TC,QC,TD,QD,Timestamp)上传至智能合约E_Contract,以此完成针对待加密数据的加密操作。
Step3:每个区块链节点对加密后的数据进行解密处理,并针对解密后的数据进行验证。
具体地,针对每个区块链节点,若该区块链节点确定满足解密条件,则开始执行解密操作;若该区块链节点确定不满足解密条件,则不执行解密操作。其中,解密条件为本地时间戳大于等于智能合约中的解密时间戳。示例性地,以满足解密条件的区块链节点A为例,若区块链节点A确定本地时间戳大于等于智能合约中的解密时间戳,则开始执行解密操作;若区块链节点A确定本地时间戳小于智能合约中的解密时间戳,则不执行解密操作。
下面对满足解密条件的区块链节点的解密实施过程进行具体描述。
步骤a、针对满足解密条件的区块链节点,该满足解密条件的区块链节点读取本地私钥,并基于本地私钥和本轮加密索引,生成加密偏移因子。
具体地,在某一区块链节点满足解密条件时,该区块链节点将自己的私钥与本轮加密索引进行拼接,生成偏移消息,并通过消息摘要算法或安全散列算法等对偏移消息进行哈希运算,生成区块链节点的加密偏移因子。其中,由于区块链节点为了防止加密偏移因子泄露,导致数据存在泄露的风险,因此为了确保数据的隐私安全性,区块链节点并不会长期保存加密偏移因子。
示例性地,以满足解密条件的区块链节点A为例,区块链节点A读取本地私钥skA,将本地私钥skA与本轮加密索引index进行拼接,生成偏移消息(skA|index)。再通过消息摘要算法或安全散列算法等对偏移消息进行哈希运算,生成区块链节点A的加密偏移因子,即加密偏移因子rA=H(skA|index)。同理,其它满足解密条件的区块链节点也可以按照与区块链节点A生成加密偏移因子相同的方式来生成加密偏移因子。
步骤b、该满足解密条件的区块链节点读取智能合约中各区块链节点的偏移承诺。
示例性地,以满足解密条件的区块链节点A为例,区块链节点A从智能合约E_Contract中读取各区块链节点的偏移承诺,比如联盟链有四个区块链节点,即区块链节点A、区块链节点B、区块链节点C以及区块链节点D。区块链节点A从智能合约E_Contract中读取区块链节点A的偏移承诺RA、区块链节点B的偏移承诺RB、区块链节点C的偏移承诺RC以及区块链节点D的偏移承诺RD
步骤c、满足解密条件的区块链节点基于自己的加密偏移因子以及公钥,生成第三密文分片,并基于该第三密文分片从智能合约中确定出与该第三密文分片匹配的第一密文分片以及确定出与该第三密文分片匹配的第二密文分片,通过双线性映射,对第一密文分片、第二密文分片、私钥以及偏移承诺进行处理,生成区块链节点的验证分片。
示例性地,以满足解密条件的区块链节点A为例,区块链节点A使用加密偏移因子rA以及公钥pkA,生成第三密文分片QA′=rA*pkA。并基于该第三密文分片QA′从智能合约中E_Contract中确定出与该第三密文分片QA′匹配的第一密文分片QA以及确定出与该第三密文分片QA′匹配的第二密文分片TA。然后,通过双线性映射,对区块链节点A的偏移承诺、加密偏移因子、第一密文分片、第二密文分片以及私钥进行处理,生成针对区块链节点A的验证分片EA
即:
Figure BDA0003127343500000231
Figure BDA0003127343500000232
同理,针对满足解密条件的区块链节点B的验证分片EB。即:
Figure BDA0003127343500000233
Figure BDA0003127343500000241
针对满足解密条件的区块链节点C的验证分片EC。即:
Figure BDA0003127343500000242
Figure BDA0003127343500000243
针对满足解密条件的区块链节点D的验证分片ED。即:
Figure BDA0003127343500000244
Figure BDA0003127343500000245
步骤d、满足解密条件的区块链节点使用私钥对自己生成的验证分片进行签名,生成验证分片的签名,并将验证分片以及验证分片的签名上传至智能合约。
示例性地,以满足解密条件的区块链节点A为例,区块链节点A使用私钥skA,对验证分片EA进行签名,生成验证分片EA的签名deltaA=sign(EA,skA),并将验证分片以及验证分片的签名(即EA和deltaA)上传至智能合约。
同理,针对区块链节点B,区块链节点B生成验证分片EB的签名deltaB=sign(EB,skB),并将EB和deltaB上传至智能合约。针对区块链节点C,区块链节点C生成验证分片EC的签名deltaC=sign(EC,skC),并将EC和deltaC上传至智能合约。针对区块链节点D,区块链节点D生成验证分片ED的签名deltaD=sign(ED,skD),并将ED和deltaD上传至智能合约。
步骤e、在确定各区块链节点均将自己的验证分片以及验证分片的签名上传至智能合约后,针对每个区块链节点,该区块链节点验证其它区块链节点的验证分片与自己的验证分片是否相同。
具体地,针对每个区块链节点,该区块链节点从智能合约上获取其它区块链节点的验证分片以及验证分片的签名。然后,该区块链节点使用其它区块链节点的公钥对其它区块链节点的验证分片的签名进行验证,并在确定其它区块链节点的验证分片的签名验证成功后,确定其它区块链节点的验证分片与自己的验证分片是否相同。
示例性地,以满足解密条件的区块链节点A为例,区块链节点A使用区块链节点B的公钥pkB对区块链节点B的验证分片EB的签名deltaB进行验证,使用区块链节点C的公钥pkC对区块链节点C的验证分片EC的签名deltaC进行验证,以及使用区块链节点D的公钥pkD对区块链节点D的验证分片ED的签名deltaD进行验证,在确定区块链节点B的验证分片EB的签名deltaB、区块链节点C的验证分片EC的签名deltaC以及区块链节点D的验证分片ED的签名deltaD、均验证成功后,确定自己的验证分片EA与区块链节点B的验证分片EB、区块链节点C的验证分片EC以及区块链节点D的验证分片ED是否均相同。同理,区块链节点B、区块链节点C或区块链节点D也会对其它区块链节点的验证分片的签名进行验证,并在确定其它区块链节点的验证分片的签名验证成功后,确定自己的验证分片与其它区块链节点的验证分片是否相同,在此不再赘述。
步骤f、针对每个区块链节点,该区块链节点在确定其它区块链节点的验证分片与自己的验证分片均相同后,将自己的加密偏移因子上传至智能合约。
示例性地,以满足解密条件的区块链节点A为例,区块链节点A在确定自己的验证分片EA与区块链节点B的验证分片EB、区块链节点C的验证分片EC以及区块链节点D的验证分片ED均相同后,将自己的加密偏移因子rA上传至智能合约。同理,区块链节点B、区块链节点C或区块链节点D在确定自己的验证分片与其它区块链节点的验证分片均相同后,也会将自己的加密偏移因子上传至智能合约,在此不再赘述。然后,在各区块链节点将各自的加密偏移因子上传至智能合约后,各区块链节点会生成下一轮的加密偏移因子,即区块链节点A生成下一轮的加密偏移因子rA′=H(skA|index′);区块链节点B生成下一轮的加密偏移因子rB′=H(skB|index′);区块链节点C生成下一轮的加密偏移因子rC′=H(skC|index′);区块链节点D生成下一轮的加密偏移因子rD′=H(skD|index′)。其中,index′=index+1。
步骤g、针对每个区块链节点,该区块链节点从智能合约上获取各区块链节点的加密偏移因子,并通过双线性映射,从二进制数的取值范围中确定出与验证分片匹配的二进制数作为解密结果。
具体地,针对每个区块链节点,该区块链节点依次遍历二进制数的取值范围中的各二进制数,并基于验证分片,通过双线性映射,确定出与验证分片匹配的二进制数,并将该二进制数作为解密结果。当然,将该二进制数转换为十进制数,即可得到客户端所加密的待加密数据。
示例性地,满足解密条件的区块链节点A为例,区块链节点A可以按照二进制数的取值范围从小到大或从大到小依次进行遍历,并基于验证分片,通过双线性映射,确定每个被遍历的数据mi是否满足
Figure BDA0003127343500000261
Figure BDA0003127343500000262
其中,该等式的右边是一个验证分片,也是一个数值。若确定某一数据mi满足,则将该数据mi作为解密出的数据,也即该mi是客户端进行加密的待加密数据。例如,以待加密的数据为10为例进行描述,则该数字10的二进制为1010,则区块链节点可以从二进制数0开始依次进行遍历,直至遍历到1010,才满足
Figure BDA0003127343500000263
如此,即可将数据1010作为解密出的数据。
步骤h、其它区块链节点对区块链上所存储的该区块链节点解密出的待加密数据进行共识验证,通过双线性映射确定该区块链节点解密出的待加密数据与验证分片的匹配性。
示例性地,以解密出待加密数据的区块链节点A为例,其它区块链节点从智能合约上获取区块链节点A解密出的待加密数据mi。比如区块链节点B从智能合约上获取解密出的待加密数据mi,区块链节点C从智能合约上获取解密出的待加密数据mi,区块链节点D从智能合约上获取解密出的待加密数据mi。区块链节点B通过双线性映射算法,验证区块链节点A解密出的待加密数据mi与验证分片的匹配性。即,验证是否满足
Figure BDA0003127343500000271
若满足,则区块链节点B确认区块链节点A解密出的待加密数据mi是正确的。同时,区块链节点C也会通过双线性映射算法,验证区块链节点A解密出的待加密数据mi与验证分片的匹配性。即,验证是否满足
Figure BDA0003127343500000272
若满足,则区块链节点C确认区块链节点A解密出的待加密数据mi是正确的。以及区块链节点D也会通过双线性映射算法,验证区块链节点A解密出的待加密数据mi与验证分片的匹配性。即,验证是否满足
Figure BDA0003127343500000273
Figure BDA0003127343500000274
若满足,则区块链节点D确认区块链节点A解密出的待加密数据mi是正确的。在确定区块链节点B、区块链节点C以及区块链节点D中有两个或两个以上区块链节点验证区块链节点A解密出的待加密数据mi与验证分片是匹配的,则将待加密数据mi记录至区块链,至此完成本次解密操作,否则本次解密操作失败。
上述实施例表明,针对任一区块链节点,在确定本地时间戳满足智能合约中的解密时间戳时,即可开始进行解密操作。即,基于区块链节点的公私钥生成索引密文,并基于索引密文,可以及时准确地从客户端上传至智能合约中的加密信息中确定出与索引密文匹配的第一密文分片以及与索引密文匹配的第二密文分片。然后,通过双线性映射,对与索引密文匹配的第一密文分片和与索引密文匹配的第二密文分片进行处理,得到区块链节点的验证分片,并在验证m个验证分片满足设定要求后,对与索引密文匹配的第二密文分片进行解密,得到待加密数据。如此,该方案由于无需区块链节点对待加密数据进行加密操作,而且各区块链节点都是使用不同的公私钥,而不是都使用相同的公私钥,从而可以确保待加密数据的隐私安全性。此外,该方案由于无需每次在进行解密操作时都重新进行密钥初始化生成公私钥,而是一直使用的是各区块链节点的公私钥,因此可以使得该方案解密操作的过程更为简单方便,从而能够使得解密操作的成本降低。
基于相同的技术构思,图2示例性的示出了本发明实施例提供的一种基于智能合约的数据处理装置,该装置可以执行基于智能合约的数据处理方法的流程。其中,该基于智能合约的数据处理方法适用于具有m个区块链节点的联盟链。
如图2所示,该装置包括:
生成单元201,用于针对任一区块链节点,在确定满足智能合约中的解密时间戳时,基于所述区块链节点的公私钥生成索引密文;所述解密时间戳是客户端生成的用于指示对所述客户端上传至所述智能合约中的加密信息进行解密的时间;所述加密信息包括针对每个区块链节点的第一密文分片和第二密文分片;第一密文分片是所述客户端基于区块链节点的公私钥生成的;第二密文分片是所述客户端基于待加密数据生成的;
第一处理单元202,用于从所述加密信息中确定出与所述索引密文匹配的第一密文分片和与所述索引密文匹配的第二密文分片;通过双线性映射,对与所述索引密文匹配的第一密文分片和与所述索引密文匹配的第二密文分片进行处理,得到所述区块链节点的验证分片,并将所述验证分片上传至所述智能合约;在验证m个验证分片满足设定要求后,对与所述索引密文匹配的第二密文分片进行解密,得到所述待加密数据。
可选地,所述生成单元201具体用于:
将所述区块链节点的私钥与本轮加密索引进行拼接,生成偏移消息;
对所述偏移消息进行哈希运算,生成所述加密偏移因子;
基于所述加密偏移因子以及所述区块链节点的公钥,生成所述索引密文。
可选地,所述第一处理单元202具体用于:
从所述智能合约获取m个区块链节点的第一承诺分片;所述第一承诺分片是区块链节点基于各自的加密偏移因子生成的;
通过所述双线性映射,将所述区块链节点的加密偏移因子、与所述索引密文匹配的第一密文分片、与所述索引密文匹配的第二密文分片、所述区块链节点的第一承诺分片以及所述区块链节点的私钥进行转换处理,生成所述区块链节点的验证分片。
可选地,所述第一处理单元202具体用于:
确定所述区块链节点的验证分片与除所述区块链节点以外的其它区块链节点的验证分片是否相同;
若是,则确认所述m个验证分片验证成功。
可选地,所述第一处理单元202还用于:
在确认所述m个验证分片验证成功之后,将所述区块链节点的加密偏移因子上传至智能合约;
所述第一处理单元202具体用于:
从所述智能合约获取所述m个区块链节点的加密偏移因子;
通过所述双线性映射,基于所述m个区块链节点的加密偏移因子,对与所述索引密文匹配的第二密文分片进行解密,得到所述待加密数据。
可选地,所述第一处理单元202还用于:
在得到所述待加密数据之后,从智能合约上获取所述区块链节点解密出的待加密数据以及所述m个区块链节点的加密偏移因子;所述待加密数据是所述区块链节点上传至所述智能合约的;
通过所述双线性映射,基于所述m个区块链节点的加密偏移因子,对所述区块链节点解密出的待加密数据进行验证,确定所述待加密数据与验证分片的匹配性,从而确定所述解密出的待加密数据是否正确。
基于相同的技术构思,图3示例性的示出了本发明实施例提供的另一种基于智能合约的数据处理装置,该装置可以执行基于智能合约的数据处理方法的流程。其中,该基于智能合约的数据处理方法适用于具有m个区块链节点的联盟链。
如图3所示,该装置包括:
获取单元301,用于从智能合约获取述m个区块链节点的第一承诺分片,并通过秘密通信通道获取所述m个区块链节点的加密偏移因子;所述第一承诺分片是区块链节点基于各自的加密偏移因子生成的;所述加密偏移因子是区块链节点基于各自的私钥生成的;
第二处理单元302,用于针对每个区块链节点,基于所述区块链节点的加密偏移因子以及所述区块链节点的公钥,生成第一密文分片,并基于待加密数据以及除所述区块链节点以外的其它区块链节点的第一承诺分片,生成第二密文分片;生成解密时间戳;将所述解密时间戳以及所述m个区块链节点的第一密文分片、第二密文分片上传至所述智能合约;所述解密时间戳用于指示任一区块链节点在确定本地时间戳满足所述解密时间戳时对所述智能合约中的第一密文分片以及第二密文分片进行解密处理。
可选地,所述第二处理单元302还用于:
在生成第一密文分片之前,针对每个区块链节点,基于所述区块链节点的加密偏移因子,生成所述区块链节点的第二承诺分片;
确定所述m个区块链节点的第一承诺分片与所述m个区块链节点的第二承诺分片是否均对应相同;
若是,则确认所述m个区块链节点的第一承诺分片验证成功。
基于相同的技术构思,本发明实施例还提供了一种计算设备,如图4所示,包括至少一个处理器401,以及与至少一个处理器连接的存储器402,本发明实施例中不限定处理器401与存储器402之间的具体连接介质,图4中处理器401和存储器402之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本发明实施例中,存储器402存储有可被至少一个处理器401执行的指令,至少一个处理器401通过执行存储器402存储的指令,可以执行前述的基于智能合约的数据处理方法中所包括的步骤。
其中,处理器401是计算设备的控制中心,可以利用各种接口和线路连接计算设备的各个部分,通过运行或执行存储在存储器402内的指令以及调用存储在存储器402内的数据,从而实现数据处理。可选的,处理器401可包括一个或多个处理单元,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理下发指令。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。在一些实施例中,处理器401和存储器402可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器401可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合基于智能合约的数据处理方法实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器402可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器402是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本发明实施例中的存储器402还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于相同的技术构思,本发明实施例还提供了一种计算机可读存储介质,其存储有可由计算设备执行的计算机程序,当所述程序在所述计算设备上运行时,使得所述计算设备执行上述基于智能合约的数据处理方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种基于智能合约的数据处理方法,其特征在于,适用于具有m个区块链节点的联盟链,所述方法包括:
针对任一区块链节点,所述区块链节点在确定满足智能合约中的解密时间戳时,基于所述区块链节点的公私钥生成索引密文;所述解密时间戳是客户端生成的用于指示对所述客户端上传至所述智能合约中的加密信息进行解密的时间;所述加密信息包括针对每个区块链节点的第一密文分片和第二密文分片;第一密文分片是所述客户端基于区块链节点的公私钥生成的;第二密文分片是所述客户端基于待加密数据生成的;
所述区块链节点从所述加密信息中确定出与所述索引密文匹配的第一密文分片和与所述索引密文匹配的第二密文分片;
所述区块链节点通过双线性映射,对与所述索引密文匹配的第一密文分片和与所述索引密文匹配的第二密文分片进行处理,得到所述区块链节点的验证分片,并将所述验证分片上传至所述智能合约;
所述区块链节点在验证m个验证分片满足设定要求后,对与所述索引密文匹配的第二密文分片进行解密,得到所述待加密数据。
2.如权利要求1所述的方法,其特征在于,基于所述区块链节点的公私钥生成索引密文,包括:
所述区块链节点将所述区块链节点的私钥与本轮加密索引进行拼接,生成偏移消息;
所述区块链节点对所述偏移消息进行哈希运算,生成所述加密偏移因子;
所述区块链节点基于所述加密偏移因子以及所述区块链节点的公钥,生成所述索引密文。
3.如权利要求1所述的方法,其特征在于,所述区块链节点通过双线性映射,对与所述索引密文匹配的第一密文分片和与所述索引密文匹配的第二密文分片进行处理,得到所述区块链节点的验证分片,包括:
所述区块链节点从所述智能合约获取m个区块链节点的第一承诺分片;所述第一承诺分片是区块链节点基于各自的加密偏移因子生成的;
所述区块链节点通过所述双线性映射,将所述区块链节点的加密偏移因子、与所述索引密文匹配的第一密文分片、与所述索引密文匹配的第二密文分片、所述区块链节点的第一承诺分片以及所述区块链节点的私钥进行转换处理,生成所述区块链节点的验证分片。
4.如权利要求1所述的方法,其特征在于,所述区块链节点验证m个验证分片满足设定要求,包括:
所述区块链节点确定所述区块链节点的验证分片与除所述区块链节点以外的其它区块链节点的验证分片是否相同;
若是,则所述区块链节点确认所述m个验证分片验证成功。
5.如权利要求4所述的方法,其特征在于,在所述区块链节点确认所述m个验证分片验证成功之后,还包括:
所述区块链节点将所述区块链节点的加密偏移因子上传至智能合约;
对与所述索引密文匹配的第二密文分片进行解密,得到所述待加密数据,包括:
所述区块链节点从所述智能合约获取所述m个区块链节点的加密偏移因子;
所述区块链节点通过所述双线性映射,基于所述m个区块链节点的加密偏移因子,对与所述索引密文匹配的第二密文分片进行解密,得到所述待加密数据。
6.如权利要求5所述的方法,其特征在于,在得到所述待加密数据之后,还包括:
除所述区块链节点以外的其它区块链节点中每个区块链节点从智能合约上获取所述区块链节点解密出的待加密数据以及所述m个区块链节点的加密偏移因子;所述待加密数据是所述区块链节点上传至所述智能合约的;
所述其它区块链节点中每个区块链节点通过所述双线性映射,基于所述m个区块链节点的加密偏移因子,对所述区块链节点解密出的待加密数据进行验证,确定所述待加密数据与验证分片的匹配性,从而确定所述解密出的待加密数据是否正确。
7.一种基于智能合约的数据处理方法,其特征在于,适用于具有m个区块链节点的联盟链,所述方法包括:
客户端从智能合约获取述m个区块链节点的第一承诺分片,并通过秘密通信通道获取所述m个区块链节点的加密偏移因子;所述第一承诺分片是区块链节点基于各自的加密偏移因子生成的;所述加密偏移因子是区块链节点基于各自的私钥生成的;
针对每个区块链节点,所述客户端基于所述区块链节点的加密偏移因子以及所述区块链节点的公钥,生成第一密文分片,并基于待加密数据以及除所述区块链节点以外的其它区块链节点的第一承诺分片,生成第二密文分片;
所述客户端生成解密时间戳;
所述客户端将所述解密时间戳以及所述m个区块链节点的第一密文分片、第二密文分片上传至所述智能合约;所述解密时间戳用于指示任一区块链节点在确定本地时间戳满足所述解密时间戳时对所述智能合约中的第一密文分片以及第二密文分片进行解密处理。
8.如权利要求7所述的方法,其特征在于,在生成第一密文分片之前,还包括:
针对每个区块链节点,所述客户端基于所述区块链节点的加密偏移因子,生成所述区块链节点的第二承诺分片;
所述客户端确定所述m个区块链节点的第一承诺分片与所述m个区块链节点的第二承诺分片是否均对应相同;
若是,则所述客户端确认所述m个区块链节点的第一承诺分片验证成功。
9.一种基于智能合约的数据处理装置,其特征在于,适用于具有m个区块链节点的联盟链,所述装置包括:
生成单元,用于针对任一区块链节点,在确定满足智能合约中的解密时间戳时,基于所述区块链节点的公私钥生成索引密文;所述解密时间戳是客户端生成的用于指示对所述客户端上传至所述智能合约中的加密信息进行解密的时间;所述加密信息包括针对每个区块链节点的第一密文分片和第二密文分片;第一密文分片是所述客户端基于区块链节点的公私钥生成的;第二密文分片是所述客户端基于待加密数据生成的;
第一处理单元,用于从所述加密信息中确定出与所述索引密文匹配的第一密文分片和与所述索引密文匹配的第二密文分片;通过双线性映射,对与所述索引密文匹配的第一密文分片和与所述索引密文匹配的第二密文分片进行处理,得到所述区块链节点的验证分片,并将所述验证分片上传至所述智能合约;在验证m个验证分片满足设定要求后,对与所述索引密文匹配的第二密文分片进行解密,得到所述待加密数据。
10.一种基于智能合约的数据处理装置,其特征在于,适用于具有m个区块链节点的联盟链,所述装置包括:
获取单元,用于从智能合约获取述m个区块链节点的第一承诺分片,并通过秘密通信通道获取所述m个区块链节点的加密偏移因子;所述第一承诺分片是区块链节点基于各自的加密偏移因子生成的;所述加密偏移因子是区块链节点基于各自的私钥生成的;
第二处理单元,用于针对每个区块链节点,基于所述区块链节点的加密偏移因子以及所述区块链节点的公钥,生成第一密文分片,并基于待加密数据以及除所述区块链节点以外的其它区块链节点的第一承诺分片,生成第二密文分片;生成解密时间戳;将所述解密时间戳以及所述m个区块链节点的第一密文分片、第二密文分片上传至所述智能合约;所述解密时间戳用于指示任一区块链节点在确定本地时间戳满足所述解密时间戳时对所述智能合约中的第一密文分片以及第二密文分片进行解密处理。
CN202110692736.XA 2021-06-22 2021-06-22 一种基于智能合约的数据处理方法及装置 Active CN113326525B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110692736.XA CN113326525B (zh) 2021-06-22 2021-06-22 一种基于智能合约的数据处理方法及装置
PCT/CN2021/131302 WO2022267314A1 (zh) 2021-06-22 2021-11-17 一种基于智能合约的数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110692736.XA CN113326525B (zh) 2021-06-22 2021-06-22 一种基于智能合约的数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN113326525A true CN113326525A (zh) 2021-08-31
CN113326525B CN113326525B (zh) 2024-01-16

Family

ID=77424193

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110692736.XA Active CN113326525B (zh) 2021-06-22 2021-06-22 一种基于智能合约的数据处理方法及装置

Country Status (2)

Country Link
CN (1) CN113326525B (zh)
WO (1) WO2022267314A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113992325A (zh) * 2021-10-09 2022-01-28 深圳前海微众银行股份有限公司 一种隐私数据共享方法及装置
CN114430326A (zh) * 2022-04-07 2022-05-03 中国工商银行股份有限公司 基于区块链的信息确认方法及装置、电子设备及存储介质
WO2022267314A1 (zh) * 2021-06-22 2022-12-29 深圳前海微众银行股份有限公司 一种基于智能合约的数据处理方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201618160D0 (en) * 2016-10-27 2016-12-14 Nokia Technologies Oy A method for analysing media content
CN109255247A (zh) * 2018-08-14 2019-01-22 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备
CN111723387A (zh) * 2020-06-22 2020-09-29 深圳前海微众银行股份有限公司 一种基于区块链的数据解密的方法及装置
CN112910840A (zh) * 2021-01-14 2021-06-04 重庆邮电大学 一种基于联盟区块链的医疗数据存储共享方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170344988A1 (en) * 2016-05-24 2017-11-30 Ubs Ag System and method for facilitating blockchain-based validation
CN109495465B (zh) * 2018-11-05 2020-12-25 河南师范大学 基于智能合约的隐私集合交集方法
CN110930251B (zh) * 2019-10-18 2023-09-29 如般量子科技有限公司 基于联盟链和隐式证书的抗量子计算云存储方法及系统
CN112543187B (zh) * 2020-11-26 2022-04-12 齐鲁工业大学 基于边缘区块链的工业物联网安全数据共享方法
CN113326525B (zh) * 2021-06-22 2024-01-16 深圳前海微众银行股份有限公司 一种基于智能合约的数据处理方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201618160D0 (en) * 2016-10-27 2016-12-14 Nokia Technologies Oy A method for analysing media content
CN109255247A (zh) * 2018-08-14 2019-01-22 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备
CN111723387A (zh) * 2020-06-22 2020-09-29 深圳前海微众银行股份有限公司 一种基于区块链的数据解密的方法及装置
CN112910840A (zh) * 2021-01-14 2021-06-04 重庆邮电大学 一种基于联盟区块链的医疗数据存储共享方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022267314A1 (zh) * 2021-06-22 2022-12-29 深圳前海微众银行股份有限公司 一种基于智能合约的数据处理方法及装置
CN113992325A (zh) * 2021-10-09 2022-01-28 深圳前海微众银行股份有限公司 一种隐私数据共享方法及装置
WO2023056763A1 (zh) * 2021-10-09 2023-04-13 深圳前海微众银行股份有限公司 一种隐私数据共享方法及装置
CN114430326A (zh) * 2022-04-07 2022-05-03 中国工商银行股份有限公司 基于区块链的信息确认方法及装置、电子设备及存储介质

Also Published As

Publication number Publication date
WO2022267314A1 (zh) 2022-12-29
CN113326525B (zh) 2024-01-16

Similar Documents

Publication Publication Date Title
CN111628868B (zh) 数字签名生成方法、装置、计算机设备和存储介质
CN112491846B (zh) 一种跨链的区块链通信方法及装置
CN110380852B (zh) 双向认证方法及通信系统
CN113326525B (zh) 一种基于智能合约的数据处理方法及装置
CN108199835B (zh) 一种多方联合私钥解密方法
TW201914254A (zh) 資料加密和解密的方法、裝置和系統
CN110601816B (zh) 一种区块链系统中轻量级节点控制方法及装置
CA3164765A1 (en) Secure communication method and device based on identity authentication
CN109861956B (zh) 基于状态通道的数据验证系统、方法、装置及设备
WO2019001061A1 (zh) 支付验证的方法、系统及移动设备和安全认证设备
CN105049434B (zh) 一种对等网络环境下的身份认证方法与加密通信方法
CN110299996A (zh) 认证方法、设备及系统
CN103546289A (zh) 一种基于USBKey的安全传输数据的方法及系统
CN104836776A (zh) 数据交互方法和装置
CN108696518B (zh) 区块链上用户通信加密方法、装置、终端设备及存储介质
US10887110B2 (en) Method for digital signing with multiple devices operating multiparty computation with a split key
CN109816383A (zh) 一种区块链签名方法、区块链钱包和区块链
CN109257183A (zh) 基于量子游走隐形传输的仲裁量子签名方法
CN111767569A (zh) 区块链的访问授权方法及节点
CN112202779B (zh) 基于区块链的信息加密方法、装置、设备及介质
CN113472720A (zh) 数字证书密钥处理方法、装置、终端设备及存储介质
CN112039883A (zh) 一种区块链的数据分享方法及装置
CN111080296B (zh) 一种基于区块链系统的验证方法及装置
CN114900304A (zh) 数字签名方法和装置、电子设备和计算机可读存储介质
CN113328854B (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