绿色排版工具|热门专题|网站地图|移动官网
您的当前位置:网站首页 > 产品经理 > 正文

入门区块链07 ∣ 一文搞懂SPV简单支付验证

来源:[db:来源] 编辑:admin 时间:2018-05-18 19:42:12 阅读:

入门区块链07 ∣ 一文搞懂SPV简单支付验证

0 引言

在上一期中我们学习了比特币网络的内部结构,其中我们提到了SPV简单支付验证通过区块头进行交易验证,这期我们将着重说明SPV简单支付验证这个概念。

1 节点的分类

比特币网络中的节点是不一样的,主要包括全节点、轻节点和SPV节点。

全节点是指维持包含全部交易信息的完整区块链的节点。更加准确地说,这样的节点应当被称为完整区块链节点”。在比特币发展的早期,所有节点都是全节点;当前的比特币核心客户端也是完整区块链节点。但随着区块链网络的数据的增多,出现了新型的节点。

许多比特币客户端被设计成运行在空间和功率受限的设备上,如智能电话、平板电脑、嵌入式系统等。对于这样的设备,通过简化的支付验证(SPV)的方式可以使它们在不必存储完整区块链的情况下进行工作。这种类型的客端被称为轻节点和SPV节点。

2 SPV节点和轻节点的区别

轻节点指的是节点本地只保存与其自身相关的交易数据(尤其是可支配交易数据),但并不保存完整区块链信息的技术。SPV的目标是验证某个支付是否真实存在,并得到了多少个确认。

比如小明收到来自小红的一个通知,小红声称已经从其账户中汇款一定数额的钱给了小明。如何快速验证该支付的真实性,是SPV的工作目标。

轻节点的目标不仅是支付验证,而且是用于管理节点自身的资产收入、支付等信息。比如小明使用轻节点管理自身在区块链的收入信息、支出信息,在本地只保存与小明自身相关的交易数据,尤其是可支配交易数据。

轻钱包与SPV的最大区别是,轻节点仍需下载每个新区块的全部数据并进行解析,获取并在本地存储与自身相关的交易数据,只是无须在本地保存全部数据而已。而SPV节点不需要下载新区块的全部数据,只需要保存区块头部信息即可。虽然轻节点部分借鉴了SPV的理念,但和SPV是完全不同的。

3 支付验证和交易验证的区别

SPV节点进行的是区块链支付验证,而不是区块链交易验证。这两种验证方式存在很大的区别。

区块链交易验证的过程比较复杂,包括账户余额验证、双重支付判断等,通常由保存区块链完整信息的区块链验证节点来完成。

而支付验证的过程比较简单,只是判断该笔支付交易是否已经得到了区块链节点共识验证,并得到了多少的确认数即可。

简单的说就是交易验证要检验这个交易是否合法,支付验证就是验证这笔交易是否已经存在。

4 SPV支付验证的实现步骤

图文精选:

栏目分类

Copyright©2012-2019 小蚂蚁信息网版权所有 粤ICP备14061018号-1


郑重声明:本网站资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有,如有不愿意被转载的情况,请通知我们删除已转载的信息。

Top