CN113535803A - 一种基于关键字索引的区块链高效检索及可靠性验证方法 - Google Patents
一种基于关键字索引的区块链高效检索及可靠性验证方法 Download PDFInfo
- Publication number
- CN113535803A CN113535803A CN202110657812.3A CN202110657812A CN113535803A CN 113535803 A CN113535803 A CN 113535803A CN 202110657812 A CN202110657812 A CN 202110657812A CN 113535803 A CN113535803 A CN 113535803A
- Authority
- CN
- China
- Prior art keywords
- retrieval
- keyword
- block chain
- verifiable
- data
- 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
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/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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- 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/2471—Distributed queries
-
- 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
-
- 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)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Fuzzy Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于区块链数据检索技术领域,具体为一种基于关键字索引的区块链高效检索及可靠性验证方法。本发明方法包括基于关键字索引的可验证默克尔哈希树构建,针对关键字的可验证高效检索,检索结果集可靠性验证。为支持区块链上对于高效检索包含目标关键字以及支持检索结果可靠性验证的功能,本发明提出基于关键字索引的可验证默克尔哈希树结构,实现目标关键字的高效检索,并引入布隆过滤器加速不同区块间的检索,同时提出对于检索结果可靠性验证方法。本发明能够有效的提高区块链上对包含目标关键字数据检索的效率,并且为轻节点用户提供检索结果可靠性验证,使得用户能够对检索数据的正确性和完整性进行验证。
Description
技术领域
本发明属于区块链数据检索技术领域,具体涉及一种基于关键字索引的区块链高效检索及可靠性验证方法。
背景技术
区块链从最初的数字货币逐渐扩展到各行各业,因此对区块链上数据检索功能的要求也越来越高。但当前区块链的检索能力十分的低下,只支持通过交易哈希来获取对应的交易,完全无法满足检索的需求。例如想要检索所有包含某个关键字的交易,只能通过遍历所有的交易进行检索,效率十分的低下。同时,目前用户对于区块链上数据检索的方式主要是通过轻节点向区块链网络中的全节点发送检索请求,而区块链网络又是一个不可信的网络,因此需要考虑检索结果的可信性。针对区块链上数据的检索的研究中,通过将区块链数据导入到外部数据库实现检索的丰富性与高效性,但数据的可靠性得不到保障;通过向区块链默克尔树引入相关索引,加强区块链的检索能力,并利用默克尔树保障检索结果的正确性,但并不能保障检索结果的完整性,对于检索可靠性性除了保障检索结果的正确性也应当考虑到检索结果的完整性,即全节点是否返回了用户所需要的全部的结果。检索结果的完整性在云储存领域的研究比较多,但区块链数据检索的领域鲜有研究,因此有必要构建能够高效检索能力的区块链的同时,还能对检索结果进行可靠性验证。
发明内容
本发明的目的在于提供一种检索效率高、可靠性好的基于关键字索引的区块链检索及可靠性验证方法。
本发明提供的基于关键字索引的区块链高效检索及可靠性验证方法,具体步骤为:
步骤S1:对所述区块链中的区块进行可验证默克尔哈希树(Merkle VerifiableTree,MVT)构建;矿工为每一笔交易创建包含交易Hash、关键字Tags、数据存在证明Prove三个字段的叶子节点,构建树时将交易所有关键字存储到布隆过滤器中;
步骤S2:对所述区块链进行针对关键字的可验证高效检索;区块链全节点根据用户发送的关键字检索请求,检索所有包含关键字的交易,并返回可验证结果集合(Verifiable Result Set,VRS);
步骤S3:对所述可验证结果集合VRS进行正确性和完整性验证;用户根据可验证结果集合VRS的MVT认证路径和数据不存在证明π对检索结果进行正确性和完整性验证。
下面进一步介绍各步骤的具体内容:
所述步骤S1具体包括:
步骤A1:矿工为每一笔交易创建包含交易Hash、关键字Tags、数据存在证明Prove三个字段的叶子节点,组成一个叶子节点列表;
步骤A2:将该叶子节点列表以两两节点的关键字集合的Jaccard系数从大到小的顺序进行排序,Jaccard系数定义如下:
Tagi、Tagj为关键字;
步骤A3:将排序后的叶子节点列表进行迭代合并,两两向上合并成非叶子节点,新生成节点的关键字newTags为其两孩子节点关键字Tags的并集,即:
newTags=Tagsa∪Tagsb
步骤A4:对步骤A3生成的所有非叶子节点计算数据存在证明Prove字段,该字段用于检索完整性的验证;
步骤A5:将区块内所有交易的关键字存储到布隆过滤器中。
步骤A4中数据存在证明Prove字段生成方法为:
所述步骤S2具体包括:
步骤B1:用户发送所有包含目标关键字的交易检索请求;
步骤B2:区块链全节点根据用户发送的目标关键字检索请求,检索所有包含目标关键字的交易,从最新区块开始,首先利用布隆过滤器判断目标关键字是否在当前区块,若在则进入步骤B3,否则进入步骤B4;
步骤B3:从所述MVT的根节点开始,判断目标关键字与该节点是否匹配;若匹配且该节点非叶子节点则将该节点的数据存在证明Provei加入可验证结果集合VRS中,并向下进行递归操作,若为叶子节点则将交易加入结果集RS中;若不匹配,则调用ProveMatch函数生成数据不存在证明π加入可验证结果集合VRS中并直接返回;
步骤B4:对所述区块的前驱区块重复执行步骤B2-B3,直至创世区块;
步骤B5:将<RS,VRS>作为检索结果返回给用户。
所述步骤S3具体包括:
步骤C1:用户收到检索结果后首先进行正确性验证,若所述结果集RS非空,则利用RS中交易以及可验证结果集合VRS中的验证路径重构MVT根节点与区块头MVT根节点对比验证;
步骤C2:用户进行完整性验证,对于不匹配的对象,调用VerifyDisjoint函数判断该区块目标关键字的交易是否不存在。
本发明与现有技术相比,具有以下的优点和积极效果:
本发明提出的基于关键字索引的区块链高效检索及可靠性验证方法,有效的提高了区块链上对包含目标关键字数据检索的效率,能够高效的检索全部包含目标关键字的交易,并且为轻节点用户提供了检索结果可靠性验证的方法,使得用户能够对检索数据的正确性和完整性进行验证。
附图说明
图1为本发明的基于关键字索引的可验证MVT的结构图。
图2为本发明的包含关键字交易高效检索流程图。
图3为本发明的检索结果可靠性验证流程图。
具体实施方式
下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
本发明提供的基于关键字索引的区块链高效检索及可靠性验证方法。
1、首先是块内索引的生成过程(如图1所示),具体步骤如下:
(1)矿工打包交易生成区块之前,先将关键字Tags按Jaccard系数从大到小排序,然后按照顺序将Tagi,Tagj求并集生成Tagn作为新节点的关键字Tags字段;
(2)利用acc(Tags)函数计算出对应的Provei字段,作为可验证字段;
(3)计算上述新生成节点的哈希值作为Hash字段,并两两向上生成一个新节点,作为父节点;
(4)重复迭代这一过程,直至生成一个基于关键字索引的可验证MVT。
2、包含关键字交易高效检索方法(如图2所示),具体步骤如下:
(1)用户发送关键字检索请求q,首先从最新区块开始,利用当前区块布隆过滤器BF判断该区块是否存在包含请求q的关键字的交易,若存在进入步骤(2);
(2)从MVT的root节点开始,判断该节点的Tags字段是否包含请求q的关键字,若包含则进入步骤(3),否则进入步骤(4);
(3)判断该节点是否是叶子节点,若是,则将所检索交易数据加入结果集RS中,若不是,则将该节点的可验证字段Provei加入可验证结果集VRS中,并进行递归检索;
(4)将该节点的可验证字段Provei加入可验证结果集VRS中,同时调用ProveDisjoint(Tagi,Tagj,pk)函数生成不相交证明π,将<π,Provei,Tagi,Hashi>加入可验证结果集VRS中;
(5)重复步骤(1)-(4)直至当前区块检索完成;
(6)继续检索前驱区块,重复步骤(1)-(5)直到创世区块。
3、检索结果可靠性验证方法(如图3所示),具体步骤为:用户发送检索请求后得到结果集<RS,VRS>,首先利用结果集RS中返回的交易数据,以及可验证结果集VRS中的提供的节点计算Hash值与根节点Hash比较验证结果的正确性,然后调用VerifyDisjoint(acc(Tagi),acc(Tagj),π,pk)验证可验证结果集VRS中的节点是否不存在交集,即验证检索结果的完整性。
Claims (7)
1.一种基于关键字索引的区块链高效检索及可靠性验证方法,其特征在于,具体步骤为:
步骤S1:对所述区块链中的区块构建基于关键字索引的可验证默克尔哈希树(MVT);矿工为每一笔交易创建包含交易Hash、关键字Tags、数据存在证明Prove三个字段的叶子节点,构建树时将交易所有关键字存储到布隆过滤器中;
步骤S2:对所述区块链进行针对关键字的可验证高效检索;区块链全节点根据用户发送的关键字检索请求,检索所有包含关键字的交易,并返回可验证结果集合(VRS);
步骤S3:对所述可验证结果集合VRS进行正确性和完整性验证;用户根据可验证结果集合VRS的MVT认证路径和数据不存在证明π对检索结果进行正确性和完整性验证。
2.根据权利要求1所述的基于关键字索引的区块链高效检索及可靠性验证方法,其特征在于,所述步骤S1具体包括:
步骤A1:矿工为每一笔交易创建包含交易Hash、关键字Tags、数据存在证明Prove三个字段的叶子节点,组成一个叶子节点列表;
步骤A2:将该叶子节点列表以两两节点的关键字集合的Jaccard系数从大到小的顺序进行排序,Jaccard系数定义如下:
Tagi、Tagj为关键字;
步骤A3:将排序后的叶子节点列表进行迭代合并,两两向上合并成非叶子节点,新生成节点的关键字newTags为其两孩子节点关键字Tags的并集,即:
newTags=Tagsa∪Tagsb
步骤A4:对步骤A3生成的所有非叶子节点计算数据存在证明Prove字段,该字段用于检索完整性的验证;
步骤A5:将区块内所有交易的关键字存储到布隆过滤器中。
4.根据权利要求1所述的基于关键字索引的区块链高效检索及可靠性验证方法,其特征在于,所述步骤S2具体包括:
步骤B1:用户发送所有包含目标关键字的交易检索请求;
步骤B2:区块链全节点根据用户发送的目标关键字检索请求,检索所有包含目标关键字的交易,从最新区块开始,首先利用布隆过滤器判断目标关键字是否在当前区块,若在则进入步骤B3,否则进入步骤B4;
步骤B3:从所述MVT的根节点开始,判断目标关键字与该节点是否匹配;若匹配且该节点非叶子节点则将该节点的数据存在证明Provei加入可验证结果集合VRS中,并向下进行递归操作,若为叶子节点则将交易加入结果集RS中;若不匹配,则调用ProveMatch函数生成数据不存在证明π加入可验证结果集合VRS中并直接返回;
步骤B4:对所述区块的前驱区块重复执行步骤B2-B3,直至创世区块;
步骤B5:将<RS,VRS>作为检索结果返回给用户。
6.根据权利要求1所述的基于关键字索引的区块链高效检索及可靠性验证方法,其特征在于,所述步骤S3具体包括:
步骤C1:用户收到检索结果后首先进行正确性验证,若所述结果集RS非空,则利用RS中交易以及可验证结果集合VRS中的验证路径重构MVT根节点与区块头MVT根节点对比验证;
步骤C2:用户进行完整性验证,对于不匹配的对象,调用VerifyDisjoint函数判断该区块目标关键字的交易是否不存在。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110657812.3A CN113535803B (zh) | 2021-06-15 | 2021-06-15 | 一种基于关键字索引的区块链高效检索及可靠性验证方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110657812.3A CN113535803B (zh) | 2021-06-15 | 2021-06-15 | 一种基于关键字索引的区块链高效检索及可靠性验证方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113535803A true CN113535803A (zh) | 2021-10-22 |
CN113535803B CN113535803B (zh) | 2023-03-10 |
Family
ID=78124872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110657812.3A Active CN113535803B (zh) | 2021-06-15 | 2021-06-15 | 一种基于关键字索引的区块链高效检索及可靠性验证方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113535803B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113961598A (zh) * | 2021-10-25 | 2022-01-21 | 中国科学院沈阳计算技术研究所有限公司 | 一种新型区块链链上数据高速检索模型 |
CN114756603A (zh) * | 2022-05-23 | 2022-07-15 | 天津大学 | 一种轻量级区块链高效可验证查询方法 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8103650B1 (en) * | 2009-06-29 | 2012-01-24 | Adchemy, Inc. | Generating targeted paid search campaigns |
WO2015107561A1 (ja) * | 2014-01-14 | 2015-07-23 | 三菱電機株式会社 | 検索システム、検索方法および検索プログラム |
CN105790954A (zh) * | 2016-03-02 | 2016-07-20 | 布比(北京)网络技术有限公司 | 一种构建电子证据的方法和系统 |
CN108123934A (zh) * | 2017-12-06 | 2018-06-05 | 深圳先进技术研究院 | 一种面向移动端的数据完整性校验方法 |
CN108920687A (zh) * | 2018-07-12 | 2018-11-30 | 重庆邮电大学 | 一种基于Lucene索引段的合并优化方法 |
CN109885615A (zh) * | 2019-01-24 | 2019-06-14 | 华东师范大学 | 一种基于索引的面向区块链轻客户端的范围查询可验证查询方法 |
CN110113186A (zh) * | 2019-04-19 | 2019-08-09 | 浙江万胜智能科技股份有限公司 | 一种基于区块链的混合智慧城市网络结构 |
CN111125375A (zh) * | 2019-12-21 | 2020-05-08 | 复旦大学 | 一种基于节点结构相似性和语义邻近性的世系图摘要方法 |
CN111444235A (zh) * | 2020-02-26 | 2020-07-24 | 中国平安人寿保险股份有限公司 | 基于Django的数据序列化方法、装置、计算机设备及存储介质 |
KR20200089893A (ko) * | 2019-01-18 | 2020-07-28 | 이화령 | 빅데이터 텍스트 마이닝과 블록체인 기술을 이용한 건강정보 저장 및 서칭 시스템 |
CN111914027A (zh) * | 2020-08-05 | 2020-11-10 | 北京科技大学 | 一种区块链交易关键字可搜索加密方法及系统 |
CN112307513A (zh) * | 2020-11-23 | 2021-02-02 | 从法信息科技有限公司 | 基于时域共识的上链文档安全管理方法、装置和电子设备 |
CN112532650A (zh) * | 2020-12-14 | 2021-03-19 | 重庆邮电大学 | 一种基于区块链的多备份安全删除方法、系统 |
-
2021
- 2021-06-15 CN CN202110657812.3A patent/CN113535803B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8103650B1 (en) * | 2009-06-29 | 2012-01-24 | Adchemy, Inc. | Generating targeted paid search campaigns |
WO2015107561A1 (ja) * | 2014-01-14 | 2015-07-23 | 三菱電機株式会社 | 検索システム、検索方法および検索プログラム |
CN105790954A (zh) * | 2016-03-02 | 2016-07-20 | 布比(北京)网络技术有限公司 | 一种构建电子证据的方法和系统 |
CN108123934A (zh) * | 2017-12-06 | 2018-06-05 | 深圳先进技术研究院 | 一种面向移动端的数据完整性校验方法 |
CN108920687A (zh) * | 2018-07-12 | 2018-11-30 | 重庆邮电大学 | 一种基于Lucene索引段的合并优化方法 |
KR20200089893A (ko) * | 2019-01-18 | 2020-07-28 | 이화령 | 빅데이터 텍스트 마이닝과 블록체인 기술을 이용한 건강정보 저장 및 서칭 시스템 |
CN109885615A (zh) * | 2019-01-24 | 2019-06-14 | 华东师范大学 | 一种基于索引的面向区块链轻客户端的范围查询可验证查询方法 |
CN110113186A (zh) * | 2019-04-19 | 2019-08-09 | 浙江万胜智能科技股份有限公司 | 一种基于区块链的混合智慧城市网络结构 |
CN111125375A (zh) * | 2019-12-21 | 2020-05-08 | 复旦大学 | 一种基于节点结构相似性和语义邻近性的世系图摘要方法 |
CN111444235A (zh) * | 2020-02-26 | 2020-07-24 | 中国平安人寿保险股份有限公司 | 基于Django的数据序列化方法、装置、计算机设备及存储介质 |
CN111914027A (zh) * | 2020-08-05 | 2020-11-10 | 北京科技大学 | 一种区块链交易关键字可搜索加密方法及系统 |
CN112307513A (zh) * | 2020-11-23 | 2021-02-02 | 从法信息科技有限公司 | 基于时域共识的上链文档安全管理方法、装置和电子设备 |
CN112532650A (zh) * | 2020-12-14 | 2021-03-19 | 重庆邮电大学 | 一种基于区块链的多备份安全删除方法、系统 |
Non-Patent Citations (1)
Title |
---|
许艳艳等: ""基于区块链的企业员工出入管理系统研究"", 《科学与信息化》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113961598A (zh) * | 2021-10-25 | 2022-01-21 | 中国科学院沈阳计算技术研究所有限公司 | 一种新型区块链链上数据高速检索模型 |
CN114756603A (zh) * | 2022-05-23 | 2022-07-15 | 天津大学 | 一种轻量级区块链高效可验证查询方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113535803B (zh) | 2023-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108959244B (zh) | 地址分词的方法和装置 | |
Martel et al. | A general model for authenticated data structures | |
CN113535803B (zh) | 一种基于关键字索引的区块链高效检索及可靠性验证方法 | |
EP2064637B1 (en) | Method for dynamic secure management of an authenticated relational table in a database | |
CN109766389B (zh) | 一种基于位图索引的区块链轻客户端验证查询方法 | |
WO2018187133A1 (en) | Management of co-ownership database system | |
US8015195B2 (en) | Modifying entry names in directory server | |
CN110036381B (zh) | 存储器内数据搜索技术 | |
US20170154078A1 (en) | Systems and methods for searching multiple related tables | |
CN116860825B (zh) | 一种基于区块链的可验证检索方法及系统 | |
CN113704248A (zh) | 一种基于外置索引的区块链查询优化方法 | |
CN117194418A (zh) | 可验证的多模态时空数据索引结构和时空范围查询验证方法 | |
US20140025369A1 (en) | System and method for phrase matching with arbitrary text | |
Wei et al. | Integrity assurance for outsourced databases without DBMS modification | |
WO2013097065A1 (zh) | 一种索引数据处理方法及设备 | |
CN113779025B (zh) | 一种区块链中分类数据检索效率的优化方法、系统及应用 | |
Deng et al. | Spatial-keyword skyline publish/subscribe query processing over distributed sliding window streaming data | |
CN116305142A (zh) | 一种基于区块链的带权图谱关键字查询可信验证方法 | |
CN114048206B (zh) | 一种大规模集群的配置一致性校验方法、系统及装置 | |
CN109800235B (zh) | 一种基于认证树的外包数据库全操作查询验证系统及方法 | |
CN114840681A (zh) | 一种基于区块链的图谱查询验证方法 | |
CN114048219A (zh) | 图数据库更新方法及装置 | |
CN111159175B (zh) | 基于索引的非完整数据库Skyline查询方法 | |
WO2021207831A1 (en) | Method and systems for indexing databases on a contextual basis | |
Nie et al. | Design of big data integration platform based on hybrid hierarchy architecture |
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 |