主页 > 怎样下载imtoken > 如何解决比特币全节点同步过慢的问题

如何解决比特币全节点同步过慢的问题

怎样下载imtoken 2023-07-26 05:12:36

比特币自问世以来就被诟病浪费电力资源,但其强大的算力是必经的过程,很难找到更好的替代方式。

随着它出现的时间越来越长,越来越多的人参与其底层技术区块链上的交易,分布式账本的内容急剧膨胀。 中本聪设定的 1 MB 区块的存储容量 这限制了交易过程和交易速度。

比如目前比特币主链的区块数据高达200多G,对于普通用户来说太大了。 因此,下载整个账本就成了一件令人头疼的事情。 你能不能不下载整个账本,只找到与你相关的部分? 换句话说,找到一个过滤器,把所有无用的东西都拒之门外。

于是SPV机制出现了。

一、SPV机制

比特币钱包同步太慢_比特币钱包_为什么比特币莱特币同步

SPV的全称是“Simplified Payment Verification”,通译为简单支付验证。 其目的是验证某笔交易是否存在比特币钱包同步太慢,但无法验证交易的合法性。 这需要两个步骤。 第一步是确认交易支付是否被验证,第二步是计算获得了多少确认。

中本聪在他的论文中提到了这个概念:在不运行全节点的情况下仍然可以验证交易,用户只需要将所有的区块头数据保存在最长的链上即可。

简单的说:

如果小黑转一个比特币给大白,大白怎么知道交易完成了呢? 在去中心化系统中不可能找到证人。

比特币钱包_为什么比特币莱特币同步_比特币钱包同步太慢

按照传统的方法:大白需要下载所有的区块链账本,然后找到小黑的账户,先查看之前有没有这个比特币,有没有转账到大白的记录。 仅仅是第一步,就让大白的储量爆发了。

每个比特币的区块容量为1MB比特币钱包同步太慢,区块头只有80KB,所以只需要下载区块头就可以节省很多空间。

区块头和区块体到底是什么?

将区块头比作一个人的头部,它存储了区块的头部信息,如哈希值、时间戳等; 而区块体类似于一个人的全身,存储着这个区块的详细数据,比如具体的交易信息。 区块头包含在区块体中。

比特币钱包_比特币钱包同步太慢_为什么比特币莱特币同步

也就是说,虽然一个区块头有哈希值,但大白下载区块头后,仍然无法知道交易记录在哪个区块中。 在一个块中。

2.SPV支付验证流程

哎,要是矿工和小黑联手骗大白怎么办?

这就是 SPV 机制派上用场的地方。

为什么比特币莱特币同步_比特币钱包同步太慢_比特币钱包

如果矿工说小黑转身了,其实并没有。 那么为了说谎,他必须伪造更多的交易,让这些交易能够得到和他自己的区块头中相同的哈希值。 但是,由于哈希的技术特点,改变后的数据很难达到与原始数据相同的哈希值。

简而言之,SPV的整个交易流程如下:

第一步是确认交易支付是否已经过验证。

首先计算待验证支付的交易哈希值,从区块链网络中保存区块头到本地,然后从区块链中获取待验证支付对应的默克尔树哈希认证路径。

为什么比特币莱特币同步_比特币钱包同步太慢_比特币钱包

查看获取的hash值是否和自己的一致。 如果一致,则证明这笔款项是真实有效的。

第二步是验证获得了多少确认。 根据区块头所在的位置,判断支付收到的确认数量。

完成这两个步骤后,交易支付验证就完成了。

三、总结

SPV机制不仅节省了存储空间,减少了P2P网络带宽的浪费,普通用户无需下载完整数据即可操作,也为查账带来了极大的便利。

但是由于SPV没有完整的区块数据,所以无法验证交易不存在。 这种情况很容易导致双花,随机链接节点也可能被网络恶意攻击。