大家都知道,矿工在Filecoin网络中的收益来源就是存储(检索)订单收益和区块奖励,不过就目前的存储(检索)订单非常少,主要还是通过区块奖励获取高收益。目前仍有很多人都不知道区块是什么意思,更别说区块奖励了。今天就跟大家说说Filecoin区块到底是什么?而矿工又是如何获得区块奖励的?
Filecoin区块到底是什么?
大家可以看到这是在Filecoin区块浏览器https://filscan.io中的部分截图:
**Tipset:**图中红方框框住的的柱子,也称Filecoin网络上的区块高度
**区块:**红方框中明显有8个正方形,每一个正方形就代表一个区块
**25.6357FIL:**每个区块所获得的奖励
了解区块链的会知道比特币每一个区块都只能选举一个节点,即每一周期区块选举,有且只有一个矿工能被选举成功(获取奖励)。而Filecoin区块架构完全不同于比特币。
Filecoin的选举基于预期共识,就是在一个出块周期中(30秒)选举多个矿工作为领袖,这也意味着在一个区块中可以创建多个有效的同级区块,这些同级区块组成一个大区块。在Filecoin中将这个大区块称为tipset,即上面说到的Filecoin网络的区块高度,这些同级区块则为区块,也是上图中的小正方形。
值得一提的是:Filecoin每一个区块高度中产生的区块有多有少,不受限制,只要符合预期共识即可被选举成为领导者,如果在一个周期内(某个区块高度)没有一个矿工达到Filecoin网络的选举条件,则该区块高度内为0个区块。
Filecoin如何成为领袖获得区块奖励?
上面介绍了Filecoin网络的区块高度和区块的概念,接下最疑惑的还是矿工到底如何获得区块奖励,即如何在一个周期内选举成为Filecoin网络的领袖,同时完成系统分配的工作获得奖励。
首先使用功率达成共识:就是将权益共识协议中的“权益”用矿工存储量来替换,构建一个基于矿工前期工作的预期共识,在每一轮选举周期内选举一个或多个矿工,并使得选举获胜的概率与每个矿工存储空间量成比例。
Filecoin功率介绍,主要有三个重要属性:
**公开性:**大家可以把时刻(t)全网的存储总量大小当做功率大小(这个存储是有效存储,即有时空证明提交的存储),每一个矿工的存储任务(存储量)是浏览器公开的,因此任何人可以在任意时间点计算出每个矿工的功率。
**可公开验证:**每一个存储任务,矿工都需要生成对应的时空证明,证明该存储任务一直存在。
功率就是根据其时空证明来验证矿工是否完成或持续工作,从而计算有效功率。
**变量:**任意时间点,矿工可以通过增加新增扇区来增加新存储,从而提高其功率。
在官网设定的功率预期共识中满足以下两个条件,则在t时刻矿工Mi是领导者。
其中 rand(t)是一个可以在时间t从区块链中提取的公开的随机变量,Pit是矿工Mi的功率。对于任何m,H(m)的大小都是L,H是一种安全的加密哈希函数,(m)Mi是一个由 Mi签署的消息m,使得:
以上两个公式如果没有认真研究Filecoin白皮书可能还真是一头雾水,大家可以看下面的EC选举图,可以更直观的知道矿工如何被选举成功。
纪元就是一个周期(30秒),选举过程细分为以下两个步骤:
当选领袖后并不意味着一定能拿到区块奖励,当选领袖后仍有四个步骤要完成:
当选领袖后,也称“获取出块权”;
获取出块权以后,开始完成winningPoSt,首先根据链上获取的抽查参数,去找寻要抽取的扇区及扇区的某段位置的数据,也就是打包交易信息;
打包所有扇区数据完成以后,进行运算,把算出的结果广播出去,并被大家认可,则出块成功;
整个过程,必须在30秒内进行。抽取数据、计算数据、同步消息等如果出现失败,都会导致拿到出块权后而出块失败,即奖励为0。
以上就是矿工整个选举到获得区块奖励的过程了,简单来说就是矿工节点的有效存储空间越大,其有效功率越大,则被选举成为领袖的概率也会越大,进而获得区块奖励的概率越大。