在以太坊的早期发展历程中,有一个特殊的存在,它曾频繁出现,为矿工带来额外的收益,也曾因引发网络拥堵而备受争议,它就是“叔块”(Uncle Block),在以太坊的官方术语中,它被称为“Ommer”,本文将深入探讨以太坊Ommer的定义、产生原因、作用、演变以及最终被淘汰的命运。
Ommer(在以太坊黄皮书中被称为“叔块”)指的是那些被“抛弃”的有效区块,当一个矿工成功找到一个符合难度要求的区块时,这个区块会被广播到整个网络,如果在这个区块被广播并被大多数节点接受之前,另一个矿工也找到了一个同样有效的区块(即发生了“区块链分叉”),那么后找到的区块将成为“孤块”(Orphan Block),不会被主链采纳。
以太坊的设计与比特币有所不同,为了不浪费这些孤块中所包含的计算工作和交易,以太坊引入了“Ommer”机制,一个区块可以包含最多2个Ommer(在早期版本中限制更多),这些Ommer是最近几代(具体是“叔块参考期”内,如当前是 uncle generation number 1 到 uncle generation number 7)未被主链纳入的“兄弟区块”(即由不同矿工在同一时间段内挖出,但高度相同的区块)。

Ommer产生的根本原因在于以太坊的出块时间目标(约15秒)相对于比特币(约10分钟)要短得多,在这么短的时间内,网络延迟、矿工之间的算力差异以及节点的处理速度都可能导致多个矿工在几乎同一时间段内,基于同一个父区块挖出了新的有效区块。
由于区块链遵循“最长链”原则(或更准确地说是“最高总难度链”原则),只有第一个被网络广泛传播和确认的区块才能被添加到主链上,那些稍晚一步被发现的区块,即使本身是有效的,也会因为其父区块不是当前主链的末端而成为“孤块”,也就是Ommer的前身。

Ommer机制在以太坊网络中扮演了复杂的角色,既有积极的一面,也有消极的一面。
对矿工的“福利”: Ommer机制的主要受益者是矿工,对于一个成为Ommer的区块,其创建者仍然可以获得区块奖励的一部分,虽然比主链上的区块奖励要少(通常是主块奖励的几成,具体比例随以太坊升级有所调整,例如在Merge前约为87.5%),Ommer中包含的所有交易费也会归其创建者所有,这相当于为那些“运气稍差”的矿工提供了一定的补偿,鼓励他们继续参与挖矿,提高了网络的去中心化程度和算力安全性。

对网络安全的潜在贡献: 通过奖励那些产生孤块的矿工,Ommer机制减少了“浪费”的算力,矿工们即使没有成功将区块添加到主链,其付出的计算工作也能得到部分回报,这在一定程度上抑制了矿工因竞争激烈而放弃挖矿的倾向,从而有助于维护网络的总体算力稳定。
引发的问题与争议: 尽管初衷良好,但Ommer也带来了一些问题:
随着以太坊的不断发展和升级,Ommer的命运也发生了改变。
以太坊Ommer,这个曾经活跃在PoW时代网络中的特殊现象,从最初被设计为“矿工福利”和“算力补偿”机制,到后来因可能引发网络问题而备受争议,最终随着以太坊向PoS的转型而成为历史,它的存在与消亡,反映了以太坊在发展过程中对共识机制、网络安全和效率之间不断进行的权衡与优化,回顾Ommer的历史,不仅能帮助我们理解以太坊早期的运作方式,更能让我们体会到区块链技术在演进过程中的探索与创新精神,Ommer虽已远去,但它作为以太坊发展史上的一个独特印记,依然值得我们铭记。