Unstable Throughput: When the Difficulty Algorithm Breaks

by   Sam M. Werner, et al.

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.


page 5

page 14


Analysis of Difficulty Control in Bitcoin and Proof-of-Work Blockchains

This paper presents a stochastic model for block arrival times based on ...

Txilm: Lossy Block Compression with Salted Short Hashing

Current blockchains are restricted by the low throughput. Aimed at this ...

A General Difficulty Control Algorithm for Proof-of-Work Based Blockchains

Designing an efficient difficulty control algorithm is an essential prob...

Bonded Mining: Difficulty Adjustment by Miner Commitment

Proof-of-work blockchains must implement a difficulty adjustment algorit...

Longest-chain Attacks: Difficulty Adjustment and Timestamp Verifiability

We study an adversary who attacks a Proof-of-Work (POW) blockchain by se...

An Axiomatic Approach to Block Rewards

Proof-of-work blockchains reward each miner for one completed block by a...

Please sign up or login with your details

Forgot password? Click here to reset