主流区块链生态系统的很大一部分依赖于矿工。挖掘新的区块使系统运行。然而,当两个或更多矿工在相似的时间挖掘出新的区块时,问题就出现了。在这种情况下,只有一个区块将作为添加到主链的区块存续下来。
尽管它们看上去可能欺骗性地相似,但同类的两个区块在各种区块链协议中的处理方式可能会有所不同。你可能会遇到三种主要类型的这样的区块,即孤块、叔块和陈旧块。
围绕这些区块有很多混淆,一种类型的区块常常被误认为是另一种。结果是,实际上是陈旧块的区块常常被称为孤块。本文旨在阐明这一主题。一旦你读完,你将能够判断一个被弃用的区块是孤块、叔块还是陈旧块。
比特币是第一个区块链,所以不再属于主链的区块在那里首次出现是有道理的。让我们看看一个区块在比特币区块链上如何变成孤块。
在挖矿过程中,对于一个给定的合格区块的接受存在时间延迟,可能导致区块不被接受进区块链。如果另一个合格区块在没有延迟的情况下被处理,那么第一个合格区块就会被拒绝或成为孤块。虽然有效并且经过验证,但孤块没有已知的父区块或前面的区块。
这意味着交易可能已经得到了确认,但这仍然不能保证其最终性。一旦该交易所在的区块被识别为孤块,该交易将返回到内存池。它只有在随后的区块中积累了足够的确认才会被确认。
在区块链上不被计入主链的区块在不同的区块链中被视为不同。以太坊区块链中的一种此类区块被称为叔块。它们有时也被称为 aunt 或 ommer 块。后者只是对同一现象的性别中性表达。
尽管叔块不出现在比特币区块链上,而是作为孤块或,正如我们稍后将看到的,陈旧块出现,但它们在以太坊上相当常见。由于以太坊的区块时间仅约 15 秒,因此经常有不止一个矿工在同一时间产出完全合法和有效的区块。在这些情况下,每个成功的矿工都会得到部分挖矿奖励,他们区块中的所有交易被认为是有效的。然而,只有证明有最大难度(它有最好的 [工作证明」(https://metanethub.com/academy/crypto-101/what-is-proof-of-work-pow))的区块继续主链。其余的成为叔块。
一旦 Casper 协议完全实施,叔块实际上可能有助于增加一个区块分支的权重,使其变得更重。因此,有叔块的分支比没有叔块的分支更有可能被采纳为主链。
本文介绍的第三种特殊的区块是陈旧块。看到它们最常被误认为是孤块,一些澄清是必要的。无论是孤块还是陈旧块都不构成最长有效链的一部分。对于孤块,这是因为其父区块未知。而对于陈旧块,相反,这是因为那部分链不再是最长且最难重新创建的(它没有足够的工作证明)。
简单来说,陈旧块是格式良好的区块,但不再是最长(按复杂性计)且最完善的区块链的一部分。如果,例如,你或你的矿池分叉了区块链,并证明你已经完成了最多的工作(意味着你的链将是最难挖掘的),你将建立一个新的主链。未能转向你的链的矿工将在陈旧块上工作。因此,他们将不有资格获得挖矿奖励。
由于上述原因,孤块、叔块和陈旧块对于矿工和开发者来说非常重要。毕竟,它们塑造了区块链,并影响了它们在双重支付攻击方面的安全性。然而,即使是一个普通的交易者也应该熟悉这些概念。重要的是每个人都应该只交易他们理解的东西。