CN117909386A - 基于联盟链的可验证近似最近邻查询方法及系统 - Google Patents
基于联盟链的可验证近似最近邻查询方法及系统 Download PDFInfo
- Publication number
- CN117909386A CN117909386A CN202410079752.5A CN202410079752A CN117909386A CN 117909386 A CN117909386 A CN 117909386A CN 202410079752 A CN202410079752 A CN 202410079752A CN 117909386 A CN117909386 A CN 117909386A
- Authority
- CN
- China
- Prior art keywords
- query
- hnsw
- providing end
- original data
- nearest neighbor
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000012946 outsourcing Methods 0.000 claims abstract description 19
- 238000010276 construction Methods 0.000 claims description 36
- 238000012795 verification Methods 0.000 claims description 13
- 238000004422 calculation algorithm Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 claims description 3
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000003780 insertion Methods 0.000 claims description 2
- 230000037431 insertion Effects 0.000 claims description 2
- 238000010845 search algorithm Methods 0.000 claims description 2
- 230000001419 dependent effect Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 230000008569 process Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 2
- 238000002910 structure generation Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000013068 supply chain management Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- 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/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2462—Approximate or statistical queries
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- 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/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于联盟链的可验证近似最近邻查询方法及系统,该可验证近似最近邻查询系统包括:数据提供端、查询服务提供端、用户端、区块链排序集群以及智能合约;数据提供端为查询服务提供端提供外包数据;查询服务提供端为用户提供外包查询结果与对应的密码学证明;用户向查询服务提供端发起可验证近似最近邻查询,收到查询结果后,通过VO验证查询结果正确性;智能合约用于维护一个不可篡改的可信数据结构Merkle HNSW节点树;区块链排序集群用于将合约执行结果ADS的Merkle根记录在区块链上。本方法解决了针对近似最近邻查询语义的外包查询场景中,用户缺乏验证查询结果正确性方法的问题。
Description
技术领域
本发明涉及区块链应用技术领域,尤其涉及一种基于联盟链的可验证近似最近邻查询方法及系统。
背景技术
区块链技术是一种创新性的交易记账技术。区块链网络是一个存在多个节点的去中心化网络。节点之间通过共识协议,达成交易顺序、交易内容和交易执行结果的一致,因此区块链技术可以保证交易数据的唯一性。此外,使用密码学哈希技术来保证交易所在的区块数据的完整性。因此区块链上的交易是唯一且不可篡改的。
当前存在两种类型的区块链:联盟链和公链。比起公链,联盟链的优势在于:(1)信息保护,(2)交易速度快,(3)交易手续费低。
信息保护:联盟链采用基于证书的权限管理技术,即联盟链网络中的每个节点需要得到授权后的有效身份证书,才能加入联盟链网络。而公链中的节点可以任意地加入或离开区块链网络。因此联盟链比公链更适合应用于需要信息保护的企业级应用场景,例如供应链管理、医疗数据存证、电子收据等。
交易速度快:由于任何节点都可以参与公链,因此公链中每一笔交易都需要通过共识协议得到大部分节点的验证,以防止双重支付和欺诈行为。该共识过程耗费大量的计算资源和时间。虽然保证了共识的安全性,但也限制了交易速度。在联盟链网络中,参与节点是经过认证的实体,因此可以使用更为高效的共识协议,如拜占庭容错(PBFT)协议,从而缩短了达成共识的时间,加快了交易速度。
交易手续费低:为了避免智能合约陷入死循环,公链采用基于Gas的交易费用机制。在公链智能合约中执行复杂的逻辑将消耗大量的Gas交易手续费,进而增加交易成本。在联盟链中,如果智能合约陷入死循环,联盟成员可以迅速协商一致并立刻要求节点停止合约执行。联盟链的交易手续费通常很低,因为联盟链的运营和安全保障由联盟内的成员维护,成本相对固定且可以共同承担。因此,联盟链能够支持复杂的智能合约逻辑执行,而不必担心高昂的费用。
随着数据即服务技术的发展,越来越多的云服务商开始为用户提供外包查询服务,使得用户可以对各个领域的大规模数据集进行访问。用户无需下载并存储完整的数据集,而只需要将查询委托给云服务商就能获得查询结果。近似最近邻查询(K-ApproximateNearest Neighbors Search,K-ANNS)是一种广泛应用的查询语义,可以在相似音乐检索,个性化服务与股票推荐等场景中使用。该语义在给定向量数据之间的距离函数时,从数据集中找到与给定查询数据距离最小的近似K个数据。服务商在本地基于数据集构建分层可导航小世界图索引(Hierarchical Navigable Small World Graphs,HNSW),从而高效地支持用户的近似最近邻查询请求。
在传统的近似最近邻外包查询系统中,用户只能选择信任云服务商,且缺乏验证服务商提供的K-ANNS查询结果正确性的手段。
发明内容
针对近似最近邻查询语义的外包查询场景中,用户缺乏一种验证外包查询结果正确性方法的问题,本发明提出一种基于联盟链的可验证近似最近邻查询方法及系统。本发明通过在联盟链智能合约中设计基于Merkle HNSW节点树的可信数据结构,保证用户能够验证服务商提供的外包查询结果的真实性,从而防止服务商篡改原始数据集或向用户提供错误查询结果的恶意行为。
本发明首先提供了一种基于联盟链的可验证近似最近邻查询方法,包括以下步骤:
1)确认联盟链中的原始数据提供端和查询服务提供端,基于构建参数在每个联盟链中的查询服务提供端中部署能够构建ADS的智能合约,从而构建基于使用联盟链智能合约的可验证近似最近邻查询平台;所述联盟链的构建参数包括HNSW图索引的构建参数以及Merkle HNSW节点树的构建参数;
2)原始数据提供端向查询服务提供端发送原始数据集;查询服务提供端在本地基于原始数据集构建HNSW图索引;
3)原始数据提供端调用智能合约生成基于Merkle HNSW节点树的外包查询结果验证流程;
4)用户端向外包查询服务提供端发起近似最近邻查询请求,收到并验证查询结果。
作为本发明的优选方案,所述步骤1)具体为:
1.1)确认联盟链中的原始数据提供端和查询服务提供端,并为原始数据提供端颁发调用智能合约的证书,为查询服务提供端颁发部署智能合约的证书;
1.2)联盟链中的成员协调HNSW图索引的构建参数以及Merkle HNSW节点树的构建参数;
1.3)将查询服务提供端作为联盟链网络节点,并在联盟链网络节点中部署智能合约;原始数据提供端调用智能合约,将HNSW图索引的构建参数和Merkle HNSW节点树的构建参数记录在联盟链上,完成可验证近似最近邻查询平台的构建。
作为本发明的优选方案,所述步骤4)具体为:
4.1)用户端向查询服务提供端发起近似最近邻搜索查询请求;
4.2)查询服务提供端根据来自用户端的近似最近邻搜索查询请求查询HNSW索引获得查询结果并生成查询服务提供端密码学证明VO查询服务提供端,查询服务提供端将查询结果和VO查询服务提供端发送给用户端;
4.3)用户端查询联盟链上记录的联盟链密码学证明VOblockchain,利用VO查询服务提供端和VOblockchain验证查询结果的正确性,当用户端判断查询结果正确时结束查询;当用户端判断查询结果不正确时,用户端向联盟链的其他查询服务提供端发起近似最近邻搜索查询请求。
本发明还提供了一种用于实现上述可验证近似最近邻查询方法的系统,包括原始数据提供端、查询服务提供端、联盟链构建参数协调模块、智能合约部署模块;
所述原始数据提供端用于将原始数据集发送给查询服务提供端以及调用智能合约生成基于Merkle HNSW节点树的外包查询结果验证流程;
所述查询服务提供端用于部署智能合约并在本地基于原始数据集构建HNSW图索引;
所述联盟链构建参数协调模块用于协调联盟链中HNSW图索引的构建参数以及Merkle HNSW节点树的构建参数;
所述智能合约部署模块用于在每个查询服务提供端中部署智能合约。
与现有技术相比,本发明的有益效果为:
1)给出了一种外包查询场景下,使用联盟链智能合约的可验证近似最近邻查询系统的组织架构。多个查询服务提供端作为联盟链网络中的节点,部署了构建ADS的智能合约,从而维护一个不可篡改的可信数据结构Merkle HNSW节点树。利用该可信数据结构,用户端可以验证外包查询结果的正确性。
2)提出了一种基于联盟链的数据集外包与合约部署流程。通过协商构建索引和ADS的关键参数,并将其记录在区块链上,确保诚实的查询服务提供端在收到统一外包数据集的情况下,构建一致的查询索引;部署算法一致的智能合约时,构建相同的ADS。
3)在使用智能合约的过程中实现了基于“交易调用-合约执行-结果收集-结果记录”四阶段的可信数据结构生成方案。在数据提供端能够收集到大部分一致执行结果的情况下,信任该交易执行结果,并将结果对应的Merkle根存储到区块链上,保证ADS不可篡改。
4)提出了一种基于Merkle HNSW节点树的外包查询结果验证流程。用户端发起查询后,查询服务提供端生成查询结果R,基于ADS生成对应密码学证明VO查询服务提供端,并返回给用户端。用户端从区块链上获取公开的Merkle根VOblockchain。利用VO查询服务提供端和VOblockchain,用户端在本地执行验证算法,从而确认近似最近邻查询结果的正确性。
附图说明
图1为可验证近似最近邻查询系统的组织架构示意图;
图2为初始化联盟链中参与实体并确定关键参数的流程图;
图3为数据提供端发送外包数据集和查询服务提供端构建查询索引的流程图;
图4为调用智能合约与存储链上Merkle根的流程图;
图5为包含8个节点的Merkle HNSW节点树示意图;
图6为用户端完成近似最近邻查询请求与验证的流程图。
具体实施方式
下面结合具体实施方式对本发明做进一步阐述和说明。所述实施例仅是本公开内容的示范且不圈定限制范围。本发明中各个实施方式的技术特征在没有相互冲突的前提下,均可进行相应组合。
联盟链提供了一种安全可信的智能合约执行环境,且Merkle哈希树是一种典型的可信数据结构(Authenticated Data Structure,ADS),支持可验证范围查询语义。在外包查询的场景下,利用联盟链智能合约实现可信数据结构,进而支持用户端可验证的近似最近邻查询方法,是针对该问题的有效解决方案,提高了外包查询服务的安全性。
如图1所示,本发明一种使用联盟链智能合约的可验证近似最近邻查询系统的参与实体包括原始数据提供端、查询服务提供端、用户端、构建ADS的智能合约和区块链排序集群。
原始数据提供端是用户端需要查询的数据集来自数据提供端。但是数据提供缺乏足够的计算资源,因此无法直接向用户端提供查询服务。数据提供端将数据集外包给查询服务提供端,由他们为用户端提供查询服务。
外包查询服务提供端为用户端提供查询结果与对应的VO。多个查询服务提供端收到来自数据提供端的数据集后,在本地基于数据集构建分层可导航小世界图索引。当查询服务提供端收到用户端的近似最近邻查询后,查询服务提供端从图索引中高效地检索查询结果,并将查询结果和密码学证明返回给用户端。查询服务提供端同时也是联盟链网络中的一个节点,每个节点上都部署了智能合约。
用户端向外包查询服务提供端发起近似最近邻查询请求,收到并验证查询结果。
通过执行智能合约,可以基于查询服务提供端本地的图索引,构建Merkle HNSW节点树,产生的交易执行结果是Merkle根。当数据提供端收集到50%以上的一致合约执行结果,就将其发送给区块排序集群。
区块排序集群负责收集区块链交易,检查交易的有效性,丢弃无效交易,将有效交易打包成区块,链接到区块链账本中。
本发明提供的一种基于联盟链的可验证近似最近邻查询方法,包括以下步骤:
1)确认联盟链中的原始数据提供端和查询服务提供端,协调联盟链的构建参数并在每个联盟链中的查询服务提供端中部署能够构建ADS的智能合约,从而构建基于使用联盟链智能合约的可验证近似最近邻查询平台;所述联盟链的构建参数包括HNSW图索引的构建参数以及Merkle HNSW节点树的构建参数;
2)原始数据提供端向查询服务提供端发送原始数据集;查询服务提供端在本地基于原始数据集构建HNSW图索引;
3)原始数据提供端调用智能合约生成基于Merkle HNSW节点树的外包查询结果验证流程;
4)用户端向外包查询服务提供端发起近似最近邻查询请求,收到并验证查询结果。
如图2所示,步骤1)具体包括:
1-1)确定联盟链中的成员身份。为原始数据提供端颁发调用智能合约的证书。为查询服务提供端颁发部署智能合约的证书。
1-2)联盟链中的成员对于查询索引HNSW的关键构建参数协调一致,包括:索引中节点之间的最大连接数量M,在索引构建阶段中使用的动态候选列表长度efConstruction,生成节点所在图索引层级的种子Seed,在索引查询阶段中使用的动态候选列表长度efSearch。
1-3)联盟链中的成员对于可信数据结构Merkle HNSW节点树的构建参数协商一致,包括:分片子树种最多包含的节点数量L,树的扇出F(中间节点的子节点数量)。
1-4)在查询服务提供端节点上部署智能合约,智能合约中包含基于HNSW图索来构建可信数据结构Merkle HNSW节点树的算法逻辑。原始数据提供端调用智能合约,将HNSW和可信数据结构的构建参数记录在区块链上。
如图3所示,步骤2)具体包括:
2-1)原始数据提供端将数据集D发送给多个查询服务提供端,数据集D中包含N个W维度的向量。数据提供端对数据集进行签名,同时对数据集中的数据特征也进行签名。证明数据是由该提供端发送的。
2-2)每个查询服务提供端接收到数据集后,首先检查数据集的完整性,即验证数据集被数据提供端签名,并且数据集中的数据特征符合收到的数据集。如果数据集在传输过程中丢失,导致签名验证失败,查询服务提供端重新向数据提供端请求数据。
2-3)每个查询服务提供端使用HNSW索引插入算法在本地基于数据集构建HNSW图索引。构建完成的图索引中包含N个节点,C个层级。每个节点包含节点编号、向量数据、节点的邻居关系。在确定索引构建参数且使用相同数据集的情况下,多个查询服务提供端能够构建一致的查询索引。当数据集D中的N个向量数据都被插入HNSW查询索引后,查询索引中将包含N个节点。节点Nid的定义如公式(1),包括:节点编号id,节点的向量数据值vid,节点的邻居关系eConn。
Nid={id,vid,eConn} (1)
2-4)查询服务提供端向数据提供端返回索引构建完毕的通知。
完成智能合约的调用与区块链上Merkle根的记录,实现了基于“交易调用-合约执行-结果收集-结果记录”四阶段的可信数据结构生成方案,如图4所示,步骤3)具体包括:
3-1)交易调用:数据提供端调用多个查询服务提供端处部署的ADS构建合约,发起ADS构建交易。
3-2)合约执行:每个查询服务提供端处部署的智能合约收到调用交易后,读取HNSW查询索引的节点信息,构建Merkle HNSW节点树。定义如公式(1)。如图5所示,若查询索引中存在8个节点,将节点进行哈希后按照顺序作为Merkle树的叶子节点,树根是智能合约将ADS构建交易的执行结果,即Merkle根返回给数据提供端。
3-3)结果收集:数据提供端收集到来自多个查询服务提供端的智能合约执行结果,如果其中有50%以上查询服务提供端返回了一致的结果,那么数据提供端将该结果发送给区块链的排序集群;否则继续收集智能合约的执行结果。
3-4)结果记录:排序集群验证交易的有效性后,把ADS构建交易与对应的执行结果Merkle根存储到区块链上。随后,用户端就可以通过公开的区块链浏览器,查询到Merkle根的值。
4)完成用户端近似最近邻查询的请求与验证,如图6所示,包括:
4-1)用户端向查询服务提供端发起近似最近邻查询请求Q。
4-2)查询服务提供端收到Q,查询本地的HNSW索引获得查询结果。查询服务提供端需要搜索部分的索引及其对应的数据为Iq。如果查询服务提供端将Iq发送给用户端,用户端就可以基于Iq执行本地搜索算法,从而获得与查询服务提供端相同的查询结果,最终验证查询结果的正确性。因此,需要使用ADS来保证Iq的完整性。Merkle哈希树是一种典型的ADS。通过改进Merkle哈希树,实现Merkle HNSW节点树就可以保证Iq的完整性
在本发明的一个具体实施例中,Iq中包含2个节点Iq={N5,N6},那么基于如图5所示的可信数据结构Merkle HNSW节点树生成的 表示节点N5的哈希值,中间节点的哈希值由两个子节点哈希值计算得到。查询服务提供端将VO查询服务提供端和查询结果R都发送给用户端。R包含查询结果和Iq。
4-3)为了验证Iq的完整性,用户端可以使用和Iq={N5,N6}重新计算得到Merkle根。由于ADS的Merkle根(VOblockchain)已经存储在区块链上了,用户端可以通过区块链浏览器获得它。因此用户端对重新计算得到的/>和区块链上公开可访问的Merkle根进行比较,如果它们一致,用户端可以确认查询服务提供端发送的Iq没有被篡改。
同时,用户端基于Iq计算得到查询结果,与查询服务提供端发送的查询结果进行比较,如果一致,则可以确认近似最近邻外包查询的正确性。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (8)
1.一种基于联盟链的可验证近似最近邻查询方法,其特征在于,包括以下步骤:
1)确认联盟链中的原始数据提供端和查询服务提供端,基于联盟链构建参数在联盟链的每个查询服务提供端中部署能够构建可信数据结构ADS的智能合约,从而构建基于使用联盟链智能合约的可验证近似最近邻查询平台;所述联盟链的构建参数包括HNSW图索引的构建参数以及Merkle HNSW节点树的构建参数;
2)原始数据提供端向查询服务提供端发送原始数据集;查询服务提供端在本地基于原始数据集构建HNSW图索引;
3)原始数据提供端调用联盟链中的智能合约生成用于支持查询结果验证流程的Merkle HNSW节点树;
4)用户端登录可验证近似最近邻查询平台并向查询服务提供端发起近似最近邻查询请求,查询服务提供端接收近似最近邻查询请求后根据HNSW图索引获得查询结果并向用户端发送查询结果;用户端接收查询结果并通过联盟链中的Merkle HNSW节点树对查询结果进行验证。
2.根据权利要求1所述的可验证近似最近邻查询方法,其特征在于,所述步骤1)具体包括以下步骤:
1.1)确认联盟链中的原始数据提供端和查询服务提供端,并为原始数据提供端颁发调用智能合约的证书,为查询服务提供端颁发部署智能合约的证书;
1.2)联盟链中的成员协调HNSW图索引的构建参数以及Merkle HNSW节点树的构建参数;
1.3)将查询服务提供端作为联盟链网络节点,并在联盟链网络节点中部署智能合约;原始数据提供端调用智能合约,将HNSW图索引的构建参数和Merkle HNSW节点树的构建参数记录在联盟链上,完成可验证近似最近邻查询平台的构建。
3.根据权利要求1所述的可验证近似最近邻查询方法,其特征在于,所述步骤2)具体包括以下步骤:
2.1)原始数据提供端将原始数据集发送给每个查询服务提供端,原始数据提供端对原始数据集进行签名,同时对数据集中的数据特征也进行签名;
2.2)每个查询服务提供端接收到原始数据集后,首先进行签名验证从而检查原始数据集的完整性,即验证原始数据集被原始数据提供端签名,并且检查数据集中的数据特征是否符合数据特征签名;如果原始数据集在传输过程中丢失,导致签名验证失败,查询服务提供端重新向原始数据提供端请求原始数据集;
2.3)每个查询服务提供端使用HNSW索引插入算法在本地基于验证后的数据集构建HNSW图索引,查询服务提供端在HNSW图索引构建完成后向原始数据提供端返回HNSW图索引构建完毕的通知。
4.根据权利要求3所述的可验证近似最近邻查询方法,其特征在于,所述步骤2.3)中,在确定HNSW图索引的构建参数且使用相同原始数据集的情况下,所有查询服务提供端能够构建一致的HNSW图索引。
5.根据权利要求1所述的可验证近似最近邻查询方法,其特征在于,所述步骤3)中,外包查询结果验证流程包括交易调用、合约执行、结果收集和结果记录;
所述交易调用具体为原始数据提供端调用多个查询服务提供端处部署的智能合约,发起ADS构建交易;
所述合约执行具体为每个查询服务提供端处部署的智能合约收到调用ADS构建交易后,读取HNSW查询索引的节点信息,构建Merkle HNSW节点树;
所述结果收集具体为原始数据提供端收集到来自多个查询服务提供端的智能合约执行结果,若其中有50%以上查询服务提供端返回了一致的结果,那么原始数据提供端将该结果发送给联盟链中的区块排序集群,对交易的有效性进行验证;否则继续收集智能合约的执行结果;
所述结果记录具体为区块链排序集群验证交易的有效性后,把ADS构建交易与对应执行结果的联盟链密码学证明VOblockchain存储到联盟链上;用户端通过公开的联盟链浏览器查询联盟链密码学证明VOblockchain。
6.根据权利要求1所述的可验证近似最近邻查询方法,其特征在于,所述步骤4)具体为:
4.1)用户端登录可验证近似最近邻查询平台并向查询服务提供端发起近似最近邻搜索查询请求;
4.2)查询服务提供端根据近似最近邻搜索查询请求查询HNSW索引获得查询结果并生成查询服务提供端密码学证明VO查询服务提供端,查询服务提供端将查询结果和VO查询服务提供端发送给用户端;
4.3)用户端查询联盟链上记录的联盟链密码学证明VOblockchain,利用VO查询服务提供端和VOblockchain验证查询结果的正确性,当用户端判断查询结果正确时结束查询;当用户端判断查询结果不正确时,用户端向联盟链的其他查询服务提供端发起近似最近邻搜索查询请求。
7.根据权利要求6所述的可验证近似最近邻查询方法,其特征在于,用户端基于获得查询结果所需搜索的HNSW索引执行本地搜索算法,获得本地查询结果。
8.一种用于实现权利要求1所述可验证近似最近邻查询方法的系统,其特征在于,包括用户端、原始数据提供端、查询服务提供端、联盟链构建参数协调模块、智能合约部署模块;
所述用户端用于向查询服务提供端发起近似最近邻查询请求,并对收到的查询结果进行验证;
所述原始数据提供端用于将原始数据集发送给查询服务提供端以及调用智能合约生成可信数据结构Merkle HNSW节点树,从而支持外包查询结果的验证流程;
所述查询服务提供端用于部署智能合约并在本地基于原始数据集构建HNSW图索引,在用户端发起近似最近邻查询请求后为用户端提供查询结果;
所述联盟链构建参数协调模块用于协调联盟链中HNSW图索引的构建参数以及MerkleHNSW节点树的构建参数;
所述智能合约部署模块用于在每个查询服务提供端中部署智能合约。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410079752.5A CN117909386A (zh) | 2024-01-19 | 2024-01-19 | 基于联盟链的可验证近似最近邻查询方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410079752.5A CN117909386A (zh) | 2024-01-19 | 2024-01-19 | 基于联盟链的可验证近似最近邻查询方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117909386A true CN117909386A (zh) | 2024-04-19 |
Family
ID=90685297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410079752.5A Pending CN117909386A (zh) | 2024-01-19 | 2024-01-19 | 基于联盟链的可验证近似最近邻查询方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117909386A (zh) |
-
2024
- 2024-01-19 CN CN202410079752.5A patent/CN117909386A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI737165B (zh) | 跨鏈發送資源的方法和裝置 | |
CA3053313C (en) | Method for superseding log-in of user through pki-based authentication by using smart contact and blockchain database, and server employing same | |
TWI733328B (zh) | 跨鏈發送可認證訊息的方法和裝置 | |
CN110912707B (zh) | 基于区块链的数字证书处理方法、装置、设备及存储介质 | |
CA3053319C (en) | Method for superseding log-in of user through pki-based authentication by using blockchain database of utxo-based protocol, and server employing same | |
CN109472572B (zh) | 基于区块链主链加并行多子链的合约系统 | |
Chen et al. | Reducing participation costs via incremental verification for ledger systems | |
CN110177109B (zh) | 一种基于标识密码和联盟链的双代理跨域认证系统 | |
CN109493052B (zh) | 一种基于主链加并行多子链的跨链合约系统 | |
CN108876669B (zh) | 应用于多平台教育资源共享的课程公证系统及方法 | |
CN111640018B (zh) | 一种区块链交易存在性验证方法及装置 | |
JP2022551874A (ja) | セキュアな共生(Symbiosis)マイニングのための方法および装置 | |
TWI728692B (zh) | 跨鏈發送可認證訊息的方法和裝置 | |
CN112258189A (zh) | 基于区块链的签约管理方法及装置和电子设备 | |
Sopek et al. | Technological foundations of ontological ecosystems on the 3rd generation blockchains | |
CN114710357A (zh) | 一种可编辑区块链中支持分块验证的动态可搜索加密方法 | |
CN111680031B (zh) | 一种针对区块链轻客户端的基于sgx的可验证范围查询方法 | |
WO2021009625A1 (en) | Proof system and method for structured documents | |
CN117909386A (zh) | 基于联盟链的可验证近似最近邻查询方法及系统 | |
CN113760909A (zh) | 一种基于utxo跨链事务及验证的方法和系统 | |
CN109800235B (zh) | 一种基于认证树的外包数据库全操作查询验证系统及方法 | |
Junxiang et al. | Dynamic provable data possession with batch-update verifiability | |
Cali et al. | Foundations of distributed ledger technology | |
Liang et al. | Dynamic authenticated keyword search in hybrid-storage blockchain | |
Tian et al. | An arbitrable multi‐replica data auditing scheme based on smart contracts |
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 |