会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 区块链账本 / 区块链账本的查询方法及装置

区块链账本的查询方法及装置

申请号 CN201710698893.5 申请日 2017-08-15 公开(公告)号 CN107491519B 公开(公告)日 2020-07-28
申请人 中国联合网络通信集团有限公司; 发明人 田新雪; 马书惠;
摘要 本发明实施例提供一种区块链账本的查询方法及装置。该方法包括:向第一节点发送第一查询请求;接收第一节点发送的包括目标用户的交易信息的第一区块;获取第一区块的关联信息;从除了第一节点之外的其他节点获取第二区块的关联信息;通过比较第一区块的关联信息和第二区块的关联信息,确定第一区块是否为合法的区块。本发明实施例通过向第一节点发送第一查询请求,从第一节点获取包括目标用户的交易信息的第一区块,并且从除了第一节点之外的其他节点获取第二区块的关联信息,通过比较第一区块的关联信息和第二区块的关联信息,确定第一区块是否为合法的区块,避免查询获取到被黑客攻击的交易信息。
权利要求

1.一种区块链账本的查询方法,其特征在于,包括:向第一节点发送第一查询请求,所述第一查询请求包括目标用户的标识信息,所述第一查询请求用于查询获取所述第一节点存储的所述目标用户的交易信息;

接收所述第一节点发送的包括所述目标用户的交易信息的第一区块;

获取所述第一区块的关联信息,所述第一区块的关联信息包括第一区块标识和第一哈希值;

从除了所述第一节点之外的其他节点获取第二区块的关联信息,所述第二区块是其他节点存储的包括所述目标用户的交易信息的区块,所述第二区块的关联信息包括第二区块标识和第二哈希值中的至少一个;

通过比较所述第一区块的关联信息和所述第二区块的关联信息,确定所述第一区块是否为合法的区块。

2.根据权利要求1所述的方法,其特征在于,所述从除了所述第一节点之外的其他节点获取第二区块的关联信息,包括:向第二节点发送第二查询请求,所述第二查询请求包括所述第一区块标识;

接收所述第二节点发送的所述第一区块标识对应的第二哈希值。

3.根据权利要求2所述的方法,其特征在于,所述通过比较所述第一区块的关联信息和所述第二区块的关联信息,确定所述第一区块是否为合法的区块,包括:若所述第一哈希值和所述第二哈希值一致,则确定所述第一区块为合法的区块。

4.根据权利要求1所述的方法,其特征在于,所述从除了所述第一节点之外的其他节点获取第二区块的关联信息,包括:向第二节点发送所述第一查询请求;

接收所述第二节点发送的第二区块标识,第二区块是所述第二节点中包括所述目标用户的交易信息的区块;

向第三节点发送第二查询请求,所述第二查询请求包括所述第二区块标识;

接收第三节点发送的所述第二区块标识对应的第二哈希值。

5.根据权利要求4所述的方法,其特征在于,所述通过比较所述第一区块的关联信息和所述第二区块的关联信息,确定所述第一区块是否为合法的区块,包括:若所述第一区块标识和所述第二区块标识一致,且所述第一哈希值和所述第二哈希值一致,则确定所述第一区块为合法的区块。

6.一种区块链账本的查询装置,其特征在于,包括:发送模块,用于向第一节点发送第一查询请求,所述第一查询请求包括目标用户的标识信息,所述第一查询请求用于查询获取所述第一节点存储的所述目标用户的交易信息;

接收模块,用于接收所述第一节点发送的包括所述目标用户的交易信息的第一区块;

获取模块,用于获取所述第一区块的关联信息,所述第一区块的关联信息包括第一区块标识和第一哈希值;从除了所述第一节点之外的其他节点获取第二区块的关联信息,所述第二区块是其他节点存储的包括所述目标用户的交易信息的区块,所述第二区块的关联信息包括第二区块标识和第二哈希值中的至少一个;

比较确定模块,用于通过比较所述第一区块的关联信息和所述第二区块的关联信息,确定所述第一区块是否为合法的区块。

7.根据权利要求6所述的区块链账本的查询装置,其特征在于,所述发送模块还用于:向第二节点发送第二查询请求,所述第二查询请求包括所述第一区块标识;

所述接收模块还用于:接收所述第二节点发送的所述第一区块标识对应的第二哈希值。

8.根据权利要求7所述的区块链账本的查询装置,其特征在于,所述比较确定模块具体用于:若所述第一哈希值和所述第二哈希值一致,则确定所述第一区块为合法的区块。

9.根据权利要求6所述的区块链账本的查询装置,其特征在于,所述发送模块还用于:向第二节点发送所述第一查询请求;

所述接收模块还用于:接收所述第二节点发送的第二区块标识,第二区块是所述第二节点中包括所述目标用户的交易信息的区块;

所述发送模块还用于:向第三节点发送第二查询请求,所述第二查询请求包括所述第二区块标识;

所述接收模块还用于:接收第三节点发送的所述第二区块标识对应的第二哈希值。

10.根据权利要求9所述的区块链账本的查询装置,其特征在于,所述比较确定模块具体用于:若所述第一区块标识和所述第二区块标识一致,且所述第一哈希值和所述第二哈希值一致,则确定所述第一区块为合法的区块。

说明书全文

区块链账本的查询方法及装置

技术领域

[0001] 本发明实施例涉及通信技术领域,尤其涉及一种区块链账本的查询方法及装置。

背景技术

[0002] 区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
[0003] 区块链账本中存储有用户的交易信息,随着用户数量的增加,以及用户交易的增加,区块链账本中的交易信息不断的增加,对于区块链中的节点,有些节点可能无法实时的更新和保存完整的账本,如果没有完整的账本,则需要从其他节点中获取需要查询的交易信息,如果其他节点被黑客攻击,将导致该节点查询到的交易信息是被黑客伪造的,从而降低了区块链账本的查询安全性。

发明内容

[0004] 本发明实施例提供一种区块链账本的查询方法及装置,以提高区块链账本的查询安全性。
[0005] 本发明实施例的一个方面是提供一种区块链账本的查询方法,包括:
[0006] 向第一节点发送第一查询请求,所述第一查询请求包括目标用户的标识信息,所述第一查询请求用于查询获取所述第一节点存储的所述目标用户的交易信息;
[0007] 接收所述第一节点发送的包括所述目标用户的交易信息的第一区块;
[0008] 获取所述第一区块的关联信息,所述第一区块的关联信息包括第一区块标识和第一哈希值;
[0009] 从除了所述第一节点之外的其他节点获取第二区块的关联信息,所述第二区块是其他节点存储的包括所述目标用户的交易信息的区块,所述第二区块的关联信息包括第二区块标识和第二哈希值中的至少一个;
[0010] 通过比较所述第一区块的关联信息和所述第二区块的关联信息,确定所述第一区块是否为合法的区块。
[0011] 本发明实施例的另一个方面是提供一种区块链账本的查询装置,包括:
[0012] 发送模块,用于向第一节点发送第一查询请求,所述第一查询请求包括目标用户的标识信息,所述第一查询请求用于查询获取所述第一节点存储的所述目标用户的交易信息;
[0013] 接收模块,用于接收所述第一节点发送的包括所述目标用户的交易信息的第一区块;
[0014] 获取模块,用于获取所述第一区块的关联信息,所述第一区块的关联信息包括第一区块标识和第一哈希值;从除了所述第一节点之外的其他节点获取第二区块的关联信息,所述第二区块是其他节点存储的包括所述目标用户的交易信息的区块,所述第二区块的关联信息包括第二区块标识和第二哈希值中的至少一个;
[0015] 比较确定模块,用于通过比较所述第一区块的关联信息和所述第二区块的关联信息,确定所述第一区块是否为合法的区块。
[0016] 本发明实施例提供的区块链账本的查询方法及装置,通过向第一节点发送第一查询请求,从第一节点获取包括目标用户的交易信息的第一区块,并且从除了第一节点之外的其他节点获取第二区块的关联信息,第二区块是其他节点存储的包括目标用户的交易信息的区块,通过比较第一区块的关联信息和第二区块的关联信息,确定第一区块是否为合法的区块,避免查询获取到被黑客攻击的交易信息。

附图说明

[0017] 图1为本发明实施例提供的区块链账本的查询方法流程图;
[0018] 图2为本发明另一实施例提供的区块链账本的查询方法流程图;
[0019] 图3为本发明另一实施例提供的区块链账本的查询方法流程图;
[0020] 图4为本发明实施例提供的区块链账本的查询装置的结构图。

具体实施方式

[0021] 图1为本发明实施例提供的区块链账本的查询方法流程图。该方法步骤如下:
[0022] 步骤S101、向第一节点发送第一查询请求,所述第一查询请求包括目标用户的标识信息,所述第一查询请求用于查询获取所述第一节点存储的所述目标用户的交易信息。
[0023] 在本实施例中,本实施例的执行主体具体为区块链中的查询节点,查询节点需要从其他节点查询获得目标用户的交易信息,具体的,查询节点例如节点A向第一节点例如节点B发送第一查询请求,所述第一查询请求包括目标用户的标识信息,目标用户的标识信息具体可以是目标用户的公钥,例如,所述第一查询请求包括目标用户MM1的公钥,所述第一查询请求用于查询获取所述第一节点例如节点B存储的目标用户MM1的交易信息。
[0024] 步骤S102、接收所述第一节点发送的包括所述目标用户的交易信息的第一区块。
[0025] 节点B接收到所述第一查询请求后,查询本地账本,获取本地存储的包括目标用户MM1的交易信息的第一区块,并将第一区块发送给节点A,即将整个第一区块发送给节点A,并不只是将目标用户MM1的交易信息发送给节点A。
[0026] 步骤S103、获取所述第一区块的关联信息,所述第一区块的关联信息包括第一区块标识和第一哈希值。
[0027] 节点A接收到第一区块后,获取第一区块的第一区块标识例如区块号1和第一哈希值例如HASH-B,本实施例中,第一区块标识例如区块号1和第一哈希值例如HASH-B记为所述第一区块的关联信息。
[0028] 步骤S104、从除了所述第一节点之外的其他节点获取第二区块的关联信息,所述第二区块是其他节点存储的包括所述目标用户的交易信息的区块,所述第二区块的关联信息包括第二区块标识和第二哈希值中的至少一个。
[0029] 由于目标用户的交易信息不仅存储在节点B,还有可能存储在其他节点,如果节点B被黑客攻击,则节点A接收到的第一区块中记录的交易信息可能是被黑客修改过的交易信息,因此,节点A需要验证第一区块是否为合法的区块,具体的验证方法可以是:节点A从除了节点B之外的其他节点获取第二区块的关联信息,所述第二区块是其他节点存储的包括所述目标用户的交易信息的区块,所述第二区块的关联信息包括第二区块标识和第二哈希值中的至少一个。
[0030] 步骤S105、通过比较所述第一区块的关联信息和所述第二区块的关联信息,确定所述第一区块是否为合法的区块。
[0031] 节点A通过比较所述第一区块的关联信息和所述第二区块的关联信息,确定所述第一区块是否为合法的区块,具体的,如果所述第一区块的关联信息和所述第二区块的关联信息一致,则节点A确定所述第一区块是合法的区块;如果所述第一区块的关联信息和所述第二区块的关联信息不一致,则节点A确定所述第一区块是不合法的区块。
[0032] 本发明实施例通过向第一节点发送第一查询请求,从第一节点获取包括目标用户的交易信息的第一区块,并且从除了第一节点之外的其他节点获取第二区块的关联信息,第二区块是其他节点存储的包括目标用户的交易信息的区块,通过比较第一区块的关联信息和第二区块的关联信息,确定第一区块是否为合法的区块,避免查询获取到被黑客攻击的交易信息。
[0033] 图2为本发明另一实施例提供的区块链账本的查询方法流程图。在上述实施例的基础上,本实施例提供的区块链账本的查询方法包括如下步骤:
[0034] 步骤S201、向第一节点发送第一查询请求,所述第一查询请求包括目标用户的标识信息,所述第一查询请求用于查询获取所述第一节点存储的所述目标用户的交易信息。
[0035] 步骤S202、接收所述第一节点发送的包括所述目标用户的交易信息的第一区块。
[0036] 步骤S203、获取所述第一区块的关联信息,所述第一区块的关联信息包括第一区块标识和第一哈希值。
[0037] 步骤S201-步骤S203与步骤S101-步骤S103的原理和实现方式一致,此处不再赘述。
[0038] 步骤S204、向第二节点发送第二查询请求,所述第二查询请求包括所述第一区块标识。
[0039] 节点A从除了节点B之外的其他节点获取第二区块的关联信息的方法具体可以是:节点A向第二节点例如节点C发送第二查询请求,所述第二查询请求包括所述第一区块标识例如区块号1,节点A通过向节点C发送第二查询请求以请求获取节点C中存储的区块号1标识的区块对应的哈希值,此处将节点C中存储的区块号1标识的区块对应的哈希值记为第二哈希值。
[0040] 步骤S205、接收所述第二节点发送的所述第一区块标识对应的第二哈希值。
[0041] 节点C接收到第二查询请求后,根据第二查询请求中的区块号1查询本地存储的区块号1对应的区块,并将该区块的哈希值即第二哈希值例如HASH-C发送给节点A。
[0042] 步骤S206、若所述第一哈希值和所述第二哈希值一致,则确定所述第一区块为合法的区块。
[0043] 节点A比较HASH-B和HASH-C,如果HASH-B和HASH-C一致,则节点A确定第一区块为合法的区块,如果HASH-B和HASH-C不一致,则点A确定第一区块为不合法的区块,第一区块可能被黑客攻击。
[0044] 本发明实施例通过向第一节点发送第一查询请求,从第一节点获取包括目标用户的交易信息的第一区块,并且从除了第一节点之外的其他节点获取第二区块的关联信息,第二区块是其他节点存储的包括目标用户的交易信息的区块,通过比较第一区块的关联信息和第二区块的关联信息,确定第一区块是否为合法的区块,避免查询获取到被黑客攻击的交易信息。
[0045] 图3为本发明另一实施例提供的区块链账本的查询方法流程图。在上述实施例的基础上,本实施例提供的区块链账本的查询方法包括如下步骤:
[0046] 步骤S301、向第一节点发送第一查询请求,所述第一查询请求包括目标用户的标识信息,所述第一查询请求用于查询获取所述第一节点存储的所述目标用户的交易信息。
[0047] 步骤S302、接收所述第一节点发送的包括所述目标用户的交易信息的第一区块。
[0048] 步骤S303、获取所述第一区块的关联信息,所述第一区块的关联信息包括第一区块标识和第一哈希值。
[0049] 步骤S301-步骤S303与步骤S101-步骤S103的原理和实现方式一致,此处不再赘述。
[0050] 步骤S304、向第二节点发送所述第一查询请求。
[0051] 节点A从除了节点B之外的其他节点获取第二区块的关联信息的方法具体可以是:节点A向第二节点例如节点C发送第一查询请求,根据上述实施例可知,所述第一查询请求包括目标用户的标识信息,目标用户的标识信息具体可以是目标用户的公钥,例如,所述第一查询请求包括目标用户MM1的公钥。节点C接收到所述第一查询请求后,查询本地账本,获取本地存储的包括目标用户MM1的交易信息的第二区块,并将第二区块的标识信息发送给节点A。
[0052] 步骤S305、接收所述第二节点发送的第二区块标识,第二区块是所述第二节点中包括所述目标用户的交易信息的区块。
[0053] 节点A接收节点C发送的第二区块的标识信息即第二区块标识,例如区块号2,第二区块即区块号2标识的区块是节点C中存储的包括目标用户MM1的交易信息的区块。
[0054] 步骤S306、向第三节点发送第二查询请求,所述第二查询请求包括所述第二区块标识。
[0055] 节点A向第三节点例如节点D发送第二查询请求,所述第二查询请求包括第二区块标识例如区块号2,节点A通过向节点D发送第二查询请求以请求获取节点D中存储的区块号2标识的区块对应的哈希值,此处将节点D中存储的区块号2标识的区块对应的哈希值记为第二哈希值例如HASH-D。
[0056] 步骤S307、接收第三节点发送的所述第二区块标识对应的第二哈希值。
[0057] 节点A接收节点D发送的第二区块标识例如区块号2对应的第二哈希值例如HASH-D。
[0058] 步骤S308、若所述第一区块标识和所述第二区块标识一致,且所述第一哈希值和所述第二哈希值一致,则确定所述第一区块为合法的区块。
[0059] 节点A比较区块号1和区块号2,以及比较HASH-B和HASH-D,如果区块号1和区块号2一致,且HASH-B和HASH-D一致,则确定第一区块为合法的区块,如果区块号1和区块号2不一致,或者HASH-B和HASH-D不一致,则点A确定第一区块为不合法的区块,第一区块可能被黑客攻击。
[0060] 本发明实施例通过向第一节点发送第一查询请求,从第一节点获取包括目标用户的交易信息的第一区块,并且从除了第一节点之外的其他节点获取第二区块的关联信息,第二区块是其他节点存储的包括目标用户的交易信息的区块,通过比较第一区块的关联信息和第二区块的关联信息,确定第一区块是否为合法的区块,避免查询获取到被黑客攻击的交易信息。
[0061] 图4为本发明实施例提供的区块链账本的查询装置的结构图。本发明实施例提供的区块链账本的查询装置可以执行区块链账本的查询方法实施例提供的处理流程,如图4所示,区块链账本的查询装置40包括:发送模块41、接收模块42、获取模块43、比较确定模块44,其中,发送模块41用于向第一节点发送第一查询请求,所述第一查询请求包括目标用户的标识信息,所述第一查询请求用于查询获取所述第一节点存储的所述目标用户的交易信息;接收模块42用于接收所述第一节点发送的包括所述目标用户的交易信息的第一区块;
获取模块43用于获取所述第一区块的关联信息,所述第一区块的关联信息包括第一区块标识和第一哈希值;从除了所述第一节点之外的其他节点获取第二区块的关联信息,所述第二区块是其他节点存储的包括所述目标用户的交易信息的区块,所述第二区块的关联信息包括第二区块标识和第二哈希值中的至少一个;比较确定模块44用于通过比较所述第一区块的关联信息和所述第二区块的关联信息,确定所述第一区块是否为合法的区块。
[0062] 本发明实施例提供的区块链账本的查询装置可以具体用于执行上述图1或图3所提供的方法实施例,具体功能此处不再赘述。
[0063] 本发明实施例通过向第一节点发送第一查询请求,从第一节点获取包括目标用户的交易信息的第一区块,并且从除了第一节点之外的其他节点获取第二区块的关联信息,第二区块是其他节点存储的包括目标用户的交易信息的区块,通过比较第一区块的关联信息和第二区块的关联信息,确定第一区块是否为合法的区块,避免查询获取到被黑客攻击的交易信息。
[0064] 在上述实施例的基础上,发送模块41还用于:向第二节点发送第二查询请求,所述第二查询请求包括所述第一区块标识;接收模块42还用于:接收所述第二节点发送的所述第一区块标识对应的第二哈希值。相应的,比较确定模块44具体用于:若所述第一哈希值和所述第二哈希值一致,则确定所述第一区块为合法的区块。
[0065] 或者,发送模块41还用于:向第二节点发送所述第一查询请求;接收模块42还用于:接收所述第二节点发送的第二区块标识,第二区块是所述第二节点中包括所述目标用户的交易信息的区块;发送模块41还用于:向第三节点发送第二查询请求,所述第二查询请求包括所述第二区块标识;接收模块42还用于:接收第三节点发送的所述第二区块标识对应的第二哈希值。相应的,比较确定模块44具体用于:若所述第一区块标识和所述第二区块标识一致,且所述第一哈希值和所述第二哈希值一致,则确定所述第一区块为合法的区块。
[0066] 本发明实施例提供的区块链账本的查询装置可以具体用于执行上述图2或图3所提供的方法实施例,具体功能此处不再赘述。
[0067] 本发明实施例通过向第一节点发送第一查询请求,从第一节点获取包括目标用户的交易信息的第一区块,并且从除了第一节点之外的其他节点获取第二区块的关联信息,第二区块是其他节点存储的包括目标用户的交易信息的区块,通过比较第一区块的关联信息和第二区块的关联信息,确定第一区块是否为合法的区块,避免查询获取到被黑客攻击的交易信息。
[0068] 综上所述,本发明实施例通过向第一节点发送第一查询请求,从第一节点获取包括目标用户的交易信息的第一区块,并且从除了第一节点之外的其他节点获取第二区块的关联信息,第二区块是其他节点存储的包括目标用户的交易信息的区块,通过比较第一区块的关联信息和第二区块的关联信息,确定第一区块是否为合法的区块,避免查询获取到被黑客攻击的交易信息。
[0069] 在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0070] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0071] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0072] 上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0073] 本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0074] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。