区块链:比特币全节点同步太慢?不用全节点也可验证支付的 SPV 机制

比特币自诞生以来,就因浪费电力资源为人所诟病,但其强大的算力是必要过程,很难找到更好的方式来代替。随着它出现的年头越来越久,在其底层技术区块链上参与交易的人也越来越多,分布式账本的内容量急剧扩张,中本聪设置的一个区块 1 MB 的存储量使得交易过程和交易速度有了限制。例如,目前比特币主链的区块数据高达 200 多 G ,对普通用户而言,存储量实在过大。因此,下载整个账本成了令人头痛的一件事。能不能不下载整个账本,只找与自己相关的部分呢?换句话说,找个过滤器,把没用的都留在外面。于是出现了 SPV 机制。

Galaxy Digital创始人:今年年底比特币或将涨至10万美元:Galaxy Digital创始人Mike Novogratz称特斯拉CEO埃隆·马斯克押注比特币是明智的。此外,他认为,到今年年底,比特币将增加一倍以上,达到10万美元,随着更多公司允许客户使用该代币进行购买的刺激,比特币的价格会更高。(彭博社)[2021/2/9 19:17:05]

01 SPV 机制

比特币期权交易所LedgerX CEO:比特币出现了史无前例的机构利益:比特币期权交易所LedgerX的创始人Paul Chou在接受“纽约时报”的访谈时表示,尽管最近市场调整导致比特币和以太坊等大多数主要加密货币的价值大幅下降,但机构投资者和零售交易商的需求一直存在崛起。[2018/5/10]

SPV 全称“ Simplified Payment Verification ”,常见翻译为简单支付验证。其目的是为了验证某笔交易是否存在,但并不能验证交易的合法性,这需要进行两步操作,第一步是确认交易支付是否被验证过,第二步是计算得到了多少确认数。中本聪在论文里提及了这一概念:

加拿大最大的养老基金委员会:不希望机构投资人“押注”比特币:加拿大最大的养老基金,拥有4260亿美元的加拿大退休金计划投资委员会表示不希望机构投资人“押注”比特币。该基金总裁兼首席执行官Mark Machin表示,除非比特币波动率低于20%,且流动性提升之后,才可能会考虑投资比特币。[2017/12/13]

简单而言就是:假如小黑给大白转了一个比特币,大白怎么才能知道币已经交易完成了呢?在去中心化的系统里找证人那是不太可能的。按照传统的办法就是:大白需要下载下来所有的区块链账本,然后找到小黑的账户,先瞅瞅它之前是不是有这样一个比特币,并且有没有转给大白的记录。仅仅是第一步,就使得大白的存储量要爆掉。每个比特币的区块容量是 1 MB ,区块头只有 80 KB ,因此只需要下载区块头就可以节省很多空间。区块头和区块体究竟是什么呢?把区块头比做人的头部,里面存储着区块的头信息,如哈希值、时间戳等;而区块体则类似于人的整个身体,存储着这个区块的详细数据,如具体交易信息。区块头包含在区块体中。也就是说一个区块头尽管有哈希值,但下载了区块头后大白仍无法知道交易记录在哪个区块里,这时候就需要拿着交易 ID 去找全节点查一下,是否有且在哪一个区块里。

02 SPV 的支付验证过程咦,那万一矿工和小黑联合起来大白怎么办?这时候 SPV 机制就派上用场了。如果矿工说小黑转过来了,但其实并没有。那么为了圆谎他必须伪造更多的交易,使得这些交易能得到和自己区块头里同样的哈希值。但由于哈希的技术特性,改变后的数据要想和原始数据得出一样的哈希值,那是很难实现的。总之, SPV 整个交易过程是这样的:第一步,确认交易支付是否被验证过。首先计算待验证支付的交易哈希值,把区块头从区块链网络上保存至本地,再从区块链获取待验证支付对应的默克尔树哈希认证路径。对比获得的哈希值与自己的是否一致,若一致,则证明支付真实有效。第二步,验证得到了多少确认数。根据该区块头所处的位置,确定该支付已经得到的确认数量。完成这两步,交易支付验证就完成了。

03 小结SPV 机制不仅节省了储存空间,减少了 P2P 网络带宽的浪费,使得普通用户在没有下载完整数据的情况下也可以操作,而且也给查账带来了极大方便。但是,由于 SPV 没有完整的区块数据,是无法验证交易不存在的,这种情况很容易导致双花的情况出现,而随机链接节点也有可能受到网络的恶意攻击。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

瑞波币NBS:以太坊为什么要设置区块的叔块奖励?

在《以太币的发行和出块奖励 》一文中,我们介绍了,在以太坊系统中,如果在同一区块高度,多名矿工都挖出了新的区块,这些区块中,其中一个将成为最长链上的区块,而其他区块,如果被后续区块引用.

[0:0ms0-1:43ms