区块链交易验证和支付验证

简单支付验证(Simplified Payment Verification, SPY)是一种无须维护完整的区块链信息,只需要保存所有的区块头部信息即可进行支付验证的技术。

该技术可以大大节省区块链支付验证用户的存储空间,减轻存储负担,降低区块链未来交易量剧增而给用户带来的压力。以比特币为例,节点只需保存所有区块头信息,即可进行交易支付验证。节点虽然不能独立验证交易,但能够从区块链其他节点获取交易验证的必要信息,从而完成交易支付验证,同时还可以得到整个区块链网络对交易的确认数。
SPY指的是区块链支付验证,与区块链交易验证有着很大差别。

区块链交易验证的过程较为复杂,包括余额验证、双重支付判断等,通常由保存区块链完整信息的区块链验证节点来完成。验证节点虽然可以精准无误地验证任何一笔交易,但需要拥有巨大的数据量。目前,比特币的数据量已经超过 100 GB,且随着区块链技术的普及,数据增量将越来越大。以比特币为例:
假设节点 A收到来自节点 B 的通知,节点 B 声称自己已经从账户中向节点 A 汇款了一定的金额区块链节点 A 进行交易验证的过程

1)节点 A 从创世区块开始查看全部的区块链公共账本,查找账本中保存的节点 B 的历史交易信息,如节点 B的汇款账户、历史收款人的地址、签名以及汇款金额等信息,查看节点 B的账户,判断该账户是否有足够的金额进行汇款,若余额不足,则说明该交易验证失败;
2)节点 A查看区块链公共账本,判断该笔金额是否存在双重支付,若存在,则说明该交易验证失败;
3)节点 A 判断节点 B是否是所提供账户的拥有者,若不是,则说明该交易验证失败。

区块链节点 A 利用 SPY进行支付验证的工作原理:

1)计算待验证支付的交易哈希值;
2)将区块链网络中已知最长链的所有区块头存储至本地;
3)从最长链中获得待验证支付的交易所对应的Merkle 树 Hash 认证路径;
4)计算路径上 Merkle-root 的 Hash值,并与本地存储的区块头所包含的Hash值进行比较,定位到待验证支付交易所在区块;
5)验证该区块的区块头是否已经包含在最长链中,如果是则证明支付真实有效;
6)根据该区块头在链中所处位置,确定该项支付获得的确认数量。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值