BTCs
点击进入

区块链,通往数字化资产之路

发布日期:2022-01-12 09:54:25   浏览量 :320
unknown unknown 发布日期:2022-01-12 09:54:25  
320

Bitcoin-spv

《区块链,通往数字化资产之路》之SPV验证



区块链节点利用SPV对支付进行验证的工作原理如下



①计算待验证支付的交易哈希值;

②节点从区块链网络上获取并存储最长链的所有区块头至本地;

③节点从区块链获取待验证支付对应的默克尔树哈希认证路径;

4根据哈希认证路径,计算默克尔树的根哈希值,将计算结果与本地区块头中的默克尔树的根哈希值进行比较,定位到包含待验证支付的区块⑤验证该区块的区块头是否已经包含在已知最长链中,如果包含则证明支付真实有效;

6根据该区块头所处的位置,确定该支付已经得到的确认数量。




上述第三部中,SPV在实现上涉及到一个问题,如何才能通过交易特征值(比如tx_hash)来定位到该支付交易所在的区块?原有协议中,可以通过getheaders 命令来获block headers,可以通过 getdata 命令支持获取指定的 block,但不支持通过 txhash 反向查找所在的 block。为了定位 block,客户端往往不得不下载整个区块链。比特币提供了一种叫做布降过滤器(Bloom filter)的功能,节点会APP内打开个这样的过滤

限制只接受 从而能过滤掉大量不相关数据,减少客户端不必要的下载量。

支付
节点
区块
哈希值