一种支付验证方法、支付验证节点、全量节点及存储介质技术

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

【技术实现步骤摘要】
一种支付验证方法、支付验证节点、全量节点及存储介质
本专利技术涉及通信技术,尤其涉及一种支付验证方法、支付验证节点、全量节点及存储介质。
技术介绍
区块链技术及其应用正在颠覆现有的业务模式。由于区块链本身防篡改和可追溯等特点,各行各业都在积极探索将自身业务在区块链网络中实现,其中包括金融机构,政府部门,传统企业,互联网公司等等。在比特币系统中,支付验证为交易的确认过程。例如,甲方收到来自乙方的一个通知,乙方声称已经从自身账户中汇款一定数额的钱给甲方,甲方需要确认这笔钱已经在区块链上得到共识,以及具体的确认数,之后,甲方才会执行相应的实际交易。在实现本专利技术的过程中,专利技术人发现现有技术中至少存在如下问题:简单支付验证(SimplifiedPaymentVerification,SPV)节点只存储区块头信息,并不存储具体的区块信息。在实际支付验证过程中,SPV节点会构建布隆过滤器,将布隆过滤器发送给全量节点,由全量节点逐一遍历区块链中的区块的所有交易,获取备选交易以发送给SPV节点,进行后续支付验证。然而,随着交易越来越多,区块也越来越多,采用该支付验证方法的效率较低。
技术实现思路
本专利技术实施例提供一种支付验证方法、支付验证节点、全量节点及存储介质,在进行支付验证时,支付验证节点可以根据区块头信息中增加的交易哈希组合值,先进行区块的过滤,从而减少了全量节点需要过滤的区块,提高了支付验证的效率。本专利技术实施例的技术方案是这样实现的:第一方面,本专利技术实施例提供一种支付验证方法,应用与支付验证节点,所述支付验证节点中存储区块链中每个区块的区块头信息,所述区块头信息中包括对应区块中全部哈希值进行按位或运算获得的交易哈希组合值,所述方法包括:获取目标哈希值,并根据所述目标哈希值和所述交易哈希组合值,对所述区块链进行遍历,确定备选区块列表;若所述备选区块列表中区块高度数量大于预设备选阈值,根据所述目标哈希值构建布隆过滤器;将所述布隆过滤器和所述备选区块列表发送至全量节点,并接收所述全量节点根据所述布隆过滤器和所述备选区块列表确定的交易备选列表;根据所述交易备选列表获取目标交易对应的目标默克尔树,并根据所述目标默克尔树进行支付验证。在上述方法中,所述根据所述目标哈希值和所述交易哈希组合值,对所述区块链进行区块头遍历,确定备选区块列表,包括:按照从最高区块向创世区块的遍历顺序,依次将每个所述交易哈希组合值分别与所述目标哈希值进行按位与运算,获得所述区块链中每个区块对应的运算结果;从所述运算结果中确定大于零的目标运算结果;获取所述区块链中所述目标运算结果对应的区块的区块高度;将所述区块高度加入所述备选区块列表。在上述方法中,所述根据所述交易备选列表获取目标交易对应的目标默克尔树,包括:从所述交易备选列表中确定所述目标哈希值对应的所述目标交易;根据所述目标交易确定目标区块高度;将所述目标区块高度发送至所述全量节点,并接收所述全量节点根据所述目标区块高度获取的所述目标默克尔树。在上述方法中,所述确定备选区块列表之后,所述方法还包括:若所述备选区块列表中所述区块高度数量小于或等于所述预设备选阈值,将所述备选区块列表中的区块高度发送给所述全量节点;接收所述全量节点根据所述备选区块列表中的区块高度获取的所述目标默克尔树,并根据所述目标默克尔树进行支付验证。第二方面,本专利技术实施例提供一种支付验证方法,应用于全量节点,所述全量节点中存储区块链,所述方法包括:接收支付验证节点发送的布隆过滤器和备选区块列表;根据所述布隆过滤器对所述备选区块列表对应的备选区块进行交易列表遍历,获得交易备选列表;将所述交易备选列表发送至所述支付验证节点,并接收所述支付验证节点根据所述交易备选列表筛选后确定的目标区块高度;根据所述目标区块高度获取目标默克尔树;将所述目标默克尔树发送至所述支付验证节点,以供所述支付验证节点进行支付验证。在上述方法中,所述根据所述布隆过滤器对所述备选区块列表对应的备选区块进行交易列表遍历,获得交易备选列表,包括:根据所述备选区块列表中的区块高度,从所述区块链中确定所述备选区块;获取所述备选区块中的交易列表;根据所述布隆过滤器对所述交易列表中每个交易分别进行匹配,获得所述交易列表中每个交易对应的匹配结果;从所述匹配结果中确定匹配成功的目标匹配结果;将所述目标匹配结果对应的交易加入所述交易备选列表。在上述方法中,所述将所述目标默克尔树发送至所述支付验证节点,以供所述支付验证节点进行支付验证之前,所述方法还包括:接收所述支付验证节点发送的所述备选区块列表中的区块高度;从所述区块链中确定所述备选区块列表中的区块高度的匹配区块,并从所述匹配区块中获取所述目标默克尔树。第三方面,本专利技术实施例提供一种支付验证节点,所述支付验证节点包括:第一处理器、第一存储器和第一通信总线;所述第一通信总线用于实现所述第一处理器和所述第一存储器之间的连接通信;所述第一存储器中存储区块链中每个区块的区块头信息,所述区块头信息中包括对应区块中全部哈希值进行按位或运算获得的交易哈希组合值;所述第一处理器用于执行所述第一存储器中存储的第一支付验证程序,以实现以下步骤:获取目标哈希值,并根据所述目标哈希值和所述交易哈希组合值,对所述区块链进行遍历,确定备选区块列表;若所述备选区块列表中区块高度数量大于预设备选阈值,根据所述目标哈希值构建布隆过滤器;将所述布隆过滤器和所述备选区块列表发送至全量节点,并接收所述全量节点根据所述布隆过滤器和所述备选区块列表确定的交易备选列表;根据所述交易备选列表获取目标交易对应的目标默克尔树,并根据所述目标默克尔树进行支付验证。在上述支付验证节点中,所述第一处理器,具体用于执行所述第一支付验证程序,以实现以下步骤:按照从最高区块向创世区块的遍历顺序,依次将每个所述交易哈希组合值分别与所述目标哈希值进行按位与运算,获得所述区块链中每个区块对应的运算结果;从所述运算结果中确定大于零的目标运算结果;获取所述区块链中所述目标运算结果对应的区块的区块高度;将所述区块高度加入所述备选区块列表。在上述支付验证节点中,所述第一处理器,具体用于执行所述第一支付验证程序,以实现以下步骤:从所述交易备选列表中确定所述目标哈希值对应的所述目标交易;根据所述目标交易确定目标区块高度;将所述目标区块高度发送至所述全量节点,并接收所述全量节点根据所述目标区块高度获取的所述目标默克尔树。在上述支付验证节点中,所述第一处理器在所述确定备选区块列表之后,还用于执行所述第一支付验证程序,以实现以下步骤:若所述备选区块列表中所述区块高度数量小于或等于所述预设备选阈值,将所述备选区块列表中的区块高度发送给所述全量节点;接收所述全量节点根据所述备选区块列本文档来自技高网...

【技术保护点】
1.一种支付验证方法,其特征在于,应用于支付验证节点,所述支付验证节点中存储区块链中每个区块的区块头信息,所述区块头信息中包括对应区块中全部哈希值进行按位或运算获得的交易哈希组合值,所述方法包括:/n获取目标哈希值,并根据所述目标哈希值和所述交易哈希组合值,对所述区块链进行遍历,确定备选区块列表;/n若所述备选区块列表中区块高度数量大于预设备选阈值,根据所述目标哈希值构建布隆过滤器;/n将所述布隆过滤器和所述备选区块列表发送至全量节点,并接收所述全量节点根据所述布隆过滤器和所述备选区块列表确定的交易备选列表;/n根据所述交易备选列表获取目标交易对应的目标默克尔树,并根据所述目标默克尔树进行支付验证。/n

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


2.根据权利要求1所述的方法,其特征在于,所述根据所述目标哈希值和所述交易哈希组合值,对所述区块链进行区块头遍历,确定备选区块列表,包括:
按照从最高区块向创世区块的遍历顺序,依次将每个所述交易哈希组合值分别与所述目标哈希值进行按位与运算,获得所述区块链中每个区块对应的运算结果;
从所述运算结果中确定大于零的目标运算结果;
获取所述区块链中所述目标运算结果对应的区块的区块高度;
将所述区块高度加入所述备选区块列表。


3.根据权利要求1所述的方法,其特征在于,所述根据所述交易备选列表获取目标交易对应的目标默克尔树,包括:
从所述交易备选列表中确定所述目标哈希值对应的所述目标交易;
根据所述目标交易确定目标区块高度;
将所述目标区块高度发送至所述全量节点,并接收所述全量节点根据所述目标区块高度获取的所述目标默克尔树。


4.根据权利要求1所述的方法,其特征在于,所述确定备选区块列表之后,所述方法还包括:
若所述备选区块列表中所述区块高度数量小于或等于所述预设备选阈值,将所述备选区块列表中的区块高度发送给所述全量节点;
接收所述全量节点根据所述备选区块列表中的区块高度获取的所述目标默克尔树,并根据所述目标默克尔树进行支付验证。


5.一种支付验证方法,其特征在于,应用于全量节点,所述全量节点中存储区块链,所述方法包括:
接收支付验证节点发送的布隆过滤器和备选区块列表;
根据所述布隆过滤器对所述备选区块列表对应的备选区块进行交易列表遍历,获得交易备选列表;
将所述交易备选列表发送至所述支付验证节点,并接收所述支付验证节点根据所述交易备选列表筛选后确定的目标区块高度;
根据所述目标区块高度获取目标默克尔树;
将所述目标默克尔树发送至所述支付验证节点,以供所述支付验证节点进行支付验证。


6.根据权利要求5所述的方法,其特征在于,所述根据所述布隆过滤器对所述备选区块列表对应的备选区块进行交易列表遍历,获得交易备选列表,包括:
根据所述备选区块列表中的区块高度,从所述区块链中确定所述备选区块;
获取所述备选区块中的交易列表;
根据所述布隆过滤器对所述交易列表中每个交易分别进行匹配,获得所述交易列表中每个交易对应的匹配结果;
从所述匹配结果中确定匹配成功的目标匹配结果;
将所述目标匹配结果对应的交易加入所述交易备选列表。


7.根据权利要求5所述的方法,其特征在于,所述将所述目标默克尔树发送至所述支付验证节点,以供所述支付验证节点进行支付验证之前,所述方法还包括:
接收所述支付验证节点发送的所述备选区块列表中的区块高度;
从所述区块链中确定所述备选区块列表中的区块高度的匹配区块,并从所述匹配区块中获取所述目标默克尔树。


8.一种支付验证节点,其特征在于,所述支付验证节点包括:第一处理器、第一存储器和第一通信总线;
所述第一通信总线用于实现所述第一处理器和所述第一存储器之间的连接通信;
所述第一存储器中存储区块链中每个区块的区块头信息,所述区块头信息中包括对应区块中全部哈希值进行按位或运算获得的交易哈希组合值;
所述第一处理器用于执行所述第一存储器中...

【专利技术属性】
技术研发人员:邵珠光孙海波张伟李宏旭
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1