为什么说比特币节点同步很慢?

admin
admin
admin
1251
文章
1
评论
2020年9月25日21:25:45 评论

自从比特币诞生以来,它一直被指责浪费电力资源,但是它强大的计算能力是一个必不可少的过程,很难找到更好的替代方法。

为什么说比特币节点同步很慢?
随著其年岁的增长,参与其底层技术区块链交易的人数不断增加,分布式账本的内容数量急剧增加,中本聪设置的1MB区块的存储容量限制了交易过程和交易速度。
举例来说,目前比特币主链的区块数据已经超过200G,对于普通用户来说,存储量实在太大了。所以,下载整个账本就成了一个头疼的问题。能否不下载整个账本,只找与自己有关的那部分?换一种说法,找一个过滤器,把没有用的扔出去。
SPV机制由此产生。
一、SPV机制。
SPV的全名是“SimplifiedPaymentVerification”,它通常被转换成简单的支付验证。它的目的是验证一项交易是否存在,但不能验证该交易是否合法,这需要两个步骤,第一步是确认交易支付已经验证,第二步是计算确认的数量。
在论文中,中本聪提到了这个概念:
即使没有全节点运行,也仍然可以对交易进行验证,用户只需保留最长链上的所有区域块数据。
简而言之,就是:
假设小黑将一枚比特币转给大白,大白如何知道币已经完成了交易?要找到非中心体系中的目击者,这是不太可能的。
按惯例的做法是:大白需要下载所有的区块链账本,然后找到小黑的账户,在挖出这个账户之前,是否有这样一个比特币,以及是否有转给大白的记录。只需第一步,就能让大量的大白被储存起来。
每一个比特币的块容量是1MB,区块头只有80个字节,所以下载区块头可以节省很多空间。
究竟什麽是区块头与区块体?
将块块的大小比作人类的块的大小,块的内部储存着块的头信息,如散列值、时间戳等;块的主体类似于人的整个身体,存储着块的详细数据,例如具体的交易信息。块头包含在一个块体内。
这就是说,尽管有哈希值存在,但区块头下载后仍然不能知道交易记录在哪个块中,此时就需要使用交易ID来查找整个节点,以确定是否有交易记录,以及交易记录在哪个块中。
二、SPV付款确认程序。
喂,那么如果矿工和小黑联合起来骗大白呢?
此时,SPV机制就会派上用场。
假如矿工们说小黑回来了,但实际上并非如此。因此,他必须伪造更多的交易,使这些交易获得与他自己区块头中相同的散列值。但是,由于散列的技术特性,要使修改过的数据得到与原始数据相同的散列,这是很难实现的。
总而言之,SPV的整个交易过程如下:
首先,确认交易中的付款是否经过验证。
先计算待验证支付的交易散列值,然后将区块头从区块链网络中保存到本地,然后从区块链中获得待验证支付的默克尔树哈希确认路径。
比较得到的散列值与自身值是否一致,若一致,则证明支付是真实有效的。
步骤2,验证获得的确认数量。基于该区域块所在的位置,确定已确认的支付金额。
两个步骤都已完成,交易支付验证也完成。
三、摘要。
该SPV机制不仅节省存储空间,减少了P2P网络带宽的浪费,使普通用户无需下载全部数据即可进行操作,还为查询带来了极大的便利。
但由于SPV没有完整的区块数据,无法验证交易是否存在,这很容易导致出现“双花”的情况,而且随机链接节点也有可能遭受网络恶意攻击。

admin
  • 本文由 发表于 2020年9月25日21:25:45
  • 转载请务必保留本文链接:https://www.biyungu.com/szhb/btc/2607.html
11月2号,比特币行情分析 比特币

11月2号,比特币行情分析

周末BTC再次刷新年内高度,最高14099附近止涨后行情在13600上方震荡。 日线级别来看:昨日K线收阴十字星,BOLL通道呈向上缩口状态,五日均线于13660附近保持上攻,KDJ三线于超买区域走平...
11月1号,比特币行情分析 比特币

11月1号,比特币行情分析

昨日比特币行情稳定于13100上方,晚间多头再次开始发力,今日早间最高上涨至13735附近再次快速回调,当前震荡在13500附近整理。 灰度BTC信托再增持仓,总量目前已达到479052BTC。 Te...
10月30号,比特币行情分析 比特币

10月30号,比特币行情分析

昨日比特币行情跌宕起伏回调至最低12976附近后行情再次回暖,今日早间最高上涨至13666,当前币价于13580附近。K图指标: 日线级别中:BOLL通道呈向上开口延续。各均线维持上攻姿态,日内有机会...
10月29号,比特币行情分析 比特币

10月29号,比特币行情分析

昨天BTC冲高13854附近后没能企稳,出现了明显的回踩近千点,最低12900止跌反弹,现在行情又回到了13250附近。 灰色比特币信托又增加了1215BTC的头寸,总头寸已经达到473140BTC。...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: