
协议实验室为大型矿工开发了一个样例架构,并对这个过程中可能涉及的一些瓶颈进行了解释和分析。它们分别如下:
Sealing preCommit的阶段1:
在这个阶段,复制证明的SDR算法会进行编码运算,这个阶段和系统的CPU性能有关,是单线程运算(不能进行并行运算)。这个阶段可能会长达若干小时,具体花费的时间和所封装扇区的大小及机器的配置有关。
前面曾经提到过,协议实验室发现带SHA功能的AMD处理器在这方面有很大的优势,并且CPU的频率越高越好。
Sealing preCommit的阶段2:
在这个阶段,系统要用到Poseidon哈希算法产生默克尔树。这个阶段和系统GPU的性能有关,也可以用CPU替代GPU,但性能就差很多。使用GPU时,这个阶段大概要花45分钟到1个小时。
Sealing Commit的阶段1:
这是个过渡阶段,它为后续的证明工作进行各项准备工作,其性能与CPU有关,通常花费几十秒。
Sealing Commit的阶段2:
这个封装过程要进行零知识证明运算,它会对前面产生的结果再次进行压缩,然后将其广播到区块链。这个过程极度依赖GPU,通常要花费20至30分钟。
协议实验室发现,preCommit的阶段2、commit的阶段1和commit的阶段2这三个阶段可以在算力配置强的同一台机器上运行。
但是在preCommit阶段1和preCommit阶段2之间会进行大量的文件传输,如果处理这两个阶段的机器网络性能差,或者存储设备使用的是普通硬盘而非固态硬盘则会大大降低系统的整体效率。
因此,将所有的计算过程都在一台机器上运行的效率很可能会比在多台机器上分别运行得到的效率好很多。
时空证明主要和GPU性能有关,但使用多核CPU也能得到较好的效果。比如对WindowPoSt而言,其计算过程一般要花费30分钟,如果用一个24核的CPU和一个8核CPU,效果就大为不同了,前者可以轻松地在30分钟内完成任务,后者则勉强能在30分钟内完成。WinningPoSt则对算力没有太高的要求,通常在一个Filecoin epoch时段(25秒)内完成。
以上就是协议实验室对Filecoin挖矿给出的最新版挖矿指南,对每一个希望深度参与的矿工,这份指南是必读的资料。