Hardware requirements

The hardware requirements for Filecoin mining are tied to the computational resources needed to seal a sector and generating regular Proof of Spacetime for every sealed sector.

The Filecoin network requires storage providers to run computationally expensive operations. The cost of these operations depends on which network the storage provider is running; some testnets use a smaller sector size to increase the speeds of transactions artificially. For reference, the requirements listed below correspond to 32GiB sectors, as used by mainnet and some testnets.

Different Filecoin Miner implementations may distribute sealing tasks differently, for example, using additional workers apart from the Miner. The following are general requirements assuming all the mining operations are performed by the same machine. Resources needed by each operation are detailed later below. For a concrete example of hardware type and usage, see the mining architectures.

General hardware requirements

CPU

A miner will need an 8+ core CPU.

We strongly recommend a CPU model with support for Intel SHA Extensions: AMD since Zen microarchitecture, or Intel since Ice Lake. Lack of SHA Extensions results in a very significant slow down.

RAM

128 GiB of RAM are needed at the very least. This should be complemented with 256 GiB of swap on a very fast NVMe SSD storage medium.

GPU

A powerful GPU is recommended as it can significantly speed up SNARK computations. See below for operations which can take advantange of GPU presence.

The authoritative list of supported GPUs is in the Bellman repository.

Additional GPU models need to be enabled manually (instructions for Lotus).

Disk

Performance of Miner operations can be heavily affected by slow disks. For example, a 32GiB expands to ~480GiB during the sealing process. Filecoin network parameters are over 100GiB and need to be read and verified during Miner start. As mentioned above, lack of RAM needs to be addressed with a fast swap drive or file.

For this reasons, a minimal amount of 1TiB NVMe-based disk space for cache storage is recommended. This disk should be used to store data during the sealing process, to cache Filecoin parameters and serve as general temporal storage location.

Additional hard drives for the final storage of “sealed sectors”, the Lotus chain etc. will be needed as well.

Specific operation requirements

As mentioned, the Miners have to perform operations of different nature which differ in how they use CPU and GPU resources. The following table shows how resources are utilized depending on the sealing phase or proof calculation being run:

OperationCPU usedGPU usedMemory (32Gib sectors)Notes
Sealing: preCommit phase 1Yes (1 core or 1 core-complex)No128GiBPoRep SDR encoding. Not amenable to parallelization. Core usage depends on value of FIL_PROOFS_USE_MULTICORE_SDR. Also see the Lotus seal workers guide.
Sealing: preCommit phase 2Yes (when no GPU, all cores)Yes128GiBMerkle tree generation using the Poseidon hashing algorithm. Slower with just CPUs.
Sealing: commit phase 1Yes (all cores)No-
Sealing: commit phase 2Yes (when no GPU, all cores)Yes~ 192GiBSlow with just CPUs.
UnsealingYes (1 core)No128GiB
Proving WindowPoStYes (all cores, when no GPU)Yes-WindowPoSts must be submitted in 30 minute windows. When no GPU available, the more CPU cores the faster
Proving WinningPoStYesNo-WinningPoSt is a less intensive computation. Must be completed in a 25 seconds window.

Note that the Lotus implementation allows to configure and delegate specific sealing phases to Lotus workers.

Future proofing

The above requirements will not increase in the presumable future, and money spent on hardware should provide users with many years of reliable service, paying for themselves several times over.

Edit this page on GitHub