主页 > imtoken钱包官网登录 > 区块链深度技术解析(一):PoW&Block Time

区块链深度技术解析(一):PoW&Block Time

imtoken钱包官网登录 2023-06-02 06:39:30

本系列分享了一些关于区块链的深入技术见解。

区块链作为分布式系统的一种形式,通过区块高度来建立区块链的秩序。 在几乎所有基于 PoW 共识区块的公链系统中,都需要使用动态的难度调整机制。 在全网算力动态变化的情况下,控制一个固定的出块时间。 例如,在比特币中,出块时间为 10 分钟。

那么,中本聪在设计比特币时,为什么选择10分钟作为出块时间呢? 为什么不选择更短的出块时间来加快出块速度呢? 如果是这样,比特币交易的处理速度就会快得多。

中本聪(比特币的发明者)为自己决定,区块生产率应该保持稳定的平均速度,即每 10 分钟 1 个区块。 这是因为,区块链估计需要 10 分钟才能将最新区块传播到全球所有节点,以便区块链保持适当同步。

如果以更快的速度生成块,世界另一端的一些节点可能无法足够快地赶上最新的交易数据,这可能导致节点不再正确对齐,从而产生“叔块” “(链分裂),这基本上是区块链必须尽可能避免的事情,以保持安全。 换句话说,它的目的是防止主链的频繁分叉产生分支。

好奇的读者可能会问,同为PoW共识算法的以太坊为什么能做到17秒的出块时间?

以太坊使用 GHOST 协议来加速出块时间。 ghost协议,英文为“GHOST(Greedy Heaviest Observed Subtree)协议”,由Yonatan Sompolinsky和Aviv Zohar于2013年12月提出比特币区块高度怎么调,GHOST是一种主链选择协议。 经典的 PoW 共识协议是基于以最长链为主链的原则来选择下一个区块。 GHOST协议基于子树数量最多的原则,选择下一个区块。 这是 GHOST 和 POW 协议之间最大也是唯一的区别。

据统计,以太坊有 10% 的分叉率。 因此,在以太坊主网分叉后尽快合并,维护主网的协议就显得尤为重要。

下图中,假设一个大矿池A打包了一个3号黑块,向其他矿工发送3号块泛洪,告知其他矿工3号块已经被A挖出。以太坊中的快速输出时间为15 秒。 在 15 秒内,3 号区块还没有完全扩散到整个区块链网络,所以其他没有收到这个区块的节点会继续挖 3 号区块。

区块链软件技术(区块链深度技术解析(一):PoW&Block Time)

在发布区块 3 后,A 继续挖区块 4,在此过程中,A 收到其他节点挖到区块 3 的通知。 假设上图中A从其他4个节点(上图中用灰色表示,分别为3A、3B、3C和3D(代表叔块而不是父块))收到了区块3,A收到这四个节点后1块,他们意识到必须尽快挖出块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协议,主链以外的叔块和二代叔块也可以获得挖矿奖励。 但值得注意的是,在这些叔块之后继续开采的块将不会获得任何奖励。 这是为了鼓励其他区块在找到最长区块链后尽快合并。

作为系列文章的第一篇,我们讲解了出块时间的含义和作用,以及比特币和以太坊在PoW共识中的不同处理方式。 在下一篇文章中,我们将重点关注时间戳,并讨论它在调整区块难度中的作用,以及它潜在的缺点。