CN109885615B - 一种基于索引的面向区块链轻客户端的范围查询可验证查询方法 - Google Patents

一种基于索引的面向区块链轻客户端的范围查询可验证查询方法 Download PDF

Info

Publication number
CN109885615B
CN109885615B CN201910066166.6A CN201910066166A CN109885615B CN 109885615 B CN109885615 B CN 109885615B CN 201910066166 A CN201910066166 A CN 201910066166A CN 109885615 B CN109885615 B CN 109885615B
Authority
CN
China
Prior art keywords
block
query
index
tree
light client
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
Application number
CN201910066166.6A
Other languages
English (en)
Other versions
CN109885615A (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.)
East China Normal University
Original Assignee
East China Normal University
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 East China Normal University filed Critical East China Normal University
Priority to CN201910066166.6A priority Critical patent/CN109885615B/zh
Publication of CN109885615A publication Critical patent/CN109885615A/zh
Application granted granted Critical
Publication of CN109885615B publication Critical patent/CN109885615B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种基于索引的面向区块链轻客户端的范围查询可验证查询方法,包括区块索引和层次索引结构生成步骤、全节点进行数据可验证查询步骤、全节点进行辅助可验证查询步骤和轻客户端进行可验证查询步骤。为支持有效地访问区块数据和可验证查询处理过程,本发明提出了一种支持可验证查询的层次索引结构,并提出基于该索引的面向区块链轻客户端的范围查询可验证查询方法。本发明克服了现有技术下全节点扫描区块效率低,全节点与轻客户端通信开销大的缺陷,以及解决了在不可信的区块链网络中数据查询验证困难的问题,实现了轻客户端的可信数据查询验证。

Description

一种基于索引的面向区块链轻客户端的范围查询可验证查询 方法
技术领域
本发明属于区块链数据库技术领域,尤其涉及基于索引的面向区块链轻客户端的范围查询可验证查询方法。
背景技术
全节点是拥有完整区块链账本的节点,负责验证以及转发网络上的交易和区块。由于无需信任的环境(开放的网络)以及区块链本身的性质,每个全节点都需要下载并验证所有的区块,因此所有区块中的所有交易信息都需要经过全节点的验证。然后,下载并验证所有区块信息会消耗大量的时间和资源。例如,完全同步以太坊区块链至少需要SSD(固态硬盘),因为HDD(机械硬盘)跟不上每秒的输入输出需求。轻客户端或者轻节点是一种连接全节点以实现与区块链的交互的软件,与全节点不同的是,轻客户端不需要不停的运行,也不需要向区块链中读取写入大量的信息,如用户所使用的手持设备,轻客户端通常只存储了区块头。实际上,轻客户端不需要直接与区块链交互,它们使用全节点作为中介,依赖全节点来实现许多操作。为了执行查询,轻客户端就需要查询存储了所有区块数据的不可信的节点。然而,这种查询下的结果可能并不正确,因此轻客户端就必须能够验证查询结果。
为了处理这种情况,比特币使用Merkle哈希树(MHT)提出了简单支付验证(SPV),SPV支持轻客户端的交易验证,可以确定某个特定的交易是否在区块中,SPV节点只需下载区块头,而不用下载包含在每个区块中的交易信息。如果通过扫描所有的区块来查询数据,则重建被访问区块的MB-tree根可以方便地验证数据的正确性。但是,扫描的方法效率太低,例如,对于范围查询,所有的区块都要返回给轻客户端,以保证查询结果的完整性和完备性。而且,若一次范围查询涉及到的区块数量较多,则会造成很大的通信开销,导致查询效率低下,同时目前已有的区块链系统并不能实现丰富的可验证查询。所以为了支持区块链中的可验证索引,验证索引结构的提出是非常有必要的。以太坊提出了Merkle PatriciaTree(MPT),其中每个区块都存储了一个可验证结构的快照。然而,树是非常大的,因为树中的每一个节点的变化都被记录下来了。而且,MPT仅支持账户状态的可验证查询。因此,有必要基于验证结构重新实现各种可验证查询。
发明内容
本发明的目的是为了克服现有技术下全节点扫描区块效率低,全节点与轻客户端通信开销大的缺陷,以及解决在不可信的区块链网络中数据查询验证困难的问题,提出了一种基于索引的面向区块链轻客户端的范围查询可验证查询方法。
实现本发明目的的具体技术方案是:
一种基于索引的面向区块链轻客户端的范围查询可验证查询方法,该方法包括以下具体步骤:
步骤S1:区块索引和层次索引结构生成
此步骤在关键字区块时间戳上构造一个区块层B+-tree索引结构,获取给定查询时间范围内包含有查询交易类型的区块范围;并对不同交易类型构造位图索引并对每一个区块在关键字交易id上构造Merkle B-tree(MB-tree)索引,构造出一个由位图索引和MB-tree索引组成的层次索引结构;具体包括:
步骤A1:全节点在关键字区块时间戳上构造一个区块层B+-tree索引结构,用来获取给定查询时间范围内的区块id;
步骤A2:全节点首先对所有的交易数据按照交易类型划分,得到多个分类;然后为每一个分类创建一个位向量,即一行二进制串数据,每一行中的第i位二进制数据代表区块i中是否包含这种交易类型的数据,1代表包含,0代表不包含;若出现一种新的交易类型,则添加新的一行二进制串数据来记录此类型交易,所有交易类型的二进制数据共同组成了层次索引的第一层索引结构——位图索引;
步骤A3:全节点对每一个区块在关键字交易id上构造了一个MB-tree,MB-tree是B+树和Merkle Hash Tree(MHT)的结合体,其中每一个叶子节点都含有本身的哈希值,每一个非叶子节点中都含有其孩子节点级联的哈希值,构成了层次索引的第二层索引结构——MB-tree索引;当一个新的区块生成后,全节点需要为该区块构建一个在关键字交易id上的MB-tree。
步骤S2:全节点进行数据可验证查询
此步骤中全节点根据区块层B+-tree索引结构和层次索引结构来处理轻客户端发送来的查询请求,并将表示当前区块链版本的区块高度h和查询生成的验证对象(Verification Object,VO)返回给轻客户端;具体包括:
步骤B1:全节点获取来自轻客户端的查询请求,获取表示当前区块链版本的区块高度h,并根据区块层B+-tree索引结构使用范围搜索获取给定查询时间范围内包内的区块范围;
步骤B2:全节点根据步骤B1中获取到的区块范围查询层次索引的第一层索引结构——位图索引;全节点根据查询请求中的交易类型查询位图索引中的对应行,并按位扫描该行中在区块范围内的所有二进制数据,若为0则跳过,若为1则将对应的区块id加入包含查询结果的一个区块集合;
步骤B3:全节点根据步骤B2中获取到的区块集合查询层次索引的第二层索引结构——MB-tree索引;对于在区块集合内的任意区块i,全节点将在该区块i的MB-tree上执行范围搜索来生成验证对象,并将其添加到VO中;
步骤B4:全节点将当前的区块高度h和查询生成的验证对象VO返回给轻客户端。
步骤S3:全节点进行辅助可验证查询
此步骤中全节点首先会根据接收到的区块高度h来判断自己当前区块链版本是否与全节点一致,若一致则会根据区块层B+-tree索引结构和层次索引结构来处理轻客户端发送来的查询请求,并将查询生成的辅助验证对象(Auxiliary Verification Object,AVO)返回给轻客户端;否则,不进行操作而将
Figure GDA0002543332800000031
返回给轻客户端;具体包括:
步骤C1:全节点获取来自轻客户端的查询请求和区块高度h,并根据接收到的区块高度h来判断自己当前区块链版本是否与全节点一致,若一致则进行步骤C2,否则进行步骤C6;
步骤C2:全节点根据区块层B+-tree索引结构使用范围搜索获取给定查询范围内包含有查询交易类型的区块范围;
步骤C3:全节点根据步骤C2中获取到的区块范围查询层次索引的第一层索引结构——位图索引;全节点根据查询请求中的交易类型查询位图索引中的对应行,并按位扫描该行中在区块范围内的所有二进制数据,若为0则跳过,若为1则将对应的区块id加入包含查询结果的一个区块集合;
步骤C4:全节点根据步骤C3中获取到的区块集合查询层次索引的第二层索引结构——MB-tree索引;对于在区块集合内的任意区块i,全节点将获取该区块i的MB-tree根Rooti,并将区块id i和对应的Rooti将添加到AVO中;
步骤C5:全节点将查询生成的辅助验证对象AVO返回给轻客户端;
步骤C6:全节点不进行操作而将
Figure GDA0002543332800000032
返回给轻客户端。
步骤S4:轻客户端进行可验证查询
此步骤中轻客户端将根据VO和AVO来验证查询结果的完备性和完整性,得到最终正确的查询结果;具体包括:
步骤D1:轻客户端获取步骤B4中返回的验证对象VO,以及步骤C5中返回的辅助验证对象AVO;
步骤D2:对VO中的每一个区块i,轻客户端通过VO中的每一个区块的VOi重新构建相应的MB-tree根,并将其与AVO中包含的区块i对应的索引根进行对比来验证;
步骤D3:如果VO中所有的区块的验证结果都是正确的,则查询结果是正确的。
本发明克服了现有技术下全节点扫描区块效率低,全节点与轻客户端通信开销大的缺陷,以及解决了在不可信的区块链网络中数据查询验证困难的问题,实现了轻客户端的可信数据查询验证。
附图说明
图1显示的是本发明流程图;
图2显示的是一个区块结构示例图;
图3显示的是可验证查询的层次索引结构示例图;
图4显示的是全节点进性数据可验证查询示例图;
图5显示的是全节点进行辅助可验证查询示例图;
图6显示的是轻客户端进行可验证查询示例图。
具体实施方式
以下结合具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
参阅图1,显示的是本方明的总体流程图。本发明包括区块索引和层次索引结构生成步骤、全节点进行数据可验证查询步骤、全节点进行辅助可验证查询步骤和轻客户端进行可验证查询步骤四个步骤。四个步骤的功能描述如下:
区块链系统中的数据都是存储在区块中的,随着时间的推移,区块数量会越来越多。如何快速的在所有区块中筛选出包含有特定交易数据的区块是一个迫切的需求,并且由于区块链网络中存在恶意节点,如何验证查询结果的正确性和完整性也是一个亟需解决的问题。
步骤S1实现了一个在关键字区块时间戳上的区块层B+-tree索引结构,可以获取给定查询时间范围内的区块范围;以及一个由位图索引和MB-tree索引组成的层次索引结构,实现了区块扫描时快速筛选所需区块的功能,并能快速获取某个区块中包含的指定查询条件的交易信息。
步骤S2全节点进行数据可验证查询实现了对轻客户端发送来的查询请求的处理,通过区块层B+-tree索引结构和层次索引结构快速扫描得到需要被查询的所有交易,并将表示当前区块链版本的区块高度h和查询生成的验证对象VO返回给轻客户端。
步骤S3全节点进行辅助可验证查询实现了对轻客户端发送来的查询请求的处理,首先全节点获取表示当前区块链版本的区块高度H,并判断其是否与接收到的区块高度h一致,若一致则通过区块层B+-tree索引结构和层次索引结构快速扫描得到需要被查询的所有交易,并将查询生成的辅助验证对象AVO返回给轻客户端;否则,不进行操作而将
Figure GDA0002543332800000041
返回给轻客户端。
步骤S4轻客户端进行可验证查询是根据收到的VO和AVO来验证查询结果的完备性和完整性,并得到最终正确的查询结果。
本发明是基于上述构思提出的,关于上述步骤的具体实施过程做如下描述:
参阅图2,显示的是一个区块结构,区块链中的每一个区块都是由一个区块头和区块体组成。区块头中记录了一些有用的信息,其中包括记录了前一个区块的哈希值的PrevHash,表示该区块的区块高度的BlockHeight,记录了区块打包时候的时间戳TimeStamp,指向该区块中所有交易的Merkle树根的TransRoot,该区块打包的时候的签名Signature,表示当前区块哈希值的BlockHash。
区块体中包含了打包在此区块中的所有交易。每一个交易中都包含有多个条目,包括Tid,Ts,Sig,ID,Tname和列。其中,Tid是递增的整数,Ts记录了交易发生的时间,Sig保证了交易的补课篡改性,ID记录了交易者的身份,即公钥,Tname表示交易的一个类别的名称。图1中Tid=2的交易就是一个有关交易的示例,这意味着org1在时间22:21,8-6-2018的时候将资金从教育项目转移到苍山学校。
为了更好地阐述本发明,以下所有具体实施方式都是以图2中的区块结构进行举例说明。
参阅图3,显示的是可验证查询的层次索引结构。为了获取给定时间范围内指定交易类型的全部区块,本发明构造了一个层次索引结构。层次索引结构的第一层是一个位图索引,全节点首先对所有的交易数据按照交易类型划分,得到多个分类;然后为每一个分类创建一个位向量,即一行二进制串数据,每一行中的第i位二进制数据代表区块i中是否包含这种交易类型的数据,1代表包含,0代表不包含;若出现一种新的交易类型,则添加新的一行二进制串数据来记录此类型交易。层次索引结构的第二层是一个在区块关键字交易id上构造的MB-tree,MB-tree是B+树和MHT的结合体,其中每一个叶子节点都含有本身的哈希值,每一个非叶子节点中都含有其孩子节点级联的哈希值;当一个新的区块生成后,全节点需要为该区块构建一个在关键字交易id上的MB-tree。
参阅图4,显示的是全节点进行数据可验证查询。全节点利用区块层B+-tree索引结构获取查询时间范围内的区块id范围,首先获取来自轻客户端的在时间范围[6-7-2018,6-8-2018]中donate操作的所有交易的查询请求,然后利用区块层B+-tree索引结构使用范围搜索获取给定查询时间范围[6-7-2018,6-8-2018]内的所有区块范围(5,9)以及表示当前区块链版本信息的区块高度h。全节点利用层次索引结构获取验证对象VO,首先根据交易类型donate找到位图索引中对应的行,扫描该行中(5,9)位的二进制数据,若为0则跳过,若为1则将对应的区块id加入包含查询结果的一个区块集合,对于在区块集合内的任意区块i,全节点将在该区块i的MB-tree上执行范围搜索来生成验证对象,并将其添加到VO中。此处只有区块9满足条件,则查找区块9对应的MB-tree索引,并将区块id号9以及MB-tree查找满足条件的交易的过程中生成的验证信息加入验证对象VO中,即生成VO:(9,hA,T3,T1,T2,hC)。全节点将区块高度h和验证对象VO返回给轻客户端。具体过程如算法1所示。
Figure GDA0002543332800000061
参阅图5,显示的是全节点进行辅助可验证查询。全节点利用区块层B+-tree索引结构以及区块高度h获取查询时间范围内的区块id范围,首先获取来自轻客户端的在时间范围[6-7-2018,6-8-2018]中donate操作的所有交易的查询请求以及区块高度h:10,并根据h来判断自己当前区块链版本是否与全节点一致,若不一致则不进行操作而将
Figure GDA0002543332800000062
返回给轻客户端,否则继续进行查询处理。然后利用区块层B+-tree索引结构使用范围搜索获取给定查询时间范围[6-7-2018,6-8-2018]内的所有区块范围(5,9)。全节点利用层次索引结构获取辅助验证对象AVO,首先根据交易类型donate找到位图索引中对应的行,扫描该行中(5,9)位的二进制数据,若为0则跳过,若为1则将对应的区块id加入包含查询结果的一个区块集合,对于在区块集合内的任意区块i,全节点将获取该区块i的MB-tree根Rooti,并将区块id号i和对应的Rooti将添加到AVO中。该处只有区块9满足条件,则查找区块9对应的MB-tree索引,并将区块id号9对应的Root9将添加到AVO中,即生成AVO:(9,Root9)。全节点将辅助验证对象AVO返回给轻客户端。具体过程如算法2所示。
Figure GDA0002543332800000071
参阅图6,显示的是轻客户端进行可验证查询。为了执行一个可验证查询,轻客户端需要向一个随机选择的全节点发送查询请求并等待响应,获取区块高度h及验证对象VO。由于验证结构是保留在每一个区块上的,而查询结果是来自多个区块,轻客户端并不知道(a)查询结果中应该包含哪一个区块,以及(b)返回的结果是否正确和完整。因此,轻客户端需要查询另一个全节点以获得辅助验证对象(AVO)。当在区块链网络中执行一致性共识算法时,由于网络延迟的不同每个节点上的数据状态也会不同,因此区块高度h的存在则是为了保证生成AVO的数据集的版本与VO的版本一致。由于这个过程中并没有涉及到磁盘IO,因此处理过程是轻量级的。当轻客户端收到AVO的时候,它将会使用VO和AVO来验证查询结果的完备性和完整性。
但是,全节点可能是不可信的,为了处理这种情况,轻客户端需要通过从多个全节点采样来降低风险。轻客户端把查询请求发送给一个全节点和另外的n-1个随机选择的全节点,并获取对应的VO和AVOs。查看获取到的AVOs,如果有多于m-1个响应中包含有相同的AVO,并且每个AVO中的区块id与VO中的相同,则将继续验证VO;否则,返回FALSE。对于VO中每一个区块i的验证对象voi,轻客户端通过重新构建相应的MB-tree根并将其与AVO中包含的索引根Rooti进行对比来验证它。如果验证结果是正确的,轻客户端则将从block_set中将voi对应的区块移除。最后,如果
Figure GDA0002543332800000082
即所有的验证对象voi都是正确的,则查询结果是正确的,返回TRUE。具体过程如算法3所示。
Figure GDA0002543332800000081
本发明的保护内容不局限于以上实施例。在不背离发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。

Claims (1)

1.一种基于索引的面向区块链轻客户端的范围查询可验证查询方法,其特征在于,该方法包括以下具体步骤:
步骤S1:区块索引和层次索引结构生成
全节点在关键字区块时间戳上构造一个区块层B+-tree索引结构;对不同交易类型构造位图索引并对每一个区块在关键字交易时间戳上构造Merkle B-tree索引,记作MB-tree索引,构成一个由位图索引和MB-tree索引组成的层次索引结构;
步骤S2:全节点进行数据可验证查询
全节点根据区块层B+-tree索引结构和层次索引结构处理轻客户端发送来的查询请求,并将表示当前区块链版本的区块高度h和查询生成的验证对象VO返回给轻客户端;
步骤S3:全节点进行辅助可验证查询
全节点获取表示当前区块链版本的区块高度H,并判断其是否与步骤S2中获取到的区块高度h一致,若一致则根据区块层B+-tree索引结构和层次索引结构处理轻客户端发送来的查询请求,并将查询生成的辅助验证对象AVO返回给轻客户端;否则,不进行操作而将AVO=Ø返回给轻客户端;
步骤S4:轻客户端进行可验证查询
轻客户端根据VO和AVO来验证查询结果的完备性和完整性,得到最终正确的查询结果;其中:
所述步骤S1具体包括:
步骤 A1:全节点在关键字区块时间戳上构造一个区块层B+-tree索引结构,用来获取给定查询时间范围内的区块id;
步骤A2:全节点首先对所有的交易数据按照交易类型划分,得到多个分类;然后为每一个分类创建一个位向量,即一行二进制串数据,每一行中的第i位二进制数据代表区块i中是否包含这种交易类型的数据,1代表包含,0代表不包含;若出现一种新的交易类型,则添加新的一行二进制串数据来记录此类型交易,所有交易类型的二进制数据共同组成了层次索引的第一层索引结构——位图索引;
步骤A3:全节点对每一个区块在关键字交易id上构造一个MB-tree,MB-tree是B+树和Merkle Hash Tree 的结合体,其中每一个叶子节点都含有本身的哈希值,每一个非叶子节点中都含有其孩子节点级联的哈希值,构成了层次索引的第二层索引结构——MB-tree索引;当一个新的区块生成后,全节点为该区块构建一个在关键字交易id上的MB-tree;
所述步骤S2具体包括:
步骤B1:全节点接收来自轻客户端的查询请求,获取表示当前区块链版本的区块高度h,并根据区块层B+-tree索引结构使用范围搜索获取给定查询时间范围内的区块范围;
步骤B2:全节点根据步骤B1中获取到的区块范围查询层次索引的第一层索引结构——位图索引;全节点根据查询请求中的交易类型查询位图索引中的对应行,并按位扫描该行中在区块范围内的所有二进制数据,若为0则跳过,若为1则将对应的区块id加入包含查询结果的一个区块集合;
步骤B3:全节点根据步骤B2中获取到的区块集合查询层次索引的第二层索引结构——MB-tree索引;对于在区块集合内的任意区块i,全节点将在该区块i的MB-tree上执行范围搜索来生成验证对象,并将其添加到VO中;
步骤B4:全节点将当前的区块高度h和查询生成的验证对象VO返回给轻客户端;
所述步骤S3具体包括:
步骤C1:全节点接收来自轻客户端的查询请求和区块高度h,获取表示当前区块链版本的区块高度H,并判断其是否与h一致,若一致则进行步骤C2,否则进行步骤C6;
步骤C2: 全节点根据区块层B+-tree索引结构使用范围搜索获取给定查询范围内包含有查询交易类型的区块范围;
步骤C3:全节点根据步骤C2中获取到的区块范围查询层次索引的第一层索引结构——位图索引;全节点根据查询请求中的交易类型查询位图索引中的对应行,并按位扫描该行中在区块范围内的所有二进制数据,若为0则跳过,若为1则将对应的区块id加入包含查询结果的一个区块集合;
步骤C4:全节点根据步骤C3中获取到的区块集合查询层次索引的第二层索引结构——MB-tree索引;对于在区块集合内的任意区块i,全节点将获取该区块i的MB-tree根Rooti,并将区块id号i和对应的Rooti将添加到AVO中;
步骤C5:全节点将查询生成的辅助验证对象AVO返回给轻客户端;
步骤C6:全节点不进行操作而将AVO=Ø返回给轻客户端;
所述步骤S4具体包括:
步骤D1:轻客户端获取步骤B4中返回的验证对象VO,以及步骤C5中返回的辅助验证对象AVO;
步骤D2:对VO中的每一个区块i,轻客户端通过VO中的每一个区块的VOi重新构建相应的MB-tree根,并将其与AVO中包含的区块i对应的索引根进行对比来验证;
步骤D3:如果VO中所有的区块的验证结果都是正确的,则查询结果是正确的。
CN201910066166.6A 2019-01-24 2019-01-24 一种基于索引的面向区块链轻客户端的范围查询可验证查询方法 Active CN109885615B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910066166.6A CN109885615B (zh) 2019-01-24 2019-01-24 一种基于索引的面向区块链轻客户端的范围查询可验证查询方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910066166.6A CN109885615B (zh) 2019-01-24 2019-01-24 一种基于索引的面向区块链轻客户端的范围查询可验证查询方法

Publications (2)

Publication Number Publication Date
CN109885615A CN109885615A (zh) 2019-06-14
CN109885615B true CN109885615B (zh) 2020-09-22

Family

ID=66926679

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910066166.6A Active CN109885615B (zh) 2019-01-24 2019-01-24 一种基于索引的面向区块链轻客户端的范围查询可验证查询方法

Country Status (1)

Country Link
CN (1) CN109885615B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10990705B2 (en) * 2019-04-18 2021-04-27 Advanced New Technologies Co., Ltd. Index creation for data records
CN110889729B (zh) * 2019-11-29 2024-03-26 腾讯科技(深圳)有限公司 一种基于区块链网络的数据验证方法和装置
CN111177225B (zh) * 2020-01-02 2023-05-23 支付宝(杭州)信息技术有限公司 账户状态存在性证明方法及装置和状态查询方法及装置
CN111680031B (zh) * 2020-04-21 2021-10-15 华东师范大学 一种针对区块链轻客户端的基于sgx的可验证范围查询方法
CN111832079B (zh) * 2020-07-16 2024-01-30 湖南大学 Epc全球网络中一种基于区块链的查询结果完整性验证方法
CN112085504B (zh) * 2020-11-16 2021-02-09 腾讯科技(深圳)有限公司 一种数据处理方法、装置、计算机设备及存储介质
CN112286963B (zh) * 2020-11-17 2023-05-26 北京物资学院 一种区块链终端数据可信查询系统及其实现方法
CN112487027B (zh) * 2020-12-02 2022-08-23 山东浪潮科学研究院有限公司 基于区块链电子交易的高效数据查询实现方法
CN113076558A (zh) * 2021-04-20 2021-07-06 西安交通大学 高效支持隐私保护及可验证的区块链数据连接查询方法
CN113535803B (zh) * 2021-06-15 2023-03-10 复旦大学 一种基于关键字索引的区块链高效检索及可靠性验证方法
CN113704248B (zh) * 2021-07-12 2024-01-09 北京邮电大学 一种基于外置索引的区块链查询优化方法
CN113901142B (zh) * 2021-10-13 2024-05-07 辽宁大学 一种面向时空数据的区块链架构及范围查询处理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595720A (zh) * 2018-07-12 2018-09-28 中国科学院深圳先进技术研究院 一种区块链时空数据查询方法、系统及电子设备
WO2018205137A1 (en) * 2017-05-09 2018-11-15 Accenture Global Solutions Limited Data storage layer index for efficient information retrieval
WO2018223995A1 (zh) * 2017-06-07 2018-12-13 众安信息技术服务有限公司 实现区块链跨链通信的方法、装置及系统
CN109165224A (zh) * 2018-08-24 2019-01-08 东北大学 一种在区块链数据库上针对关键字key的索引方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018205137A1 (en) * 2017-05-09 2018-11-15 Accenture Global Solutions Limited Data storage layer index for efficient information retrieval
WO2018223995A1 (zh) * 2017-06-07 2018-12-13 众安信息技术服务有限公司 实现区块链跨链通信的方法、装置及系统
CN108595720A (zh) * 2018-07-12 2018-09-28 中国科学院深圳先进技术研究院 一种区块链时空数据查询方法、系统及电子设备
CN109165224A (zh) * 2018-08-24 2019-01-08 东北大学 一种在区块链数据库上针对关键字key的索引方法

Also Published As

Publication number Publication date
CN109885615A (zh) 2019-06-14

Similar Documents

Publication Publication Date Title
CN109885615B (zh) 一种基于索引的面向区块链轻客户端的范围查询可验证查询方法
US11392550B2 (en) System and method for investigating large amounts of data
Zhang et al. Gem^ 2-tree: A gas-efficient structure for authenticated range queries in blockchain
US11841736B2 (en) Immutable logging of access requests to distributed file systems
EP3485421B1 (en) Fragmenting data for the purposes of persistent storage across multiple immutable data structures
US10121019B2 (en) Storing differentials of files in a distributed blockchain
US11283616B2 (en) Method for index-based and integrity-assured search in a blockchain
US20170366353A1 (en) Generation of hash values within a blockchain
US20180285479A1 (en) Scalable audit analytics
KR100971863B1 (ko) 네트워크 문서의 배치화된 인텍싱을 위한 시스템 및 방법
CN106021256A (zh) 使用基于云的对象存储的消除重复分布式文件系统
US20130191523A1 (en) Real-time analytics for large data sets
WO2018175336A1 (en) Apparatus and method for distributed query processing utilizing dynamically generated in-memory term maps
JP6449093B2 (ja) 秘匿化データベースシステム及び秘匿化データ管理方法
CN109766389B (zh) 一种基于位图索引的区块链轻客户端验证查询方法
Li et al. Integrity-verifiable conjunctive keyword searchable encryption in cloud storage
EP3652662A1 (en) Immutable datastore for low-latency reading and writing of large data sets
CN102968591B (zh) 基于行为片段共享的恶意软件特征聚类分析方法及系统
CN111651525A (zh) 区块链数据存储方法和装置
US20220188340A1 (en) Tracking granularity levels for accessing a spatial index
Hauger et al. NoSQL databases: forensic attribution implications
Schales et al. FCCE: highly scalable distributed feature collection and correlation engine for low latency big data analytics
Tang et al. Outsourcing multi-version key-value stores with verifiable data freshness
US9338220B1 (en) System and method to anonymize data transmitted to a destination computing device
Wei et al. Integrity assurance for outsourced databases without DBMS modification

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