I was trying to consolidate a list of different types of attacks on a blockchain network and these are some of them I could find. How can each of these be defined and How are they all connected to each other?
51% attack / Double spend attack: A 51% attack, also known as the majority attack, is a widely known attack in the blockchain ecosystem. This attack involves the attacker being able to control >50% of the hash power of the network. Using this attack, the miner can double spend transactions to any number of confirmations. More confirmations do make this attack more expensive but cannot prevent it.
Blockchain reorg attack: During a 51% attack, the miner has more hashpower than the rest of the network. This means that the miner is able to create blocks of the same difficulty as the network at a rate faster than the rest of the network. This makes him able to trigger blockchain reorganizations at will.
Selfish/Stealth mining attack: In selfish mining, the miner does not follow the standard procedure for creating/adding a new block to the blockchain. The selfish miner instead mines the block continuously maintaining its track and fails to publish it to the network. The attacker only publishes the chain of the transaction to increase the amount of revenue earned and cause forking. The key idea behind Selfish Mining is for a pool to keep its discovered blocks private, thereby intentionally forking the chain. The honest nodes continue to mine on the public chain, while the pool mines on its own private branch. If the pool discovers more blocks, it develops a longer lead on the public chain and continues to keep these new blocks private. When the public branch approaches the pool’s private branch in length, the selfish miners
reveal blocks from their private chain to the public.