《详解比特币白皮书》-Simplified Payment Verification(简化的交易验证(SPV))

It is possible to verify payments without running a full network node. 

不用运行完整的网络节点,也能验证交易。

 

A user only needs to keep a copy of the block headers of the longest proof-of-work chain, which he can get by querying network nodes until he's convinced he has the longest chain, and obtain the Merkle branch linking the transaction to the block it's timestamped in.

只需要保留一份最工作量证明链的区块头数据副本,获取这条链的方式是通过不断查询网络节点直到确信拿到的是最长链,并获得Merkle树枝,将这笔交易与这笔交易加上时间戳后纳入的区块联系起来

He can't check the transaction for himself, but by linking it to a place in the chain, he can see that a network node has accepted it, and blocks added after it further confirm the network has accepted it. 

无法自己检查交易,而是通将其接到上的一个位置来完成检查。他可以看到一个网络节点接受了笔交易,并且其后的区块进一步确了整个网也接受了笔交易。

As such, the verification is reliable as long as honest nodes control the network, but is more vulnerable if the network is overpowered by an attacker. 

这样一来,只要诚实节点掌控网络,验证就是可靠的。而当攻击称霸验证得更加脆弱。

注:overpower形象,含即以更大的力量来制和控制,就是称霸、制霸的意思,也就是在游常提到OP

While network nodes can verify transactions for themselves, the simplified method can be fooled by an attacker's fabricated transactions for as long as the attacker can continue to overpower the network.

当交易验证由所有网络节点自行完成的候,因只要攻者能称霸网化(验证)方法就可能被攻造的交易记录所欺

One strategy to protect against this would be to accept alerts from network nodes when they detect an invalid block, prompting the user's software to download the full block and alerted transactions to confirm the inconsistency. 

防止生此事件的策略之一将是从网络节点接受警,当检测到一个非法的区块时,提示用件去下全部区和有问题交易记录以确其不一致性。

Businesses that receive frequent payments will probably still want to run their own nodes for more independent security and quicker verification. 

要接受高支付的商可能仍然想要运行他自己的点群,以得更独立的安全性和更快的验证速度。

注:这一章节讲了回收硬盘空间之后带来的交易验证问题。并不是所有节点都是完整节点,因为那样的确会消耗很大的硬盘空间,特别是对个人用户来说。于是采取了按需下载的节点数据存储与验证方式。通常情况下,只要能在精简版的链上找到交易哈希值正确的位置,就能验证交易。而对于有问题的交易,账目对不上,就要下载与其相关的交易信息进行比对和排除。而以全量方式运行节点更适合商户,存储不差钱,安全和效率第一。

比特币,或者说区块链,是不断增长的链式结构。随着时间的推移和交易频次的加快,存储容量和验证效率的矛盾越来越突出,甚至会成为区块链应用的瓶颈,这也是每一种区块链技术都需要面对的可延展性问题。为了解决这类问题,比特币社区一直在扩容方案上争论不休。主要分为以下两种方式:

一,上外挂。在比特币作为主链的基础上,整一条侧链或者新链与主链关联起来,把绝大多数交易信息带离主链,放在其他地方进行结算和验证,减轻主链的负担。闪电网络(Lightening Network)就是比较知名的方案之一。

二,改代码。有人提出突破中本聪的原设,增加区块容量上限值,修改MAX_BLOCK_SIZE (源码中该值为1000000,即1MB),搞硬分叉。而比特币核心团队提议的隔离见证(Segregated Witness,缩写SegWit),是一种从交易信息中剥离签名数据的软分叉方案。SegWit方案早在2015年就被提出并开始测试,经过长期的辩论,在纽约共识的推动下,直到20178月区块高度481824时才得以激活,将其单个区块的交易容量提高到1.754倍。

这一类方案都包含在各种BIPBitcoin Improvement Proposal)里面,即比特币改进提案。有意思的是,BIP的落地激活是靠节点投票达成的,任何人都有权力提交BIP,并不是完全由比特币核心团队说了算。不同的提案反映了不同的扩容思路和逻辑,当然也有不同的矿池在幕后支持。代表全网83.28%比特币算力的多个团队合力达成了纽约共识,即SegWit2x方案,除了SegWit激活还包含了2M区块扩容计划,相当于软硬分叉兼施的中庸方案,这让比特币核心团队很不情愿。

猜你喜欢

转载自blog.csdn.net/q602968956/article/details/85028661
今日推荐