众所周知,矿工在Filecoin网络的收益来源于存储订单收益和区块奖励,在网络前期存储订单收益较少,主要通过区块奖励获取收益。那么,你是否研究过,区块奖励是由哪几部分构成?以及区块奖励这样设置的原因?
区块奖励
区块奖励的主要构成是当前高度对每个矿工的基本区块奖励+小费+(可能的)惩罚。
基本区块奖励
- 当前高度每份区块奖励=(当前区块高度为止的区块奖励总额-上一个区块高度为止的区块奖励总额)/当前区块高度的区块数量
- minerReward=(totalMinerReward-lastMinedReward)/当前区块高度的区块数量
如图,区块高度330003,有三个矿工获得区块奖励,每个矿工获得了一份奖励。
每个矿工能获得的基本区块奖励如下图:
total_miner_reward=17928 445792055869175204095 nanoFIL
last_total_miner_reward=17928 397766464829775195448 nanoFIL
total_miner_reward-last_total_miner_reward=4802559103940008647nanoFIL
注:nanoFIL=10负18次方FIL
每份出块奖励=基本出块奖励/出块份数。
矿工能得到的基本区块奖励=每份区块奖励x该矿工获得的出块份数。
当前高度,每个矿工有1份区块奖励,矿工数为3。
因此每份区块奖励为:
miner_reward=48.02559103940008647/3=16.008530346466669549FIL
小费
在EIP-1559下,交易创建者指定了费用上限(他们愿意为打包此交易而花费的每单位Gas最高的价格)。如果费用上限小于区块的基准费率,则不能将其包括在区块中。由于基准费率会被销毁,交易创建者还指定了一个小费(tip),给于打包消息的矿工作为激励
在区块奖励中,凡是打包了有附加利润率的消息的区块,打包消息的矿工就能获得这些消息的gasPremium,所有消息的消费合计为gasReward(gas奖励)。
如图中,区块高度330003中的某节点,通过打包220条消息,最终获得1147697454159193 nanoFIL的gas小费奖励,小费+基础区块奖励的总额超过了其他两个节点。
这是Filecoin对打包消息的矿工的正向激励政策。
惩罚
有的时候,大家也会注意到,会有出块成功,但是奖励金额为0的情况出现。这不是因为Filecoin没有对矿工进行应有激励,而是因为该矿工在打包消息时,对不符合打包条件的消息进行强行打包,被链惩罚。奖励金额扣除惩罚费用仍不足以抵扣时,奖励为0,剩余不足抵扣的惩罚金额从miner钱包余额中扣除。
那么,强行打包指的是什么呢?什么情况下打包消息会被惩罚?惩罚金额是多少?
其实,惩罚也是根据EIP-1559中提过的三倍惩罚“不该打包交易”设置。
filecoin燃油费由三部分组成:基本费用、小费和超额燃油费。小费上文已经讲过,是交易者设置gasPremium(小费汇率值),给愿意打包的矿工的额外费率;超额燃油费,是Filecoin网络不支持用户支付过高的费用进行优选“插队”,如果交易者对gaslimit(对一笔交易 Gas 消耗的预估限制值)设置了不合理的指标,过低则会导致消息上链失败,过高则向交易者收取超额燃油费(以后有机会详细分解超额燃油费)。(请查阅王大爷聊FIL(一)详解Filecoin中的Gas费机制)
另外一个影响,则是对矿工的惩罚,“不该打包交易”。
“不该打包交易”即是交易者在设置gasFeeCap(交易者愿意给矿工的打包消息最高费率)时,设置值过低,使gasFeeCap<baseFee(全网基准费率)。这样的方式下,交易者无法顺利支付矿工费。如果矿工对这样的消息进行强行打包 ,Filecoin网络会针对矿工进行三倍该消息消耗差额费用的惩罚。通过该措施,让矿工来监督“不该打包交易”。
如图,某区块高度,查询某节点的区块奖励组成部分,发现既有惩罚金额penalty,也有gasReward。
WindowPoSt惩罚
上文提到的,是微观层面上,区块奖励构成中矿工可能收到的额外奖励和惩罚。那么,从宏观层面上,矿工获得的区块奖励份额,本身有额外奖励或惩罚的可能吗?
额外奖励是没有的,但是windowPoSt消息提交上链失败,会按照以下步骤,逐级惩罚:
1. 扇区第一次掉算力,没有罚金。第一次不做惩罚,主要是为了避免链同步的问题等非数据问题导致的误惩罚;
2. 扇区第二次掉算力(第一天和第二天连续掉),当次惩罚扣除扇区中对应3.51天的区块奖励。假设代码预估单T收益为0.2FIL,那就是每个扇区扣除0.2/32*3.51=0.0219375FIL;
3. 扇区连续第三次掉算力,惩罚扣除的方法如第二条。持续错误,每天都扣除相同区块奖励;
4. 如果扇区连续14天错误,扇区终止,除去已扣除区块奖励外,连带扣掉扇区的质押金额,不做返还;