Conflux 的矿工奖励也包括区块奖励、交易奖励以及存储维护奖励。在之前《矿工激励模型的区块奖励》一文中,我们为大家说明了区块奖励部分是怎么分配的,今天我们接着为大家介绍 Conflux 矿工奖励的第二部分——存储抵押利息奖励。
在 Conflux 中,用户可以主动将代币以活期的方式存起来(Staking),并获得年化大约 4.08% 的利息。这些利息是通过增发来完成的。
利息的计算以区块为颗粒度。
具体来说,Conflux 每秒生成 2 个区块,每年生成大约 63072000 个区块。每个区块产生的利息就是 4% / 63072000。考虑上复利,一年的综合利率约为 4.08%。
除了用户主动存代币,还有一部分代币是以存储押金的方式锁定起来的。
在 Conflux 中,对于智能合约变量这种需要长期储存的数据,在数据写入的时候会收取存储押金,价格为 1 CFX/KB。这些押金会在存储空间被释放的时候退还给最初的支付者。而这些以存储押金的形式锁定起来的代币,也会产生利息,这部分利息构成了矿工奖励的第二部分,用于支付矿工所付出的存储成本。如果当前共有 100 GB 的数据需要维护存储,那么存储押金总量大约是一亿 CFX, 每个区块产生的利息约为 0.06 CFX。
这里,我们详细展开讲一下哪些数据是收取存储费的。
如果一个交易在附言栏(input)部分填入了大量的数据,这个大交易会使区块丢失一些打包其他交易的机会,因为区块大小有上限。但在大约一天过后,交易本身会被全节点删除,只有档案节点可以查到。
因此,这些数据是不收取存储押金的,因为它对全节点存储空间的占用是短期的。或者可以理解成,在交易费中,已经涵盖了在未来一天时间内全节点的存储费用。如果一个智能合约维护了一个数组,并且在数组里存入了大量的数据。那么这些数据需要被所有节点永久地保存下来(除非被删除),以保证无论何时调用合约,合约都可以正常被执行。
既然这些数据对全节点的存储空间的占用是长期的,甚至是永久的,那么这些数据的存储就要支付存储押金。而存储押金的利息将用来支付数据的存储成本。
每个 epoch 中所有产生的存储押金利息,将在同 epoch 的区块之间,以各区块的基础奖励为权重平分。也就是说,如果一个区块受到了来自光锥外区块的惩罚,这个惩罚同样会影响它第二部分存储抵押利息奖励的分配。