精通比特币:全节点和简易支付验证

作者: loloooo | 来源:发表于2018-02-25 21:37 被阅读287次

小姐姐带你5分钟读懂比特币的全节点和简易支付验证(SPV)节点

 full  nodes and simplified payment verification

概念:

什么是全节点:

维持包含全部交易信息的完整区块链的节点 。

什么是简易支付验证节点(SPV节点):

为了便于操作和实时交易的需求,出现了许多可以在手机,平板电脑,嵌入式系统用了使用的比特币客户端,但是,这样的设备由于空间和功率的有限性,是必须通过另外一种方式进行支付验证,这就诞生了简易支付验证,简称SPV(Simplified Payment Verification)。

全节点和简易支付验证节点的对比

一:存储数据的区别:

1)全节点下载每个块的交易信息

2)简易支付验证节点只需下载区块头

二:下载的存储数据的大小的区别:

1)全节点:1000

2)简易支付验证节点:1/1000(全节点的)

三:关于UTXO数据库:

1)全节点:所有区块的未花费的UTXO库

2)SPV节点:没有UTXO库

四:验证交易的方法的不同:

1)全节点: 参考交易在区块链中的高度来验证(工作量证明)

 构造一条验证链,这条链由按照时间倒序,一直追溯到创世区块的数千条区块以及交易组成

2)SPV节点:通过参考交易在区块链中的深度来证明

一个spv节点会验证所有区块的链(不包括所有交易),并且把区块链和有关交易连接起来。

举个例例:节点小花 (全节点)和节点小草(spv)

节点小花 :作为为一个全节点,想要检查999号区块中的某个交易,你就要把从这个区块开始一直追溯到创世区块的999个区块全部连接起来,然后建立一个完整的utxo数据库,通过确认该utxo是否还未被支付来证实交易的有效性。

节点小草作为一个spv节点,不能验证utxo是否还未被支付,小草会在该交易信息和它所在的区块之间用一个merkle路径建立一条链接,接下来小草就一直等着啊等,直到序号1000到1006的6个区块堆叠在该交易所在的区块上,并且通过确立交易的深度是在第1000-1006之下来验证交易的有效性。

如果网络中其他节点都接受了第999区块,并通过足够的工作在该块之上又生成了6个区块,根据代理网关协议,就可以证明该交易不是双重支付。

五:安全性

spv由于没有全部的交易记录,不能验证某个交易不存在,这个漏洞会被针对spv节点的拒绝服务或者双重支付攻击利用。

六:如何防御?

spv节点需要随机链接多个节点,增加与至少一个可靠节点相连接的概率,但是这种随机链接的需求也会容易受到网络分区和sybil攻击。

sybil攻击使得spv节点没有通过可靠或者真正的比特币网络的连接而是被被链接到虚拟节点或者虚假网络中。

备注:扫盲sybil攻击 :女巫攻击

七:获取区块的过程

spv节点使用getheaders 消息获取区块头,发出的响应的对等节点将用于一条headers消息发送多达2000个区块头,全节点也是用同样的方式。spv节点在与对等节点的链接上设置了过滤器,用来过滤从对等节点发送来的未来区块和交易数据流。另外spv的过滤器也避免了在调用特殊交易请求时可能出现的隐私问题。

2018.2.25

lola

小姐姐的打赏地址:(imToKen)

0x9a91F261dDA8619fC8E022886D293e0f64FA9e8c

相关文章

  • 精通比特币:全节点和简易支付验证

    小姐姐带你5分钟读懂比特币的全节点和简易支付验证(SPV)节点 full nodes and simplified...

  • 04比特币及区块链常见问题-挖矿相关

    比特币挖矿相关问题 1、比特币节点 运行区块链软件的计算机就是一一个节点· 每个比特币钱包都是一一个节点 全节点·...

  • Ulord主节点用来做什么(备文)

    什么是主节点 Uord网络节点包括全节点、轻量化节点和主节点三大类。 一、全节点 全节点和比特币,以太坊的节点一样...

  • Ulord主节点用来做什么

    什么是主节点 Uord网络节点包括全节点、轻量化节点和主节点三大类。 一、全节点 全节点和比特币,以太坊的节点一样...

  • 比特币之Bloom过滤器

    背景 比特币SPV节点因为不具有全链数据,所以无法对交易进行验证。必须要从核心客户端(具备全链数据的节点)下载特定...

  • 简单支付验证SPV

    简单支付验证(SPV,Simplified Payment Verification) SPV产生背景 比特币所有...

  • 挖矿二

    专业挖矿设备连接着一个运行完整比特币节点的服务器。一些矿工是在没有完整节点的条件下进行挖矿,验证交易后,比特币节点...

  • 挖矿运行全节点很重要吗?

    国内多数矿工运行的都不是比特币全节点。这种情况对以后国内挖矿业有什么影响? —— sanjin 摘要:“比特币全节...

  • 《【砂糖橘解说】比特币篇:比特币节点和算力是什么#11》

    《【砂糖橘解说】比特币篇:比特币节点和算力是什么#11》 一、比特币的节点是什么? 比特币是一种点对点的电子现金系...

  • 读书笔记

    输出倒逼输入,才是最高效地学习。 20301-介绍 | 精通比特币 《精通比特币》,这本书的意义:引导进入比特币世...

网友评论

    本文标题:精通比特币:全节点和简易支付验证

    本文链接:https://www.haomeiwen.com/subject/mskdxftx.html