一种支付验证方法、支付验证节点、全量节点及存储介质与流程

文档序号:22502226发布日期:2020-10-13 09:36阅读:来源:国知局

技术特征:

1.一种支付验证方法,其特征在于,应用于支付验证节点,所述支付验证节点中存储区块链中每个区块的区块头信息,所述区块头信息中包括对应区块中全部哈希值进行按位或运算获得的交易哈希组合值,所述方法包括:

获取目标哈希值,并根据所述目标哈希值和所述交易哈希组合值,对所述区块链进行遍历,确定备选区块列表;

若所述备选区块列表中区块高度数量大于预设备选阈值,根据所述目标哈希值构建布隆过滤器;

将所述布隆过滤器和所述备选区块列表发送至全量节点,并接收所述全量节点根据所述布隆过滤器和所述备选区块列表确定的交易备选列表;

根据所述交易备选列表获取目标交易对应的目标默克尔树,并根据所述目标默克尔树进行支付验证。

2.根据权利要求1所述的方法,其特征在于,所述根据所述目标哈希值和所述交易哈希组合值,对所述区块链进行区块头遍历,确定备选区块列表,包括:

按照从最高区块向创世区块的遍历顺序,依次将每个所述交易哈希组合值分别与所述目标哈希值进行按位与运算,获得所述区块链中每个区块对应的运算结果;

从所述运算结果中确定大于零的目标运算结果;

获取所述区块链中所述目标运算结果对应的区块的区块高度;

将所述区块高度加入所述备选区块列表。

3.根据权利要求1所述的方法,其特征在于,所述根据所述交易备选列表获取目标交易对应的目标默克尔树,包括:

从所述交易备选列表中确定所述目标哈希值对应的所述目标交易;

根据所述目标交易确定目标区块高度;

将所述目标区块高度发送至所述全量节点,并接收所述全量节点根据所述目标区块高度获取的所述目标默克尔树。

4.根据权利要求1所述的方法,其特征在于,所述确定备选区块列表之后,所述方法还包括:

若所述备选区块列表中所述区块高度数量小于或等于所述预设备选阈值,将所述备选区块列表中的区块高度发送给所述全量节点;

接收所述全量节点根据所述备选区块列表中的区块高度获取的所述目标默克尔树,并根据所述目标默克尔树进行支付验证。

5.一种支付验证方法,其特征在于,应用于全量节点,所述全量节点中存储区块链,所述方法包括:

接收支付验证节点发送的布隆过滤器和备选区块列表;

根据所述布隆过滤器对所述备选区块列表对应的备选区块进行交易列表遍历,获得交易备选列表;

将所述交易备选列表发送至所述支付验证节点,并接收所述支付验证节点根据所述交易备选列表筛选后确定的目标区块高度;

根据所述目标区块高度获取目标默克尔树;

将所述目标默克尔树发送至所述支付验证节点,以供所述支付验证节点进行支付验证。

6.根据权利要求5所述的方法,其特征在于,所述根据所述布隆过滤器对所述备选区块列表对应的备选区块进行交易列表遍历,获得交易备选列表,包括:

根据所述备选区块列表中的区块高度,从所述区块链中确定所述备选区块;

获取所述备选区块中的交易列表;

根据所述布隆过滤器对所述交易列表中每个交易分别进行匹配,获得所述交易列表中每个交易对应的匹配结果;

从所述匹配结果中确定匹配成功的目标匹配结果;

将所述目标匹配结果对应的交易加入所述交易备选列表。

7.根据权利要求5所述的方法,其特征在于,所述将所述目标默克尔树发送至所述支付验证节点,以供所述支付验证节点进行支付验证之前,所述方法还包括:

接收所述支付验证节点发送的所述备选区块列表中的区块高度;

从所述区块链中确定所述备选区块列表中的区块高度的匹配区块,并从所述匹配区块中获取所述目标默克尔树。

8.一种支付验证节点,其特征在于,所述支付验证节点包括:第一处理器、第一存储器和第一通信总线;

所述第一通信总线用于实现所述第一处理器和所述第一存储器之间的连接通信;

所述第一存储器中存储区块链中每个区块的区块头信息,所述区块头信息中包括对应区块中全部哈希值进行按位或运算获得的交易哈希组合值;

所述第一处理器用于执行所述第一存储器中存储的第一支付验证程序,以实现以下步骤:

获取目标哈希值,并根据所述目标哈希值和所述交易哈希组合值,对所述区块链进行遍历,确定备选区块列表;若所述备选区块列表中区块高度数量大于预设备选阈值,根据所述目标哈希值构建布隆过滤器;将所述布隆过滤器和所述备选区块列表发送至全量节点,并接收所述全量节点根据所述布隆过滤器和所述备选区块列表确定的交易备选列表;根据所述交易备选列表获取目标交易对应的目标默克尔树,并根据所述目标默克尔树进行支付验证。

9.根据权利要求8所述的支付验证节点,其特征在于,所述第一处理器,具体用于执行所述第一支付验证程序,以实现以下步骤:

按照从最高区块向创世区块的遍历顺序,依次将每个所述交易哈希组合值分别与所述目标哈希值进行按位与运算,获得所述区块链中每个区块对应的运算结果;从所述运算结果中确定大于零的目标运算结果;获取所述区块链中所述目标运算结果对应的区块的区块高度;将所述区块高度加入所述备选区块列表。

10.根据权利要求8所述的支付验证节点,其特征在于,所述第一处理器,具体用于执行所述第一支付验证程序,以实现以下步骤:

从所述交易备选列表中确定所述目标哈希值对应的所述目标交易;根据所述目标交易确定目标区块高度;将所述目标区块高度发送至所述全量节点,并接收所述全量节点根据所述目标区块高度获取的所述目标默克尔树。

11.根据权利要求8所述的支付验证节点,其特征在于,所述第一处理器在所述确定备选区块列表之后,还用于执行所述第一支付验证程序,以实现以下步骤:

若所述备选区块列表中所述区块高度数量小于或等于所述预设备选阈值,将所述备选区块列表中的区块高度发送给所述全量节点;接收所述全量节点根据所述备选区块列表中的区块高度获取的所述目标默克尔树;根据所述目标默克尔树进行支付验证。

12.一种全量节点,其特征在于,所述全量节点包括:第二处理器、第二存储器和第二通信总线;

所述第二通信总线用于实现所述第二处理器和所述第二存储器之间的连接通信;

所述第二存储器中存储区块链;

所述第二处理器用于执行所述第二存储器中存储的第二支付验证程序,以实现以下步骤:

接收支付验证节点发送的布隆过滤器和备选区块列表;根据所述布隆过滤器对所述备选区块列表对应的备选区块进行交易列表遍历,获得交易备选列表;将所述交易备选列表发送至所述支付验证节点,并接收所述支付验证节点根据所述交易备选列表筛选后确定的目标区块高度;根据所述目标区块高度获取目标默克尔树,并将所述目标默克尔树发送至所述支付验证节点,以供所述支付验证节点进行支付验证。

13.根据权利要求12所述的全量节点,其特征在于,所述第二处理器具体用于执行所述第二支付验证程序,以实现以下步骤:

根据所述备选区块列表中的区块高度,从所述区块链中确定所述备选区块;获取所述备选区块中的交易列表;根据所述布隆过滤器对所述交易列表中每个交易分别进行匹配,获得所述交易列表中每个交易对应的匹配结果;若从所述匹配结果中确定匹配成功的目标匹配结果,将所述目标匹配结果对应的交易加入所述交易备选列表。

14.根据权利要求12所述的全量节点,其特征在于,所述第二处理器将所述目标默克尔树发送至所述支付验证节点,以供所述支付验证节点进行支付验证之前,还用于执行所述第二支付验证程序,以实现以下步骤:

接收所述支付验证节点发送的所述备选区块列表中的区块高度;从所述区块链中确定所述备选区块列表中的区块高度对应的匹配区块,并从所述匹配区块中获取所述目标默克尔树。

15.一种存储介质,其特征在于,应用于支付验证节点,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可以被一个或者多个处理器执行,以实现权利要求1-4任一项所述的方法。

16.一种存储介质,其特征在于,应用于全量节点,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可以被一个或者多个处理器执行,以实现权利要求5-7任一项所述的方法。


技术总结
本发明实施例提供一种支付验证方法,应用于支付验证节点,支付验证节点中存储区块链中每个区块的区块头信息,区块头信息中包括对应区块中全部哈希值进行按位或运算获得的交易哈希组合值,该方法包括:获取目标哈希值,并根据目标哈希值和交易哈希组合值,对区块链进行遍历,确定备选区块列表;若备选区块列表中区块高度数量大于预设备选阈值,根据目标哈希值构建布隆过滤器;将布隆过滤器和备选区块列表发送至全量节点,并接收全量节点根据布隆过滤器和备选区块列表确定的交易备选列表;根据交易备选列表获取目标交易对应的目标默克尔树,并根据目标默克尔树进行支付验证。

技术研发人员:邵珠光;孙海波;张伟;李宏旭
受保护的技术使用者:北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司
技术研发日:2019.04.24
技术公布日:2020.10.13
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1