首页 » Web前端 » phppow尸技巧_链博科技区块链深度技能解析一PoWu0026Block Time

phppow尸技巧_链博科技区块链深度技能解析一PoWu0026Block Time

访客 2024-12-12 0

扫一扫用手机浏览

文章目录 [+]

区块链,作为分布式系统的一种形式,其通过区块高度建立区块链的顺序,在险些所有基于PoW共识出块的公链系统中,都须要利用动态的难度调度机制,以在全网算力大小动态变革的情形下,掌握固定的区块韶光。
例如在bitcoin中,区块韶光被为10分钟。

那么,在中本聪设计Bitcoin之初,为何选取10分钟为区块韶光?为何不选取更短的区块韶光,以加快区块生产速率呢?如果这样,比特币交易的处理速率就会快得多。

phppow尸技巧_链博科技区块链深度技能解析一PoWu0026Block Time

Satoshi Nakamoto (比特币的发明者)自己决定,区块生产速率应保持每 10 分钟 1 个区块的稳定均匀速率。
这是由于,区块链估计须要 10 分钟将最新区块传播到环球所有节点,以便区块链保持适当的同步。

phppow尸技巧_链博科技区块链深度技能解析一PoWu0026Block Time
(图片来自网络侵删)

如果块以更快的速率天生,地球另一真个一些节点可能无法足够快地遇上最新的交易数据,这可能导致节点不再精确对齐,从而导致“叔块”(链分裂),这基本上是一个区块链必须尽可能避免的事情,以便保持安全。
换言之,其目的在于防止主链频繁fork涌现支链。

有好奇心的读者可能会发问,同样是PoW共识算法的以太坊,为什么可以做到17秒的区块韶光呢?

以太坊通过GHOST协议来实现对区块韶光的加速。
幽灵协议,英文为“GHOST(Greedy Heaviest Observed Subtree) Protocol”,由 Yonatan Sompolinsky 和 Aviv Zohar 在 2013 年 12 月提出。
GHOST 是一种主链选择协议,经典的 PoW 共识协议是取最长链为主链的原则,进行下区块的选择。
GHOST 协议是包含子树数目最多为基本原则,进行下区块的选择,这是 GHOST 与 POW 协议的最大差异也是唯一差异。

统计上,以太坊有 10% 的分叉率。
因此以太主网发生分叉后尽快合并以掩护主网的赞许尤为主要。

下图中,假设一个大型矿池 A 打包了一个玄色的 3 号区块,并将 3 号区块 flooding 发送出去,奉告其他矿工 3 号区块已经被 A 挖掘出来了。
以太坊中的出快韶光是 15 秒,在 15 秒内这个 3 号区块并没有完备扩散到全体区块链网络中,因此其他没有收到这个区块的节点会连续挖掘 3 号区块。

发布了 3 号区块之后 A 连续挖 4 号区块,在此过程中 A 陆续收到了其他节点挖出的 3 号区块的关照。
上图中假设 A 收到了来自其他四个节点发布的 3 号区块(上图中灰色表示,分别是 3A、3B、3C 和 3D (代表叔块而不是父块)),A 收到这四个区块之后,意识到必须尽快挖出 4 号区块以证明自己所在的链才是主链,让他们在 A 发布的 3 号玄色区块上连续挖掘 4 号区块。
有什么办法让其他节点认同并合并到 A 发布的 3 号区块呢?

A 会在正在挖掘的 4 号区块上打包两笔铸币交易(由于以太坊规定每个区块最多包含 2 个对叔父区块的褒奖),这两笔交易分别褒奖给发布 3A 和 3B 区块的矿工,这两笔交易的代价分别是出块褒奖的 7/8,即 3A 和 3B 被 A 招抚,除了出块褒奖以外,还能得到出块褒奖额外 1/32 的褒奖。

这样,3A 和 3B 在收到招抚褒奖后,会停滞在 3A 和 3B 连续挖矿而是会在 A 的 4 号区块后挖掘,由于他们已经得到了叔块褒奖,连续挖掘的意义不大。

3C 和 3D 险些同时与 3A 和 3B 发布区块,后者得到了褒奖,那么前者就要被主网抛弃吗?显然,这是不合理的。
以是以太坊考虑到一个区块会发生多个分叉的情形,设计了二代叔块观点,即当在 4 号区块之后的 5 号区块的发布者可以连续招抚 3C 和 3D,但是由于区块中间隔着 3 号区块,3C 和 3D 仅可以得到 6/8 的出块褒奖。
而 5 号区块的发布者可以得到出块褒奖之外的额外 1/32 的招抚褒奖。

通过GHOST协议,未被包含在主链中的叔块与二代叔块同样可以得到挖矿褒奖。
但值得把稳的是,这些叔父区块后面连续挖掘出来的区块不会得到任何褒奖,这是为了勉励其他区块在创造最长的区块链之后尽快进行合并。

作为系列第一篇,我们阐释了block time的含义及浸染,以及在PoW共识中Bitcoin与Ethereum不同的处理办法。
下一篇我们将把目光放在timestamp,谈论其在调度区块难度方面的浸染,以及其潜在的不敷。

参考:

1. https://www.chainnews.com/articles/795894083736.htm

2. https://blog.ethereum.org/2015/09/14/on-slow-and-fast-block-times/

3. https://www.chainnews.com/articles/910462138902.htm

4. https://medium.facilelogin.com/the-mystery-behind-block-time-63351e35603a

5. https://medium.com/@neerja28/the-blockchain-technology-a-beginners-guide-to-cryptocurrency-heists-5476d4c8d5ea

6. https://bitcointalk.org/index.php?topic=10241.20

7. https://en.bitcoin.it/wiki/Weaknesses

8. https://en.bitcoin.it/wiki/Block_timestamp

9. https://bitcoin.stackexchange.com/questions/20479/how-accurate-is-bitcoin-network-time

10. http://culubas.blogspot.com/2011/05/timejacking-bitcoin_802.html

11. https://blog.bitmex.com/bitcoins-block-timestamp-protection-rules/

12. https://arxiv.org/pdf/1803.09028.pdf

13. https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-January/015677.html

14. https://mp.weixin.qq.com/s/LQqs47kBEbHqUGc3wH7G4g

15.https://github.com/ethereum/wiki/wiki/Problems/89fd07ffff8b042134e4ca67a0ce143d574016bd

16. https://vitalik.ca/general/2019/11/22/progress.html

标签:

相关文章

phpmysqlwebim技巧_即时通讯IM系统开拓

P2P办法多用于局域网内谈天,这种办法在有各类限定和不便。一方面它只适宜在线的点对点传输,对离线,群组等支持不足。另一方面由于 N...

Web前端 2024-12-14 阅读0 评论0