拿当前这个例子来说,应该等于3.0。但其实你如果算一下,是小于3.0的。原因在于第一个图中右侧的排行榜仅列出了排名靠前的矿工。
有一些喜欢研究的投资者或工程师有问题了,这个爆块率带来奖励,那么算力高的爆块率高可以理解,但是,似乎爆块率与算力显示不成比例,尤其是大矿工,好像反而比较低,这是怎么回事呢?
有些人一个区块可以得到多份奖励
换句话说,就是不同的区块奖励可能有所不同,从概率上来将,大矿工很可能在一个挖到的区块上获得两倍或者三倍的奖励。但不要误解,从总的概率而言,理论上大家的收益和算力还是成正比的。
这个似乎有点难理解了,谁挖出区块谁就得一份奖励。为什么要设计成不同的区块奖励可以不同呢?这里有比要带大家温习一下【Filecoin】Filecoin的区块架构 - Tipsets这篇文章。
Filecoin每一轮出的是一个区块集合,成为tipset。这么做的目的是什么呢?答案是尽量减少没有区块的轮次(即空块轮次)。一个简单的办法就是提高出块数量的预期,这个值目前设计为 5。也就是说,如果还是按照原来的方式来出块的话,每一个矿工每轮出块的概率增加到原来的 5 倍。但是,这样一来,必然会出现一种可能,就是一些矿工在一轮中可能出2个或者更多的块。但是这个就显得多余了,因为你只要出一个块就这一轮就不会跳空了。出多个就是浪费空间和带宽。但是出少了,不是奖励就少了吗?不公平啊。
解决方案就是折衷一下,如果矿工在同一轮中有多个出块权,那么,还是出一个区块,但在区块内表明有几个出块权。只要通过验证,就按照出块权的数量来给予奖励即可。完美解决。
因为出块权与算力成正比,那么算力高的获得出块权的概率就高,在一轮中有多个出块权的概率也大一些。
但是,回到Testnet/2,当前实际上并没有按照出块权来给予区块奖励,这部分实现放到了 Testnet/3。也就是说,从Testnet/3开始,你将看到与主网基本一致的区块奖励实现。