Difficulty adjustment algorithms for preventing proof-of-work mining attacks
University of New Brunswick
Bitcoin mining is the process of generating new blocks in the blockchain. This process is vulnerable to different types of attacks. One of the most famous attacks in this category is selfish mining, introduced by Eyal and Sirer  in 2014. Selfish mining is a very well-known attack and many studies tried to analyze, mitigate, or extend it. This attack is essentially a strategy that a sufficiently powerful miner can follow to obtain more revenue than its fair share. To put it simply, it works by slowing down the network and wasting the hash power of both attackers and honest miners but wasting honest miners’ hash power more. This attack is not exclusive to Bitcoin and can be performed on many proof-of-work blockchains and cryptocurrencies (e.g. Ethereum) and it is observed in a few cases on other altcoins (Monacoin). The reason that selfish mining is effective in Bitcoin is the difficulty adjustment algorithm in Bitcoin. Because after the difficulty adjustment, the selfish miner will benefit from higher relative revenue. This is the point that is not well-studied in the literature and we try to address it in this thesis. However, the difficulty adjustment algorithm is an essential part of the Bitcoin protocol and cannot be removed. In this thesis, we analyze the profitability of selfish mining concerning time and also the presence of other selfish miners. We also propose a family of alternative difficulty adjustment algorithms including Zeno’s DAA, Zeno’s Max DAA, and Zeno’s Parametric DAA, that discourage selfish mining, while allowing the Bitcoin network to remain scalable (by adjusting the difficulty of the network). We analyze our proposed solutions, using two methods: mathematical analysis and simulation analysis. Then, we present the results and discuss the effectiveness of our proposed solutions. Based on our analysis, our proposed algorithms effectively increase the profitability waiting time for the attackers to almost double its original value. For example, for a miner with 40% of the network’s hash power, it extends the waiting time from four weeks to more than eleven weeks. This will discourage attackers from performing their malicious activities. We also show that our proposed algorithm allows the network to scale while it increases the waiting time.