在加密货币挖矿中,我们会在矿池的统计中经常看到孤块率这一词。对于挖矿新手而言,这个词也许还有些陌生。在平常的挖矿中,除了常规区块以外,其实还有着空块、孤块、叔块的存在,而这些不同于常规区块的爆块也将一定程度上影响到矿工的收入。
ViaBTC微比特矿池的BTC数据统计
空块
加密货币挖矿其实是一个计算打包的过程,矿工们首先需要进行算力竞争,谁先解出区块难题谁就先获得了记账权,获得记账权的矿工需要把用户广播出来的交易信息打包到这个区块中,随后放到区块链上传递下去。
而如果矿工获得记账权后,并不在区块中打包交易信息,我们就将其称作为空块。空块上不包含交易信息,只是矿工利用它来获得区块奖励。这种情况下,由于不包含交易,所以也无法获得相应的交易矿工费/Gas费奖励,因此矿工只能获得最基础的爆块奖励。
孤块
在区块链网络中,由于区块在网络中传输和广播是需要一定的时间,如果两个矿工几乎同时发现了同样高度的块,那么就会出现竞争关系。最终稍微晚一点诞生的区块虽然也是正常运算产生的,但由于“最长链”原则,这个稍晚一些的区块将无法成为主链的一部分,在比特币网络中,我们把这些挖得稍晚的区块叫 “孤块”,是需要完全抛弃掉的,挖到孤块的矿工也无法得到相应的区块奖励。
孤块率越高将意味着挖到的无效区块越多,收入也会随之降低。因此如何降低孤块率成为矿池和矿工们会去思考的问题,例如ViaBTC微比特矿池通过自行研发的比特币客户端,对比特币网络广播和传输过程进行了技术优化,使得矿工能够更快地发现和广播比特币新的区块,降低了矿工挖矿的孤块率,保障矿工收益。
叔块
在以太坊中,也有“孤块”这一现象的出现。但是由于以太坊的出块时间比较短,为了防止矿池算力过大控制挖矿过程,同时避免算力的浪费,如果主链中的区块愿意接受这些稍晚产生的“孤块”,那么它就可以成为叔块,被包容进接受它的主链区块中,而这部分挖出叔块的矿工也能获得相应的叔块奖励。
叔块机制的目的是为了更好地保护以太坊网络的安全。相较于比特币,以太坊的出块时间要短很多,这样很有可能会出现临时分叉,在这种情况下,孤块的大量存在会容易导致以太坊的主链可能不是“最重”的那条链,最终影响到主链的安全性,因此加入将“孤块”变成“叔块”的机制其实是一种更安全的行为。
这些挖出了包容叔块的区块的矿工能够获得相应的叔块引用奖励,大约为1/32的基础挖矿奖励。当然叔块的产生也会有一些限制,叔块必须是区块的前2层-7层的区块的直接子块,并且随着间隔越大,叔块奖励会越少,比如是前2层区块的子块也就是间隔1层可以获得7/8的挖矿基础奖励,间隔两层可以获得6/8,以此类推。
总体来看,对于矿工而言,空块的诞生会导致矿工费/Gas费的减少,孤块率过高也就是无效计算过多将直接导致收入减少,叔块引用将获得一定的额外的叔块引用奖励。所以矿工在接入算力时,最好应该考虑一些孤块率更低的矿池,从而更好地保障自己的挖矿收入。