This is an old revision of the document!
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.
For a more detailed explaination, see https://github.com/Chia-Network/pool-reference#difficulty-adjustment-algorithm