As we continue to research new PoW algorithms to replace the current one (Medium Article, Forum topic: Equihash as a new PoW algorithm), we have received feedback from the community about interest in increasing the minimum required difficulty for work with the existing Blake2b algorithm. The desire to make this update is largely due to the increases in computational power since the original minimum was set over 2 years ago, making transactions very cheap to produce today.
There are some considerations and decisions to be made around this change, which we’d like to collect feedback on from the community.
Increasing the difficulty requires a new round of epoch blocks to be distributed. At this time, this would introduce over 1 million new blocks to the ledger. When a new PoW algorithm is added, it will also require epoch blocks, so making a difficulty increase now would result in an additional couple million blocks in the ledger. We are open to hearing concerns and opinions around this increase.
Although not in scope for this discussion, it is worth mentioning there is a forum topic about exploring automated network upgrades here: Automated Network Upgrades.
Level of difficulty increase
Community members have suggested difficulty increases between 5x and 100x the current minimum. Higher difficulty will make work generation on common CPUs increasingly less viable vs. GPUs, so this should be considered in the discussion. We can provide more specific benchmarks on the current algorithm, but more generally typical, modern GPUs are capable of generating around 3-5 PoWs/sec. Since difficulty increases scale linearly, a 10x increase means these same GPUs would see around 0.3-0.5 PoWs/sec.
As difficulty increases, so does the average cost per transaction, which will make “spam” transactions hitting the network more expensive. Some members have suggested modeling out the typical cost/transaction and choosing a target based on this information. We are open to exploring this approach but haven’t pulled together the necessary data to inform the decision from this angle. Any volunteers to help evaluate these scenarios would be appreciated.
We are interested in hearing additional thoughts and perspectives on this nuanced topic to help inform a final decision on whether a difficulty increase will be done, and if so, what level of increase should be done. If this increase is to be done, it will likely go into the upcoming V21.0 release.