poolinfo:dashboard:pool-diff

In understanding how pool difficulty works, it is important to recap how points work.

Points represent the amount of farming that a farmer has done. It is calculated by number of proofs submitted, weighted by difficulty. One k32 farms 10 points per day (on average). To accumulate 1000 points you need 10 TiB farming for a day.

As difficulty goes up, a farmer does less lookups and finds less proofs, but does not receive any more or any less points per unit of time. This means that obtaining 10 proofs a day with difficulty 1 for a k32, is equivalent to obtaining 1 proof a day with difficulty 10.

For farmers it should not matter what difficulty is set, as long as they are *consistently submitting partials*.
This last bit matters specifically when you are still in the plotting phase, as stress to your system may cause the consistency of your partial submissions (see below).

Pool operators prefer a higher difficulty, as this results in less traffic to their servers.

Setting the right difficulty thus becomes a balancing act between maintaining a high enough frequency of submitting partials for farmers and keeping the amount of pings to our server manageable. This balancing act currently aims to set each farmer’s difficulty level so that they send partials every 5 minutes, and the algorithm checks your last 30 partials (around 2.5h of activity) to adjust for this.

We offer farmers the possibilty to change their pool difficulty. If your system is under high stress from plotting resulting in many stale or invalid submissions, a high difficulty level will punish you extra hard. And if you want to reduce CPU usage to save on electricity, you can set your partial timing higher.

Changing you pool difficulty can be done through the Dashboard. Under the “Settings” tab, you will find a dropdown where you can choose three alternative difficulty calculators:

- Partial per x minutes
- Fixed difficulty

Choose which one you like best. Keep in mind you may only switch your settings once every hour.

What our difficulty algorithm does:

- calculate a target difficulty so, that time between partials is the wanted time, based on given number of partials and their actual timeframe
- new difficulty is the rounded arithmetic median of current and target diff, or round((curr_diff + target_diff) / 2)

*Thanks to TripleM999 for making this algorithm*

Sets a fixed difficulty level. Simple.

poolinfo/dashboard/pool-diff.txt · Last modified: 2021/11/22 18:59 by aj