比特币矿机的工作原理就是通过计算来进行获取奖励,如:解一个数学难题,谁先解出这道数学难题,谁就拥有了记账权和出块奖励。比特币“挖矿”,指的是确认一段时间内发生的交易信息,并在区块链上记录下来,从而形成新的区块。
简而言之,区块链就像一个公开透明的账本,所有的矿工都是记账的人,每个区块链上的每个区块都相当于在这个账本上增加一张帐单,而挖矿就是一个“记账”的过程。
我们就Filecoin挖矿的过程做一个简单说明:
首先,安装挖矿软件并运行
然后,创建节点并加入网络,加入之后同步链数据、创建钱包地址
最后,由于挖矿需要质押FIL,因此需要购买或借贷FIL,打入钱包地址中
开始挖矿:获取存储订单,数据密封(扇区封装,耗时最长),生成复制证明,验证数据,形成有效算力,获得打包权,提交时空证明,获得出块奖励。
Filecoin是存储挖矿,矿工根据其实际封装了多少数据并向链上提交了复制证明从而获得有效算力(有效存力),有效算力越高,矿工获得区块奖励的概率越大。算力越大的矿工,获得区块打包的权利或者概率越大,这里就有赢票率和出块率的参数。赢票率就是赢得选票的概率,出块率就是获得区块奖励的概率。
我们做个对比,比特币挖矿购买的矿机算力是不变的,买了矿机接入互联网之后,每天产生多少币是个固定的值;而Filecoin是存储挖矿,Filecoin的算力是根据封装了多少有效数据来计算的,今天封装了1?T,算力就是1?T,而且算力还在不断积累。
需要注意的是,最短扇区生命周期被设置为6个月,最长的扇区生命周期由证明算法确定,初步而言最长扇区生命周期为18个月,即540天。扇区在其生命周期结束时会自然到期,此外,矿工也可以延长其扇区的周期。
因此,有效算力是挖矿的基础,矿工的算力越高,赢票率越大,相应获得区块奖励的可能性就越大,挖矿收益也相应越高。而扇区封装封装效率越快、有效算力增长速度自然越快,有效算力占比越高,其出块率也就相应越高,产币量就越大。
此时我们不得不提及扇区封装。用PoRep(复制证明)对扇区进行封装,这是一个计算密集的过程,将产生该扇区唯一的标识码。一旦数据被封装,存储矿工将生成证明,运行SNARK来压缩证明;最后,将压缩后的结果提交给区块链,注入数据进入例如:32GB,形成未密封的扇区)
2、precommit1--precommit2(这里就开始密封了,文件碎片加密的方式是默克尔树列,最终要计算到默克尔树列的根植,p1预计耗时若干小时,p2预计耗时耗时几十分钟)
3、precommting(把precommit2计算得到的默克尔树根提交上链,以此证明矿机的加密能力,和能完成扇区密封)
4、waitseed(可以理解为等待一定时间,这里指一定的区块高度,每个区块间隔30s,这是目前主网的高度时间,具体等待的是:一个扇区计算到的随机数,用来抽查p2密封的扇区内文件碎片是否存储,零知识证明)
5、commiting1、2(抽出对应文件碎片,计算出到默克尔根的文件路径,c1预计耗时只需数十秒,c2预计耗时25分钟左右)
6、commitwait(提交c2计算的根,以证明文件碎片存储着)
7、finalizesector(扇区密封结束)
8、proving完成密封
这几个过程所消耗的时间,一般和各个公司的优化算法、硬件配置等有关。有效的算力是在完成这些步骤后产生的,而不像比特币矿机那样,购买多少算力就有多少算力,这个Filecoin的算力通过时间逐渐累积。
Filecoin挖矿与以比特币为代表的传统挖矿相比:
比特币挖矿所依靠的是算力,挖矿的过程也就是运算哈希算法并得到结果的过程。