BA-flag: a self-prevention mechanism of selfish mining attacks in blockchain technology

Nadisha Madhushanie,Sugandima Vidanagamachchi,Nalin Arachchilage
DOI: https://doi.org/10.1007/s10207-024-00857-5
2024-05-21
International Journal of Information Security
Abstract:Selfish mining is when a group of miners in a blockchain system work together to cheat and get more rewards by hiding their work from others. This attack makes the blockchain less secure by allowing miners to cheat together, leading to more fraud and less trustworthy transactions. It's very unfair for honest miners, and it's a big problem that needs to be stopped. Despite numerous attempts to prevent selfish mining, none of the existing methods can completely prevent the attack. As prevention is better than detecting or mitigating the selfish mining attack, our main intention is to prevent the selfish mining attack completely without wasting the time and computational power of honest miners. Therefore, we propose a novel method to prevent the attack by adding a "BA: block acceptance" flag in the block header. The key idea of our method is that each block must be broadcast and accepted to set the flag to true. If the flag is false, we cannot use the hash of that block to mine a new block. This ensures that selfish miners cannot build a chain secretly to create branches in the blockchain (a fork). By preventing accidental and intentional forks, we have proven that the probability of a selfish mining attack occurring is zero. We proved our methodology resilient to the selfish mining attack in theoretically. Overall, our proposed method offers a promising solution to prevent selfish mining attacks.
computer science, information systems, theory & methods, software engineering
What problem does this paper attempt to address?