# Effective Selfish Mining Defense Strategies to Improve Bitcoin Dependability
###### Abstract  
Selfish mining is a typical malicious attack targeting the blockchain-based bitcoin system, an emerging crypto asset. Because of the non-incentive compatibility of the bitcoin mining protocol, the attackers are able to collect unfair mining rewards by intentionally withholding blocks. The existing works on selfish mining mostly focused on cryptography design, and malicious behavior detection based on different approaches, such as machine learning or timestamp. Most defense strategies show their effectiveness in the perspective of reward reduced. No work has been performed to design a defense strategy that aims to improve bitcoin dependability and provide a framework for quantitively evaluating the improvement. In this paper, we contribute by proposing two network-wide defensive strategies: the dynamic difficulty adjustment algorithm (DDAA) and the acceptance limitation policy (ALP). The DDAA increases the mining difficulty dynamically once a selfish mining behavior is detected, while the ALP incorporates a limitation to the acceptance rate when multiple blocks are broadcast at the same time. Both strategies are designed to disincentivize dishonest selfish miners and increase the system's resilience to the selfish mining attack. A continuous-time Markov chain model is used to quantify the improvement in bitcoin dependability made by the proposed defense strategies. Statistical analysis is applied to evaluate the feasibility of the proposed strategies. The proposed DDAA and ALP methods are also compared to an existing timestamp-based defense strategy, revealing that the DDAA is the most effective in improving bitcoin's dependability. bitcoin; selfish mining; dynamic difficulty adjustment algorithm (DDAA); acceptance limitation policy (ALP); statistical analysis +
Footnote †: journal: Applied Sciences  
bitcoin [22]. [PERSON] et al. applied Markov chains to detect block-hiding attacks by monitoring the production rate of orphan blocks [23]. In this work, we aim to develop effective strategies to defend the selfish mining attacks, also referred to as block withholding attacks. In such attacks, a selfish miner intentionally keeps the newly mined blocks for building his/her own branch and publishes the private branch to gain unfair revenue when the private branch is longer than the main chain by a certain number of blocks. Considerable research efforts were devoted to the defense against selfish mining attacks. For example, [PERSON] proposed a timestamp-based method to examine and control the acceptance of new blocks [24]. [PERSON] and [PERSON] suggested a mitigation strategy based on the modification of the bitcoin protocol to cope with collusive selfish mining attacks [20]. [PERSON] et al. developed a network-wide defense mechanism using expected transaction confirmation height and block publishing height [25]. A notion of the \"truth state\" was introduced to detect potential selfish mining behaviors. [PERSON] et al. suggested a machine learning-based system (ForkDec) for highly accurate selfish mining detection [26]. [PERSON] et al. proposed a selfish mining mitigation algorithm called Fortis, which does not require a trusted authority for timestamps and protects the honest miner's benefit against any attacker with a computational power of less than 27% [27]. [PERSON] et al. proposed a solution named ZeroBlock to prevent honest nodes from accepting chains infested with block withholding; under this solution, miners are forced to release their blocks within an expected time, otherwise, their mined blocks expire and are rejected by honest miners [28]. [PERSON] et al. proposed a prevention method for the block-withholding attack (PMBWA) based on a credit-level classification algorithm [29]. The algorithm weighs similarity and posterior probability to detect malicious behaviors. In addition to the defense solutions, there are also studies on the analysis of bitcoin under selfish mining attacks. For example, [PERSON] et al.