Difficulty algorithms are a fundamental component of Proof-of-Work blockchains, aimed at maintaining stable block production times by dynamically adjusting the network difficulty in response to the miners' constantly changing computational power. Targeting stable block times is critical, as this ensures consistent transaction throughput. Some blockchains need difficulty algorithms that react quickly to severe hash rate fluctuations  . However, without careful design this could create vulnerabilities that incentivize miners to engage in coin-hopping strategies which yield an unreliable system due to  unstable processing of transactions. We provide an empirical analysis of how Bitcoin Cash exhibits cyclicality in block solve times as a consequence of a positive feedback loop in its difficulty algorithm design. Additionally, we examine the extent to which miners' behavior contributes towards this phenomenon over time. In response, we mathematically derive a difficulty algorithm based on a negative exponential filter that prohibits the formation of positive feedback loops and exhibits additional desirable properties, such as history agnosticism. We compare the described algorithm to that of Bitcoin Cash in a simulated mining environment and verify that the former would eliminate the severe oscillations in block solve times. Lastly, we outline how this model can more generally replace difficulty algorithms in other Proof-of-Work blockchains .
In Proof-of-Work blockchains, difficulty algorithms serve the crucial purpose of maintaining a stable transaction throughput by dynamically adjusting the block difficulty in response to the miners' constantly changing computational power. Blockchains that may experience severe hash rate fluctuations need difficulty algorithms that quickly adapt the mining difficulty . However, without careful design , the system could be gamed by miners using coin-hopping strategies to manipulate the block difficulty for profit. Such miner behavior results in an unreliable system due to the unstable processing of transactions. We provide an empirical analysis of how Bitcoin Cash 's difficulty algorithm design leads to cyclicality in block solve times as a consequence of a positive feedback loop . In response, we mathematically derive a difficulty algorithm using a negative exponential filter which prohibits the formation of positive feedback and exhibits additional desirable properties, such as history agnosticism. We compare the described algorithm to that of Bitcoin Cash in a simulated mining environment and verify that the former would eliminate the severe oscillations in transaction throughput .
R
Difficulty algorithms are a fundamental component of
In
R
aimed at maintaining stable block production times
difficulty algorithms serve the crucial purpose of maintaining a stable transaction throughput
R
network
block
R
Targeting stable block times is critical, as this ensures consistent transaction throughput. Some blockchains need difficulty algorithms that react quickly to
Blockchains that may experience
A
need difficulty algorithms that quickly adapt the mining difficulty
R
this could create vulnerabilities that incentivize miners to engage in
, the system could be gamed by miners using
R
which yield
to manipulate the block difficulty for profit. Such miner behavior results in
A
the
R
exhibits
's difficulty algorithm design leads to
R
in its difficulty algorithm design. Additionally, we examine the extent to which miners' behavior contributes towards this phenomenon over time.
.
R
based on
using
R
that
which
D
loops
R
block solve times. Lastly, we outline how this model can more generally replace difficulty algorithms in other Proof-of-Work blockchains
transaction throughput