CN115062063B - 基于区块链的数据查询方法和装置 - Google Patents
基于区块链的数据查询方法和装置 Download PDFInfo
- Publication number
- CN115062063B CN115062063B CN202210901105.9A CN202210901105A CN115062063B CN 115062063 B CN115062063 B CN 115062063B CN 202210901105 A CN202210901105 A CN 202210901105A CN 115062063 B CN115062063 B CN 115062063B
- Authority
- CN
- China
- Prior art keywords
- transaction
- data
- block chain
- target data
- stored
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Strategic Management (AREA)
- Databases & Information Systems (AREA)
- General Business, Economics & Management (AREA)
- Finance (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请提供一种基于区块链的数据查询方法和装置,应用于目标数据查询方;区块链中存储了与匿名数据查询群组对应的公钥集合;该方法包括:基于待查询的目标数据的数据标识构建第一交易,并基于目标数据查询方的私钥和公钥集合对第一交易进行环签名处理;将环签名处理后的第一交易发送给区块链节点,由区块链节点基于公钥集合对环签名处理后的第一交易进行环签名验证,并在环签名验证通过后将第一交易存储在区块链中,由与数据标识匹配的数据查询服务方获取第一交易,在数据库中基于数据标识进行匿名的数据查询,基于目标数据构建第二交易,并将第二交易发送给区块链节点,由区块链节点将第二交易存储在区块链中;获取第二交易,以获取目标数据。
Description
技术领域
本申请一个或多个实施例涉及区块链技术领域,尤其涉及一种基于区块链的数据查询方法和装置。
背景技术
数据查询服务方通常维护了大量的与业务相关的数据,例如:用户数据、业务执行过程数据、业务执行结果数据等;而数据查询方则可以根据实际需求向数据查询服务方查询相应的数据。然而,在此过程中,数据查询服务方通常会得知数据查询方的身份信息,从而得知所维护的与业务相关的数据中与数据查询方相关的数据,对数据查询方的数据隐私造成影响。
发明内容
本申请提供一种基于区块链的数据查询方法,所述方法应用于目标数据查询方;所述区块链中存储了与匿名数据查询群组对应的公钥集合;所述方法包括:
基于待查询的目标数据的数据标识,构建用于查询所述目标数据的第一交易,并基于所述目标数据查询方的私钥和所述区块链中存储的所述公钥集合,对所述第一交易进行环签名处理;
将环签名处理后的所述第一交易发送给区块链节点,由所述区块链节点基于所述区块链中存储的所述公钥集合,对环签名处理后的所述第一交易进行环签名验证,并在环签名验证通过后,将所述第一交易存储在所述区块链中,由与所述数据标识匹配的数据查询服务方获取所述区块链中存储的所述第一交易,在数据库中基于所述数据标识进行匿名的数据查询,基于查询到的与所述数据标识对应的所述目标数据,构建第二交易,并将所述第二交易发送给区块链节点,由所述区块链节点将所述第二交易存储在所述区块链中;
获取所述区块链中存储的所述第二交易,以获取所述目标数据。
本申请还提供一种基于区块链的数据查询方法,所述方法应用于数据查询服务方;所述区块链中存储了与匿名数据查询群组对应的公钥集合;所述方法包括:
获取所述区块链中存储的用于查询目标数据的第一交易;其中,所述第一交易由目标数据查询方基于所述目标数据的数据标识构建,并在基于所述目标数据查询方的私钥和所述区块链中存储的所述公钥集合进行了环签名处理后发送给区块链节点,由所述区块链节点基于所述区块链中存储的所述公钥集合对环签名处理后的所述第一交易进行环签名验证,并在环签名验证通过后存储在所述区块链中;所述数据查询服务方与所述数据标识匹配;
在数据库中基于所述数据标识进行匿名的数据查询;
基于查询到的与所述数据标识对应的所述目标数据,构建第二交易,并将所述第二交易发送给区块链节点,由所述区块链节点将所述第二交易存储在所述区块链中,由所述目标数据查询方获取所述区块链中存储的所述第二交易,以获取所述目标数据。
本申请还提供一种基于区块链的数据查询装置,所述装置应用于目标数据查询方;所述区块链中存储了与匿名数据查询群组对应的公钥集合;所述装置包括:
构建模块,用于基于待查询的目标数据的数据标识,构建用于查询所述目标数据的第一交易,并基于所述目标数据查询方的私钥和所述区块链中存储的所述公钥集合,对所述第一交易进行环签名处理;
查询模块,用于将环签名处理后的所述第一交易发送给区块链节点,由所述区块链节点基于所述区块链中存储的所述公钥集合,对环签名处理后的所述第一交易进行环签名验证,并在环签名验证通过后,将所述第一交易存储在所述区块链中,由与所述数据标识匹配的数据查询服务方获取所述区块链中存储的所述第一交易,在数据库中基于所述数据标识进行匿名的数据查询,基于查询到的与所述数据标识对应的所述目标数据,构建第二交易,并将所述第二交易发送给区块链节点,由所述区块链节点将所述第二交易存储在所述区块链中;
获取模块,用于获取所述区块链中存储的所述第二交易,以获取所述目标数据。
本申请还提供一种基于区块链的数据查询装置,所述装置应用于数据查询服务方;所述区块链中存储了与匿名数据查询群组对应的公钥集合;所述装置包括:
获取模块,用于获取所述区块链中存储的用于查询目标数据的第一交易;其中,所述第一交易由目标数据查询方基于所述目标数据的数据标识构建,并在基于所述目标数据查询方的私钥和所述区块链中存储的所述公钥集合进行了环签名处理后发送给区块链节点,由所述区块链节点基于所述区块链中存储的所述公钥集合对环签名处理后的所述第一交易进行环签名验证,并在环签名验证通过后存储在所述区块链中;所述数据查询服务方与所述数据标识匹配;
查询模块,用于在数据库中基于所述数据标识进行匿名的数据查询;
构建模块,用于基于查询到的与所述数据标识对应的所述目标数据,构建第二交易,并将所述第二交易发送给区块链节点,由所述区块链节点将所述第二交易存储在所述区块链中,由所述目标数据查询方获取所述区块链中存储的所述第二交易,以获取所述目标数据。
本申请还提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如上述任一项所述方法的步骤。
本申请还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述任一项所述方法的步骤。
在上述技术方案中,可以由目标数据查询方获取待查询的目标数据的数据标识,基于该数据标识构建用于查询该目标数据的第一交易,并基于该目标数据查询方的私钥,以及区块链中存储的与匿名数据查询群组对应的公钥集合,对该第一交易进行环签名处理;后续,可以将环签名处理后的该第一交易发送给区块链节点,由该区块链节点基于该公钥集合,对环签名处理后的该第一交易进行环签名验证,并在环签名验证通过后,将该第一交易存储在所述区块链中;再后续,与该数据标识匹配的数据查询服务方可以获取该区块链中存储的该第一交易,在数据库中基于该数据标识进行匿名的数据查询,并将查询到的与该数据标识对应的该目标数据返回给该目标数据查询方。
采用上述的方式,首先,可以由需要以匿名状态查询数据的用户组成匿名数据查询群组,并由该匿名数据查询群组组建区块链,从而可以通过去中心化的方式,由该匿名数据查询群组集体维护其公钥集合等信息,保证了该公钥集合的安全且防篡改性;其次,可以由数据查询方对用于查询目标数据的交易进行环签名,并由区块链节点对环签名处理后的该交易进行环签名验证,以验证该数据查询方是否属于该匿名数据查询群组,即验证该数据查询方是否具有该目标数据的数据查询权限,但通过这种验证方式无法得知数据查询方的身份信息,也就无法得知与数据查询方相关的数据,从而可以保障数据查询方的数据隐私。
附图说明
图1是本申请一示例性实施例示出的一种基于区块链的数据查询系统的示意图。
图2是本申请一示例性实施例示出的一种基于区块链的数据查询方法的流程图。
图3是本申请一示例性实施例示出的另一种基于区块链的数据查询方法的流程图。
图4是本申请一示例性实施例示出的另一种基于区块链的数据查询方法的流程图。
图5是本申请一示例性实施例示出的一种基于区块链的数据查询装置所在电子设备的硬件结构图。
图6是本申请一示例性实施例示出的一种基于区块链的数据查询装置的框图。
图7是本申请一示例性实施例示出的另一种基于区块链的数据查询装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本申请示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法包括的步骤可以比本申请中所描述的更多或更少。此外,本申请中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本申请中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
区块链一般被划分为三种类型:公有链(Public Blockchain)、私有链(PrivateBlockchain)和联盟链(Consortium Blockchain)。此外,还可以有上述多种类型的结合,比如私有链与联盟链的结合、联盟链与公有链的结合等。
在上述三种类型的区块链中,去中心化程度最高的是公有链。加入公有链的参与方(也可以称为区块链中的节点)可以读取链上的数据记录、参与交易、竞争新区块的记账权等。而且,各节点可自由加入或退出网络,并进行相关操作。
私有链则相反,网络的写入权限由某个组织或机构控制,数据读取权限受组织规定。也即,私有链可以视为一个弱中心化系统,其对节点具有严格限制且节点数量较少。这种类型的区块链更适合于特定机构内部使用。
联盟链则介于公有链以及私有链之间,可以实现“部分去中心化”。联盟链中的各节点通常有与之对应的实体机构或组织;节点通过授权加入网络并组成利益相关联盟,共同维护区块链的运行。
在区块链网络中,节点是逻辑上的通信实体;不同类型的多个区块链节点可以运行在同一个物理服务器上,也可以运行在不同的物理服务器上。
对于区块链外产生的数据而言,可以将其构建成区块链所支持的标准的交易(transaction)格式,然后发布至区块链,由区块链网络中的所有节点对该交易进行共识。在达成共识后,可以由区块链网络中作为记账节点的节点,将这笔交易在区块链中进行持久化存证。
在实际应用中,无论是公有链、私有链还是联盟链,都可以提供智能合约(smartcontract)的功能。区块链上的智能合约是在区块链上可以被交易触发执行的合约。智能合约可以通过代码的形式定义。
智能合约可以以规定的方式被区块链网络中的各节点独立执行,所有执行记录和相关数据都可以被保存在区块链上。以基于账户模型的某一区块链为例,部署在该区块链上的智能合约是一种类型的区块链账户,在执行了某一智能合约后,可以将执行记录和相关数据保存在该智能合约的账户存储空间(通常是storage字段)中。
智能合约的事件机制,是智能合约与链外实体进行交互的一种方式。对于区块链上部署的智能合约来说,通常无法直接与链外实体进行交互;例如,智能合约在调用完成后,通常无法将智能合约的调用结果,点对点地发送给智能合约的调用发起方。
智能合约在调用的过程中产生的调用结果(包括中间结果和最终的调用结果),通常都会以事件(event)的形式,记录到调用该智能合约的那笔交易的交易日志(transaction logs),在区块链节点的存储空间中进行存储。而需要与智能合约进行交互的链外实体,则可以通过监听区块链节点的存储空间中存储的上述交易日志的方式,来获取智能合约的调用结果。
相关技术中,数据查询服务方通常会得知数据查询方的身份信息,从而得知其维护的与业务相关的数据中与数据查询方相关的数据,对数据查询方的数据隐私造成影响。
以金融机构为例,金融机构的客户数据通常被认为是重要的商业机密,属于敏感信息。当某一金融机构作为数据查询方,向维护了多家金融机构的相关数据的数据查询服务方查询用户数据时,该数据查询服务方就可以得知其维护的数据中与该金融机构相关的客户数据,进而可以得知该金融机构拥有哪些客户,极有可能导致该金融机构的敏感信息发生泄露。
本申请提供一种用于基于区块链的数据查询的技术方案。在该技术方案中,可以由目标数据查询方获取待查询的目标数据的数据标识,基于该数据标识构建用于查询该目标数据的第一交易,并基于该目标数据查询方的私钥,以及区块链中存储的与匿名数据查询群组对应的公钥集合,对该第一交易进行环签名处理;后续,可以将环签名处理后的该第一交易发送给区块链节点,由该区块链节点基于该公钥集合,对环签名处理后的该第一交易进行环签名验证,并在环签名验证通过后,将该第一交易存储在所述区块链中;再后续,与该数据标识匹配的数据查询服务方可以获取该区块链中存储的该第一交易,在数据库中基于该数据标识进行匿名的数据查询,并将查询到的与该数据标识对应的该目标数据返回给该目标数据查询方。
采用上述的方式,首先,可以由需要以匿名状态查询数据的用户组成匿名数据查询群组,并由该匿名数据查询群组组建区块链,从而可以通过去中心化的方式,由该匿名数据查询群组集体维护其公钥集合等信息,保证了该公钥集合的安全且防篡改性;其次,可以由数据查询方对用于查询目标数据的交易进行环签名,并由区块链节点对环签名处理后的该交易进行环签名验证,以验证该数据查询方是否属于该匿名数据查询群组,即验证该数据查询方是否具有该目标数据的数据查询权限,但通过这种验证方式无法得知数据查询方的身份信息,也就无法得知与数据查询方相关的数据,从而可以保障数据查询方的数据隐私。
请参考图1,图1是本申请一示例性实施例示出的一种基于区块链的数据查询系统的示意图。
如图1所示,在上述基于区块链的数据查询系统中,除了区块链之外,还可以包括多个接入该区块链的数据查询方,以及多个接入该区块链的数据查询服务方。
在实际应用中,可以由需要以匿名状态查询数据的用户(即作为匿名数据查询方的用户)组成匿名数据查询群组,并由该匿名数据查询群组组建上述区块链。需要说明的是,该匿名数据查询群组中的所有匿名数据查询方都可以参与组建该区块链,即所有匿名数据查询方都可以持有数据查询客户端和区块链节点;或者,该匿名数据查询群组中的部分匿名数据查询方可以参与组建该区块链,即这部分匿名数据查询方可以持有数据查询客户端和区块链节点,另一部分匿名数据查询方可以仅持有数据查询客户端。在这种情况下,该匿名数据查询群组中的任一匿名数据查询方都可以以匿名状态查询接入该区块链的数据查询服务方所维护的数据。
对于任一数据查询方而言,该数据查询方可以属于上述匿名数据查询群组,即可以是该匿名数据查询群组中的匿名数据查询方,也可以不属于该匿名数据查询群组,本申请对此不作限制。但需要说明的是,通常仅允许属于该匿名数据查询群组的数据查询方以匿名状态查询接入该区块链的数据查询服务方所维护的数据,因此在允许数据查询方查询数据之前,需要先对该数据查询方进行相应的验证。
对于任一数据查询服务方而言,该数据查询服务方具体可以包括数据查询服务器和用于存储数据的数据库。其中,该数据库可以部署在与该数据查询服务器对应的电子设备上,也可以部署在与该数据查询服务器对应的电子设备对接的其他电子设备上,本申请对此不作限制。
请结合图1,参考图2,图2是本申请一示例性实施例示出的一种基于区块链的数据查询方法的流程图。
上述基于区块链的数据查询方法可以应用于任一数据查询方(可称为目标数据查询方);该方法可以包括以下步骤:
步骤201:基于待查询的目标数据的数据标识,构建用于查询所述目标数据的第一交易,并基于所述目标数据查询方的私钥和所述区块链中存储的所述公钥集合,对所述第一交易进行环签名处理。
步骤202:将环签名处理后的所述第一交易发送给区块链节点,由所述区块链节点基于所述区块链中存储的所述公钥集合,对环签名处理后的所述第一交易进行环签名验证,并在环签名验证通过后,将所述第一交易存储在所述区块链中,由与所述数据标识匹配的数据查询服务方获取所述区块链中存储的所述第一交易,在数据库中基于所述数据标识进行匿名的数据查询,基于查询到的与所述数据标识对应的所述目标数据,构建第二交易,并将所述第二交易发送给区块链节点,由所述区块链节点将所述第二交易存储在所述区块链中。
步骤203:获取所述区块链中存储的所述第二交易,以获取所述目标数据。
与如图2所示的基于区块链的数据查询方法相应的,请结合图1,参考图3,图3是本申请一示例性实施例示出的另一种基于区块链的数据查询方法的流程图。
上述基于区块链的数据查询方法可以应用于上述数据查询服务方;该方法可以包括以下步骤:
步骤301:获取所述区块链中存储的用于查询目标数据的第一交易;其中,所述第一交易由目标数据查询方基于所述目标数据的数据标识构建,并在基于所述目标数据查询方的私钥和所述区块链中存储的所述公钥集合进行了环签名处理后发送给区块链节点,由所述区块链节点基于所述区块链中存储的所述公钥集合对环签名处理后的所述第一交易进行环签名验证,并在环签名验证通过后存储在所述区块链中;所述数据查询服务方与所述数据标识匹配。
步骤302:在数据库中基于所述数据标识进行匿名的数据查询。
步骤303:基于查询到的与所述数据标识对应的所述目标数据,构建第二交易,并将所述第二交易发送给区块链节点,由所述区块链节点将所述第二交易存储在所述区块链中,由所述目标数据查询方获取所述区块链中存储的所述第二交易,以获取所述目标数据。
在本实施例中,上述多个数据查询方可以分别持有各自的公私钥对。对于其中的公钥而言,可以将属于上述匿名数据查询群组的数据查询方的公钥组成公钥集合,并将该公钥集合存储在所组建的区块链中;对于其中的私钥而言,可以由各个数据查询方自行维护该数据查询方的私钥。
也即,上述区块链中可以存储与上述匿名数据查询群组对应的公钥集合。在这种情况下,仅允许其公钥属于该公钥集合的数据查询方以匿名状态查询接入该区块链的数据查询服务方所维护的数据,即仅允许属于该匿名数据查询群组的数据查询方以匿名状态查询接入该区块链的数据查询服务方所维护的数据。
在实际应用中,在初始的上述匿名数据查询群组组建上述区块链时,可以将与初始的该匿名数据查询群组对应的公钥集合存储在该区块链的创世区块中。
对于任一数据查询方而言,该数据查询方的公私钥对可以由该数据查询方自行创建,也可以由上述数据查询服务方为该数据查询方创建并分配给该数据查询方,本申请对此不作限制。
上述目标数据查询方首先可以获取待查询的数据(可称为目标数据)的数据标识。
后续,上述目标数据查询方可以基于上述目标数据的数据标识,构建用于查询该目标数据的交易(可称为第一交易),并基于该目标数据查询方的私钥,以及上述区块链中存储的上述公钥集合,对该第一交易进行环签名处理。
再后续,上述目标数据查询方可以将环签名处理后的上述第一交易发送给上述区块链中的区块链节点。
上述区块链节点在接收到环签名处理后的上述第一交易的情况下,可以响应于环签名处理后的该第一交易,基于上述区块链中存储的上述公钥集合,对环签名处理后的该第一交易进行环签名验证。如果对环签名处理后的该第一交易的环签名验证通过,则说明该公钥集合中包含上述目标数据查询方的公钥,即该目标数据查询方属于上述匿名数据查询群组,因此可以允许该目标数据查询方以匿名状态查询接入该区块链的数据查询服务方所维护的数据。
在环签名验证通过后,上述区块链节点可以将上述第一交易存储在上述区块链中。
在示出的一种实施方式中,可以将环签名处理后的上述第一交易发送给与所述数据查询方建立了通信连接的第一区块链节点,由该第一区块链节点在上述区块链中按照预设的传递次数将该第一交易传递至第二区块链节点,由该第二区块链节点基于上述公钥集合,对环签名处理后的该第一交易进行环签名验证,并在环签名验证通过后,将该第一交易存储在该区块链中。
采用上述方式,由于可以随机选择区块链节点进行环签名验证和上述第一交易的上链存储,可以防止通过对该第一交易的溯源追踪到上述目标数据查询方。
在上述情况下,与上述目标数据的数据标识匹配的数据查询服务方可以获取上述区块链中存储的上述第一交易,从而可以在数据库中基于该第一交易中的该目标数据的数据标识,进行匿名的数据查询。其中,与该目标数据的数据标识匹配的数据查询服务方即为维护了该目标数据的数据查询服务方。也即,如果某一数据查询服务方与该数据标识匹配,则说明该数据查询服务方维护了该目标数据,可以为上述目标数据查询方提供该目标数据;如果该数据查询服务方与该数据标识不匹配,则说明该数据查询服务方未维护该目标数据,无法为该目标数据查询方提供该目标数据。
后续,上述数据查询服务方可以基于查询到的与该数据标识对应的该目标数据,构建交易(可称为第二交易),并将该第二交易发送给上述区块链中的区块链节点。
上述区块链节点在接收到第二交易的情况下,可以响应于该第二交易,将该第二交易存储在上述区块链中。
在上述情况下,上述目标数据查询方可以获取上述区块链中存储的上述第二交易,从而可以获取到上述目标数据。
在示出的一种实施方式中,上述多个数据查询服务方也可以分别持有各自的公私钥对。
在上述情况下,上述目标数据查询方在基于上述目标数据的数据标识,构建上述第一交易时,具体可以先基于该目标数据的数据标识,构建该第一交易,再基于与该目标数据的数据标识匹配的数据查询服务方的公钥,对该第一交易进行加密处理。
相应的,与上述目标数据的数据标识匹配的数据查询服务方在获取上述区块链中存储的上述第一交易时,具体可以获取该区块链中存储的加密处理后的该第一交易,并基于该数据查询服务方的私钥,对加密处理后的该第一交易进行解密处理,得到该第一交易。
采用上述方式,可以保证仅有与上述目标数据的数据标识匹配的数据查询服务方能够完成对加密处理后的上述第一交易的解密处理,从而得到该第一交易,避免数据泄露。
在示出的一种实施方式中,上述目标数据查询方在查询数据时,可以生成临时密钥,并基于上述目标数据的数据标识和该临时密钥,构建上述第一交易。也即,该第一交易除了可以包括该目标数据的数据标识之外,还可以包括该临时密钥,从而使得与该目标数据的数据标识匹配的数据查询服务方也可以得知该临时密钥。
在实际应用中,上述目标数据查询方可以随机生成上述临时密钥,也可以按照预设的密钥生成规则生成该临时密钥,本申请对此不作限制。
在上述情况下,上述数据查询服务方在基于查询到的与上述数据标识对应的上述目标数据,构建上述第二交易时,具体可以先基于查询到的与该数据标识对应的该目标数据,构建该第二交易,再基于上述临时密钥对所述第二交易进行加密处理。
相应的,上述目标数据查询方在获取上述区块链中存储的上述第二交易,以获取上述目标数据时,具体可以基于上述临时密钥,对加密处理后的上述第二交易进行解密处理,得到该第二交易,进而可以得到该第二交易中的该目标数据。
采用上述方式,可以保证仅有上述目标数据查询方能够完成对加密处理后的上述第二交易的解密处理,从而得到该第二交易,避免数据泄露。
在示出的一种实施方式中,上述区块链上可以部署用于维护与上述匿名数据查询群组对应的公钥集合的智能合约。
在实际应用中,与上述匿名数据查询群组对应的公钥集合可以存储在上述智能合约的存储空间中。
参考前述内容,在上述目标数据查询方的公钥属于与上述匿名数据查询群组对应的公钥集合的情况下,才会允许该目标数据查询方以匿名状态查询接入该区块链的数据查询服务方所维护的数据,因此如果要允许该目标数据查询方查询数据,则需要预先将该目标数据查询方的公钥添加至该公钥集合,即将该目标数据查询方加入上述匿名数据查询群组。
在上述情况下,上述目标数据查询方可以基于该目标数据查询方的相关信息,生成用于调用上述智能合约的交易(可称为第三交易)。
后续,上述目标数据查询方可以将上述第三交易发送给上述区块链中的区块链节点,由该区块链节点调用该智能合约中的投票逻辑,向上述匿名数据查询群组中的匿名数据查询方发起针对该目标数据查询方的投票,由这些匿名数据查询方基于该目标数据查询方的相关信息,对是否允许该目标数据查询方加入该匿名数据查询群组进行投票。
对于任一匿名数据查询方而言,如果该匿名数据查询方允许上述目标数据查询方加入上述匿名数据查询群组,则投票通过;如果该匿名数据查询方不允许该目标数据查询方加入该匿名数据查询群组,则投票不通过。
如果投票通过的上述匿名数据查询方在上述匿名数据查询群组中所占的比率达到预设的阈值,则可以进一步调用上述智能合约中的公钥集合更新逻辑,将上述目标数据查询方的公钥添加至与该匿名数据查询群组对应的公钥集合,即将该目标数据查询方加入该匿名数据查询群组。例如,假设该匿名数据查询群组包括10个匿名数据查询方,该阈值为50%,则在这10个匿名数据查询方中的5个或5个以上匿名数据查询方投票通过的情况下,可以将该目标数据查询方的公钥添加至该公钥集合。
在实际应用中,在将上述目标数据查询方加入上述匿名数据查询群组的情况下,可以在上述区块链中增加与该目标数据查询方对应的区块链节点。
采用上述方式,由于可以由部署在区块链上的智能合约维护与匿名数据查询群组对应的公钥集合,保证了该公钥集合的安全且防篡改性。
各个需要匿名查询的用户可以组建区块链联盟,集体维护所述匿名群组信息,可以确保上链的环签名公钥列表等数据不可篡改,从而保证数据查询方的匿名。
在上述技术方案中,可以由目标数据查询方获取待查询的目标数据的数据标识,基于该数据标识构建用于查询该目标数据的第一交易,并基于该目标数据查询方的私钥,以及区块链中存储的与匿名数据查询群组对应的公钥集合,对该第一交易进行环签名处理;后续,可以将环签名处理后的该第一交易发送给区块链节点,由该区块链节点基于该公钥集合,对环签名处理后的该第一交易进行环签名验证,并在环签名验证通过后,将该第一交易存储在所述区块链中;再后续,与该数据标识匹配的数据查询服务方可以获取该区块链中存储的该第一交易,在数据库中基于该数据标识进行匿名的数据查询,并将查询到的与该数据标识对应的该目标数据返回给该目标数据查询方。
采用上述的方式,首先,可以由需要以匿名状态查询数据的用户组成匿名数据查询群组,并由该匿名数据查询群组组建区块链,从而可以通过去中心化的方式,由该匿名数据查询群组集体维护其公钥集合等信息,保证了该公钥集合的安全且防篡改性;其次,可以由数据查询方对用于查询目标数据的交易进行环签名,并由区块链节点对环签名处理后的该交易进行环签名验证,以验证该数据查询方是否属于该匿名数据查询群组,即验证该数据查询方是否具有该目标数据的数据查询权限,但通过这种验证方式无法得知数据查询方的身份信息,也就无法得知与数据查询方相关的数据,从而可以保障数据查询方的数据隐私。
请结合图1,参考图4,图4是本申请一示例性实施例示出的一种基于区块链的数据查询方法的流程图。
上述基于区块链的数据查询方法可以包括以下步骤:
步骤401:所述目标数据查询方基于所述目标数据查询方的相关信息,构建用于调用所述智能合约的第三交易。
步骤402:所述目标数据查询方将所述第三交易发送给上述区块链中的区块链节点。
步骤403:所述区块链节点调用部署在上述区块链上的智能合约中的投票逻辑,向匿名数据查询群组中的匿名数据查询方发起针对所述目标数据查询方的投票,由所述匿名数据查询方基于所述目标数据查询方的相关信息,对是否允许所述目标数据查询方加入所述匿名数据查询群组进行投票。
步骤404:所述区块链节点在投票通过的所述匿名数据查询方在所述匿名数据查询群组中所占的比例超过预设的阈值时,进一步调用所述智能合约中的公钥集合更新逻辑,将所述目标数据查询方的公钥添加至所述智能合约维护的与所述匿名数据查询群组对应的公钥集合。
步骤405:所述目标数据查询方获取待查询的目标数据的数据标识。
步骤406:所述目标数据查询方生成临时密钥。
步骤407:所述目标数据查询方基于所述数据标识和所述临时密钥,构建用于查询所述目标数据的第一交易。
步骤408:所述目标数据查询方基于与所述数据标识匹配的数据查询服务方的公钥,对所述第一交易进行加密处理。
步骤409:所述目标数据查询方基于所述目标数据查询方的私钥和所述区块链中存储的所述公钥集合,对加密处理后的所述第一交易进行环签名处理。
步骤410:所述目标数据查询方将环签名处理后的所述第一交易发送给与所述目标数据查询方建立了通信连接的第一区块链节点。
步骤411:所述第一区块链节点在所述区块链中按照预设的传递次数将环签名处理后的所述第一交易传递至第二区块链节点。
步骤412:所述第二区块链节点基于所述区块链中存储的所述公钥集合,对环签名处理后的所述第一交易进行环签名验证。
步骤413:所述第二区块链节点在环签名验证通过后,将加密处理后的所述第一交易存储在所述区块链中。
步骤414:所述数据查询服务方获取所述区块链中存储的加密处理后的所述第一交易。
步骤415:所述数据查询服务方基于所述数据查询服务方的私钥,对所述加密处理后的所述第一交易进行解密处理,得到所述第一交易。
步骤416:所述数据查询服务方基于所述数据标识进行匿名的数据查询。
步骤417:所述数据查询服务方基于查询到的与所述数据标识对应的所述目标数据,构建第二交易。
步骤418:所述数据查询服务方基于所述临时密钥对所述第二交易进行加密处理。
步骤419:所述数据查询服务方将加密处理后的所述第二交易发送给区块链节点。
步骤420:所述区块链节点将加密处理后的所述第二交易存储在所述区块链中。
步骤421:所述目标数据查询方获取所述区块链中存储的加密处理后的所述第二交易。
步骤422:所述目标数据查询方基于所述临时密钥,对加密处理后的所述第二交易进行解密处理,得到所述第二交易,从而得到所述目标数据。
如图4所示的基于区块链的数据查询方法的实施例,可以参考如图2和图3所示的基于区块链的数据查询方法的实施例,本申请在此不再赘述。
与前述基于区块链的数据查询方法的实施例相对应,本申请还提供了基于区块链的数据查询装置的实施例。
本申请基于区块链的数据查询装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本申请基于区块链的数据查询装置所在电子设备的一种硬件结构图,除了图5所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该基于区块链的数据查询的实际功能,还可以包括其他硬件,对此不再赘述。
请参考图6,图6是本申请一示例性实施例示出的一种基于区块链的数据查询装置的框图。
上述基于区块链的数据查询装置可以应用于图5所示的电子设备;所述电子设备作为目标数据查询方;所述区块链中存储了与匿名数据查询群组对应的公钥集合;所述装置包括:
构建模块601,用于基于待查询的目标数据的数据标识,构建用于查询所述目标数据的第一交易,并基于所述目标数据查询方的私钥和所述区块链中存储的所述公钥集合,对所述第一交易进行环签名处理;
查询模块602,用于将环签名处理后的所述第一交易发送给区块链节点,由所述区块链节点基于所述区块链中存储的所述公钥集合,对环签名处理后的所述第一交易进行环签名验证,并在环签名验证通过后,将所述第一交易存储在所述区块链中,由与所述数据标识匹配的数据查询服务方获取所述区块链中存储的所述第一交易,在数据库中基于所述数据标识进行匿名的数据查询,基于查询到的与所述数据标识对应的所述目标数据,构建第二交易,并将所述第二交易发送给区块链节点,由所述区块链节点将所述第二交易存储在所述区块链中;
获取模块603,用于获取所述区块链中存储的所述第二交易,以获取所述目标数据。
可选的,所述查询模块602具体用于:
将环签名处理后的所述第一交易发送给与所述目标数据查询方建立了通信连接的第一区块链节点,由所述第一区块链节点在所述区块链中按照预设的传递次数将环签名处理后的所述第一交易传递至第二区块链节点,由所述第二区块链节点基于所述区块链中存储的所述公钥集合,对环签名处理后的所述第一交易进行环签名验证,并在环签名验证通过后,将所述第一交易存储在所述区块链中。
可选的,所述构建模块601具体用于:
基于待查询的目标数据的数据标识,构建用于查询所述目标数据的第一交易,并基于所述数据查询服务方的公钥,对所述第一交易进行加密处理。
可选的,所述第一交易还包括所述目标数据查询方生成的临时密钥;所述第二交易基于所述临时密钥进行了加密处理;
所述获取模块603具体用于:
获取所述区块链中存储的加密处理后的所述第二交易;
基于所述临时密钥,对所述加密处理后的所述第二交易进行解密处理,得到所述第二交易。
可选的,所述区块链由所述匿名数据查询群组组建;所述区块链上部署了用于维护所述公钥集合的智能合约;
所述装置还包括:
公钥集合更新模块,用于基于所述目标数据查询方的相关信息,构建用于调用所述智能合约的第三交易;将所述第三交易发送给区块链节点,由所述区块链节点调用所述智能合约中的投票逻辑,向所述匿名数据查询群组中的匿名数据查询方发起针对所述目标数据查询方的投票,由所述匿名数据查询方基于所述目标数据查询方的相关信息,对是否允许所述目标数据查询方加入所述匿名数据查询群组进行投票;如果投票通过的所述匿名数据查询方在所述匿名数据查询群组中所占的比例达到预设的阈值,则进一步调用所述智能合约中的公钥集合更新逻辑,将所述目标数据查询方的公钥添加至所述公钥集合。
请参考图7,图7是本申请一示例性实施例示出的另一种基于区块链的数据查询装置的框图。
上述基于区块链的数据查询装置可以应用于图5所示的电子设备;所述电子设备作为数据查询服务方;所述区块链中存储了与匿名数据查询群组对应的公钥集合;所述装置包括:
获取模块701,用于获取所述区块链中存储的用于查询目标数据的第一交易;其中,所述第一交易由目标数据查询方基于所述目标数据的数据标识构建,并在基于所述目标数据查询方的私钥和所述区块链中存储的所述公钥集合进行了环签名处理后发送给区块链节点,由所述区块链节点基于所述区块链中存储的所述公钥集合对环签名处理后的所述第一交易进行环签名验证,并在环签名验证通过后存储在所述区块链中;所述数据查询服务方与所述数据标识匹配;
查询模块702,用于在数据库中基于所述数据标识进行匿名的数据查询;
构建模块703,用于基于查询到的与所述数据标识对应的所述目标数据,构建第二交易,并将所述第二交易发送给区块链节点,由所述区块链节点将所述第二交易存储在所述区块链中,由所述目标数据查询方获取所述区块链中存储的所述第二交易,以获取所述目标数据。
可选的,所述第一交易基于所述数据查询服务方的公钥进行了加密处理;
所述获取模块701具体用于:
获取所述区块链中存储的用于查询目标数据的加密处理后的所述第一交易;
基于所述数据查询服务方的私钥,对所述加密处理后的所述第一交易进行解密处理,得到所述第一交易。
可选的,所述第一交易还包括所述目标数据查询方生成的临时密钥;
所述构建模块703具体用于:
基于查询到的与所述数据标识对应的所述目标数据,构建第二交易,并基于所述临时密钥,对所述第二交易进行加密处理。
对于装置实施例而言,因为其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请的技术方案的目的。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本申请一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本申请一个或多个实施例的较佳实施例而已,并不用以限制本申请一个或多个实施例,凡在本申请一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请一个或多个实施例保护的范围之内。
Claims (12)
1.一种基于区块链的数据查询方法,所述方法应用于目标数据查询方;所述区块链中存储了与匿名数据查询群组对应的公钥集合;所述方法包括:
基于待查询的目标数据的数据标识,构建用于查询所述目标数据的第一交易,并基于所述目标数据查询方的私钥和所述区块链中存储的所述公钥集合,对所述第一交易进行环签名处理;
将环签名处理后的所述第一交易发送给区块链节点,由所述区块链节点基于所述区块链中存储的所述公钥集合,对环签名处理后的所述第一交易进行环签名验证,并在环签名验证通过后,将所述第一交易存储在所述区块链中,由与所述数据标识匹配的数据查询服务方获取所述区块链中存储的所述第一交易,在数据库中基于所述数据标识进行匿名的数据查询,基于查询到的与所述数据标识对应的所述目标数据,构建第二交易,并将所述第二交易发送给区块链节点,由所述区块链节点将所述第二交易存储在所述区块链中;
获取所述区块链中存储的所述第二交易,以获取所述目标数据。
2.根据权利要求1所述的方法,所述将环签名处理后的所述第一交易发送给区块链节点,由所述区块链节点基于所述区块链中存储的所述公钥集合,对环签名处理后的所述第一交易进行环签名验证,并在环签名验证通过后,将所述第一交易存储在所述区块链中,包括:
将环签名处理后的所述第一交易发送给与所述目标数据查询方建立了通信连接的第一区块链节点,由所述第一区块链节点在所述区块链中按照预设的传递次数将环签名处理后的所述第一交易传递至第二区块链节点,由所述第二区块链节点基于所述区块链中存储的所述公钥集合,对环签名处理后的所述第一交易进行环签名验证,并在环签名验证通过后,将所述第一交易存储在所述区块链中。
3.根据权利要求1所述的方法,所述基于待查询的目标数据的数据标识,构建用于查询所述目标数据的第一交易,包括:
基于待查询的目标数据的数据标识,构建用于查询所述目标数据的第一交易,并基于所述数据查询服务方的公钥,对所述第一交易进行加密处理。
4.根据权利要求1所述的方法,所述第一交易还包括所述目标数据查询方生成的临时密钥;所述第二交易基于所述临时密钥进行了加密处理;
所述获取所述区块链中存储的所述第二交易,包括:
获取所述区块链中存储的加密处理后的所述第二交易;
基于所述临时密钥,对所述加密处理后的所述第二交易进行解密处理,得到所述第二交易。
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 |
---|---|---|---|
CN202210901105.9A CN115062063B (zh) | 2022-07-28 | 2022-07-28 | 基于区块链的数据查询方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210901105.9A CN115062063B (zh) | 2022-07-28 | 2022-07-28 | 基于区块链的数据查询方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115062063A CN115062063A (zh) | 2022-09-16 |
CN115062063B true CN115062063B (zh) | 2022-11-25 |
Family
ID=83205492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210901105.9A Active CN115062063B (zh) | 2022-07-28 | 2022-07-28 | 基于区块链的数据查询方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115062063B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110557375A (zh) * | 2019-08-01 | 2019-12-10 | 上海电力大学 | 基于区块链智能合约的k匿名位置隐私保护的激励方法 |
CN113626852A (zh) * | 2021-07-02 | 2021-11-09 | 西安电子科技大学 | 一种安全高效的非许可区块链条件匿名方法、系统及应用 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106779704A (zh) * | 2016-12-06 | 2017-05-31 | 杭州趣链科技有限公司 | 一种基于环签名的区块链匿名交易方法 |
CN107994991B (zh) * | 2017-10-31 | 2021-06-11 | 深圳市轱辘车联数据技术有限公司 | 一种数据处理方法、数据处理服务器及存储介质 |
US10686611B2 (en) * | 2017-11-24 | 2020-06-16 | International Business Machines Corporation | Data anonymizing blockchain system |
CN110011810B (zh) * | 2019-03-31 | 2021-04-20 | 西安电子科技大学 | 基于可链接环签名和多重签名的区块链匿名签名方法 |
CN110580414B (zh) * | 2019-11-08 | 2020-04-07 | 支付宝(杭州)信息技术有限公司 | 基于区块链账户的隐私数据查询方法及装置 |
CN112000744B (zh) * | 2020-09-01 | 2024-02-06 | 中国银行股份有限公司 | 一种签名方法及相关设备 |
CN112367305B (zh) * | 2020-10-22 | 2022-05-20 | 香港中文大学(深圳) | 一种基于隐私区块链的车联网保护方法和移动终端 |
-
2022
- 2022-07-28 CN CN202210901105.9A patent/CN115062063B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110557375A (zh) * | 2019-08-01 | 2019-12-10 | 上海电力大学 | 基于区块链智能合约的k匿名位置隐私保护的激励方法 |
CN113626852A (zh) * | 2021-07-02 | 2021-11-09 | 西安电子科技大学 | 一种安全高效的非许可区块链条件匿名方法、系统及应用 |
Non-Patent Citations (1)
Title |
---|
基于环签名的医疗区块链隐私数据共享模型;王瑞锦等;《电子科技大学学报》;20191130(第06期);第886-892页 * |
Also Published As
Publication number | Publication date |
---|---|
CN115062063A (zh) | 2022-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110060162B (zh) | 基于区块链的数据授权、查询方法和装置 | |
CN111475849B (zh) | 基于区块链账户的隐私数据查询方法及装置 | |
CN108900533B (zh) | 一种共享数据隐私保护方法、系统、终端及介质 | |
CN110033258B (zh) | 基于区块链的业务数据加密方法及装置 | |
CN111492634A (zh) | 使用零知识协议的安全并且机密的保管交易系统、方法和设备 | |
JP6907679B2 (ja) | 暗号通貨ベースのイベント参加検証 | |
CN111523110B (zh) | 基于链代码的权限查询配置方法及装置 | |
CN111475827A (zh) | 基于链下授权的隐私数据查询方法及装置 | |
CN111475850B (zh) | 基于智能合约的隐私数据查询方法及装置 | |
US11128457B2 (en) | Cryptographic key generation using external entropy generation | |
CN112669147B (zh) | 基于区块链的服务请求方法及装置 | |
CN111327426B (zh) | 数据共享方法及相关装置、设备及系统 | |
WO2022206453A1 (zh) | 提供跨链隐私数据的方法和装置 | |
KR20220143625A (ko) | Did 기반의 사용자 데이터 저장 및 공유 시스템 | |
WO2022237558A1 (zh) | 一种基于区块链的用户要素认证的方法及装置 | |
CN115296794A (zh) | 基于区块链的密钥管理方法及装置 | |
CN111783109B (zh) | 数据查询方法、系统及存储介质 | |
CN111784337B (zh) | 权限验证方法及系统 | |
CN114500119A (zh) | 区块链服务的调用方法和装置 | |
CN112887087B (zh) | 数据管理方法、装置、电子设备及可读存储介质 | |
CN117371011A (zh) | 数据隐匿查询方法、电子设备和可读存储介质 | |
CN112966309A (zh) | 一种基于区块链的业务实现方法和装置 | |
CN115131029A (zh) | 基于区块链的数字文件签署方法及装置 | |
CN113342802A (zh) | 区块链数据存储的方法和装置 | |
CN115062063B (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 |